morya-ui 0.3.0 → 0.3.2

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 (309) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/dist/Button-dMqRmoYa.js +222 -0
  3. package/dist/{Card-Dsmnzong.js → Card-B1CB9Trm.js} +3 -5
  4. package/dist/Empty-C5tndBOm.js +147 -0
  5. package/dist/Icon-od9Ob-Ay.js +393 -0
  6. package/dist/Loading-BSsRs6v9.js +420 -0
  7. package/dist/Pagination-CqpC5EAs.js +166 -0
  8. package/dist/Select-CKGrSoaC.js +572 -0
  9. package/dist/Skeleton-DCYdXAH2.js +59 -0
  10. package/dist/accordion/style.css +20 -71
  11. package/dist/auto-complete/index.js +118 -120
  12. package/dist/auto-complete/style.css +24 -88
  13. package/dist/avatar/index.js +1 -1
  14. package/dist/avatar/style.css +10 -67
  15. package/dist/badge/style.css +10 -68
  16. package/dist/block-ui/style.css +10 -68
  17. package/dist/breadcrumb/style.css +10 -61
  18. package/dist/button/index.js +1 -1
  19. package/dist/button/style.css +72 -78
  20. package/dist/card/index.js +1 -1
  21. package/dist/card/style.css +30 -67
  22. package/dist/carousel/index.js +72 -64
  23. package/dist/carousel/style.css +36 -82
  24. package/dist/cascade-select/index.js +1 -1
  25. package/dist/cascade-select/style.css +24 -81
  26. package/dist/checkbox/style.css +10 -61
  27. package/dist/chip/index.js +1 -1
  28. package/dist/chip/style.css +10 -67
  29. package/dist/command-menu/index.js +37 -39
  30. package/dist/command-menu/style.css +10 -75
  31. package/dist/components/Accordion/styles.css +10 -10
  32. package/dist/components/AutoComplete/AutoComplete.vue.d.ts.map +1 -1
  33. package/dist/components/AutoComplete/styles.css +0 -7
  34. package/dist/components/Badge/styles.css +0 -7
  35. package/dist/components/BlockUI/styles.css +0 -7
  36. package/dist/components/Button/Button.vue.d.ts +2 -0
  37. package/dist/components/Button/Button.vue.d.ts.map +1 -1
  38. package/dist/components/Button/styles.css +62 -11
  39. package/dist/components/Button/types.d.ts +4 -0
  40. package/dist/components/Button/types.d.ts.map +1 -1
  41. package/dist/components/Card/Card.vue.d.ts +2 -2
  42. package/dist/components/Card/Card.vue.d.ts.map +1 -1
  43. package/dist/components/Card/index.d.ts +1 -1
  44. package/dist/components/Card/index.d.ts.map +1 -1
  45. package/dist/components/Card/styles.css +20 -6
  46. package/dist/components/Card/types.d.ts +4 -2
  47. package/dist/components/Card/types.d.ts.map +1 -1
  48. package/dist/components/Carousel/Carousel.vue.d.ts.map +1 -1
  49. package/dist/components/Carousel/styles.css +26 -15
  50. package/dist/components/CommandMenu/CommandMenu.vue.d.ts.map +1 -1
  51. package/dist/components/ConfigProvider/ConfigProvider.vue.d.ts +2 -2
  52. package/dist/components/DataView/DataView.vue.d.ts +7 -7
  53. package/dist/components/DataView/DataView.vue.d.ts.map +1 -1
  54. package/dist/components/DataView/styles.css +0 -20
  55. package/dist/components/Dialog/styles.css +3 -46
  56. package/dist/components/Dock/styles.css +0 -10
  57. package/dist/components/Drawer/styles.css +2 -51
  58. package/dist/components/Dropdown/Dropdown.vue.d.ts +2 -2
  59. package/dist/components/Dropdown/Dropdown.vue.d.ts.map +1 -1
  60. package/dist/components/Dropdown/DropdownNodes.vue.d.ts +8 -9
  61. package/dist/components/Dropdown/DropdownNodes.vue.d.ts.map +1 -1
  62. package/dist/components/Dropdown/styles.css +24 -5
  63. package/dist/components/Fieldset/styles.css +0 -7
  64. package/dist/components/FileUpload/FileUpload.vue.d.ts.map +1 -1
  65. package/dist/components/FileUpload/fileUtils.d.ts +8 -0
  66. package/dist/components/FileUpload/fileUtils.d.ts.map +1 -0
  67. package/dist/components/Gallery/styles.css +0 -8
  68. package/dist/components/Icon/Icon.vue.d.ts.map +1 -1
  69. package/dist/components/Icon/icon-categories.d.ts.map +1 -1
  70. package/dist/components/Icon/icons-types.d.ts +4 -2
  71. package/dist/components/Icon/icons-types.d.ts.map +1 -1
  72. package/dist/components/Icon/icons.d.ts +250 -561
  73. package/dist/components/Icon/icons.d.ts.map +1 -1
  74. package/dist/components/Icon/index.d.ts +2 -2
  75. package/dist/components/Icon/index.d.ts.map +1 -1
  76. package/dist/components/Icon/styles.css +0 -6
  77. package/dist/components/Knob/styles.css +0 -6
  78. package/dist/components/Layout/styles.css +5 -14
  79. package/dist/components/Listbox/Listbox.vue.d.ts.map +1 -1
  80. package/dist/components/Loading/styles.css +0 -16
  81. package/dist/components/Menu/Menu.vue.d.ts.map +1 -1
  82. package/dist/components/Menu/styles.css +6 -7
  83. package/dist/components/Menubar/Menubar.vue.d.ts.map +1 -1
  84. package/dist/components/Menubar/styles.css +4 -0
  85. package/dist/components/Message/styles.css +0 -13
  86. package/dist/components/Page/PageContent.vue.d.ts +2 -1
  87. package/dist/components/Page/PageContent.vue.d.ts.map +1 -1
  88. package/dist/components/Page/PageFilterChips.vue.d.ts +16 -0
  89. package/dist/components/Page/PageFilterChips.vue.d.ts.map +1 -0
  90. package/dist/components/Page/PageFilters.vue.d.ts +15 -3
  91. package/dist/components/Page/PageFilters.vue.d.ts.map +1 -1
  92. package/dist/components/Page/PageHeader.vue.d.ts +8 -4
  93. package/dist/components/Page/PageHeader.vue.d.ts.map +1 -1
  94. package/dist/components/Page/PagePlaceholder.vue.d.ts +6 -2
  95. package/dist/components/Page/PagePlaceholder.vue.d.ts.map +1 -1
  96. package/dist/components/Page/PageSection.vue.d.ts +8 -2
  97. package/dist/components/Page/PageSection.vue.d.ts.map +1 -1
  98. package/dist/components/Page/PageStat.vue.d.ts +8 -3
  99. package/dist/components/Page/PageStat.vue.d.ts.map +1 -1
  100. package/dist/components/Page/index.d.ts +2 -1
  101. package/dist/components/Page/index.d.ts.map +1 -1
  102. package/dist/components/Page/styles.css +239 -44
  103. package/dist/components/Page/types.d.ts +40 -0
  104. package/dist/components/Page/types.d.ts.map +1 -1
  105. package/dist/components/Pagination/Pagination.vue.d.ts.map +1 -1
  106. package/dist/components/Pagination/styles.css +7 -10
  107. package/dist/components/Pagination/types.d.ts +1 -1
  108. package/dist/components/Pagination/types.d.ts.map +1 -1
  109. package/dist/components/Panel/styles.css +0 -7
  110. package/dist/components/Popover/styles.css +20 -17
  111. package/dist/components/ProgressBar/styles.css +0 -9
  112. package/dist/components/ProgressSpinner/styles.css +0 -7
  113. package/dist/components/ScrollTop/styles.css +0 -7
  114. package/dist/components/Scrollbar/Scrollbar.vue.d.ts +1 -1
  115. package/dist/components/Scrollbar/styles.css +0 -8
  116. package/dist/components/Select/Select.vue.d.ts +10 -8
  117. package/dist/components/Select/Select.vue.d.ts.map +1 -1
  118. package/dist/components/Select/selectOptions.d.ts +46 -0
  119. package/dist/components/Select/selectOptions.d.ts.map +1 -0
  120. package/dist/components/Select/styles.css +35 -8
  121. package/dist/components/Select/types.d.ts +11 -1
  122. package/dist/components/Select/types.d.ts.map +1 -1
  123. package/dist/components/Sidebar/styles.css +0 -6
  124. package/dist/components/Skeleton/styles.css +0 -6
  125. package/dist/components/Slider/styles.css +9 -0
  126. package/dist/components/SplitButton/styles.css +5 -0
  127. package/dist/components/Status/styles.css +0 -7
  128. package/dist/components/Switch/styles.css +0 -7
  129. package/dist/components/Table/Table.vue.d.ts +26 -26
  130. package/dist/components/Table/Table.vue.d.ts.map +1 -1
  131. package/dist/components/Table/TableLoadingLine.vue.d.ts.map +1 -1
  132. package/dist/components/Table/hooks/useExpandableRow.d.ts.map +1 -1
  133. package/dist/components/Table/hooks/useTotalItems.d.ts.map +1 -1
  134. package/dist/components/Table/styles.css +61 -44
  135. package/dist/components/Table/tableQuery.d.ts +30 -0
  136. package/dist/components/Table/tableQuery.d.ts.map +1 -0
  137. package/dist/components/Tree/Tree.vue.d.ts.map +1 -1
  138. package/dist/components/Tree/treeQuery.d.ts +31 -0
  139. package/dist/components/Tree/treeQuery.d.ts.map +1 -0
  140. package/dist/components/TreeSelect/TreeSelect.vue.d.ts.map +1 -1
  141. package/dist/components/TreeSelect/styles.css +1 -1
  142. package/dist/config-provider/index.js +1 -1
  143. package/dist/config-provider/style.css +72 -72
  144. package/dist/confirm-dialog/index.js +2 -2
  145. package/dist/confirm-dialog/style.css +75 -124
  146. package/dist/confirm-popup/index.js +2 -2
  147. package/dist/confirm-popup/style.css +72 -78
  148. package/dist/context-menu/index.js +2 -2
  149. package/dist/context-menu/style.css +10 -75
  150. package/dist/data-view/index.js +47 -47
  151. package/dist/data-view/style.css +393 -174
  152. package/dist/data-view/style.js +1 -1
  153. package/dist/date-picker/index.js +1 -1
  154. package/dist/date-picker/style.css +10 -67
  155. package/dist/dialog/index.js +2 -2
  156. package/dist/dialog/style.css +75 -124
  157. package/dist/divider/style.css +10 -61
  158. package/dist/dock/index.js +2 -2
  159. package/dist/dock/style.css +10 -77
  160. package/dist/drawer/index.js +1 -1
  161. package/dist/drawer/style.css +12 -118
  162. package/dist/dropdown/index.js +110 -91
  163. package/dist/dropdown/style.css +34 -80
  164. package/dist/empty/index.js +5 -150
  165. package/dist/empty/style.css +10 -67
  166. package/dist/fieldset/index.js +1 -1
  167. package/dist/fieldset/style.css +10 -74
  168. package/dist/file-upload/index.js +148 -146
  169. package/dist/file-upload/style.css +10 -67
  170. package/dist/filterByQuery-Bczaxzih.js +17 -0
  171. package/dist/flex/style.css +10 -61
  172. package/dist/float-label/style.css +10 -61
  173. package/dist/fluid/style.css +10 -61
  174. package/dist/form/style.css +10 -61
  175. package/dist/gallery/index.js +1 -1
  176. package/dist/gallery/style.css +10 -83
  177. package/dist/grid/style.css +10 -61
  178. package/dist/icon/index.js +93 -39
  179. package/dist/icon/style.css +10 -67
  180. package/dist/icon-COrt_N8A.js +18 -0
  181. package/dist/icon-field/style.css +10 -61
  182. package/dist/index.d.ts +3 -2
  183. package/dist/index.d.ts.map +1 -1
  184. package/dist/index.js +5400 -5145
  185. package/dist/inplace/style.css +10 -61
  186. package/dist/input/index.js +1 -1
  187. package/dist/input/style.css +10 -67
  188. package/dist/input-color/style.css +10 -61
  189. package/dist/input-group/style.css +10 -61
  190. package/dist/input-number/index.js +1 -1
  191. package/dist/input-number/style.css +10 -67
  192. package/dist/input-otp/style.css +10 -61
  193. package/dist/input-password/index.js +1 -1
  194. package/dist/input-password/style.css +10 -67
  195. package/dist/input-tags/index.js +1 -1
  196. package/dist/input-tags/style.css +10 -67
  197. package/dist/knob/style.css +10 -67
  198. package/dist/label/style.css +10 -61
  199. package/dist/layout/index.js +1 -1
  200. package/dist/layout/style.css +15 -89
  201. package/dist/listbox/index.js +30 -32
  202. package/dist/listbox/style.css +10 -69
  203. package/dist/loading/index.js +32 -446
  204. package/dist/loading/style.css +10 -77
  205. package/dist/mega-menu/index.js +2 -2
  206. package/dist/mega-menu/style.css +10 -67
  207. package/dist/menu/index.js +265 -255
  208. package/dist/menu/style.css +36 -99
  209. package/dist/menubar/index.js +6 -3
  210. package/dist/menubar/style.css +14 -75
  211. package/dist/message/index.js +1 -1
  212. package/dist/message/style.css +10 -80
  213. package/dist/meter-group/style.css +10 -61
  214. package/dist/order-list/index.js +1 -1
  215. package/dist/order-list/style.css +10 -67
  216. package/dist/page/index.js +229 -70
  217. package/dist/page/style.css +1186 -113
  218. package/dist/page/style.js +3 -0
  219. package/dist/pagination/index.js +1 -1
  220. package/dist/pagination/style.css +210 -77
  221. package/dist/pagination/style.js +1 -0
  222. package/dist/panel/index.js +1 -1
  223. package/dist/panel/style.css +10 -74
  224. package/dist/pick-list/index.js +1 -1
  225. package/dist/pick-list/style.css +10 -67
  226. package/dist/popover/style.css +30 -78
  227. package/dist/progress-bar/style.css +10 -70
  228. package/dist/progress-spinner/index.js +105 -2
  229. package/dist/progress-spinner/style.css +10 -68
  230. package/dist/radio/style.css +10 -61
  231. package/dist/rating/index.js +1 -1
  232. package/dist/rating/style.css +10 -67
  233. package/dist/resolver-map.d.ts.map +1 -1
  234. package/dist/resolver.js +1 -0
  235. package/dist/result/index.js +1 -1
  236. package/dist/result/style.css +10 -67
  237. package/dist/scroll-top/index.js +1 -1
  238. package/dist/scroll-top/style.css +10 -82
  239. package/dist/scrollbar/style.css +10 -69
  240. package/dist/select/index.js +2 -478
  241. package/dist/select/style.css +59 -89
  242. package/dist/select-button/style.css +10 -61
  243. package/dist/shared/config.d.ts +2 -2
  244. package/dist/shared/filterByQuery.d.ts +14 -0
  245. package/dist/shared/filterByQuery.d.ts.map +1 -0
  246. package/dist/shared/menu/expand.d.ts +38 -0
  247. package/dist/shared/menu/expand.d.ts.map +1 -0
  248. package/dist/shared/menu/icon.d.ts.map +1 -1
  249. package/dist/shared/menu/index.d.ts +2 -0
  250. package/dist/shared/menu/index.d.ts.map +1 -1
  251. package/dist/shared/styles/select-overlay.css +14 -6
  252. package/dist/sidebar/index.js +2 -2
  253. package/dist/sidebar/style.css +10 -73
  254. package/dist/skeleton/index.js +2 -59
  255. package/dist/skeleton/style.css +10 -67
  256. package/dist/slider/style.css +19 -61
  257. package/dist/space/style.css +10 -61
  258. package/dist/speed-dial/index.js +2 -2
  259. package/dist/speed-dial/style.css +10 -67
  260. package/dist/split-button/index.js +1 -1
  261. package/dist/split-button/style.css +77 -78
  262. package/dist/splitter/style.css +10 -61
  263. package/dist/status/index.js +1 -1
  264. package/dist/status/style.css +10 -74
  265. package/dist/stepper/index.js +1 -1
  266. package/dist/stepper/style.css +10 -67
  267. package/dist/styles/base.css +5 -50
  268. package/dist/styles.css +1 -1
  269. package/dist/switch/style.css +10 -68
  270. package/dist/table/index.js +409 -373
  271. package/dist/table/style.css +457 -215
  272. package/dist/table/style.js +1 -1
  273. package/dist/tabs/index.js +1 -1
  274. package/dist/tabs/style.css +10 -75
  275. package/dist/tag/index.js +1 -1
  276. package/dist/tag/style.css +10 -67
  277. package/dist/terminal/style.css +10 -61
  278. package/dist/textarea/index.js +1 -1
  279. package/dist/textarea/style.css +10 -67
  280. package/dist/theme/styles.css +5 -11
  281. package/dist/theme/useMotion.d.ts +5 -1
  282. package/dist/theme/useMotion.d.ts.map +1 -1
  283. package/dist/tiered-menu/index.js +1 -1
  284. package/dist/tiered-menu/style.css +10 -75
  285. package/dist/timeline/index.js +1 -1
  286. package/dist/timeline/style.css +10 -75
  287. package/dist/toast/index.js +1 -1
  288. package/dist/toast/style.css +10 -67
  289. package/dist/toggle-button/index.js +2 -2
  290. package/dist/toggle-button/style.css +10 -67
  291. package/dist/toolbar/style.css +10 -61
  292. package/dist/tooltip/style.css +10 -61
  293. package/dist/tree/index.js +159 -173
  294. package/dist/tree/style.css +10 -67
  295. package/dist/tree-select/index.js +200 -213
  296. package/dist/tree-select/style.css +25 -82
  297. package/dist/tree-table/index.js +1 -1
  298. package/dist/tree-table/style.css +10 -67
  299. package/dist/treeQuery-CnHkyYOA.js +107 -0
  300. package/dist/virtual-scroller/style.css +10 -69
  301. package/package.json +1 -1
  302. package/dist/Button-B5X_R4Md.js +0 -156
  303. package/dist/Icon-lcN1rS87.js +0 -610
  304. package/dist/Pagination-CVrH8Ypi.js +0 -158
  305. package/dist/ProgressSpinner-BeWVF6Jv.js +0 -105
  306. package/dist/checkStrategy-CZzuUKDI.js +0 -63
  307. package/dist/components/Icon/icons-tabler.d.ts +0 -77
  308. package/dist/components/Icon/icons-tabler.d.ts.map +0 -1
  309. package/dist/icon-DWXkh-RM.js +0 -27
@@ -50,6 +50,10 @@
50
50
  --m-font-size-sm: 0.8125rem;
51
51
  --m-font-size-md: 0.875rem;
52
52
  --m-font-size-lg: 1.125rem;
53
+ /* Display scale (page titles, KPI figures) */
54
+ --m-font-size-xl: 1.25rem;
55
+ --m-font-size-2xl: 1.5rem;
56
+ --m-font-size-3xl: 1.75rem;
53
57
  --m-opacity-disabled: 0.55;
54
58
  /* Layering: override --m-z-base via ConfigProvider / createMoryaUI */
55
59
  --m-z-base: 1000;
@@ -192,20 +196,10 @@
192
196
 
193
197
  /*
194
198
  * Global motion policy (complements per-component rules):
195
- * - `reduced` / OS prefers-reduced-motion: keep short paint transitions; stop loops
199
+ * - `reduced`: keep short paint transitions; stop loops
196
200
  * and layout/transform size animation.
197
201
  * - `none`: zero all transition/animation durations.
198
202
  */
199
- @media (prefers-reduced-motion: reduce) {
200
- html:not([data-m-ignore-reduced-motion]) *,
201
- html:not([data-m-ignore-reduced-motion]) *::before,
202
- html:not([data-m-ignore-reduced-motion]) *::after {
203
- animation-duration: 0.01ms !important;
204
- animation-iteration-count: 1 !important;
205
- transition-property: background-color, border-color, color, opacity, box-shadow,
206
- outline, fill, stroke, stroke-dashoffset !important;
207
- }
208
- }
209
203
 
210
204
  [data-m-motion="reduced"] *,
211
205
  [data-m-motion="reduced"] *::before,
@@ -529,9 +523,13 @@
529
523
  border-radius: var(--m-radius-md);
530
524
  box-shadow: var(--m-shadow-md);
531
525
  max-height: var(--m-dropdown-submenu-max-height);
526
+ max-width: calc(100vw - 2 * var(--m-space-4));
532
527
  min-width: 10rem;
533
528
  overflow: hidden;
534
529
  padding: var(--m-space-1);
530
+ /* Same as .m-dropdown__menu: size to content instead of being clamped
531
+ by the space left of the anchor in the viewport. */
532
+ width: max-content;
535
533
  }
536
534
 
537
535
  .m-dropdown__submenu--teleported {
@@ -611,7 +609,7 @@
611
609
  .m-zoom-enter-from,
612
610
  .m-zoom-leave-to {
613
611
  opacity: 0;
614
- transform: scale(0.9);
612
+ transform: scale(0.95);
615
613
  }
616
614
 
617
615
  .m-slide-up-enter-active,
@@ -656,44 +654,6 @@
656
654
  transform: translateX(calc(var(--m-motion-distance) * -1));
657
655
  }
658
656
 
659
- @media (prefers-reduced-motion: reduce) {
660
- html:not([data-m-ignore-reduced-motion]) .m-fade-enter-active,
661
- html:not([data-m-ignore-reduced-motion]) .m-fade-leave-active,
662
- html:not([data-m-ignore-reduced-motion]) .m-scale-fade-enter-active,
663
- html:not([data-m-ignore-reduced-motion]) .m-scale-fade-leave-active,
664
- html:not([data-m-ignore-reduced-motion]) .m-slide-fade-enter-active,
665
- html:not([data-m-ignore-reduced-motion]) .m-slide-fade-leave-active,
666
- html:not([data-m-ignore-reduced-motion]) .m-zoom-enter-active,
667
- html:not([data-m-ignore-reduced-motion]) .m-zoom-leave-active,
668
- html:not([data-m-ignore-reduced-motion]) .m-slide-up-enter-active,
669
- html:not([data-m-ignore-reduced-motion]) .m-slide-up-leave-active,
670
- html:not([data-m-ignore-reduced-motion]) .m-slide-down-enter-active,
671
- html:not([data-m-ignore-reduced-motion]) .m-slide-down-leave-active,
672
- html:not([data-m-ignore-reduced-motion]) .m-slide-left-enter-active,
673
- html:not([data-m-ignore-reduced-motion]) .m-slide-left-leave-active,
674
- html:not([data-m-ignore-reduced-motion]) .m-slide-right-enter-active,
675
- html:not([data-m-ignore-reduced-motion]) .m-slide-right-leave-active {
676
- transition: none;
677
- }
678
-
679
- html:not([data-m-ignore-reduced-motion]) .m-scale-fade-enter-from,
680
- html:not([data-m-ignore-reduced-motion]) .m-scale-fade-leave-to,
681
- html:not([data-m-ignore-reduced-motion]) .m-slide-fade-enter-from,
682
- html:not([data-m-ignore-reduced-motion]) .m-slide-fade-leave-to,
683
- html:not([data-m-ignore-reduced-motion]) .m-zoom-enter-from,
684
- html:not([data-m-ignore-reduced-motion]) .m-zoom-leave-to,
685
- html:not([data-m-ignore-reduced-motion]) .m-slide-up-enter-from,
686
- html:not([data-m-ignore-reduced-motion]) .m-slide-up-leave-to,
687
- html:not([data-m-ignore-reduced-motion]) .m-slide-down-enter-from,
688
- html:not([data-m-ignore-reduced-motion]) .m-slide-down-leave-to,
689
- html:not([data-m-ignore-reduced-motion]) .m-slide-left-enter-from,
690
- html:not([data-m-ignore-reduced-motion]) .m-slide-left-leave-to,
691
- html:not([data-m-ignore-reduced-motion]) .m-slide-right-enter-from,
692
- html:not([data-m-ignore-reduced-motion]) .m-slide-right-leave-to {
693
- transform: none;
694
- }
695
- }
696
-
697
657
  [data-m-motion="reduced"] .m-fade-enter-active,
698
658
  [data-m-motion="reduced"] .m-fade-leave-active,
699
659
  [data-m-motion="reduced"] .m-scale-fade-enter-active,
@@ -1188,17 +1148,6 @@
1188
1148
  animation: none !important;
1189
1149
  }
1190
1150
 
1191
- @media (prefers-reduced-motion: reduce) {
1192
- html:not([data-m-ignore-reduced-motion]) *,
1193
- html:not([data-m-ignore-reduced-motion]) *::before,
1194
- html:not([data-m-ignore-reduced-motion]) *::after {
1195
- animation-duration: 0.01ms !important;
1196
- animation-iteration-count: 1 !important;
1197
- scroll-behavior: auto !important;
1198
- transition-duration: 0.01ms !important;
1199
- }
1200
- }
1201
-
1202
1151
  .m-checkbox__control {
1203
1152
  border-radius: var(--m-radius-sm);
1204
1153
  }
@@ -1271,20 +1220,393 @@
1271
1220
  }
1272
1221
  }
1273
1222
 
1274
- @media (prefers-reduced-motion: reduce) {
1275
- html:not([data-m-ignore-reduced-motion]) .m-icon--spin svg {
1276
- animation: none;
1277
- }
1278
- }
1279
-
1280
1223
  :root[data-m-motion='none'] .m-icon--spin svg,
1281
1224
  :root[data-m-motion='reduced'] .m-icon--spin svg {
1282
1225
  animation: none;
1283
1226
  }
1284
1227
 
1228
+ /* —— Feedback: Loading —— */
1229
+
1230
+ .m-loading {
1231
+ position: relative;
1232
+ }
1233
+
1234
+ .m-loading--fullscreen {
1235
+ inset: 0;
1236
+ position: fixed;
1237
+ z-index: var(--m-loading-z-index, calc(var(--m-z-base) + 200));
1238
+ }
1239
+
1240
+ .m-loading__content {
1241
+ position: relative;
1242
+ }
1243
+
1244
+ .m-loading--active .m-loading__content {
1245
+ pointer-events: none;
1246
+ user-select: none;
1247
+ }
1248
+
1249
+ .m-loading-parent--relative {
1250
+ position: relative;
1251
+ }
1252
+
1253
+ .m-loading-mask {
1254
+ --m-loading-z-index: calc(var(--m-z-base) + 200);
1255
+ --m-loading-mask-bg: color-mix(in srgb, var(--m-color-surface) 80%, transparent);
1256
+ align-items: center;
1257
+ background: var(--m-loading-mask-bg);
1258
+ display: flex;
1259
+ inset: 0;
1260
+ justify-content: center;
1261
+ position: absolute;
1262
+ z-index: 10;
1263
+ }
1264
+
1265
+ .m-loading-mask--fullscreen,
1266
+ .m-loading-mask--body {
1267
+ position: fixed;
1268
+ z-index: var(--m-loading-z-index);
1269
+ }
1270
+
1271
+ .m-loading-mask--body {
1272
+ inset: auto;
1273
+ }
1274
+
1275
+ .m-loading-enter-active {
1276
+ transition: opacity var(--m-motion-enter) var(--m-motion-ease);
1277
+ }
1278
+
1279
+ .m-loading-leave-active {
1280
+ transition: opacity var(--m-motion-exit) var(--m-motion-ease);
1281
+ }
1282
+
1283
+ .m-loading-enter-from,
1284
+ .m-loading-leave-to {
1285
+ opacity: 0;
1286
+ }
1287
+
1288
+ .m-loading-indicator {
1289
+ --m-loading-c1: var(--m-color-primary);
1290
+ --m-loading-c2: color-mix(in srgb, var(--m-color-primary) 62%, white);
1291
+ --m-loading-c3: var(--m-color-success);
1292
+ --m-loading-c4: var(--m-color-warning);
1293
+ --m-loading-c5: var(--m-color-danger);
1294
+ --m-loading-c6: var(--m-color-text-muted);
1295
+ --m-loading-spin: var(--m-motion-spin);
1296
+ --m-loading-aurora-glow: var(--m-motion-loading-aurora);
1297
+ --m-loading-bounce: var(--m-motion-loading-bounce);
1298
+ --m-loading-wave: var(--m-motion-spin-medium);
1299
+ --m-loading-pulse: var(--m-motion-loading-pulse);
1300
+ --m-loading-stardust: var(--m-motion-loading-stardust);
1301
+ --m-loading-circular-rotate: var(--m-motion-loading-circular-rotate);
1302
+ --m-loading-circular-dash: var(--m-motion-spin-dash);
1303
+ --m-loading-scale: 1;
1304
+
1305
+ align-items: center;
1306
+ display: inline-flex;
1307
+ flex-direction: column;
1308
+ font-family: var(--m-font-sans);
1309
+ gap: var(--m-space-3);
1310
+ justify-content: center;
1311
+ }
1312
+
1313
+ .m-loading-indicator__graphic {
1314
+ align-items: center;
1315
+ display: inline-flex;
1316
+ justify-content: center;
1317
+ transform: scale(var(--m-loading-scale));
1318
+ }
1319
+
1320
+ .m-loading-indicator__tip {
1321
+ color: var(--m-color-text-muted);
1322
+ font-size: var(--m-font-size-sm);
1323
+ line-height: 1;
1324
+ margin: 0;
1325
+ }
1326
+
1327
+ .m-loading-indicator--small {
1328
+ --m-loading-scale: 0.85;
1329
+ }
1330
+
1331
+ .m-loading-indicator--large {
1332
+ --m-loading-scale: 1.15;
1333
+ }
1334
+
1335
+ .m-loading-aurora,
1336
+ .m-loading-pulse,
1337
+ .m-loading-stardust {
1338
+ height: 3.75rem;
1339
+ position: relative;
1340
+ width: 3.75rem;
1341
+ }
1342
+
1343
+ .m-loading-aurora__ring {
1344
+ animation: m-loading-spin var(--m-loading-spin) cubic-bezier(0.5, 0, 0.5, 1) infinite;
1345
+ border: 4px solid transparent;
1346
+ border-bottom-color: var(--m-loading-c2);
1347
+ border-left-color: var(--m-loading-c3);
1348
+ border-radius: 50%;
1349
+ border-right-color: var(--m-loading-c5);
1350
+ border-top-color: var(--m-loading-c1);
1351
+ box-sizing: border-box;
1352
+ height: 100%;
1353
+ position: relative;
1354
+ width: 100%;
1355
+ z-index: 2;
1356
+ }
1357
+
1358
+ .m-loading-aurora__glow {
1359
+ animation: m-loading-spin var(--m-loading-aurora-glow) linear infinite reverse;
1360
+ /* Soft radial layers instead of animated blur (≤8px / no continuous filter). */
1361
+ background:
1362
+ radial-gradient(
1363
+ circle at 30% 30%,
1364
+ color-mix(in srgb, var(--m-loading-c1) 55%, transparent),
1365
+ transparent 62%
1366
+ ),
1367
+ radial-gradient(
1368
+ circle at 70% 65%,
1369
+ color-mix(in srgb, var(--m-loading-c5) 45%, transparent),
1370
+ transparent 58%
1371
+ ),
1372
+ radial-gradient(
1373
+ circle at 50% 50%,
1374
+ color-mix(in srgb, var(--m-loading-c2) 35%, transparent),
1375
+ transparent 70%
1376
+ );
1377
+ border-radius: 50%;
1378
+ inset: -10px;
1379
+ opacity: 0.55;
1380
+ position: absolute;
1381
+ z-index: 1;
1382
+ }
1383
+
1384
+ .m-loading-bounce {
1385
+ align-items: flex-end;
1386
+ display: flex;
1387
+ gap: var(--m-space-3);
1388
+ height: 3.125rem;
1389
+ }
1390
+
1391
+ .m-loading-bounce__ball {
1392
+ animation: m-loading-bounce var(--m-loading-bounce) cubic-bezier(0.34, 1.2, 0.64, 1) infinite alternate;
1393
+ background: var(--m-loading-c1);
1394
+ border-radius: 50%;
1395
+ display: block;
1396
+ height: 1rem;
1397
+ width: 1rem;
1398
+ }
1399
+
1400
+ .m-loading-bounce__ball:nth-child(1) {
1401
+ animation-delay: 0s;
1402
+ background: var(--m-loading-c5);
1403
+ }
1404
+
1405
+ .m-loading-bounce__ball:nth-child(2) {
1406
+ animation-delay: 0.15s;
1407
+ background: var(--m-loading-c2);
1408
+ }
1409
+
1410
+ .m-loading-bounce__ball:nth-child(3) {
1411
+ animation-delay: 0.3s;
1412
+ background: var(--m-loading-c6);
1413
+ }
1414
+
1415
+ .m-loading-wave {
1416
+ align-items: center;
1417
+ display: flex;
1418
+ gap: var(--m-space-1);
1419
+ height: 3.125rem;
1420
+ }
1421
+
1422
+ .m-loading-wave__bar {
1423
+ animation: m-loading-wave var(--m-loading-wave) ease-in-out infinite alternate;
1424
+ background: var(--m-loading-c1);
1425
+ border-radius: 0.375rem;
1426
+ display: block;
1427
+ height: 2.875rem;
1428
+ transform-origin: center center;
1429
+ width: 0.5rem;
1430
+ }
1431
+
1432
+ .m-loading-wave__bar:nth-child(1) {
1433
+ animation-delay: 0s;
1434
+ background: var(--m-loading-c1);
1435
+ }
1436
+
1437
+ .m-loading-wave__bar:nth-child(2) {
1438
+ animation-delay: 0.09s;
1439
+ background: var(--m-loading-c5);
1440
+ }
1441
+
1442
+ .m-loading-wave__bar:nth-child(3) {
1443
+ animation-delay: 0.18s;
1444
+ background: var(--m-loading-c2);
1445
+ }
1446
+
1447
+ .m-loading-wave__bar:nth-child(4) {
1448
+ animation-delay: 0.27s;
1449
+ background: var(--m-loading-c3);
1450
+ }
1451
+
1452
+ .m-loading-wave__bar:nth-child(5) {
1453
+ animation-delay: 0.36s;
1454
+ background: var(--m-loading-c6);
1455
+ }
1456
+
1457
+ .m-loading-pulse__ring {
1458
+ animation: m-loading-pulse var(--m-loading-pulse) ease-out infinite;
1459
+ border: 3px solid var(--m-loading-c2);
1460
+ border-radius: 50%;
1461
+ box-sizing: border-box;
1462
+ inset: 0;
1463
+ position: absolute;
1464
+ }
1465
+
1466
+ .m-loading-pulse__ring:nth-child(1) {
1467
+ animation-delay: 0s;
1468
+ border-color: var(--m-loading-c1);
1469
+ }
1470
+
1471
+ .m-loading-pulse__ring:nth-child(2) {
1472
+ animation-delay: 0.45s;
1473
+ border-color: var(--m-loading-c5);
1474
+ }
1475
+
1476
+ .m-loading-pulse__ring:nth-child(3) {
1477
+ animation-delay: 0.9s;
1478
+ border-color: var(--m-loading-c2);
1479
+ }
1480
+
1481
+ .m-loading-pulse__ring:nth-child(4) {
1482
+ animation-delay: 1.35s;
1483
+ border-color: var(--m-loading-c3);
1484
+ }
1485
+
1486
+ .m-loading-stardust__dot {
1487
+ --i: 0;
1488
+ animation: m-loading-stardust var(--m-loading-stardust) ease-in-out infinite;
1489
+ background: var(--m-loading-c1);
1490
+ border-radius: 50%;
1491
+ height: 0.5rem;
1492
+ left: 50%;
1493
+ position: absolute;
1494
+ top: 50%;
1495
+ transform: translate(-50%, -50%) rotate(calc(var(--i) * 45deg)) translateX(22px);
1496
+ width: 0.5rem;
1497
+ }
1498
+
1499
+ .m-loading-stardust__dot:nth-child(1) { animation-delay: 0s; background: var(--m-loading-c1); }
1500
+ .m-loading-stardust__dot:nth-child(2) { animation-delay: 0.08s; background: var(--m-loading-c5); }
1501
+ .m-loading-stardust__dot:nth-child(3) { animation-delay: 0.16s; background: var(--m-loading-c4); }
1502
+ .m-loading-stardust__dot:nth-child(4) { animation-delay: 0.24s; background: var(--m-loading-c2); }
1503
+ .m-loading-stardust__dot:nth-child(5) { animation-delay: 0.32s; background: var(--m-loading-c3); }
1504
+ .m-loading-stardust__dot:nth-child(6) { animation-delay: 0.4s; background: var(--m-loading-c6); }
1505
+ .m-loading-stardust__dot:nth-child(7) { animation-delay: 0.48s; background: color-mix(in srgb, var(--m-loading-c1) 55%, white); }
1506
+ .m-loading-stardust__dot:nth-child(8) { animation-delay: 0.56s; background: var(--m-loading-c2); }
1507
+
1508
+ .m-loading-circular {
1509
+ align-items: center;
1510
+ display: inline-flex;
1511
+ justify-content: center;
1512
+ }
1513
+
1514
+ .m-loading-circular__svg {
1515
+ animation: m-loading-circular-rotate var(--m-loading-circular-rotate) linear infinite;
1516
+ display: inline-block;
1517
+ height: 2.625rem;
1518
+ width: 2.625rem;
1519
+ }
1520
+
1521
+ .m-loading-circular__path {
1522
+ animation: m-loading-circular-dash var(--m-loading-circular-dash) ease-in-out infinite;
1523
+ fill: none;
1524
+ stroke: var(--m-loading-c1);
1525
+ stroke-linecap: round;
1526
+ stroke-width: 2;
1527
+ }
1528
+
1529
+ @keyframes m-loading-spin {
1530
+ from { transform: rotate(0deg); }
1531
+ to { transform: rotate(360deg); }
1532
+ }
1533
+
1534
+ @keyframes m-loading-bounce {
1535
+ from { transform: translateY(0) scale(1); }
1536
+ to { transform: translateY(-34px) scale(1.1); }
1537
+ }
1538
+
1539
+ @keyframes m-loading-wave {
1540
+ from { transform: scaleY(0.26); }
1541
+ to { transform: scaleY(1); }
1542
+ }
1543
+
1544
+ @keyframes m-loading-pulse {
1545
+ from { opacity: 1; transform: scale(0.15); }
1546
+ to { opacity: 0; transform: scale(1.6); }
1547
+ }
1548
+
1549
+ @keyframes m-loading-stardust {
1550
+ 0%,
1551
+ 100% {
1552
+ opacity: 0.2;
1553
+ transform: translate(-50%, -50%) rotate(calc(var(--i) * 45deg)) translateX(22px) scale(0.3);
1554
+ }
1555
+
1556
+ 50% {
1557
+ opacity: 1;
1558
+ transform: translate(-50%, -50%) rotate(calc(var(--i) * 45deg + 180deg)) translateX(28px) scale(1.2);
1559
+ }
1560
+ }
1561
+
1562
+ @keyframes m-loading-circular-rotate {
1563
+ to { transform: rotate(360deg); }
1564
+ }
1565
+
1566
+ @keyframes m-loading-circular-dash {
1567
+ 0% {
1568
+ stroke-dasharray: 1, 200;
1569
+ stroke-dashoffset: 0;
1570
+ }
1571
+
1572
+ 50% {
1573
+ stroke-dasharray: 90, 150;
1574
+ stroke-dashoffset: -40px;
1575
+ }
1576
+
1577
+ 100% {
1578
+ stroke-dasharray: 90, 150;
1579
+ stroke-dashoffset: -120px;
1580
+ }
1581
+ }
1582
+
1583
+ [data-m-motion="reduced"] .m-loading-aurora__ring,
1584
+ [data-m-motion="reduced"] .m-loading-aurora__glow,
1585
+ [data-m-motion="reduced"] .m-loading-bounce__ball,
1586
+ [data-m-motion="reduced"] .m-loading-wave__bar,
1587
+ [data-m-motion="reduced"] .m-loading-pulse__ring,
1588
+ [data-m-motion="reduced"] .m-loading-stardust__dot,
1589
+ [data-m-motion="reduced"] .m-loading-circular__svg,
1590
+ [data-m-motion="reduced"] .m-loading-circular__path,
1591
+ [data-m-motion="reduced"] .m-loading-enter-active,
1592
+ [data-m-motion="reduced"] .m-loading-leave-active,
1593
+ [data-m-motion="none"] .m-loading-aurora__ring,
1594
+ [data-m-motion="none"] .m-loading-aurora__glow,
1595
+ [data-m-motion="none"] .m-loading-bounce__ball,
1596
+ [data-m-motion="none"] .m-loading-wave__bar,
1597
+ [data-m-motion="none"] .m-loading-pulse__ring,
1598
+ [data-m-motion="none"] .m-loading-stardust__dot,
1599
+ [data-m-motion="none"] .m-loading-circular__svg,
1600
+ [data-m-motion="none"] .m-loading-circular__path,
1601
+ [data-m-motion="none"] .m-loading-enter-active,
1602
+ [data-m-motion="none"] .m-loading-leave-active {
1603
+ animation: none;
1604
+ transition: none;
1605
+ }
1606
+
1285
1607
  .m-pagination {
1286
1608
  --m-pagination-simple-width: 3.5rem;
1287
- --m-pagination-jumper-width: 3.5rem;
1609
+ --m-pagination-jumper-width: 5.5rem;
1288
1610
  align-items: center;
1289
1611
  display: flex;
1290
1612
  font-family: var(--m-font-sans);
@@ -1353,8 +1675,7 @@
1353
1675
  margin-left: var(--m-space-2);
1354
1676
  }
1355
1677
 
1356
- .m-pagination__select,
1357
- .m-pagination__input {
1678
+ .m-pagination__select {
1358
1679
  background: var(--m-color-surface);
1359
1680
  border: var(--m-border-width) solid var(--m-color-border);
1360
1681
  border-radius: var(--m-radius-control);
@@ -1369,114 +1690,26 @@
1369
1690
  opacity var(--m-motion-fast) var(--m-motion-ease);
1370
1691
  }
1371
1692
 
1372
- .m-pagination__select:hover:not(:disabled),
1373
- .m-pagination__input:hover:not(:disabled):not(:focus) {
1693
+ .m-pagination__select:hover:not(:disabled) {
1374
1694
  border-color: var(--m-color-primary-hover);
1375
1695
  }
1376
1696
 
1377
- .m-pagination__select:focus-visible,
1378
- .m-pagination__input:focus-visible {
1697
+ .m-pagination__select:focus-visible {
1379
1698
  border-color: var(--m-color-primary-hover);
1380
1699
  box-shadow: var(--m-focus-shadow);
1381
1700
  outline: none;
1382
1701
  }
1383
1702
 
1384
- .m-pagination__select:disabled,
1385
- .m-pagination__input:disabled {
1703
+ .m-pagination__select:disabled {
1386
1704
  cursor: not-allowed;
1387
1705
  opacity: var(--m-opacity-disabled);
1388
1706
  }
1389
1707
 
1390
- .m-pagination__input {
1708
+ .m-pagination__jumper-select {
1709
+ min-width: var(--m-pagination-jumper-width);
1391
1710
  width: var(--m-pagination-jumper-width);
1392
1711
  }
1393
1712
 
1394
- /* —— Feedback: ProgressSpinner —— */
1395
- .m-progress-spinner {
1396
- --m-progress-spinner-size: calc(var(--m-space-8) + var(--m-space-2));
1397
- --m-progress-spinner-color: var(--m-color-primary);
1398
- animation: m-progress-spinner-rotate var(--m-motion-spin) linear infinite;
1399
- color: var(--m-progress-spinner-color);
1400
- display: inline-block;
1401
- font-family: var(--m-font-sans);
1402
- height: var(--m-progress-spinner-size);
1403
- vertical-align: middle;
1404
- width: var(--m-progress-spinner-size);
1405
- }
1406
-
1407
- .m-progress-spinner__circle {
1408
- animation: m-progress-spinner-dash var(--m-motion-spin-dash) ease-in-out infinite;
1409
- stroke: currentColor;
1410
- stroke-dasharray: 90, 150;
1411
- stroke-dashoffset: 0;
1412
- stroke-linecap: round;
1413
- }
1414
-
1415
- @keyframes m-progress-spinner-dash {
1416
- 0% {
1417
- stroke-dasharray: 1, 150;
1418
- stroke-dashoffset: 0;
1419
- }
1420
- 50% {
1421
- stroke-dasharray: 90, 150;
1422
- stroke-dashoffset: -35;
1423
- }
1424
- 100% {
1425
- stroke-dasharray: 90, 150;
1426
- stroke-dashoffset: -124;
1427
- }
1428
- }
1429
-
1430
- .m-progress-spinner--small {
1431
- --m-progress-spinner-size: var(--m-control-height-medium);
1432
- }
1433
-
1434
- .m-progress-spinner--large {
1435
- --m-progress-spinner-size: calc(var(--m-space-8) + var(--m-space-6));
1436
- }
1437
-
1438
- .m-progress-spinner-wrap {
1439
- position: relative;
1440
- }
1441
-
1442
- .m-progress-spinner-wrap--active .m-progress-spinner-wrap__content {
1443
- opacity: var(--m-opacity-disabled);
1444
- pointer-events: none;
1445
- }
1446
-
1447
- .m-progress-spinner-wrap__overlay {
1448
- align-items: center;
1449
- background: color-mix(in srgb, var(--m-color-surface) 72%, transparent);
1450
- display: flex;
1451
- flex-direction: column;
1452
- gap: var(--m-space-2);
1453
- inset: 0;
1454
- justify-content: center;
1455
- position: absolute;
1456
- z-index: var(--m-blockui-z-index, 10);
1457
- }
1458
-
1459
- .m-progress-spinner__description {
1460
- color: var(--m-color-text-muted);
1461
- font-family: var(--m-font-sans);
1462
- font-size: var(--m-font-size-sm);
1463
- margin: 0;
1464
- }
1465
-
1466
- @media (prefers-reduced-motion: reduce) {
1467
- html:not([data-m-ignore-reduced-motion]) .m-progress-spinner,
1468
- html:not([data-m-ignore-reduced-motion]) .m-progress-spinner__circle {
1469
- animation: none;
1470
- }
1471
- }
1472
-
1473
- [data-m-motion="reduced"] .m-progress-spinner,
1474
- [data-m-motion="reduced"] .m-progress-spinner__circle,
1475
- [data-m-motion="none"] .m-progress-spinner,
1476
- [data-m-motion="none"] .m-progress-spinner__circle {
1477
- animation: none;
1478
- }
1479
-
1480
1713
  .m-radio__control {
1481
1714
  border-radius: var(--m-radius-full);
1482
1715
  }
@@ -1622,14 +1855,6 @@
1622
1855
  opacity: 0;
1623
1856
  }
1624
1857
 
1625
- @media (prefers-reduced-motion: reduce) {
1626
- html:not([data-m-ignore-reduced-motion]) .m-scrollbar__thumb,
1627
- html:not([data-m-ignore-reduced-motion]) .m-scrollbar-fade-enter-active,
1628
- html:not([data-m-ignore-reduced-motion]) .m-scrollbar-fade-leave-active {
1629
- transition: none;
1630
- }
1631
- }
1632
-
1633
1858
  :root[data-m-motion='none'] .m-scrollbar__thumb,
1634
1859
  :root[data-m-motion='none'] .m-scrollbar-fade-enter-active,
1635
1860
  :root[data-m-motion='none'] .m-scrollbar-fade-leave-active,
@@ -1854,15 +2079,15 @@
1854
2079
  }
1855
2080
 
1856
2081
  .m-table__header-inner {
1857
- display: inline-flex;
2082
+ display: flex;
2083
+ flex-direction: row;
1858
2084
  align-items: center;
1859
2085
  gap: var(--m-space-1);
1860
2086
  box-sizing: border-box;
2087
+ width: 100%;
1861
2088
  max-width: 100%;
1862
2089
  padding: 0 var(--m-table-cell-padding-inline);
1863
2090
  overflow: hidden;
1864
- line-height: var(--m-table-cell-line-height);
1865
- vertical-align: middle;
1866
2091
  }
1867
2092
 
1868
2093
  .m-table__header-inner--left {
@@ -1878,47 +2103,47 @@
1878
2103
  }
1879
2104
 
1880
2105
  .m-table__header-text {
2106
+ min-width: 0;
1881
2107
  overflow: hidden;
1882
2108
  text-overflow: ellipsis;
1883
2109
  white-space: nowrap;
2110
+ line-height: var(--m-table-cell-line-height);
1884
2111
  }
1885
2112
 
1886
- .m-table__caret-wrapper {
1887
- position: relative;
1888
- display: inline-flex;
2113
+ .m-table__sort {
2114
+ display: flex;
1889
2115
  flex-direction: column;
1890
2116
  flex-shrink: 0;
1891
2117
  align-items: center;
1892
- width: var(--m-space-6);
1893
- height: calc(var(--m-space-2) + var(--m-space-1));
1894
- overflow: initial;
1895
- vertical-align: middle;
2118
+ justify-content: center;
2119
+ gap: 2px;
2120
+ line-height: 0;
1896
2121
  }
1897
2122
 
1898
- .m-table__sort-caret {
1899
- position: absolute;
1900
- left: calc(var(--m-space-2) - 1px);
1901
- width: 0;
1902
- height: 0;
1903
- border: calc(var(--m-space-1) + 1px) solid transparent;
2123
+ .m-table__sort-icon.m-icon {
2124
+ display: block;
2125
+ width: 0.75rem;
2126
+ height: 0.375rem;
2127
+ color: color-mix(in srgb, var(--m-color-text-muted) 55%, transparent);
1904
2128
  }
1905
2129
 
1906
- .m-table__sort-caret--ascending {
1907
- top: calc(var(--m-space-1) * -1);
1908
- border-bottom-color: color-mix(in srgb, var(--m-color-text-muted) 55%, transparent);
2130
+ .m-table__sort-icon--ascending,
2131
+ .m-table__sort-icon--descending {
2132
+ margin: 0;
1909
2133
  }
1910
2134
 
1911
- .m-table__sort-caret--descending {
1912
- bottom: calc(var(--m-space-1) * -0.5);
1913
- border-top-color: color-mix(in srgb, var(--m-color-text-muted) 55%, transparent);
2135
+ .m-table__header-cell--sortable:hover .m-table__sort-icon {
2136
+ color: color-mix(in srgb, var(--m-color-text-muted) 80%, transparent);
1914
2137
  }
1915
2138
 
1916
- .m-table__header-cell--ascending .m-table__sort-caret--ascending {
1917
- border-bottom-color: var(--m-color-primary);
2139
+ .m-table__header-cell--ascending .m-table__sort-icon--ascending,
2140
+ .m-table__header-cell--descending .m-table__sort-icon--descending {
2141
+ color: var(--m-color-primary);
1918
2142
  }
1919
2143
 
1920
- .m-table__header-cell--descending .m-table__sort-caret--descending {
1921
- border-top-color: var(--m-color-primary);
2144
+ .m-table__header-cell--sortable:hover.m-table__header-cell--ascending .m-table__sort-icon--ascending,
2145
+ .m-table__header-cell--sortable:hover.m-table__header-cell--descending .m-table__sort-icon--descending {
2146
+ color: var(--m-color-primary);
1922
2147
  }
1923
2148
 
1924
2149
  .m-table__multi-sort-number {
@@ -2080,30 +2305,41 @@
2080
2305
  .m-table__cell--expanded {
2081
2306
  padding: var(--m-space-4) calc(var(--m-table-cell-padding-inline) * 2);
2082
2307
  background: var(--m-table-expanded-bg);
2308
+ position: relative;
2083
2309
  }
2084
2310
 
2085
2311
  .m-table__cell--expanded:hover {
2086
2312
  background: var(--m-table-expanded-bg) !important;
2087
2313
  }
2088
2314
 
2089
- .m-table__loading {
2315
+ .m-table__loading-line {
2316
+ background: color-mix(in srgb, var(--m-color-primary) 16%, transparent);
2317
+ border-radius: var(--m-radius-full);
2318
+ height: calc(var(--m-space-1) / 2);
2319
+ left: 0;
2320
+ overflow: hidden;
2090
2321
  position: absolute;
2091
- inset: 0;
2092
- z-index: 4;
2093
- display: flex;
2094
- align-items: center;
2095
- justify-content: center;
2322
+ top: 0;
2323
+ width: 100%;
2096
2324
  }
2097
2325
 
2098
- .m-table__loading-mask {
2326
+ .m-table__loading-line::before {
2327
+ animation: m-table-loading-line var(--m-motion-pulse) var(--m-motion-ease) infinite;
2328
+ background: var(--m-color-primary);
2329
+ border-radius: inherit;
2330
+ content: '';
2331
+ inset: 0 auto 0 0;
2099
2332
  position: absolute;
2100
- inset: 0;
2101
- background: color-mix(in srgb, var(--m-color-surface) 72%, transparent);
2333
+ width: 40%;
2102
2334
  }
2103
2335
 
2104
- .m-table__loading-body {
2105
- position: relative;
2106
- z-index: 1;
2336
+ @keyframes m-table-loading-line {
2337
+ 0% {
2338
+ transform: translateX(-120%);
2339
+ }
2340
+ 100% {
2341
+ transform: translateX(320%);
2342
+ }
2107
2343
  }
2108
2344
 
2109
2345
  .m-table__message {
@@ -2163,10 +2399,16 @@
2163
2399
  max-width: 100%;
2164
2400
  }
2165
2401
 
2166
- @media (prefers-reduced-motion: reduce) {
2167
- html:not([data-m-ignore-reduced-motion]) .m-table__header th,
2168
- html:not([data-m-ignore-reduced-motion]) .m-table__body td,
2169
- html:not([data-m-ignore-reduced-motion]) .m-table__expand-btn {
2170
- transition: none;
2171
- }
2402
+ [data-m-motion="reduced"] .m-table__header th,
2403
+ [data-m-motion="reduced"] .m-table__body td,
2404
+ [data-m-motion="reduced"] .m-table__expand-btn,
2405
+ [data-m-motion="none"] .m-table__header th,
2406
+ [data-m-motion="none"] .m-table__body td,
2407
+ [data-m-motion="none"] .m-table__expand-btn {
2408
+ transition: none;
2409
+ }
2410
+
2411
+ [data-m-motion="reduced"] .m-table__loading-line::before,
2412
+ [data-m-motion="none"] .m-table__loading-line::before {
2413
+ animation: none;
2172
2414
  }