morya-ui 0.4.4 → 0.5.0

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 (344) hide show
  1. package/CHANGELOG.md +828 -775
  2. package/LICENSE +21 -21
  3. package/README.md +156 -156
  4. package/README.zh-CN.md +156 -156
  5. package/dist/{Button-Bjsth0ct.js → Button-fKkfCnYv.js} +1 -1
  6. package/dist/{Checkbox-Bo26OGHP.js → Checkbox-BXC2mLNd.js} +1 -1
  7. package/dist/DatePicker-DcVjiS5d.js +848 -0
  8. package/dist/{Empty-rMhOPi79.js → Empty-By1qe-ew.js} +1 -1
  9. package/dist/{FlyoutSubmenu-C0id6-Sb.js → FlyoutSubmenu-C1n-fr6i.js} +1 -1
  10. package/dist/{Input-CxSTVp9E.js → Input-D2bee2LU.js} +2 -2
  11. package/dist/InputNumber-DjbXtTzR.js +245 -0
  12. package/dist/{Loading-D_qRwfKv.js → Loading-DE9Iaiao.js} +3 -3
  13. package/dist/Pagination-DpNOb0CS.js +178 -0
  14. package/dist/{Popover-D1uZ1N9Z.js → Popover-Bnz7KNZq.js} +2 -2
  15. package/dist/{ProgressSpinner-hmR23xpi.js → ProgressSpinner-vBXGvQ92.js} +1 -1
  16. package/dist/{Radio-CZAyelC_.js → Radio-BbznzRbr.js} +1 -1
  17. package/dist/{Segmented-BpdO7arR.js → Segmented-CMP3nBAP.js} +1 -1
  18. package/dist/{Select-CySmusHs.js → Select-q4X2ff_M.js} +3 -3
  19. package/dist/{Textarea-DskjTCcz.js → Textarea-DsFOAtPd.js} +2 -2
  20. package/dist/{Tooltip-DSfkflHp.js → Tooltip-5zRVTTVs.js} +2 -2
  21. package/dist/accordion/style.css +1197 -1205
  22. package/dist/affix/style.css +1197 -1205
  23. package/dist/alert/index.js +2 -2
  24. package/dist/alert/style.css +1197 -1205
  25. package/dist/anchor/style.css +1197 -1205
  26. package/dist/auto-complete/index.js +3 -3
  27. package/dist/auto-complete/style.css +1741 -1749
  28. package/dist/avatar/style.css +1310 -1318
  29. package/dist/badge/style.css +1363 -1371
  30. package/dist/block-ui/index.js +1 -1
  31. package/dist/block-ui/style.css +1197 -1205
  32. package/dist/breadcrumb/index.js +1 -1
  33. package/dist/breadcrumb/style.css +1197 -1205
  34. package/dist/button/index.js +1 -1
  35. package/dist/button/style.css +1901 -1909
  36. package/dist/calendar/index.js +3 -3
  37. package/dist/calendar/style.css +2072 -1880
  38. package/dist/card/style.css +1197 -1205
  39. package/dist/carousel/index.js +2 -2
  40. package/dist/carousel/style.css +2200 -2208
  41. package/dist/cascade-select/index.js +3 -3
  42. package/dist/cascade-select/style.css +1901 -1909
  43. package/dist/checkbox/index.js +1 -1
  44. package/dist/checkbox/style.css +1197 -1205
  45. package/dist/chip/index.js +1 -1
  46. package/dist/chip/style.css +1341 -1349
  47. package/dist/color-picker/index.js +676 -0
  48. package/dist/{input-color → color-picker}/style.css +2613 -1289
  49. package/dist/color-picker/style.js +8 -0
  50. package/dist/command-menu/index.js +3 -3
  51. package/dist/command-menu/style.css +1430 -1438
  52. package/dist/components/AutoComplete/styles.css +209 -209
  53. package/dist/components/Avatar/styles.css +113 -113
  54. package/dist/components/Badge/styles.css +164 -164
  55. package/dist/components/Button/styles.css +698 -698
  56. package/dist/components/Carousel/styles.css +302 -302
  57. package/dist/components/CascadeSelect/styles.css +168 -168
  58. package/dist/components/Chip/styles.css +144 -144
  59. package/dist/components/ColorPicker/ColorPicker.vue.d.ts +41 -0
  60. package/dist/components/ColorPicker/ColorPicker.vue.d.ts.map +1 -0
  61. package/dist/components/ColorPicker/colorUtils.d.ts +23 -0
  62. package/dist/components/ColorPicker/colorUtils.d.ts.map +1 -0
  63. package/dist/components/ColorPicker/gradientUtils.d.ts +9 -0
  64. package/dist/components/ColorPicker/gradientUtils.d.ts.map +1 -0
  65. package/dist/components/ColorPicker/index.d.ts +3 -0
  66. package/dist/components/ColorPicker/index.d.ts.map +1 -0
  67. package/dist/components/ColorPicker/styles.css +405 -0
  68. package/dist/components/ColorPicker/types.d.ts +60 -0
  69. package/dist/components/ColorPicker/types.d.ts.map +1 -0
  70. package/dist/components/CommandMenu/styles.css +102 -102
  71. package/dist/components/ConfigProvider/styles.css +6 -6
  72. package/dist/components/ConfirmDialog/styles.css +24 -24
  73. package/dist/components/ConfirmPopup/styles.css +35 -35
  74. package/dist/components/ContextMenu/styles.css +138 -138
  75. package/dist/components/DatePicker/DatePicker.vue.d.ts +21 -0
  76. package/dist/components/DatePicker/DatePicker.vue.d.ts.map +1 -1
  77. package/dist/components/DatePicker/styles.css +653 -453
  78. package/dist/components/DatePicker/types.d.ts +20 -2
  79. package/dist/components/DatePicker/types.d.ts.map +1 -1
  80. package/dist/components/Dialog/styles.css +420 -420
  81. package/dist/components/Dock/styles.css +84 -84
  82. package/dist/components/Drawer/styles.css +346 -346
  83. package/dist/components/Dropdown/styles.css +135 -135
  84. package/dist/components/Empty/styles.css +146 -146
  85. package/dist/components/FileUpload/styles.css +359 -359
  86. package/dist/components/Form/Form.vue.d.ts.map +1 -1
  87. package/dist/components/Form/styles.css +125 -125
  88. package/dist/components/Gallery/styles.css +100 -100
  89. package/dist/components/Input/styles.css +392 -392
  90. package/dist/components/InputNumber/styles.css +280 -262
  91. package/dist/components/InputPassword/styles.css +189 -189
  92. package/dist/components/InputTags/styles.css +121 -121
  93. package/dist/components/Layout/styles.css +433 -433
  94. package/dist/components/List/styles.css +229 -229
  95. package/dist/components/Listbox/styles.css +130 -130
  96. package/dist/components/Loading/styles.css +378 -378
  97. package/dist/components/MegaMenu/styles.css +97 -97
  98. package/dist/components/Menu/styles.css +565 -565
  99. package/dist/components/Menubar/styles.css +144 -144
  100. package/dist/components/Message/styles.css +248 -248
  101. package/dist/components/MeterGroup/styles.css +49 -49
  102. package/dist/components/OrderList/OrderList.vue.d.ts +13 -7
  103. package/dist/components/OrderList/OrderList.vue.d.ts.map +1 -1
  104. package/dist/components/OrderList/styles.css +80 -7
  105. package/dist/components/OrderList/types.d.ts +20 -3
  106. package/dist/components/OrderList/types.d.ts.map +1 -1
  107. package/dist/components/Page/styles.css +430 -430
  108. package/dist/components/Pagination/Pagination.vue.d.ts.map +1 -1
  109. package/dist/components/Pagination/styles.css +97 -124
  110. package/dist/components/Popover/styles.css +92 -92
  111. package/dist/components/Result/styles.css +146 -146
  112. package/dist/components/Scrollbar/styles.css +131 -131
  113. package/dist/components/Select/styles.css +222 -222
  114. package/dist/components/SelectButton/styles.css +107 -107
  115. package/dist/components/Sidebar/styles.css +74 -74
  116. package/dist/components/Slider/styles.css +211 -211
  117. package/dist/components/SplitButton/styles.css +216 -216
  118. package/dist/components/Status/styles.css +190 -190
  119. package/dist/components/Stepper/styles.css +152 -152
  120. package/dist/components/Switch/styles.css +129 -129
  121. package/dist/components/Table/Table.vue.d.ts +37 -282
  122. package/dist/components/Table/Table.vue.d.ts.map +1 -1
  123. package/dist/components/Table/core/tree.d.ts +4 -0
  124. package/dist/components/Table/core/tree.d.ts.map +1 -1
  125. package/dist/components/Table/core/utils.d.ts +11 -3
  126. package/dist/components/Table/core/utils.d.ts.map +1 -1
  127. package/dist/components/Table/index.d.ts +1 -1
  128. package/dist/components/Table/index.d.ts.map +1 -1
  129. package/dist/components/Table/render/TableColumnSetting.vue.d.ts +25 -0
  130. package/dist/components/Table/render/TableColumnSetting.vue.d.ts.map +1 -0
  131. package/dist/components/Table/render/TableTbody.vue.d.ts +16 -0
  132. package/dist/components/Table/render/TableTbody.vue.d.ts.map +1 -1
  133. package/dist/components/Table/render/TableThead.vue.d.ts +8 -0
  134. package/dist/components/Table/render/TableThead.vue.d.ts.map +1 -1
  135. package/dist/components/Table/state/internal.d.ts +1 -1
  136. package/dist/components/Table/state/internal.d.ts.map +1 -1
  137. package/dist/components/Table/state/usePageItems.d.ts +1 -3
  138. package/dist/components/Table/state/usePageItems.d.ts.map +1 -1
  139. package/dist/components/Table/state/useVirtualRows.d.ts +20 -2
  140. package/dist/components/Table/state/useVirtualRows.d.ts.map +1 -1
  141. package/dist/components/Table/styles.css +95 -0
  142. package/dist/components/Table/types.d.ts +77 -12
  143. package/dist/components/Table/types.d.ts.map +1 -1
  144. package/dist/components/Tabs/styles.css +165 -165
  145. package/dist/components/Terminal/styles.css +75 -75
  146. package/dist/components/Textarea/styles.css +146 -146
  147. package/dist/components/TieredMenu/styles.css +125 -125
  148. package/dist/components/Timeline/styles.css +157 -157
  149. package/dist/components/TreeSelect/styles.css +172 -172
  150. package/dist/components/VirtualScroller/styles.css +27 -27
  151. package/dist/{config-BEpyhJi3.js → config-Cd20zAyW.js} +11 -1
  152. package/dist/config-provider/index.js +1 -1
  153. package/dist/config-provider/style.css +2293 -2301
  154. package/dist/confirm-dialog/index.js +4 -4
  155. package/dist/confirm-dialog/style.css +2339 -2347
  156. package/dist/confirm-popup/index.js +4 -4
  157. package/dist/confirm-popup/style.css +1930 -1938
  158. package/dist/context-menu/index.js +3 -3
  159. package/dist/context-menu/style.css +1466 -1474
  160. package/dist/data-view/index.js +3 -3
  161. package/dist/data-view/style.css +1672 -1707
  162. package/dist/date-picker/index.js +1 -1
  163. package/dist/date-picker/style.css +1982 -1658
  164. package/dist/date-picker/style.js +1 -0
  165. package/dist/descriptions/index.js +1 -1
  166. package/dist/descriptions/style.css +1197 -1205
  167. package/dist/dialog/index.js +4 -4
  168. package/dist/dialog/style.css +2315 -2323
  169. package/dist/divider/style.css +1197 -1205
  170. package/dist/dock/style.css +1281 -1289
  171. package/dist/drawer/index.js +3 -3
  172. package/dist/drawer/style.css +1543 -1551
  173. package/dist/dropdown/index.js +4 -4
  174. package/dist/dropdown/style.css +1463 -1471
  175. package/dist/empty/index.js +1 -1
  176. package/dist/empty/style.css +1343 -1351
  177. package/dist/fieldset/style.css +1197 -1205
  178. package/dist/file-upload/index.js +1 -1
  179. package/dist/file-upload/style.css +1556 -1564
  180. package/dist/flex/index.js +1 -1
  181. package/dist/flex/style.css +1197 -1205
  182. package/dist/float-label/style.css +1197 -1205
  183. package/dist/fluid/style.css +1197 -1205
  184. package/dist/form/index.js +1 -1
  185. package/dist/form/style.css +1324 -1332
  186. package/dist/gallery/index.js +1 -1
  187. package/dist/gallery/style.css +1428 -1436
  188. package/dist/grid/style.css +1197 -1205
  189. package/dist/icon/style.css +1197 -1205
  190. package/dist/icon-field/style.css +1589 -1597
  191. package/dist/image/index.js +1 -1
  192. package/dist/image/style.css +1197 -1205
  193. package/dist/index.d.ts +3 -3
  194. package/dist/index.d.ts.map +1 -1
  195. package/dist/index.js +4792 -3559
  196. package/dist/inplace/style.css +1197 -1205
  197. package/dist/input/index.js +1 -1
  198. package/dist/input/style.css +1714 -1722
  199. package/dist/input-group/style.css +1197 -1205
  200. package/dist/input-number/index.js +2 -245
  201. package/dist/input-number/style.css +1477 -1467
  202. package/dist/input-otp/index.js +2 -2
  203. package/dist/input-otp/style.css +1197 -1205
  204. package/dist/input-password/index.js +2 -2
  205. package/dist/input-password/style.css +1511 -1519
  206. package/dist/input-tags/index.js +2 -2
  207. package/dist/input-tags/style.css +1318 -1326
  208. package/dist/knob/style.css +1197 -1205
  209. package/dist/label/style.css +1197 -1205
  210. package/dist/layout/index.js +1 -1
  211. package/dist/layout/style.css +1761 -1769
  212. package/dist/list/index.js +4 -4
  213. package/dist/list/style.css +2052 -2087
  214. package/dist/listbox/index.js +2 -2
  215. package/dist/listbox/style.css +1489 -1497
  216. package/dist/loading/index.js +1 -1
  217. package/dist/loading/style.css +1577 -1585
  218. package/dist/locale/de-DE.d.ts.map +1 -1
  219. package/dist/locale/en-US.d.ts.map +1 -1
  220. package/dist/locale/es-ES.d.ts.map +1 -1
  221. package/dist/locale/fr-FR.d.ts.map +1 -1
  222. package/dist/locale/ja-JP.d.ts.map +1 -1
  223. package/dist/locale/ko-KR.d.ts.map +1 -1
  224. package/dist/locale/pt-BR.d.ts.map +1 -1
  225. package/dist/locale/ru-RU.d.ts.map +1 -1
  226. package/dist/locale/types.d.ts +18 -0
  227. package/dist/locale/types.d.ts.map +1 -1
  228. package/dist/locale/zh-CN.d.ts.map +1 -1
  229. package/dist/locale/zh-TW.d.ts.map +1 -1
  230. package/dist/{locale-CZddM-tH.js → locale-BcxMPufl.js} +1 -1
  231. package/dist/mega-menu/index.js +3 -3
  232. package/dist/mega-menu/style.css +1294 -1302
  233. package/dist/mentions/index.js +3 -3
  234. package/dist/mentions/style.css +1322 -1330
  235. package/dist/menu/index.js +4 -4
  236. package/dist/menu/style.css +2051 -2059
  237. package/dist/menubar/index.js +4 -4
  238. package/dist/menubar/style.css +1472 -1480
  239. package/dist/message/index.js +3 -3
  240. package/dist/message/style.css +1445 -1453
  241. package/dist/meter-group/style.css +1248 -1256
  242. package/dist/order-list/index.js +191 -101
  243. package/dist/order-list/style.css +1277 -1212
  244. package/dist/page/index.js +3 -3
  245. package/dist/page/style.css +2592 -2600
  246. package/dist/pagination/index.js +1 -1
  247. package/dist/pagination/style.css +1516 -1551
  248. package/dist/panel/index.js +1 -1
  249. package/dist/panel/style.css +1197 -1205
  250. package/dist/pick-list/index.js +1 -1
  251. package/dist/pick-list/style.css +1197 -1205
  252. package/dist/popover/index.js +1 -1
  253. package/dist/popover/style.css +1291 -1299
  254. package/dist/progress-bar/style.css +1197 -1205
  255. package/dist/progress-spinner/index.js +1 -1
  256. package/dist/progress-spinner/style.css +1197 -1205
  257. package/dist/qr-code/index.js +3 -3
  258. package/dist/qr-code/style.css +1895 -1903
  259. package/dist/radio/index.js +1 -1
  260. package/dist/radio/style.css +1197 -1205
  261. package/dist/rating/index.js +2 -2
  262. package/dist/rating/style.css +1197 -1205
  263. package/dist/resolver.js +1 -1
  264. package/dist/result/index.js +1 -1
  265. package/dist/result/style.css +1343 -1351
  266. package/dist/scroll-top/index.js +2 -2
  267. package/dist/scroll-top/style.css +1328 -1336
  268. package/dist/scrollbar/style.css +1330 -1338
  269. package/dist/segmented/index.js +1 -1
  270. package/dist/segmented/style.css +1197 -1205
  271. package/dist/select/index.js +1 -1
  272. package/dist/select/style.css +2107 -2115
  273. package/dist/select-button/index.js +1 -1
  274. package/dist/select-button/style.css +1306 -1314
  275. package/dist/shared/styles/control-affix-icon.css +110 -110
  276. package/dist/shared/styles/control-suffix.css +118 -118
  277. package/dist/shared/styles/select-overlay.css +177 -177
  278. package/dist/sidebar/index.js +1 -1
  279. package/dist/sidebar/style.css +1271 -1279
  280. package/dist/skeleton/style.css +1197 -1205
  281. package/dist/slider/index.js +2 -2
  282. package/dist/slider/style.css +1410 -1418
  283. package/dist/space/index.js +1 -1
  284. package/dist/space/style.css +1197 -1205
  285. package/dist/speed-dial/index.js +3 -3
  286. package/dist/speed-dial/style.css +1197 -1205
  287. package/dist/split-button/index.js +3 -3
  288. package/dist/split-button/style.css +2111 -2119
  289. package/dist/splitter/index.js +1 -1
  290. package/dist/splitter/style.css +1197 -1205
  291. package/dist/statistic/style.css +1197 -1205
  292. package/dist/status/index.js +1 -1
  293. package/dist/status/style.css +1387 -1395
  294. package/dist/stepper/style.css +1349 -1357
  295. package/dist/styles/base.css +795 -804
  296. package/dist/styles.css +1 -1
  297. package/dist/switch/index.js +1 -1
  298. package/dist/switch/style.css +1328 -1336
  299. package/dist/table/index.js +975 -714
  300. package/dist/table/style.css +1899 -1839
  301. package/dist/tabs/index.js +1 -1
  302. package/dist/tabs/style.css +1493 -1501
  303. package/dist/tag/index.js +2 -2
  304. package/dist/tag/style.css +1197 -1205
  305. package/dist/terminal/index.js +1 -1
  306. package/dist/terminal/style.css +1274 -1282
  307. package/dist/textarea/index.js +1 -1
  308. package/dist/textarea/style.css +1468 -1476
  309. package/dist/theme/styles.css +402 -401
  310. package/dist/tiered-menu/index.js +3 -3
  311. package/dist/tiered-menu/style.css +1453 -1461
  312. package/dist/time-picker/index.js +5 -1
  313. package/dist/time-picker/style.css +1852 -1660
  314. package/dist/timeline/style.css +1485 -1493
  315. package/dist/toast/index.js +3 -3
  316. package/dist/toast/style.css +1895 -1903
  317. package/dist/toggle-button/index.js +1 -1
  318. package/dist/toggle-button/style.css +1197 -1205
  319. package/dist/toolbar/style.css +1197 -1205
  320. package/dist/tooltip/index.js +1 -1
  321. package/dist/tooltip/style.css +1197 -1205
  322. package/dist/tour/index.js +3 -3
  323. package/dist/tour/style.css +1895 -1903
  324. package/dist/tree/index.js +2 -2
  325. package/dist/tree/style.css +1197 -1205
  326. package/dist/tree-select/index.js +4 -4
  327. package/dist/tree-select/style.css +1905 -1913
  328. package/dist/typography/index.js +2 -2
  329. package/dist/typography/style.css +1343 -1351
  330. package/dist/{useMotionTransition-DqL_SEML.js → useMotionTransition-DohkfWRB.js} +1 -1
  331. package/dist/virtual-scroller/style.css +1358 -1366
  332. package/dist/watermark/style.css +1197 -1205
  333. package/package.json +8 -8
  334. package/dist/DatePicker-CsMGzCqY.js +0 -630
  335. package/dist/Pagination-CnGOpp0m.js +0 -171
  336. package/dist/components/InputColor/InputColor.vue.d.ts +0 -24
  337. package/dist/components/InputColor/InputColor.vue.d.ts.map +0 -1
  338. package/dist/components/InputColor/index.d.ts +0 -3
  339. package/dist/components/InputColor/index.d.ts.map +0 -1
  340. package/dist/components/InputColor/styles.css +0 -139
  341. package/dist/components/InputColor/types.d.ts +0 -19
  342. package/dist/components/InputColor/types.d.ts.map +0 -1
  343. package/dist/input-color/index.js +0 -118
  344. package/dist/input-color/style.js +0 -3
@@ -1,433 +1,433 @@
1
- /* —— Layout: Layout —— */
2
- .m-layout {
3
- --m-layout-height: 100%;
4
- height: var(--m-layout-height, 100%);
5
- background: var(--m-color-surface);
6
- box-sizing: border-box;
7
- color: var(--m-color-text);
8
- display: flex;
9
- flex-direction: column;
10
- flex: auto;
11
- min-height: 0;
12
- min-width: 0;
13
- overflow: hidden;
14
- position: relative;
15
- transition:
16
- background-color var(--m-motion-normal) var(--m-motion-ease),
17
- color var(--m-motion-normal) var(--m-motion-ease);
18
- width: 100%;
19
- z-index: auto;
20
- }
21
-
22
- .m-layout--embedded {
23
- background: color-mix(
24
- in srgb,
25
- var(--m-color-text-muted) 6%,
26
- var(--m-color-surface)
27
- );
28
- }
29
-
30
- .m-layout--fill-viewport {
31
- /* Definite height so has-sider children with min-height:100% / flex stretch fill the viewport.
32
- min-height alone leaves height:auto and percentage children collapse to content height. */
33
- height: 100vh;
34
- height: 100dvh;
35
- min-height: 100vh;
36
- min-height: 100dvh;
37
- }
38
-
39
- .m-layout--absolute-positioned {
40
- inset: 0;
41
- position: absolute;
42
- }
43
-
44
- .m-layout__scroll,
45
- .m-layout__scroll-view {
46
- box-sizing: border-box;
47
- display: flex;
48
- flex: 1 1 auto;
49
- flex-direction: column;
50
- min-height: 0;
51
- min-width: 0;
52
- position: relative;
53
- width: 100%;
54
- }
55
-
56
- .m-layout__scroll-view {
57
- min-height: 100%;
58
- }
59
-
60
- .m-layout__scrollbar {
61
- flex: 1 1 auto;
62
- height: 100%;
63
- min-height: 0;
64
- min-width: 0;
65
- width: 100%;
66
- }
67
-
68
- .m-layout__scroll--has-sider,
69
- .m-layout__scroll-view--has-sider {
70
- /* direction set inline */
71
- align-items: stretch;
72
- flex-wrap: nowrap;
73
- }
74
-
75
- .m-layout__scroll--has-sider > .m-layout-sider,
76
- .m-layout__scroll--has-sider > .m-layout,
77
- .m-layout__scroll-view--has-sider > .m-layout-sider,
78
- .m-layout__scroll-view--has-sider > .m-layout {
79
- align-self: stretch;
80
- min-height: 100%;
81
- }
82
-
83
- /* Nested layout / content grow to fill remaining space */
84
- .m-layout__scroll > .m-layout,
85
- .m-layout__scroll > .m-layout-content,
86
- .m-layout__scroll-view > .m-layout,
87
- .m-layout__scroll-view > .m-layout-content {
88
- flex: 1 1 auto;
89
- min-height: 0;
90
- min-width: 0;
91
- }
92
-
93
- .m-layout-content {
94
- --m-layout-radius: 0;
95
- display: flex;
96
- flex: 1 1 auto;
97
- flex-direction: column;
98
- min-height: 0;
99
- min-width: 0;
100
- }
101
-
102
- .m-layout-header,
103
- .m-layout-footer {
104
- background: var(--m-color-surface);
105
- box-sizing: border-box;
106
- color: var(--m-color-text);
107
- flex: 0 0 auto;
108
- transition:
109
- background-color var(--m-motion-fast) var(--m-motion-ease),
110
- color var(--m-motion-fast) var(--m-motion-ease),
111
- border-color var(--m-motion-fast) var(--m-motion-ease);
112
- width: 100%;
113
- display: flex;
114
- align-items: center;
115
- }
116
-
117
- .m-layout-header {
118
- --m-layout-padding: 0 var(--m-space-4);
119
- --m-layout-radius: 0;
120
- }
121
-
122
- .m-layout-footer {
123
- --m-layout-padding: 0 var(--m-space-4);
124
- --m-layout-radius: 0;
125
- }
126
-
127
- .m-layout-header--bordered {
128
- border-bottom: var(--m-border-width) solid var(--m-color-split);
129
- }
130
-
131
- .m-layout-footer--bordered {
132
- border-top: var(--m-border-width) solid var(--m-color-split);
133
- }
134
-
135
- .m-layout-header--inverted,
136
- .m-layout-footer--inverted,
137
- .m-layout-sider--inverted {
138
- background: var(--m-color-contrast);
139
- color: var(--m-color-contrast-fg);
140
- }
141
-
142
- .m-layout-header--inverted.m-layout-header--bordered {
143
- border-bottom-color: color-mix(
144
- in srgb,
145
- var(--m-color-contrast-fg) 18%,
146
- transparent
147
- );
148
- }
149
-
150
- .m-layout-footer--inverted.m-layout-footer--bordered {
151
- border-top-color: color-mix(
152
- in srgb,
153
- var(--m-color-contrast-fg) 18%,
154
- transparent
155
- );
156
- }
157
-
158
- .m-layout-header--absolute-positioned,
159
- .m-layout-footer--absolute-positioned,
160
- .m-layout-sider--absolute-positioned {
161
- position: absolute;
162
- z-index: 1;
163
- }
164
-
165
- .m-layout-header--absolute-positioned {
166
- inset-inline: 0;
167
- top: 0;
168
- }
169
-
170
- .m-layout-footer--absolute-positioned {
171
- bottom: 0;
172
- inset-inline: 0;
173
- }
174
-
175
- .m-layout-sider {
176
- --m-layout-sider-width: var(--m-nav-rail-width);
177
- --m-layout-sider-collapsed-width: var(--m-nav-rail-collapsed-width);
178
- --m-layout-radius: 0;
179
- --m-layout-trigger-size: var(--m-space-6);
180
- align-self: stretch;
181
- background: var(--m-color-surface);
182
- box-sizing: border-box;
183
- color: var(--m-color-text);
184
- display: flex;
185
- flex-basis: var(--m-layout-sider-width);
186
- flex-direction: column;
187
- flex-shrink: 0;
188
- min-width: 0;
189
- /* Do not clip the collapse trigger (it sits half outside the sider edge).
190
- Collapsed transform overflow is clipped by `.m-layout { overflow: hidden }`. */
191
- overflow: visible;
192
- position: relative;
193
- transition:
194
- color var(--m-motion-normal) var(--m-motion-ease),
195
- border-color var(--m-motion-normal) var(--m-motion-ease),
196
- background-color var(--m-motion-normal) var(--m-motion-ease),
197
- opacity var(--m-motion-normal) var(--m-motion-ease);
198
- z-index: 1;
199
- }
200
-
201
- /* Default: clip via max-width (no size transition) + opacity — avoids layout thrashing. */
202
- .m-layout-sider--collapse-transform {
203
- flex-shrink: 0;
204
- }
205
-
206
- /*
207
- * Opt-in layout animation for flex reflow. One-shot only; prefer `transform` mode.
208
- * `contain: layout` limits reflow cost to the sider subtree where possible.
209
- * Overflow stays visible so the collapse trigger (half outside the edge) is not clipped.
210
- */
211
- .m-layout-sider--collapse-width {
212
- contain: layout;
213
- flex-shrink: 1;
214
- min-width: 0;
215
- transition:
216
- color var(--m-motion-normal) var(--m-motion-ease),
217
- border-color var(--m-motion-normal) var(--m-motion-ease),
218
- width var(--m-motion-normal) var(--m-motion-ease),
219
- max-width var(--m-motion-normal) var(--m-motion-ease),
220
- background-color var(--m-motion-normal) var(--m-motion-ease),
221
- opacity var(--m-motion-normal) var(--m-motion-ease);
222
- }
223
-
224
- .m-layout-sider:not(.m-layout-sider--show-content) > :not(.m-layout-sider__trigger):not(.m-layout-sider__border) {
225
- opacity: 0;
226
- pointer-events: none;
227
- transition: opacity var(--m-motion-normal) var(--m-motion-ease);
228
- }
229
-
230
- .m-layout-sider__border {
231
- background: var(--m-color-border);
232
- bottom: 0;
233
- position: absolute;
234
- top: 0;
235
- transition: background-color var(--m-motion-fast) var(--m-motion-ease);
236
- width: var(--m-border-width);
237
- }
238
-
239
- .m-layout-sider--left-placement > .m-layout-sider__border {
240
- right: 0;
241
- }
242
-
243
- .m-layout-sider--right-placement > .m-layout-sider__border {
244
- left: 0;
245
- }
246
-
247
- .m-layout-sider--inverted > .m-layout-sider__border {
248
- background: color-mix(
249
- in srgb,
250
- var(--m-color-contrast-fg) 18%,
251
- transparent
252
- );
253
- }
254
-
255
- .m-layout-sider__trigger {
256
- background: transparent;
257
- border: 0;
258
- border-radius: var(--m-radius-sm);
259
- color: var(--m-color-text-muted);
260
- cursor: pointer;
261
- font: inherit;
262
- padding: 0;
263
- position: absolute;
264
- transition:
265
- color var(--m-motion-fast) var(--m-motion-ease),
266
- background-color var(--m-motion-fast) var(--m-motion-ease),
267
- border-color var(--m-motion-fast) var(--m-motion-ease);
268
- z-index: 2;
269
- }
270
-
271
- .m-layout-sider__trigger:hover:not(:disabled) {
272
- color: var(--m-color-primary);
273
- }
274
-
275
- .m-layout-sider__trigger:focus-visible {
276
- box-shadow: var(--m-focus-shadow);
277
- outline: none;
278
- }
279
-
280
- .m-layout-sider__trigger:disabled {
281
- cursor: not-allowed;
282
- opacity: var(--m-opacity-disabled);
283
- }
284
-
285
- .m-layout-sider__trigger--arrow-circle {
286
- align-items: center;
287
- background: var(--m-color-surface);
288
- border: var(--m-border-width) solid var(--m-color-border);
289
- border-radius: 50%;
290
- box-shadow: var(--m-shadow-sm);
291
- display: inline-flex;
292
- font-size: var(--m-font-size-md);
293
- height: var(--m-layout-trigger-size);
294
- justify-content: center;
295
- right: 0;
296
- top: 50%;
297
- transform: translate(50%, -50%);
298
- width: var(--m-layout-trigger-size);
299
- }
300
-
301
- .m-layout-sider__trigger--arrow-circle:hover:not(:disabled) {
302
- border-color: var(--m-color-primary);
303
- color: var(--m-color-primary);
304
- }
305
-
306
- .m-layout-sider--right-placement > .m-layout-sider__trigger--arrow-circle {
307
- left: 0;
308
- right: auto;
309
- transform: translate(-50%, -50%);
310
- }
311
-
312
- .m-layout-sider__arrow {
313
- display: inline-block;
314
- line-height: 1;
315
- transform: rotate(180deg);
316
- transition: transform var(--m-motion-normal) var(--m-motion-ease);
317
- }
318
-
319
- .m-layout-sider--collapsed
320
- > .m-layout-sider__trigger--arrow-circle
321
- .m-layout-sider__arrow {
322
- transform: rotate(0deg);
323
- }
324
-
325
- .m-layout-sider--right-placement
326
- > .m-layout-sider__trigger--arrow-circle
327
- .m-layout-sider__arrow {
328
- transform: rotate(0deg);
329
- }
330
-
331
- .m-layout-sider--right-placement.m-layout-sider--collapsed
332
- > .m-layout-sider__trigger--arrow-circle
333
- .m-layout-sider__arrow {
334
- transform: rotate(180deg);
335
- }
336
-
337
- .m-layout-sider--inverted > .m-layout-sider__trigger--arrow-circle {
338
- background: var(--m-color-contrast);
339
- border-color: color-mix(
340
- in srgb,
341
- var(--m-color-contrast-fg) 18%,
342
- transparent
343
- );
344
- color: var(--m-color-contrast-fg);
345
- }
346
-
347
- .m-layout-sider__trigger--bar {
348
- height: var(--m-layout-trigger-bar-height);
349
- right: calc(-1 * var(--m-layout-trigger-bar-offset));
350
- top: calc(50% - var(--m-layout-trigger-bar-top));
351
- width: var(--m-layout-trigger-bar-width);
352
- }
353
-
354
- .m-layout-sider--right-placement > .m-layout-sider__trigger--bar {
355
- left: calc(-1 * var(--m-layout-trigger-bar-offset));
356
- right: auto;
357
- transform: rotate(180deg);
358
- }
359
-
360
- .m-layout-sider__bar {
361
- display: block;
362
- height: 100%;
363
- position: relative;
364
- width: 100%;
365
- }
366
-
367
- .m-layout-sider__bar-top,
368
- .m-layout-sider__bar-bottom {
369
- background: var(--m-color-text-muted);
370
- border-radius: var(--m-radius-sm);
371
- /* The bars overlap by --m-space-1 at the joint: the rounded tips stay
372
- hidden inside each other when straight, and close the chevron vertex
373
- on hover. */
374
- height: calc(var(--m-space-8) + var(--m-space-2) - var(--m-space-1) / 2);
375
- left: calc(var(--m-space-3) + var(--m-space-1));
376
- position: absolute;
377
- transition:
378
- background-color var(--m-motion-fast) var(--m-motion-ease),
379
- transform var(--m-motion-fast) var(--m-motion-ease);
380
- width: var(--m-space-1);
381
- }
382
-
383
- .m-layout-sider__bar-top {
384
- top: 0;
385
- }
386
-
387
- .m-layout-sider__bar-bottom {
388
- top: calc(var(--m-space-8) + var(--m-space-1) / 2);
389
- }
390
-
391
- .m-layout-sider__trigger--bar:hover .m-layout-sider__bar-top {
392
- transform: rotate(12deg) scale(1.15) translateY(-2px);
393
- }
394
-
395
- .m-layout-sider__trigger--bar:hover .m-layout-sider__bar-bottom {
396
- transform: rotate(-12deg) scale(1.15) translateY(2px);
397
- }
398
-
399
- .m-layout-sider--collapsed
400
- > .m-layout-sider__trigger--bar:hover
401
- .m-layout-sider__bar-top {
402
- transform: rotate(-12deg) scale(1.15) translateY(-2px);
403
- }
404
-
405
- .m-layout-sider--collapsed
406
- > .m-layout-sider__trigger--bar:hover
407
- .m-layout-sider__bar-bottom {
408
- transform: rotate(12deg) scale(1.15) translateY(2px);
409
- }
410
-
411
- .m-layout-sider--absolute-positioned {
412
- bottom: 0;
413
- left: 0;
414
- position: absolute;
415
- top: 0;
416
- }
417
-
418
- [data-m-motion="reduced"] .m-layout,
419
- [data-m-motion="reduced"] .m-layout-header,
420
- [data-m-motion="reduced"] .m-layout-footer,
421
- [data-m-motion="reduced"] .m-layout-sider,
422
- [data-m-motion="reduced"] .m-layout-sider__arrow,
423
- [data-m-motion="reduced"] .m-layout-sider__bar-top,
424
- [data-m-motion="reduced"] .m-layout-sider__bar-bottom,
425
- [data-m-motion="none"] .m-layout,
426
- [data-m-motion="none"] .m-layout-header,
427
- [data-m-motion="none"] .m-layout-footer,
428
- [data-m-motion="none"] .m-layout-sider,
429
- [data-m-motion="none"] .m-layout-sider__arrow,
430
- [data-m-motion="none"] .m-layout-sider__bar-top,
431
- [data-m-motion="none"] .m-layout-sider__bar-bottom {
432
- transition: none;
433
- }
1
+ /* —— Layout: Layout —— */
2
+ .m-layout {
3
+ --m-layout-height: 100%;
4
+ height: var(--m-layout-height, 100%);
5
+ background: var(--m-color-surface);
6
+ box-sizing: border-box;
7
+ color: var(--m-color-text);
8
+ display: flex;
9
+ flex-direction: column;
10
+ flex: auto;
11
+ min-height: 0;
12
+ min-width: 0;
13
+ overflow: hidden;
14
+ position: relative;
15
+ transition:
16
+ background-color var(--m-motion-normal) var(--m-motion-ease),
17
+ color var(--m-motion-normal) var(--m-motion-ease);
18
+ width: 100%;
19
+ z-index: auto;
20
+ }
21
+
22
+ .m-layout--embedded {
23
+ background: color-mix(
24
+ in srgb,
25
+ var(--m-color-text-muted) 6%,
26
+ var(--m-color-surface)
27
+ );
28
+ }
29
+
30
+ .m-layout--fill-viewport {
31
+ /* Definite height so has-sider children with min-height:100% / flex stretch fill the viewport.
32
+ min-height alone leaves height:auto and percentage children collapse to content height. */
33
+ height: 100vh;
34
+ height: 100dvh;
35
+ min-height: 100vh;
36
+ min-height: 100dvh;
37
+ }
38
+
39
+ .m-layout--absolute-positioned {
40
+ inset: 0;
41
+ position: absolute;
42
+ }
43
+
44
+ .m-layout__scroll,
45
+ .m-layout__scroll-view {
46
+ box-sizing: border-box;
47
+ display: flex;
48
+ flex: 1 1 auto;
49
+ flex-direction: column;
50
+ min-height: 0;
51
+ min-width: 0;
52
+ position: relative;
53
+ width: 100%;
54
+ }
55
+
56
+ .m-layout__scroll-view {
57
+ min-height: 100%;
58
+ }
59
+
60
+ .m-layout__scrollbar {
61
+ flex: 1 1 auto;
62
+ height: 100%;
63
+ min-height: 0;
64
+ min-width: 0;
65
+ width: 100%;
66
+ }
67
+
68
+ .m-layout__scroll--has-sider,
69
+ .m-layout__scroll-view--has-sider {
70
+ /* direction set inline */
71
+ align-items: stretch;
72
+ flex-wrap: nowrap;
73
+ }
74
+
75
+ .m-layout__scroll--has-sider > .m-layout-sider,
76
+ .m-layout__scroll--has-sider > .m-layout,
77
+ .m-layout__scroll-view--has-sider > .m-layout-sider,
78
+ .m-layout__scroll-view--has-sider > .m-layout {
79
+ align-self: stretch;
80
+ min-height: 100%;
81
+ }
82
+
83
+ /* Nested layout / content grow to fill remaining space */
84
+ .m-layout__scroll > .m-layout,
85
+ .m-layout__scroll > .m-layout-content,
86
+ .m-layout__scroll-view > .m-layout,
87
+ .m-layout__scroll-view > .m-layout-content {
88
+ flex: 1 1 auto;
89
+ min-height: 0;
90
+ min-width: 0;
91
+ }
92
+
93
+ .m-layout-content {
94
+ --m-layout-radius: 0;
95
+ display: flex;
96
+ flex: 1 1 auto;
97
+ flex-direction: column;
98
+ min-height: 0;
99
+ min-width: 0;
100
+ }
101
+
102
+ .m-layout-header,
103
+ .m-layout-footer {
104
+ background: var(--m-color-surface);
105
+ box-sizing: border-box;
106
+ color: var(--m-color-text);
107
+ flex: 0 0 auto;
108
+ transition:
109
+ background-color var(--m-motion-fast) var(--m-motion-ease),
110
+ color var(--m-motion-fast) var(--m-motion-ease),
111
+ border-color var(--m-motion-fast) var(--m-motion-ease);
112
+ width: 100%;
113
+ display: flex;
114
+ align-items: center;
115
+ }
116
+
117
+ .m-layout-header {
118
+ --m-layout-padding: 0 var(--m-space-4);
119
+ --m-layout-radius: 0;
120
+ }
121
+
122
+ .m-layout-footer {
123
+ --m-layout-padding: 0 var(--m-space-4);
124
+ --m-layout-radius: 0;
125
+ }
126
+
127
+ .m-layout-header--bordered {
128
+ border-bottom: var(--m-border-width) solid var(--m-color-split);
129
+ }
130
+
131
+ .m-layout-footer--bordered {
132
+ border-top: var(--m-border-width) solid var(--m-color-split);
133
+ }
134
+
135
+ .m-layout-header--inverted,
136
+ .m-layout-footer--inverted,
137
+ .m-layout-sider--inverted {
138
+ background: var(--m-color-contrast);
139
+ color: var(--m-color-contrast-fg);
140
+ }
141
+
142
+ .m-layout-header--inverted.m-layout-header--bordered {
143
+ border-bottom-color: color-mix(
144
+ in srgb,
145
+ var(--m-color-contrast-fg) 18%,
146
+ transparent
147
+ );
148
+ }
149
+
150
+ .m-layout-footer--inverted.m-layout-footer--bordered {
151
+ border-top-color: color-mix(
152
+ in srgb,
153
+ var(--m-color-contrast-fg) 18%,
154
+ transparent
155
+ );
156
+ }
157
+
158
+ .m-layout-header--absolute-positioned,
159
+ .m-layout-footer--absolute-positioned,
160
+ .m-layout-sider--absolute-positioned {
161
+ position: absolute;
162
+ z-index: 1;
163
+ }
164
+
165
+ .m-layout-header--absolute-positioned {
166
+ inset-inline: 0;
167
+ top: 0;
168
+ }
169
+
170
+ .m-layout-footer--absolute-positioned {
171
+ bottom: 0;
172
+ inset-inline: 0;
173
+ }
174
+
175
+ .m-layout-sider {
176
+ --m-layout-sider-width: var(--m-nav-rail-width);
177
+ --m-layout-sider-collapsed-width: var(--m-nav-rail-collapsed-width);
178
+ --m-layout-radius: 0;
179
+ --m-layout-trigger-size: var(--m-space-6);
180
+ align-self: stretch;
181
+ background: var(--m-color-surface);
182
+ box-sizing: border-box;
183
+ color: var(--m-color-text);
184
+ display: flex;
185
+ flex-basis: var(--m-layout-sider-width);
186
+ flex-direction: column;
187
+ flex-shrink: 0;
188
+ min-width: 0;
189
+ /* Do not clip the collapse trigger (it sits half outside the sider edge).
190
+ Collapsed transform overflow is clipped by `.m-layout { overflow: hidden }`. */
191
+ overflow: visible;
192
+ position: relative;
193
+ transition:
194
+ color var(--m-motion-normal) var(--m-motion-ease),
195
+ border-color var(--m-motion-normal) var(--m-motion-ease),
196
+ background-color var(--m-motion-normal) var(--m-motion-ease),
197
+ opacity var(--m-motion-normal) var(--m-motion-ease);
198
+ z-index: 1;
199
+ }
200
+
201
+ /* Default: clip via max-width (no size transition) + opacity — avoids layout thrashing. */
202
+ .m-layout-sider--collapse-transform {
203
+ flex-shrink: 0;
204
+ }
205
+
206
+ /*
207
+ * Opt-in layout animation for flex reflow. One-shot only; prefer `transform` mode.
208
+ * `contain: layout` limits reflow cost to the sider subtree where possible.
209
+ * Overflow stays visible so the collapse trigger (half outside the edge) is not clipped.
210
+ */
211
+ .m-layout-sider--collapse-width {
212
+ contain: layout;
213
+ flex-shrink: 1;
214
+ min-width: 0;
215
+ transition:
216
+ color var(--m-motion-normal) var(--m-motion-ease),
217
+ border-color var(--m-motion-normal) var(--m-motion-ease),
218
+ width var(--m-motion-normal) var(--m-motion-ease),
219
+ max-width var(--m-motion-normal) var(--m-motion-ease),
220
+ background-color var(--m-motion-normal) var(--m-motion-ease),
221
+ opacity var(--m-motion-normal) var(--m-motion-ease);
222
+ }
223
+
224
+ .m-layout-sider:not(.m-layout-sider--show-content) > :not(.m-layout-sider__trigger):not(.m-layout-sider__border) {
225
+ opacity: 0;
226
+ pointer-events: none;
227
+ transition: opacity var(--m-motion-normal) var(--m-motion-ease);
228
+ }
229
+
230
+ .m-layout-sider__border {
231
+ background: var(--m-color-border);
232
+ bottom: 0;
233
+ position: absolute;
234
+ top: 0;
235
+ transition: background-color var(--m-motion-fast) var(--m-motion-ease);
236
+ width: var(--m-border-width);
237
+ }
238
+
239
+ .m-layout-sider--left-placement > .m-layout-sider__border {
240
+ right: 0;
241
+ }
242
+
243
+ .m-layout-sider--right-placement > .m-layout-sider__border {
244
+ left: 0;
245
+ }
246
+
247
+ .m-layout-sider--inverted > .m-layout-sider__border {
248
+ background: color-mix(
249
+ in srgb,
250
+ var(--m-color-contrast-fg) 18%,
251
+ transparent
252
+ );
253
+ }
254
+
255
+ .m-layout-sider__trigger {
256
+ background: transparent;
257
+ border: 0;
258
+ border-radius: var(--m-radius-sm);
259
+ color: var(--m-color-text-muted);
260
+ cursor: pointer;
261
+ font: inherit;
262
+ padding: 0;
263
+ position: absolute;
264
+ transition:
265
+ color var(--m-motion-fast) var(--m-motion-ease),
266
+ background-color var(--m-motion-fast) var(--m-motion-ease),
267
+ border-color var(--m-motion-fast) var(--m-motion-ease);
268
+ z-index: 2;
269
+ }
270
+
271
+ .m-layout-sider__trigger:hover:not(:disabled) {
272
+ color: var(--m-color-primary);
273
+ }
274
+
275
+ .m-layout-sider__trigger:focus-visible {
276
+ box-shadow: var(--m-focus-shadow);
277
+ outline: none;
278
+ }
279
+
280
+ .m-layout-sider__trigger:disabled {
281
+ cursor: not-allowed;
282
+ opacity: var(--m-opacity-disabled);
283
+ }
284
+
285
+ .m-layout-sider__trigger--arrow-circle {
286
+ align-items: center;
287
+ background: var(--m-color-surface);
288
+ border: var(--m-border-width) solid var(--m-color-border);
289
+ border-radius: 50%;
290
+ box-shadow: var(--m-shadow-sm);
291
+ display: inline-flex;
292
+ font-size: var(--m-font-size-md);
293
+ height: var(--m-layout-trigger-size);
294
+ justify-content: center;
295
+ right: 0;
296
+ top: 50%;
297
+ transform: translate(50%, -50%);
298
+ width: var(--m-layout-trigger-size);
299
+ }
300
+
301
+ .m-layout-sider__trigger--arrow-circle:hover:not(:disabled) {
302
+ border-color: var(--m-color-primary);
303
+ color: var(--m-color-primary);
304
+ }
305
+
306
+ .m-layout-sider--right-placement > .m-layout-sider__trigger--arrow-circle {
307
+ left: 0;
308
+ right: auto;
309
+ transform: translate(-50%, -50%);
310
+ }
311
+
312
+ .m-layout-sider__arrow {
313
+ display: inline-block;
314
+ line-height: 1;
315
+ transform: rotate(180deg);
316
+ transition: transform var(--m-motion-normal) var(--m-motion-ease);
317
+ }
318
+
319
+ .m-layout-sider--collapsed
320
+ > .m-layout-sider__trigger--arrow-circle
321
+ .m-layout-sider__arrow {
322
+ transform: rotate(0deg);
323
+ }
324
+
325
+ .m-layout-sider--right-placement
326
+ > .m-layout-sider__trigger--arrow-circle
327
+ .m-layout-sider__arrow {
328
+ transform: rotate(0deg);
329
+ }
330
+
331
+ .m-layout-sider--right-placement.m-layout-sider--collapsed
332
+ > .m-layout-sider__trigger--arrow-circle
333
+ .m-layout-sider__arrow {
334
+ transform: rotate(180deg);
335
+ }
336
+
337
+ .m-layout-sider--inverted > .m-layout-sider__trigger--arrow-circle {
338
+ background: var(--m-color-contrast);
339
+ border-color: color-mix(
340
+ in srgb,
341
+ var(--m-color-contrast-fg) 18%,
342
+ transparent
343
+ );
344
+ color: var(--m-color-contrast-fg);
345
+ }
346
+
347
+ .m-layout-sider__trigger--bar {
348
+ height: var(--m-layout-trigger-bar-height);
349
+ right: calc(-1 * var(--m-layout-trigger-bar-offset));
350
+ top: calc(50% - var(--m-layout-trigger-bar-top));
351
+ width: var(--m-layout-trigger-bar-width);
352
+ }
353
+
354
+ .m-layout-sider--right-placement > .m-layout-sider__trigger--bar {
355
+ left: calc(-1 * var(--m-layout-trigger-bar-offset));
356
+ right: auto;
357
+ transform: rotate(180deg);
358
+ }
359
+
360
+ .m-layout-sider__bar {
361
+ display: block;
362
+ height: 100%;
363
+ position: relative;
364
+ width: 100%;
365
+ }
366
+
367
+ .m-layout-sider__bar-top,
368
+ .m-layout-sider__bar-bottom {
369
+ background: var(--m-color-text-muted);
370
+ border-radius: var(--m-radius-sm);
371
+ /* The bars overlap by --m-space-1 at the joint: the rounded tips stay
372
+ hidden inside each other when straight, and close the chevron vertex
373
+ on hover. */
374
+ height: calc(var(--m-space-8) + var(--m-space-2) - var(--m-space-1) / 2);
375
+ left: calc(var(--m-space-3) + var(--m-space-1));
376
+ position: absolute;
377
+ transition:
378
+ background-color var(--m-motion-fast) var(--m-motion-ease),
379
+ transform var(--m-motion-fast) var(--m-motion-ease);
380
+ width: var(--m-space-1);
381
+ }
382
+
383
+ .m-layout-sider__bar-top {
384
+ top: 0;
385
+ }
386
+
387
+ .m-layout-sider__bar-bottom {
388
+ top: calc(var(--m-space-8) + var(--m-space-1) / 2);
389
+ }
390
+
391
+ .m-layout-sider__trigger--bar:hover .m-layout-sider__bar-top {
392
+ transform: rotate(12deg) scale(1.15) translateY(-2px);
393
+ }
394
+
395
+ .m-layout-sider__trigger--bar:hover .m-layout-sider__bar-bottom {
396
+ transform: rotate(-12deg) scale(1.15) translateY(2px);
397
+ }
398
+
399
+ .m-layout-sider--collapsed
400
+ > .m-layout-sider__trigger--bar:hover
401
+ .m-layout-sider__bar-top {
402
+ transform: rotate(-12deg) scale(1.15) translateY(-2px);
403
+ }
404
+
405
+ .m-layout-sider--collapsed
406
+ > .m-layout-sider__trigger--bar:hover
407
+ .m-layout-sider__bar-bottom {
408
+ transform: rotate(12deg) scale(1.15) translateY(2px);
409
+ }
410
+
411
+ .m-layout-sider--absolute-positioned {
412
+ bottom: 0;
413
+ left: 0;
414
+ position: absolute;
415
+ top: 0;
416
+ }
417
+
418
+ [data-m-motion="reduced"] .m-layout,
419
+ [data-m-motion="reduced"] .m-layout-header,
420
+ [data-m-motion="reduced"] .m-layout-footer,
421
+ [data-m-motion="reduced"] .m-layout-sider,
422
+ [data-m-motion="reduced"] .m-layout-sider__arrow,
423
+ [data-m-motion="reduced"] .m-layout-sider__bar-top,
424
+ [data-m-motion="reduced"] .m-layout-sider__bar-bottom,
425
+ [data-m-motion="none"] .m-layout,
426
+ [data-m-motion="none"] .m-layout-header,
427
+ [data-m-motion="none"] .m-layout-footer,
428
+ [data-m-motion="none"] .m-layout-sider,
429
+ [data-m-motion="none"] .m-layout-sider__arrow,
430
+ [data-m-motion="none"] .m-layout-sider__bar-top,
431
+ [data-m-motion="none"] .m-layout-sider__bar-bottom {
432
+ transition: none;
433
+ }