morya-ui 0.4.2 → 0.4.4

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 (357) hide show
  1. package/CHANGELOG.md +780 -755
  2. package/LICENSE +21 -21
  3. package/README.md +156 -150
  4. package/README.zh-CN.md +156 -150
  5. package/dist/{Button-BaYLh91a.js → Button-Bjsth0ct.js} +3 -3
  6. package/dist/{Card-B1CB9Trm.js → Card-Ct5vJmoV.js} +1 -1
  7. package/dist/{Checkbox-LxCFF19I.js → Checkbox-Bo26OGHP.js} +1 -1
  8. package/dist/{DatePicker-DGPNukEW.js → DatePicker-CsMGzCqY.js} +4 -4
  9. package/dist/{Empty-2_f_FgyK.js → Empty-rMhOPi79.js} +2 -2
  10. package/dist/{FlyoutSubmenu-Da6AcoM4.js → FlyoutSubmenu-C0id6-Sb.js} +1 -1
  11. package/dist/{Icon-od9Ob-Ay.js → Icon-CmHjx7W8.js} +1 -1
  12. package/dist/{Input-NspPDc2R.js → Input-CxSTVp9E.js} +3 -3
  13. package/dist/{Loading-BK4dQPCS.js → Loading-D_qRwfKv.js} +4 -4
  14. package/dist/{Pagination-tdrlaZ3u.js → Pagination-CnGOpp0m.js} +3 -3
  15. package/dist/{Popover-BumMfUpV.js → Popover-D1uZ1N9Z.js} +2 -2
  16. package/dist/{ProgressSpinner-BQ1tLioO.js → ProgressSpinner-hmR23xpi.js} +2 -2
  17. package/dist/{Radio-BCn2OVCF.js → Radio-CZAyelC_.js} +1 -1
  18. package/dist/{Segmented-ppmDmku5.js → Segmented-BpdO7arR.js} +2 -2
  19. package/dist/{Select-CN1tM76U.js → Select-CySmusHs.js} +4 -4
  20. package/dist/{Textarea-Ch1KCXEv.js → Textarea-DskjTCcz.js} +3 -3
  21. package/dist/{Tooltip-DKsXxU_B.js → Tooltip-DSfkflHp.js} +2 -2
  22. package/dist/accordion/style.css +1205 -1205
  23. package/dist/affix/style.css +1205 -1205
  24. package/dist/alert/index.js +15 -15
  25. package/dist/alert/style.css +1206 -1206
  26. package/dist/anchor/style.css +1205 -1205
  27. package/dist/auto-complete/index.js +4 -4
  28. package/dist/auto-complete/style.css +1749 -1749
  29. package/dist/avatar/index.js +1 -1
  30. package/dist/avatar/style.css +1318 -1318
  31. package/dist/badge/index.js +24 -24
  32. package/dist/badge/style.css +1371 -1372
  33. package/dist/block-ui/index.js +1 -1
  34. package/dist/block-ui/style.css +1205 -1205
  35. package/dist/breadcrumb/index.js +1 -1
  36. package/dist/breadcrumb/style.css +1205 -1205
  37. package/dist/button/index.js +1 -1
  38. package/dist/button/style.css +1909 -1909
  39. package/dist/calendar/index.js +3 -3
  40. package/dist/calendar/style.css +1880 -1880
  41. package/dist/card/index.js +1 -1
  42. package/dist/card/style.css +1205 -1205
  43. package/dist/carousel/index.js +2 -2
  44. package/dist/carousel/style.css +2208 -2208
  45. package/dist/cascade-select/index.js +4 -4
  46. package/dist/cascade-select/style.css +1909 -1909
  47. package/dist/checkbox/index.js +1 -1
  48. package/dist/checkbox/style.css +1205 -1205
  49. package/dist/chip/index.js +35 -35
  50. package/dist/chip/style.css +1349 -1349
  51. package/dist/command-menu/index.js +5 -5
  52. package/dist/command-menu/style.css +1438 -1438
  53. package/dist/components/Alert/Alert.vue.d.ts +2 -2
  54. package/dist/components/Alert/Alert.vue.d.ts.map +1 -1
  55. package/dist/components/Alert/index.d.ts +1 -1
  56. package/dist/components/Alert/index.d.ts.map +1 -1
  57. package/dist/components/Alert/styles.css +1 -1
  58. package/dist/components/Alert/types.d.ts +3 -3
  59. package/dist/components/Alert/types.d.ts.map +1 -1
  60. package/dist/components/AutoComplete/styles.css +209 -209
  61. package/dist/components/Avatar/styles.css +113 -113
  62. package/dist/components/Badge/Badge.vue.d.ts +2 -2
  63. package/dist/components/Badge/index.d.ts +1 -1
  64. package/dist/components/Badge/index.d.ts.map +1 -1
  65. package/dist/components/Badge/styles.css +164 -165
  66. package/dist/components/Badge/types.d.ts +3 -4
  67. package/dist/components/Badge/types.d.ts.map +1 -1
  68. package/dist/components/Button/styles.css +698 -698
  69. package/dist/components/Button/types.d.ts +1 -5
  70. package/dist/components/Button/types.d.ts.map +1 -1
  71. package/dist/components/Carousel/styles.css +302 -302
  72. package/dist/components/CascadeSelect/styles.css +168 -168
  73. package/dist/components/Chip/index.d.ts +1 -1
  74. package/dist/components/Chip/index.d.ts.map +1 -1
  75. package/dist/components/Chip/styles.css +144 -144
  76. package/dist/components/Chip/types.d.ts +3 -3
  77. package/dist/components/Chip/types.d.ts.map +1 -1
  78. package/dist/components/CommandMenu/styles.css +102 -102
  79. package/dist/components/ConfigProvider/styles.css +6 -6
  80. package/dist/components/ConfirmDialog/ConfirmDialog.vue.d.ts.map +1 -1
  81. package/dist/components/ConfirmDialog/styles.css +24 -24
  82. package/dist/components/ConfirmDialog/types.d.ts +1 -1
  83. package/dist/components/ConfirmDialog/types.d.ts.map +1 -1
  84. package/dist/components/ConfirmPopup/styles.css +35 -35
  85. package/dist/components/ContextMenu/styles.css +138 -138
  86. package/dist/components/DatePicker/styles.css +453 -453
  87. package/dist/components/Dialog/Dialog.vue.d.ts.map +1 -1
  88. package/dist/components/Dialog/styles.css +420 -421
  89. package/dist/components/Dialog/types.d.ts +1 -2
  90. package/dist/components/Dialog/types.d.ts.map +1 -1
  91. package/dist/components/Dock/styles.css +84 -84
  92. package/dist/components/Drawer/styles.css +346 -346
  93. package/dist/components/Dropdown/styles.css +135 -135
  94. package/dist/components/Empty/styles.css +146 -146
  95. package/dist/components/FileUpload/styles.css +359 -359
  96. package/dist/components/Form/Form.vue.d.ts.map +1 -1
  97. package/dist/components/Form/styles.css +125 -125
  98. package/dist/components/Gallery/styles.css +100 -100
  99. package/dist/components/Input/styles.css +392 -392
  100. package/dist/components/InputColor/styles.css +139 -139
  101. package/dist/components/InputNumber/styles.css +262 -262
  102. package/dist/components/InputPassword/styles.css +189 -189
  103. package/dist/components/InputTags/styles.css +121 -121
  104. package/dist/components/Layout/styles.css +433 -433
  105. package/dist/components/List/styles.css +229 -229
  106. package/dist/components/Listbox/styles.css +130 -130
  107. package/dist/components/Loading/styles.css +378 -378
  108. package/dist/components/MegaMenu/styles.css +97 -97
  109. package/dist/components/Menu/styles.css +565 -565
  110. package/dist/components/Menubar/styles.css +144 -144
  111. package/dist/components/Message/Message.vue.d.ts.map +1 -1
  112. package/dist/components/Message/index.d.ts +1 -1
  113. package/dist/components/Message/index.d.ts.map +1 -1
  114. package/dist/components/Message/message.d.ts +4 -0
  115. package/dist/components/Message/message.d.ts.map +1 -1
  116. package/dist/components/Message/styles.css +248 -252
  117. package/dist/components/Message/types.d.ts +4 -4
  118. package/dist/components/Message/types.d.ts.map +1 -1
  119. package/dist/components/MeterGroup/styles.css +49 -49
  120. package/dist/components/Page/PageFilters.vue.d.ts.map +1 -1
  121. package/dist/components/Page/PageStat.vue.d.ts +2 -2
  122. package/dist/components/Page/index.d.ts +1 -1
  123. package/dist/components/Page/index.d.ts.map +1 -1
  124. package/dist/components/Page/styles.css +430 -430
  125. package/dist/components/Page/types.d.ts +2 -2
  126. package/dist/components/Page/types.d.ts.map +1 -1
  127. package/dist/components/Pagination/styles.css +124 -124
  128. package/dist/components/Popover/styles.css +92 -92
  129. package/dist/components/ProgressBar/ProgressBar.vue.d.ts.map +1 -1
  130. package/dist/components/ProgressBar/styles.css +1 -1
  131. package/dist/components/ProgressBar/types.d.ts +2 -7
  132. package/dist/components/ProgressBar/types.d.ts.map +1 -1
  133. package/dist/components/Result/styles.css +146 -146
  134. package/dist/components/Scrollbar/styles.css +131 -131
  135. package/dist/components/Select/styles.css +222 -222
  136. package/dist/components/SelectButton/styles.css +107 -107
  137. package/dist/components/Sidebar/styles.css +74 -74
  138. package/dist/components/Slider/styles.css +211 -211
  139. package/dist/components/SplitButton/styles.css +216 -216
  140. package/dist/components/Status/Status.vue.d.ts +2 -2
  141. package/dist/components/Status/Status.vue.d.ts.map +1 -1
  142. package/dist/components/Status/index.d.ts +1 -1
  143. package/dist/components/Status/index.d.ts.map +1 -1
  144. package/dist/components/Status/styles.css +190 -191
  145. package/dist/components/Status/types.d.ts +4 -5
  146. package/dist/components/Status/types.d.ts.map +1 -1
  147. package/dist/components/Stepper/styles.css +152 -152
  148. package/dist/components/Switch/styles.css +129 -129
  149. package/dist/components/Tabs/styles.css +165 -165
  150. package/dist/components/Tag/Tag.vue.d.ts +2 -2
  151. package/dist/components/Tag/index.d.ts +1 -1
  152. package/dist/components/Tag/index.d.ts.map +1 -1
  153. package/dist/components/Tag/styles.css +0 -1
  154. package/dist/components/Tag/types.d.ts +4 -5
  155. package/dist/components/Tag/types.d.ts.map +1 -1
  156. package/dist/components/Terminal/styles.css +75 -75
  157. package/dist/components/Textarea/styles.css +146 -146
  158. package/dist/components/TieredMenu/styles.css +125 -125
  159. package/dist/components/Timeline/Timeline.vue.d.ts.map +1 -1
  160. package/dist/components/Timeline/index.d.ts +1 -1
  161. package/dist/components/Timeline/index.d.ts.map +1 -1
  162. package/dist/components/Timeline/styles.css +157 -159
  163. package/dist/components/Timeline/types.d.ts +3 -3
  164. package/dist/components/Timeline/types.d.ts.map +1 -1
  165. package/dist/components/Toast/Toast.vue.d.ts.map +1 -1
  166. package/dist/components/Toast/index.d.ts +1 -1
  167. package/dist/components/Toast/index.d.ts.map +1 -1
  168. package/dist/components/Toast/styles.css +1 -3
  169. package/dist/components/Toast/toast.d.ts +4 -0
  170. package/dist/components/Toast/toast.d.ts.map +1 -1
  171. package/dist/components/Toast/types.d.ts +5 -5
  172. package/dist/components/Toast/types.d.ts.map +1 -1
  173. package/dist/components/Toast/useNotification.d.ts +3 -2
  174. package/dist/components/Toast/useNotification.d.ts.map +1 -1
  175. package/dist/components/TreeSelect/styles.css +172 -172
  176. package/dist/components/VirtualScroller/styles.css +27 -27
  177. package/dist/{config-CB_TiIvg.js → config-BEpyhJi3.js} +1 -1
  178. package/dist/config-provider/index.js +1 -1
  179. package/dist/config-provider/style.css +2301 -2301
  180. package/dist/confirm-dialog/index.js +54 -57
  181. package/dist/confirm-dialog/style.css +2347 -2348
  182. package/dist/confirm-popup/index.js +5 -5
  183. package/dist/confirm-popup/style.css +1938 -1938
  184. package/dist/context-menu/index.js +5 -5
  185. package/dist/context-menu/style.css +1474 -1474
  186. package/dist/data-view/index.js +3 -3
  187. package/dist/data-view/style.css +1707 -1707
  188. package/dist/date-picker/index.js +1 -1
  189. package/dist/date-picker/style.css +1658 -1658
  190. package/dist/descriptions/index.js +1 -1
  191. package/dist/descriptions/style.css +1205 -1205
  192. package/dist/dialog/index.js +95 -98
  193. package/dist/dialog/style.css +2323 -2324
  194. package/dist/divider/style.css +1205 -1205
  195. package/dist/dock/index.js +2 -2
  196. package/dist/dock/style.css +1289 -1289
  197. package/dist/drawer/index.js +4 -4
  198. package/dist/drawer/style.css +1551 -1551
  199. package/dist/dropdown/index.js +6 -6
  200. package/dist/dropdown/style.css +1471 -1471
  201. package/dist/empty/index.js +1 -1
  202. package/dist/empty/style.css +1351 -1351
  203. package/dist/fieldset/index.js +1 -1
  204. package/dist/fieldset/style.css +1205 -1205
  205. package/dist/file-upload/index.js +2 -2
  206. package/dist/file-upload/style.css +1564 -1564
  207. package/dist/flex/index.js +1 -1
  208. package/dist/flex/style.css +1205 -1205
  209. package/dist/float-label/style.css +1205 -1205
  210. package/dist/fluid/style.css +1205 -1205
  211. package/dist/form/index.js +2 -2
  212. package/dist/form/style.css +1332 -1332
  213. package/dist/gallery/index.js +2 -2
  214. package/dist/gallery/style.css +1436 -1436
  215. package/dist/grid/style.css +1205 -1205
  216. package/dist/icon/index.js +1 -1
  217. package/dist/icon/style.css +1205 -1205
  218. package/dist/{icon-COrt_N8A.js → icon-H8prbteT.js} +1 -1
  219. package/dist/icon-field/style.css +1597 -1597
  220. package/dist/image/index.js +2 -2
  221. package/dist/image/style.css +1205 -1205
  222. package/dist/index.d.ts +11 -11
  223. package/dist/index.d.ts.map +1 -1
  224. package/dist/index.js +3013 -3025
  225. package/dist/inplace/style.css +1205 -1205
  226. package/dist/input/index.js +1 -1
  227. package/dist/input/style.css +1722 -1722
  228. package/dist/input-color/index.js +2 -2
  229. package/dist/input-color/style.css +1346 -1346
  230. package/dist/input-group/style.css +1205 -1205
  231. package/dist/input-number/index.js +3 -3
  232. package/dist/input-number/style.css +1467 -1467
  233. package/dist/input-otp/index.js +2 -2
  234. package/dist/input-otp/style.css +1205 -1205
  235. package/dist/input-password/index.js +4 -4
  236. package/dist/input-password/style.css +1519 -1519
  237. package/dist/input-tags/index.js +3 -3
  238. package/dist/input-tags/style.css +1326 -1326
  239. package/dist/knob/style.css +1205 -1205
  240. package/dist/label/style.css +1205 -1205
  241. package/dist/layout/index.js +2 -2
  242. package/dist/layout/style.css +1769 -1769
  243. package/dist/list/index.js +4 -4
  244. package/dist/list/style.css +2087 -2087
  245. package/dist/listbox/index.js +2 -2
  246. package/dist/listbox/style.css +1497 -1497
  247. package/dist/loading/index.js +1 -1
  248. package/dist/loading/style.css +1585 -1585
  249. package/dist/{locale-CR2PIaxt.js → locale-CZddM-tH.js} +1 -1
  250. package/dist/mega-menu/index.js +5 -5
  251. package/dist/mega-menu/style.css +1302 -1302
  252. package/dist/mentions/index.js +4 -4
  253. package/dist/mentions/style.css +1330 -1330
  254. package/dist/menu/index.js +6 -6
  255. package/dist/menu/style.css +2059 -2059
  256. package/dist/menubar/index.js +5 -5
  257. package/dist/menubar/style.css +1480 -1480
  258. package/dist/message/index.js +116 -117
  259. package/dist/message/style.css +1453 -1457
  260. package/dist/meter-group/style.css +1256 -1256
  261. package/dist/order-list/index.js +2 -2
  262. package/dist/order-list/style.css +1205 -1205
  263. package/dist/page/index.js +8 -7
  264. package/dist/page/style.css +2597 -2597
  265. package/dist/pagination/index.js +1 -1
  266. package/dist/pagination/style.css +1551 -1551
  267. package/dist/panel/index.js +3 -3
  268. package/dist/panel/style.css +1205 -1205
  269. package/dist/pick-list/index.js +2 -2
  270. package/dist/pick-list/style.css +1205 -1205
  271. package/dist/popover/index.js +1 -1
  272. package/dist/popover/style.css +1299 -1299
  273. package/dist/progress-bar/index.js +33 -34
  274. package/dist/progress-bar/style.css +1206 -1206
  275. package/dist/progress-spinner/index.js +1 -1
  276. package/dist/progress-spinner/style.css +1205 -1205
  277. package/dist/qr-code/index.js +4 -4
  278. package/dist/qr-code/style.css +1903 -1903
  279. package/dist/radio/index.js +1 -1
  280. package/dist/radio/style.css +1205 -1205
  281. package/dist/rating/index.js +3 -3
  282. package/dist/rating/style.css +1205 -1205
  283. package/dist/result/index.js +2 -2
  284. package/dist/result/style.css +1351 -1351
  285. package/dist/scroll-top/index.js +3 -3
  286. package/dist/scroll-top/style.css +1336 -1336
  287. package/dist/scrollbar/style.css +1338 -1338
  288. package/dist/segmented/index.js +1 -1
  289. package/dist/segmented/style.css +1205 -1205
  290. package/dist/select/index.js +1 -1
  291. package/dist/select/style.css +2115 -2115
  292. package/dist/select-button/index.js +1 -1
  293. package/dist/select-button/style.css +1314 -1314
  294. package/dist/shared/styles/control-affix-icon.css +110 -110
  295. package/dist/shared/styles/control-suffix.css +118 -118
  296. package/dist/shared/styles/select-overlay.css +177 -177
  297. package/dist/shared/types.d.ts +7 -20
  298. package/dist/shared/types.d.ts.map +1 -1
  299. package/dist/sidebar/index.js +3 -3
  300. package/dist/sidebar/style.css +1279 -1279
  301. package/dist/skeleton/style.css +1205 -1205
  302. package/dist/slider/index.js +2 -2
  303. package/dist/slider/style.css +1418 -1418
  304. package/dist/space/index.js +1 -1
  305. package/dist/space/style.css +1205 -1205
  306. package/dist/speed-dial/index.js +5 -5
  307. package/dist/speed-dial/style.css +1205 -1205
  308. package/dist/split-button/index.js +5 -5
  309. package/dist/split-button/style.css +2119 -2119
  310. package/dist/splitter/index.js +1 -1
  311. package/dist/splitter/style.css +1205 -1205
  312. package/dist/statistic/style.css +1205 -1205
  313. package/dist/status/index.js +30 -31
  314. package/dist/status/style.css +1395 -1396
  315. package/dist/stepper/index.js +1 -1
  316. package/dist/stepper/style.css +1357 -1357
  317. package/dist/styles/base.css +804 -804
  318. package/dist/styles.css +1 -1
  319. package/dist/switch/index.js +1 -1
  320. package/dist/switch/style.css +1336 -1336
  321. package/dist/table/index.js +11 -11
  322. package/dist/table/style.css +1840 -1840
  323. package/dist/tabs/index.js +2 -2
  324. package/dist/tabs/style.css +1501 -1501
  325. package/dist/tag/index.js +52 -52
  326. package/dist/tag/style.css +1205 -1206
  327. package/dist/terminal/index.js +1 -1
  328. package/dist/terminal/style.css +1282 -1282
  329. package/dist/textarea/index.js +1 -1
  330. package/dist/textarea/style.css +1476 -1476
  331. package/dist/theme/styles.css +401 -401
  332. package/dist/tiered-menu/index.js +4 -4
  333. package/dist/tiered-menu/style.css +1461 -1461
  334. package/dist/time-picker/index.js +1 -1
  335. package/dist/time-picker/style.css +1660 -1660
  336. package/dist/timeline/index.js +67 -72
  337. package/dist/timeline/style.css +1493 -1495
  338. package/dist/toast/index.js +135 -136
  339. package/dist/toast/style.css +1904 -1906
  340. package/dist/toggle-button/index.js +3 -3
  341. package/dist/toggle-button/style.css +1205 -1205
  342. package/dist/toolbar/style.css +1205 -1205
  343. package/dist/tooltip/index.js +1 -1
  344. package/dist/tooltip/style.css +1205 -1205
  345. package/dist/tour/index.js +4 -4
  346. package/dist/tour/style.css +1903 -1903
  347. package/dist/tree/index.js +3 -3
  348. package/dist/tree/style.css +1205 -1205
  349. package/dist/tree-select/index.js +5 -5
  350. package/dist/tree-select/style.css +1913 -1913
  351. package/dist/{types-DGuu4Eg4.js → types-DBQfGctj.js} +1 -4
  352. package/dist/typography/index.js +3 -3
  353. package/dist/typography/style.css +1351 -1351
  354. package/dist/{useMotionTransition-D8JOR3ih.js → useMotionTransition-DqL_SEML.js} +1 -1
  355. package/dist/virtual-scroller/style.css +1366 -1366
  356. package/dist/watermark/style.css +1205 -1205
  357. package/package.json +2 -1
@@ -1,453 +1,453 @@
1
- /* --- Form: DatePicker --- */
2
- .m-datepicker,
3
- .m-datepicker__panel {
4
- --m-datepicker-calendar-cell-size: var(--m-control-affix-size, 2rem);
5
- --m-datepicker-day-size: var(--m-datepicker-calendar-cell-size);
6
- --m-datepicker-grid-gap: 0.125rem;
7
- --m-datepicker-panel-min-width: calc(
8
- 7 * var(--m-datepicker-calendar-cell-size) + 6 *
9
- var(--m-datepicker-grid-gap) + 2 * var(--m-space-3)
10
- );
11
- --m-datepicker-shortcuts-width: 6rem;
12
- }
13
-
14
- .m-datepicker {
15
- display: inline-flex;
16
- flex-direction: column;
17
- gap: var(--m-space-2);
18
- position: relative;
19
- }
20
-
21
- .m-datepicker--fluid {
22
- display: flex;
23
- width: 100%;
24
- }
25
-
26
- .m-datepicker__label {
27
- color: var(--m-color-text);
28
- font-family: var(--m-font-sans);
29
- font-size: var(--m-font-size-md);
30
- font-weight: 500;
31
- }
32
-
33
- .m-datepicker__help {
34
- color: var(--m-color-text-muted);
35
- font-size: var(--m-font-size-xs);
36
- margin: 0;
37
- }
38
-
39
- .m-datepicker__help--invalid {
40
- color: var(--m-color-danger);
41
- }
42
-
43
- .m-datepicker__control {
44
- position: relative;
45
- }
46
-
47
- .m-datepicker__control:has(.m-datepicker__input) {
48
- align-items: center;
49
- background: var(--m-color-surface);
50
- border: var(--m-border-width) solid var(--m-color-border);
51
- border-radius: var(--m-radius-control);
52
- box-sizing: border-box;
53
- display: flex;
54
- max-width: 100%;
55
- min-height: var(--m-control-height-medium);
56
- transition:
57
- border-color var(--m-motion-fast) var(--m-motion-ease),
58
- box-shadow var(--m-motion-fast) var(--m-motion-ease);
59
- }
60
-
61
- .m-datepicker__control:has(.m-datepicker__input):hover:not(:focus-within) {
62
- border-color: var(--m-color-primary-hover);
63
- }
64
-
65
- .m-datepicker__control:has(.m-datepicker__input):focus-within,
66
- .m-datepicker--open .m-datepicker__control:has(.m-datepicker__input) {
67
- border-color: var(--m-color-primary);
68
- box-shadow: var(--m-focus-shadow);
69
- }
70
-
71
- .m-datepicker--invalid .m-datepicker__control:has(.m-datepicker__input) {
72
- border-color: var(--m-color-danger);
73
- }
74
-
75
- .m-datepicker--invalid .m-datepicker__control:has(.m-datepicker__input):focus-within,
76
- .m-datepicker--invalid.m-datepicker--open
77
- .m-datepicker__control:has(.m-datepicker__input) {
78
- border-color: var(--m-color-danger);
79
- box-shadow: var(--m-focus-shadow-danger);
80
- }
81
-
82
- .m-datepicker__input {
83
- background: transparent;
84
- border: 0;
85
- border-radius: 0;
86
- box-shadow: none;
87
- color: var(--m-color-text);
88
- cursor: pointer;
89
- flex: 1 1 auto;
90
- font-family: var(--m-font-sans);
91
- font-size: var(--m-control-font-medium);
92
- height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
93
- line-height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
94
- min-height: 0;
95
- min-width: 0;
96
- padding: 0 var(--m-control-padding-x-medium);
97
- width: 100%;
98
- }
99
-
100
- .m-datepicker--small .m-datepicker__control:has(.m-datepicker__input) {
101
- min-height: var(--m-control-height-small);
102
- }
103
-
104
- .m-datepicker--small .m-datepicker__input {
105
- font-size: var(--m-control-font-small);
106
- height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
107
- line-height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
108
- padding: 0 var(--m-control-padding-x-small);
109
- }
110
-
111
- .m-datepicker--large .m-datepicker__control:has(.m-datepicker__input) {
112
- min-height: var(--m-control-height-large);
113
- }
114
-
115
- .m-datepicker--large .m-datepicker__input {
116
- font-size: var(--m-control-font-large);
117
- height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
118
- line-height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
119
- padding: 0 var(--m-control-padding-x-large);
120
- }
121
-
122
- .m-datepicker__input:focus,
123
- .m-datepicker__input:focus-visible {
124
- box-shadow: none;
125
- outline: none;
126
- }
127
-
128
- .m-datepicker--disabled {
129
- background-color: var(--m-color-bg-disabled);
130
- color: var(--m-color-text-disabled);
131
- cursor: not-allowed;
132
- opacity: 1;
133
- pointer-events: none;
134
- }
135
-
136
- .m-datepicker__clear {
137
- align-items: center;
138
- align-self: center;
139
- background: transparent;
140
- border: 0;
141
- border-radius: var(--m-radius-sm);
142
- color: var(--m-color-text-muted);
143
- cursor: pointer;
144
- display: inline-flex;
145
- flex: 0 0 auto;
146
- font: inherit;
147
- height: var(--m-control-affix-size);
148
- justify-content: center;
149
- padding: 0;
150
- width: var(--m-control-affix-size);
151
- }
152
-
153
- .m-datepicker__clear:hover:not(:disabled) {
154
- color: var(--m-color-text);
155
- }
156
-
157
- .m-datepicker__clear:focus-visible {
158
- box-shadow: var(--m-focus-shadow);
159
- outline: none;
160
- }
161
-
162
- .m-datepicker__panel {
163
- background: var(--m-color-surface);
164
- border: var(--m-border-width) solid var(--m-color-border);
165
- border-radius: var(--m-radius-md);
166
- box-shadow: var(--m-shadow-md);
167
- margin-top: var(--m-space-1);
168
- min-width: max(100%, var(--m-datepicker-panel-min-width));
169
- padding: var(--m-space-3);
170
- position: absolute;
171
- top: 100%;
172
- width: max-content;
173
- z-index: var(--m-z-popper);
174
- }
175
-
176
- .m-datepicker__panel--teleported {
177
- margin-top: 0;
178
- min-width: var(--m-datepicker-panel-min-width);
179
- position: fixed;
180
- top: auto;
181
- z-index: var(--m-z-dropdown);
182
- }
183
-
184
- .m-datepicker__calendar {
185
- flex: 0 0 auto;
186
- }
187
-
188
- .m-datepicker__header {
189
- align-items: center;
190
- display: flex;
191
- justify-content: space-between;
192
- margin-bottom: var(--m-space-2);
193
- }
194
-
195
- .m-datepicker__month {
196
- font-weight: 500;
197
- }
198
-
199
- .m-datepicker__nav {
200
- align-items: center;
201
- background: transparent;
202
- border: 0;
203
- border-radius: var(--m-radius-sm);
204
- color: var(--m-color-text);
205
- cursor: pointer;
206
- display: inline-flex;
207
- font: inherit;
208
- justify-content: center;
209
- line-height: 1;
210
- padding: var(--m-space-1) var(--m-space-2);
211
- }
212
-
213
- .m-datepicker__nav:hover {
214
- background: color-mix(
215
- in srgb,
216
- var(--m-color-primary) 10%,
217
- var(--m-color-surface)
218
- );
219
- }
220
-
221
- .m-datepicker__nav:focus-visible {
222
- box-shadow: var(--m-focus-shadow);
223
- outline: none;
224
- }
225
-
226
- .m-datepicker__weekdays,
227
- .m-datepicker__grid {
228
- display: grid;
229
- gap: var(--m-datepicker-grid-gap);
230
- grid-template-columns: repeat(
231
- 7,
232
- var(--m-datepicker-calendar-cell-size, var(--m-control-affix-size, 2rem))
233
- );
234
- place-items: center;
235
- }
236
-
237
- .m-datepicker__weekdays {
238
- color: var(--m-color-text-muted);
239
- font-size: var(--m-font-size-xs);
240
- margin-bottom: var(--m-space-1);
241
- text-align: center;
242
- }
243
-
244
- .m-datepicker__day {
245
- background: transparent;
246
- border: 0;
247
- border-radius: var(--m-radius-sm);
248
- color: var(--m-color-text);
249
- cursor: pointer;
250
- font-family: var(--m-font-sans);
251
- height: var(--m-datepicker-day-size);
252
- transition: background-color var(--m-motion-fast) var(--m-motion-ease),
253
- color var(--m-motion-fast) var(--m-motion-ease);
254
- width: var(--m-datepicker-day-size);
255
- }
256
-
257
- .m-datepicker__day--other {
258
- color: var(--m-color-text-muted);
259
- opacity: var(--m-opacity-disabled);
260
- }
261
-
262
- .m-datepicker__day--selected {
263
- background: var(--m-color-primary);
264
- color: var(--m-color-on-emphasis);
265
- }
266
-
267
- .m-datepicker__day:hover:not(:disabled):not(.m-datepicker__day--selected) {
268
- background: color-mix(
269
- in srgb,
270
- var(--m-color-primary) 12%,
271
- var(--m-color-surface)
272
- );
273
- }
274
-
275
- .m-datepicker__day:disabled {
276
- color: var(--m-color-text-disabled);
277
- cursor: not-allowed;
278
- opacity: 1;
279
- }
280
-
281
- .m-datepicker__day:focus-visible {
282
- box-shadow: var(--m-focus-shadow);
283
- outline: none;
284
- }
285
-
286
- .m-datepicker__panel--with-shortcuts {
287
- display: flex;
288
- gap: var(--m-space-3);
289
- }
290
-
291
- .m-datepicker__shortcuts {
292
- display: grid;
293
- gap: var(--m-space-1);
294
- min-width: var(--m-datepicker-shortcuts-width);
295
- }
296
-
297
- .m-datepicker__shortcut {
298
- background: transparent;
299
- border: 0;
300
- border-radius: var(--m-radius-sm);
301
- color: var(--m-color-text);
302
- cursor: pointer;
303
- font-family: var(--m-font-sans);
304
- padding: var(--m-space-1) var(--m-space-2);
305
- text-align: left;
306
- transition: background-color var(--m-motion-fast) var(--m-motion-ease),
307
- color var(--m-motion-fast) var(--m-motion-ease);
308
- }
309
-
310
- .m-datepicker__shortcut:hover {
311
- background: color-mix(
312
- in srgb,
313
- var(--m-color-primary) 10%,
314
- var(--m-color-surface)
315
- );
316
- color: var(--m-color-primary);
317
- }
318
-
319
- .m-datepicker__shortcut:focus-visible {
320
- box-shadow: var(--m-focus-shadow);
321
- outline: none;
322
- }
323
-
324
- .m-datepicker__day--in-range {
325
- background: color-mix(
326
- in srgb,
327
- var(--m-color-primary) 16%,
328
- var(--m-color-surface)
329
- );
330
- border-radius: 0;
331
- }
332
-
333
- .m-datepicker__day--range-start {
334
- border-radius: var(--m-radius-sm) 0 0 var(--m-radius-sm);
335
- }
336
-
337
- .m-datepicker__day--range-end {
338
- border-radius: 0 var(--m-radius-sm) var(--m-radius-sm) 0;
339
- }
340
-
341
- .m-datepicker__body {
342
- display: flex;
343
- flex-direction: column;
344
- gap: var(--m-space-3);
345
- }
346
-
347
- .m-datepicker__panel--with-time .m-datepicker__body {
348
- flex-direction: row;
349
- align-items: stretch;
350
- }
351
-
352
- .m-datepicker__month-grid,
353
- .m-datepicker__year-grid {
354
- display: grid;
355
- gap: var(--m-datepicker-grid-gap);
356
- grid-template-columns: repeat(3, minmax(4.5rem, 1fr));
357
- place-items: stretch;
358
- }
359
-
360
- .m-datepicker__cell {
361
- background: transparent;
362
- border: 0;
363
- border-radius: var(--m-radius-sm);
364
- color: var(--m-color-text);
365
- cursor: pointer;
366
- font-family: var(--m-font-sans);
367
- min-height: var(--m-datepicker-day-size);
368
- padding: var(--m-space-2) var(--m-space-1);
369
- transition:
370
- background-color var(--m-motion-fast) var(--m-motion-ease),
371
- color var(--m-motion-fast) var(--m-motion-ease);
372
- }
373
-
374
- .m-datepicker__cell--selected {
375
- background: var(--m-color-primary);
376
- color: var(--m-color-on-emphasis);
377
- }
378
-
379
- .m-datepicker__cell:hover:not(.m-datepicker__cell--selected) {
380
- background: color-mix(
381
- in srgb,
382
- var(--m-color-primary) 12%,
383
- var(--m-color-surface)
384
- );
385
- }
386
-
387
- .m-datepicker__cell:focus-visible {
388
- box-shadow: var(--m-focus-shadow);
389
- outline: none;
390
- }
391
-
392
- .m-datepicker__time {
393
- display: flex;
394
- gap: var(--m-space-1);
395
- max-height: calc(
396
- 6 * var(--m-datepicker-day-size) + 5 * var(--m-datepicker-grid-gap) +
397
- 2.5rem
398
- );
399
- min-width: 0;
400
- }
401
-
402
- .m-datepicker__time-col {
403
- display: flex;
404
- flex-direction: column;
405
- gap: 0.125rem;
406
- max-height: 100%;
407
- min-width: 2.5rem;
408
- overflow-y: auto;
409
- overscroll-behavior: contain;
410
- }
411
-
412
- .m-datepicker__time-item {
413
- background: transparent;
414
- border: 0;
415
- border-radius: var(--m-radius-sm);
416
- color: var(--m-color-text);
417
- cursor: pointer;
418
- flex: 0 0 auto;
419
- font-family: var(--m-font-sans);
420
- font-variant-numeric: tabular-nums;
421
- height: var(--m-datepicker-day-size);
422
- line-height: var(--m-datepicker-day-size);
423
- padding: 0;
424
- text-align: center;
425
- width: 100%;
426
- }
427
-
428
- .m-datepicker__time-item--selected {
429
- background: var(--m-color-primary);
430
- color: var(--m-color-on-emphasis);
431
- }
432
-
433
- .m-datepicker__time-item:hover:not(.m-datepicker__time-item--selected) {
434
- background: color-mix(
435
- in srgb,
436
- var(--m-color-primary) 12%,
437
- var(--m-color-surface)
438
- );
439
- }
440
-
441
- .m-datepicker__time-item:focus-visible {
442
- box-shadow: var(--m-focus-shadow);
443
- outline: none;
444
- }
445
-
446
- /* Time-only panel: stack columns without calendar */
447
- .m-datepicker__panel--time-only .m-datepicker__body {
448
- flex-direction: row;
449
- }
450
-
451
- .m-datepicker__panel--time-only .m-datepicker__time {
452
- max-height: 14rem;
453
- }
1
+ /* --- Form: DatePicker --- */
2
+ .m-datepicker,
3
+ .m-datepicker__panel {
4
+ --m-datepicker-calendar-cell-size: var(--m-control-affix-size, 2rem);
5
+ --m-datepicker-day-size: var(--m-datepicker-calendar-cell-size);
6
+ --m-datepicker-grid-gap: 0.125rem;
7
+ --m-datepicker-panel-min-width: calc(
8
+ 7 * var(--m-datepicker-calendar-cell-size) + 6 *
9
+ var(--m-datepicker-grid-gap) + 2 * var(--m-space-3)
10
+ );
11
+ --m-datepicker-shortcuts-width: 6rem;
12
+ }
13
+
14
+ .m-datepicker {
15
+ display: inline-flex;
16
+ flex-direction: column;
17
+ gap: var(--m-space-2);
18
+ position: relative;
19
+ }
20
+
21
+ .m-datepicker--fluid {
22
+ display: flex;
23
+ width: 100%;
24
+ }
25
+
26
+ .m-datepicker__label {
27
+ color: var(--m-color-text);
28
+ font-family: var(--m-font-sans);
29
+ font-size: var(--m-font-size-md);
30
+ font-weight: 500;
31
+ }
32
+
33
+ .m-datepicker__help {
34
+ color: var(--m-color-text-muted);
35
+ font-size: var(--m-font-size-xs);
36
+ margin: 0;
37
+ }
38
+
39
+ .m-datepicker__help--invalid {
40
+ color: var(--m-color-danger);
41
+ }
42
+
43
+ .m-datepicker__control {
44
+ position: relative;
45
+ }
46
+
47
+ .m-datepicker__control:has(.m-datepicker__input) {
48
+ align-items: center;
49
+ background: var(--m-color-surface);
50
+ border: var(--m-border-width) solid var(--m-color-border);
51
+ border-radius: var(--m-radius-control);
52
+ box-sizing: border-box;
53
+ display: flex;
54
+ max-width: 100%;
55
+ min-height: var(--m-control-height-medium);
56
+ transition:
57
+ border-color var(--m-motion-fast) var(--m-motion-ease),
58
+ box-shadow var(--m-motion-fast) var(--m-motion-ease);
59
+ }
60
+
61
+ .m-datepicker__control:has(.m-datepicker__input):hover:not(:focus-within) {
62
+ border-color: var(--m-color-primary-hover);
63
+ }
64
+
65
+ .m-datepicker__control:has(.m-datepicker__input):focus-within,
66
+ .m-datepicker--open .m-datepicker__control:has(.m-datepicker__input) {
67
+ border-color: var(--m-color-primary);
68
+ box-shadow: var(--m-focus-shadow);
69
+ }
70
+
71
+ .m-datepicker--invalid .m-datepicker__control:has(.m-datepicker__input) {
72
+ border-color: var(--m-color-danger);
73
+ }
74
+
75
+ .m-datepicker--invalid .m-datepicker__control:has(.m-datepicker__input):focus-within,
76
+ .m-datepicker--invalid.m-datepicker--open
77
+ .m-datepicker__control:has(.m-datepicker__input) {
78
+ border-color: var(--m-color-danger);
79
+ box-shadow: var(--m-focus-shadow-danger);
80
+ }
81
+
82
+ .m-datepicker__input {
83
+ background: transparent;
84
+ border: 0;
85
+ border-radius: 0;
86
+ box-shadow: none;
87
+ color: var(--m-color-text);
88
+ cursor: pointer;
89
+ flex: 1 1 auto;
90
+ font-family: var(--m-font-sans);
91
+ font-size: var(--m-control-font-medium);
92
+ height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
93
+ line-height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
94
+ min-height: 0;
95
+ min-width: 0;
96
+ padding: 0 var(--m-control-padding-x-medium);
97
+ width: 100%;
98
+ }
99
+
100
+ .m-datepicker--small .m-datepicker__control:has(.m-datepicker__input) {
101
+ min-height: var(--m-control-height-small);
102
+ }
103
+
104
+ .m-datepicker--small .m-datepicker__input {
105
+ font-size: var(--m-control-font-small);
106
+ height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
107
+ line-height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
108
+ padding: 0 var(--m-control-padding-x-small);
109
+ }
110
+
111
+ .m-datepicker--large .m-datepicker__control:has(.m-datepicker__input) {
112
+ min-height: var(--m-control-height-large);
113
+ }
114
+
115
+ .m-datepicker--large .m-datepicker__input {
116
+ font-size: var(--m-control-font-large);
117
+ height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
118
+ line-height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
119
+ padding: 0 var(--m-control-padding-x-large);
120
+ }
121
+
122
+ .m-datepicker__input:focus,
123
+ .m-datepicker__input:focus-visible {
124
+ box-shadow: none;
125
+ outline: none;
126
+ }
127
+
128
+ .m-datepicker--disabled {
129
+ background-color: var(--m-color-bg-disabled);
130
+ color: var(--m-color-text-disabled);
131
+ cursor: not-allowed;
132
+ opacity: 1;
133
+ pointer-events: none;
134
+ }
135
+
136
+ .m-datepicker__clear {
137
+ align-items: center;
138
+ align-self: center;
139
+ background: transparent;
140
+ border: 0;
141
+ border-radius: var(--m-radius-sm);
142
+ color: var(--m-color-text-muted);
143
+ cursor: pointer;
144
+ display: inline-flex;
145
+ flex: 0 0 auto;
146
+ font: inherit;
147
+ height: var(--m-control-affix-size);
148
+ justify-content: center;
149
+ padding: 0;
150
+ width: var(--m-control-affix-size);
151
+ }
152
+
153
+ .m-datepicker__clear:hover:not(:disabled) {
154
+ color: var(--m-color-text);
155
+ }
156
+
157
+ .m-datepicker__clear:focus-visible {
158
+ box-shadow: var(--m-focus-shadow);
159
+ outline: none;
160
+ }
161
+
162
+ .m-datepicker__panel {
163
+ background: var(--m-color-surface);
164
+ border: var(--m-border-width) solid var(--m-color-border);
165
+ border-radius: var(--m-radius-md);
166
+ box-shadow: var(--m-shadow-md);
167
+ margin-top: var(--m-space-1);
168
+ min-width: max(100%, var(--m-datepicker-panel-min-width));
169
+ padding: var(--m-space-3);
170
+ position: absolute;
171
+ top: 100%;
172
+ width: max-content;
173
+ z-index: var(--m-z-popper);
174
+ }
175
+
176
+ .m-datepicker__panel--teleported {
177
+ margin-top: 0;
178
+ min-width: var(--m-datepicker-panel-min-width);
179
+ position: fixed;
180
+ top: auto;
181
+ z-index: var(--m-z-dropdown);
182
+ }
183
+
184
+ .m-datepicker__calendar {
185
+ flex: 0 0 auto;
186
+ }
187
+
188
+ .m-datepicker__header {
189
+ align-items: center;
190
+ display: flex;
191
+ justify-content: space-between;
192
+ margin-bottom: var(--m-space-2);
193
+ }
194
+
195
+ .m-datepicker__month {
196
+ font-weight: 500;
197
+ }
198
+
199
+ .m-datepicker__nav {
200
+ align-items: center;
201
+ background: transparent;
202
+ border: 0;
203
+ border-radius: var(--m-radius-sm);
204
+ color: var(--m-color-text);
205
+ cursor: pointer;
206
+ display: inline-flex;
207
+ font: inherit;
208
+ justify-content: center;
209
+ line-height: 1;
210
+ padding: var(--m-space-1) var(--m-space-2);
211
+ }
212
+
213
+ .m-datepicker__nav:hover {
214
+ background: color-mix(
215
+ in srgb,
216
+ var(--m-color-primary) 10%,
217
+ var(--m-color-surface)
218
+ );
219
+ }
220
+
221
+ .m-datepicker__nav:focus-visible {
222
+ box-shadow: var(--m-focus-shadow);
223
+ outline: none;
224
+ }
225
+
226
+ .m-datepicker__weekdays,
227
+ .m-datepicker__grid {
228
+ display: grid;
229
+ gap: var(--m-datepicker-grid-gap);
230
+ grid-template-columns: repeat(
231
+ 7,
232
+ var(--m-datepicker-calendar-cell-size, var(--m-control-affix-size, 2rem))
233
+ );
234
+ place-items: center;
235
+ }
236
+
237
+ .m-datepicker__weekdays {
238
+ color: var(--m-color-text-muted);
239
+ font-size: var(--m-font-size-xs);
240
+ margin-bottom: var(--m-space-1);
241
+ text-align: center;
242
+ }
243
+
244
+ .m-datepicker__day {
245
+ background: transparent;
246
+ border: 0;
247
+ border-radius: var(--m-radius-sm);
248
+ color: var(--m-color-text);
249
+ cursor: pointer;
250
+ font-family: var(--m-font-sans);
251
+ height: var(--m-datepicker-day-size);
252
+ transition: background-color var(--m-motion-fast) var(--m-motion-ease),
253
+ color var(--m-motion-fast) var(--m-motion-ease);
254
+ width: var(--m-datepicker-day-size);
255
+ }
256
+
257
+ .m-datepicker__day--other {
258
+ color: var(--m-color-text-muted);
259
+ opacity: var(--m-opacity-disabled);
260
+ }
261
+
262
+ .m-datepicker__day--selected {
263
+ background: var(--m-color-primary);
264
+ color: var(--m-color-on-emphasis);
265
+ }
266
+
267
+ .m-datepicker__day:hover:not(:disabled):not(.m-datepicker__day--selected) {
268
+ background: color-mix(
269
+ in srgb,
270
+ var(--m-color-primary) 12%,
271
+ var(--m-color-surface)
272
+ );
273
+ }
274
+
275
+ .m-datepicker__day:disabled {
276
+ color: var(--m-color-text-disabled);
277
+ cursor: not-allowed;
278
+ opacity: 1;
279
+ }
280
+
281
+ .m-datepicker__day:focus-visible {
282
+ box-shadow: var(--m-focus-shadow);
283
+ outline: none;
284
+ }
285
+
286
+ .m-datepicker__panel--with-shortcuts {
287
+ display: flex;
288
+ gap: var(--m-space-3);
289
+ }
290
+
291
+ .m-datepicker__shortcuts {
292
+ display: grid;
293
+ gap: var(--m-space-1);
294
+ min-width: var(--m-datepicker-shortcuts-width);
295
+ }
296
+
297
+ .m-datepicker__shortcut {
298
+ background: transparent;
299
+ border: 0;
300
+ border-radius: var(--m-radius-sm);
301
+ color: var(--m-color-text);
302
+ cursor: pointer;
303
+ font-family: var(--m-font-sans);
304
+ padding: var(--m-space-1) var(--m-space-2);
305
+ text-align: left;
306
+ transition: background-color var(--m-motion-fast) var(--m-motion-ease),
307
+ color var(--m-motion-fast) var(--m-motion-ease);
308
+ }
309
+
310
+ .m-datepicker__shortcut:hover {
311
+ background: color-mix(
312
+ in srgb,
313
+ var(--m-color-primary) 10%,
314
+ var(--m-color-surface)
315
+ );
316
+ color: var(--m-color-primary);
317
+ }
318
+
319
+ .m-datepicker__shortcut:focus-visible {
320
+ box-shadow: var(--m-focus-shadow);
321
+ outline: none;
322
+ }
323
+
324
+ .m-datepicker__day--in-range {
325
+ background: color-mix(
326
+ in srgb,
327
+ var(--m-color-primary) 16%,
328
+ var(--m-color-surface)
329
+ );
330
+ border-radius: 0;
331
+ }
332
+
333
+ .m-datepicker__day--range-start {
334
+ border-radius: var(--m-radius-sm) 0 0 var(--m-radius-sm);
335
+ }
336
+
337
+ .m-datepicker__day--range-end {
338
+ border-radius: 0 var(--m-radius-sm) var(--m-radius-sm) 0;
339
+ }
340
+
341
+ .m-datepicker__body {
342
+ display: flex;
343
+ flex-direction: column;
344
+ gap: var(--m-space-3);
345
+ }
346
+
347
+ .m-datepicker__panel--with-time .m-datepicker__body {
348
+ flex-direction: row;
349
+ align-items: stretch;
350
+ }
351
+
352
+ .m-datepicker__month-grid,
353
+ .m-datepicker__year-grid {
354
+ display: grid;
355
+ gap: var(--m-datepicker-grid-gap);
356
+ grid-template-columns: repeat(3, minmax(4.5rem, 1fr));
357
+ place-items: stretch;
358
+ }
359
+
360
+ .m-datepicker__cell {
361
+ background: transparent;
362
+ border: 0;
363
+ border-radius: var(--m-radius-sm);
364
+ color: var(--m-color-text);
365
+ cursor: pointer;
366
+ font-family: var(--m-font-sans);
367
+ min-height: var(--m-datepicker-day-size);
368
+ padding: var(--m-space-2) var(--m-space-1);
369
+ transition:
370
+ background-color var(--m-motion-fast) var(--m-motion-ease),
371
+ color var(--m-motion-fast) var(--m-motion-ease);
372
+ }
373
+
374
+ .m-datepicker__cell--selected {
375
+ background: var(--m-color-primary);
376
+ color: var(--m-color-on-emphasis);
377
+ }
378
+
379
+ .m-datepicker__cell:hover:not(.m-datepicker__cell--selected) {
380
+ background: color-mix(
381
+ in srgb,
382
+ var(--m-color-primary) 12%,
383
+ var(--m-color-surface)
384
+ );
385
+ }
386
+
387
+ .m-datepicker__cell:focus-visible {
388
+ box-shadow: var(--m-focus-shadow);
389
+ outline: none;
390
+ }
391
+
392
+ .m-datepicker__time {
393
+ display: flex;
394
+ gap: var(--m-space-1);
395
+ max-height: calc(
396
+ 6 * var(--m-datepicker-day-size) + 5 * var(--m-datepicker-grid-gap) +
397
+ 2.5rem
398
+ );
399
+ min-width: 0;
400
+ }
401
+
402
+ .m-datepicker__time-col {
403
+ display: flex;
404
+ flex-direction: column;
405
+ gap: 0.125rem;
406
+ max-height: 100%;
407
+ min-width: 2.5rem;
408
+ overflow-y: auto;
409
+ overscroll-behavior: contain;
410
+ }
411
+
412
+ .m-datepicker__time-item {
413
+ background: transparent;
414
+ border: 0;
415
+ border-radius: var(--m-radius-sm);
416
+ color: var(--m-color-text);
417
+ cursor: pointer;
418
+ flex: 0 0 auto;
419
+ font-family: var(--m-font-sans);
420
+ font-variant-numeric: tabular-nums;
421
+ height: var(--m-datepicker-day-size);
422
+ line-height: var(--m-datepicker-day-size);
423
+ padding: 0;
424
+ text-align: center;
425
+ width: 100%;
426
+ }
427
+
428
+ .m-datepicker__time-item--selected {
429
+ background: var(--m-color-primary);
430
+ color: var(--m-color-on-emphasis);
431
+ }
432
+
433
+ .m-datepicker__time-item:hover:not(.m-datepicker__time-item--selected) {
434
+ background: color-mix(
435
+ in srgb,
436
+ var(--m-color-primary) 12%,
437
+ var(--m-color-surface)
438
+ );
439
+ }
440
+
441
+ .m-datepicker__time-item:focus-visible {
442
+ box-shadow: var(--m-focus-shadow);
443
+ outline: none;
444
+ }
445
+
446
+ /* Time-only panel: stack columns without calendar */
447
+ .m-datepicker__panel--time-only .m-datepicker__body {
448
+ flex-direction: row;
449
+ }
450
+
451
+ .m-datepicker__panel--time-only .m-datepicker__time {
452
+ max-height: 14rem;
453
+ }