morya-ui 0.3.1 → 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 (228) hide show
  1. package/CHANGELOG.md +32 -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/Pagination-CqpC5EAs.js +166 -0
  6. package/dist/Select-CKGrSoaC.js +572 -0
  7. package/dist/Skeleton-DCYdXAH2.js +59 -0
  8. package/dist/accordion/style.css +16 -71
  9. package/dist/auto-complete/index.js +117 -119
  10. package/dist/auto-complete/style.css +6 -82
  11. package/dist/avatar/style.css +6 -67
  12. package/dist/badge/style.css +6 -68
  13. package/dist/block-ui/style.css +6 -68
  14. package/dist/breadcrumb/style.css +6 -61
  15. package/dist/button/index.js +1 -1
  16. package/dist/button/style.css +68 -78
  17. package/dist/card/index.js +1 -1
  18. package/dist/card/style.css +26 -67
  19. package/dist/carousel/style.css +6 -73
  20. package/dist/cascade-select/style.css +6 -75
  21. package/dist/checkbox/style.css +6 -61
  22. package/dist/chip/style.css +6 -67
  23. package/dist/command-menu/index.js +36 -38
  24. package/dist/command-menu/style.css +6 -75
  25. package/dist/components/Accordion/styles.css +10 -10
  26. package/dist/components/AutoComplete/AutoComplete.vue.d.ts.map +1 -1
  27. package/dist/components/AutoComplete/styles.css +0 -7
  28. package/dist/components/Badge/styles.css +0 -7
  29. package/dist/components/BlockUI/styles.css +0 -7
  30. package/dist/components/Button/Button.vue.d.ts +2 -0
  31. package/dist/components/Button/Button.vue.d.ts.map +1 -1
  32. package/dist/components/Button/styles.css +62 -11
  33. package/dist/components/Button/types.d.ts +4 -0
  34. package/dist/components/Button/types.d.ts.map +1 -1
  35. package/dist/components/Card/Card.vue.d.ts +2 -2
  36. package/dist/components/Card/Card.vue.d.ts.map +1 -1
  37. package/dist/components/Card/index.d.ts +1 -1
  38. package/dist/components/Card/index.d.ts.map +1 -1
  39. package/dist/components/Card/styles.css +20 -6
  40. package/dist/components/Card/types.d.ts +4 -2
  41. package/dist/components/Card/types.d.ts.map +1 -1
  42. package/dist/components/Carousel/styles.css +0 -6
  43. package/dist/components/CommandMenu/CommandMenu.vue.d.ts.map +1 -1
  44. package/dist/components/ConfigProvider/ConfigProvider.vue.d.ts +2 -2
  45. package/dist/components/Dialog/styles.css +3 -46
  46. package/dist/components/Dock/styles.css +0 -10
  47. package/dist/components/Drawer/styles.css +2 -51
  48. package/dist/components/Fieldset/styles.css +0 -7
  49. package/dist/components/FileUpload/FileUpload.vue.d.ts.map +1 -1
  50. package/dist/components/FileUpload/fileUtils.d.ts +8 -0
  51. package/dist/components/FileUpload/fileUtils.d.ts.map +1 -0
  52. package/dist/components/Gallery/styles.css +0 -8
  53. package/dist/components/Icon/styles.css +0 -6
  54. package/dist/components/Knob/styles.css +0 -6
  55. package/dist/components/Layout/styles.css +0 -12
  56. package/dist/components/Listbox/Listbox.vue.d.ts.map +1 -1
  57. package/dist/components/Loading/styles.css +0 -16
  58. package/dist/components/Menu/Menu.vue.d.ts.map +1 -1
  59. package/dist/components/Menu/styles.css +0 -7
  60. package/dist/components/Message/styles.css +0 -13
  61. package/dist/components/Page/PageContent.vue.d.ts +2 -1
  62. package/dist/components/Page/PageContent.vue.d.ts.map +1 -1
  63. package/dist/components/Page/PageFilterChips.vue.d.ts +16 -0
  64. package/dist/components/Page/PageFilterChips.vue.d.ts.map +1 -0
  65. package/dist/components/Page/PageFilters.vue.d.ts +15 -3
  66. package/dist/components/Page/PageFilters.vue.d.ts.map +1 -1
  67. package/dist/components/Page/PageHeader.vue.d.ts +8 -4
  68. package/dist/components/Page/PageHeader.vue.d.ts.map +1 -1
  69. package/dist/components/Page/PagePlaceholder.vue.d.ts +6 -2
  70. package/dist/components/Page/PagePlaceholder.vue.d.ts.map +1 -1
  71. package/dist/components/Page/PageSection.vue.d.ts +8 -2
  72. package/dist/components/Page/PageSection.vue.d.ts.map +1 -1
  73. package/dist/components/Page/PageStat.vue.d.ts +8 -3
  74. package/dist/components/Page/PageStat.vue.d.ts.map +1 -1
  75. package/dist/components/Page/index.d.ts +2 -1
  76. package/dist/components/Page/index.d.ts.map +1 -1
  77. package/dist/components/Page/styles.css +239 -44
  78. package/dist/components/Page/types.d.ts +40 -0
  79. package/dist/components/Page/types.d.ts.map +1 -1
  80. package/dist/components/Pagination/Pagination.vue.d.ts.map +1 -1
  81. package/dist/components/Pagination/styles.css +7 -10
  82. package/dist/components/Pagination/types.d.ts +1 -1
  83. package/dist/components/Pagination/types.d.ts.map +1 -1
  84. package/dist/components/Panel/styles.css +0 -7
  85. package/dist/components/Popover/styles.css +20 -17
  86. package/dist/components/ProgressBar/styles.css +0 -9
  87. package/dist/components/ProgressSpinner/styles.css +0 -7
  88. package/dist/components/ScrollTop/styles.css +0 -7
  89. package/dist/components/Scrollbar/styles.css +0 -8
  90. package/dist/components/Select/Select.vue.d.ts +1 -3
  91. package/dist/components/Select/Select.vue.d.ts.map +1 -1
  92. package/dist/components/Select/selectOptions.d.ts +46 -0
  93. package/dist/components/Select/selectOptions.d.ts.map +1 -0
  94. package/dist/components/Select/styles.css +5 -7
  95. package/dist/components/Sidebar/styles.css +0 -6
  96. package/dist/components/Skeleton/styles.css +0 -6
  97. package/dist/components/Status/styles.css +0 -7
  98. package/dist/components/Switch/styles.css +0 -7
  99. package/dist/components/Table/hooks/useExpandableRow.d.ts.map +1 -1
  100. package/dist/components/Table/hooks/useTotalItems.d.ts.map +1 -1
  101. package/dist/components/Table/styles.css +7 -10
  102. package/dist/components/Table/tableQuery.d.ts +30 -0
  103. package/dist/components/Table/tableQuery.d.ts.map +1 -0
  104. package/dist/components/Tree/Tree.vue.d.ts.map +1 -1
  105. package/dist/components/Tree/treeQuery.d.ts +31 -0
  106. package/dist/components/Tree/treeQuery.d.ts.map +1 -0
  107. package/dist/components/TreeSelect/TreeSelect.vue.d.ts.map +1 -1
  108. package/dist/config-provider/index.js +1 -1
  109. package/dist/config-provider/style.css +68 -72
  110. package/dist/confirm-dialog/index.js +1 -1
  111. package/dist/confirm-dialog/style.css +71 -124
  112. package/dist/confirm-popup/index.js +1 -1
  113. package/dist/confirm-popup/style.css +68 -78
  114. package/dist/context-menu/style.css +6 -75
  115. package/dist/data-view/index.js +1 -1
  116. package/dist/data-view/style.css +13 -87
  117. package/dist/date-picker/style.css +6 -67
  118. package/dist/dialog/index.js +1 -1
  119. package/dist/dialog/style.css +71 -124
  120. package/dist/divider/style.css +6 -61
  121. package/dist/dock/style.css +6 -77
  122. package/dist/drawer/style.css +8 -118
  123. package/dist/dropdown/style.css +6 -75
  124. package/dist/empty/index.js +5 -150
  125. package/dist/empty/style.css +6 -67
  126. package/dist/fieldset/style.css +6 -74
  127. package/dist/file-upload/index.js +147 -145
  128. package/dist/file-upload/style.css +6 -67
  129. package/dist/filterByQuery-Bczaxzih.js +17 -0
  130. package/dist/flex/style.css +6 -61
  131. package/dist/float-label/style.css +6 -61
  132. package/dist/fluid/style.css +6 -61
  133. package/dist/form/style.css +6 -61
  134. package/dist/gallery/style.css +6 -83
  135. package/dist/grid/style.css +6 -61
  136. package/dist/icon/style.css +6 -67
  137. package/dist/icon-field/style.css +6 -61
  138. package/dist/index.d.ts +3 -2
  139. package/dist/index.d.ts.map +1 -1
  140. package/dist/index.js +9017 -8694
  141. package/dist/inplace/style.css +6 -61
  142. package/dist/input/style.css +6 -67
  143. package/dist/input-color/style.css +6 -61
  144. package/dist/input-group/style.css +6 -61
  145. package/dist/input-number/style.css +6 -67
  146. package/dist/input-otp/style.css +6 -61
  147. package/dist/input-password/style.css +6 -67
  148. package/dist/input-tags/style.css +6 -67
  149. package/dist/knob/style.css +6 -67
  150. package/dist/label/style.css +6 -61
  151. package/dist/layout/style.css +6 -87
  152. package/dist/listbox/index.js +30 -32
  153. package/dist/listbox/style.css +6 -69
  154. package/dist/loading/style.css +6 -77
  155. package/dist/mega-menu/style.css +6 -67
  156. package/dist/menu/index.js +263 -253
  157. package/dist/menu/style.css +26 -99
  158. package/dist/menubar/style.css +6 -75
  159. package/dist/message/style.css +6 -80
  160. package/dist/meter-group/style.css +6 -61
  161. package/dist/order-list/style.css +6 -67
  162. package/dist/page/index.js +228 -69
  163. package/dist/page/style.css +1182 -113
  164. package/dist/page/style.js +3 -0
  165. package/dist/pagination/index.js +1 -1
  166. package/dist/pagination/style.css +206 -77
  167. package/dist/pagination/style.js +1 -0
  168. package/dist/panel/style.css +6 -74
  169. package/dist/pick-list/style.css +6 -67
  170. package/dist/popover/style.css +26 -78
  171. package/dist/progress-bar/style.css +6 -70
  172. package/dist/progress-spinner/style.css +6 -68
  173. package/dist/radio/style.css +6 -61
  174. package/dist/rating/style.css +6 -67
  175. package/dist/resolver-map.d.ts.map +1 -1
  176. package/dist/resolver.js +1 -0
  177. package/dist/result/style.css +6 -67
  178. package/dist/scroll-top/style.css +6 -82
  179. package/dist/scrollbar/style.css +6 -69
  180. package/dist/select/index.js +2 -545
  181. package/dist/select/style.css +11 -82
  182. package/dist/select-button/style.css +6 -61
  183. package/dist/shared/config.d.ts +2 -2
  184. package/dist/shared/filterByQuery.d.ts +14 -0
  185. package/dist/shared/filterByQuery.d.ts.map +1 -0
  186. package/dist/shared/menu/expand.d.ts +38 -0
  187. package/dist/shared/menu/expand.d.ts.map +1 -0
  188. package/dist/shared/menu/index.d.ts +2 -0
  189. package/dist/shared/menu/index.d.ts.map +1 -1
  190. package/dist/sidebar/style.css +6 -73
  191. package/dist/skeleton/index.js +2 -59
  192. package/dist/skeleton/style.css +6 -67
  193. package/dist/slider/style.css +6 -61
  194. package/dist/space/style.css +6 -61
  195. package/dist/speed-dial/style.css +6 -67
  196. package/dist/split-button/style.css +68 -78
  197. package/dist/splitter/style.css +6 -61
  198. package/dist/status/style.css +6 -74
  199. package/dist/stepper/style.css +6 -67
  200. package/dist/styles/base.css +1 -50
  201. package/dist/styles.css +1 -1
  202. package/dist/switch/style.css +6 -68
  203. package/dist/table/index.js +341 -311
  204. package/dist/table/style.css +20 -111
  205. package/dist/tabs/style.css +6 -75
  206. package/dist/tag/style.css +6 -67
  207. package/dist/terminal/style.css +6 -61
  208. package/dist/textarea/style.css +6 -67
  209. package/dist/theme/styles.css +5 -11
  210. package/dist/theme/useMotion.d.ts +5 -1
  211. package/dist/theme/useMotion.d.ts.map +1 -1
  212. package/dist/tiered-menu/style.css +6 -75
  213. package/dist/timeline/style.css +6 -75
  214. package/dist/toast/style.css +6 -67
  215. package/dist/toggle-button/style.css +6 -67
  216. package/dist/toolbar/style.css +6 -61
  217. package/dist/tooltip/style.css +6 -61
  218. package/dist/tree/index.js +158 -172
  219. package/dist/tree/style.css +6 -67
  220. package/dist/tree-select/index.js +198 -212
  221. package/dist/tree-select/style.css +6 -75
  222. package/dist/tree-table/style.css +6 -67
  223. package/dist/treeQuery-CnHkyYOA.js +107 -0
  224. package/dist/virtual-scroller/style.css +6 -69
  225. package/package.json +1 -1
  226. package/dist/Button-smoDleh0.js +0 -156
  227. package/dist/Pagination-DrXmzcEy.js +0 -158
  228. package/dist/checkStrategy-CZzuUKDI.js +0 -63
@@ -1,14 +1,15 @@
1
1
  import { a as e } from "../useComponentAttrs-e-5QAjdw.js";
2
2
  import { t } from "../Icon-od9Ob-Ay.js";
3
3
  import { t as n } from "../useMotionTransition-Bxnnb_9u.js";
4
- import { n as r } from "../overlay-oR-5MDuE.js";
5
- import { t as i } from "../Scrollbar-DTeJ8P5b.js";
6
- import { t as ee } from "../icon-COrt_N8A.js";
4
+ import { n as ee } from "../overlay-oR-5MDuE.js";
5
+ import { t as r } from "../Scrollbar-DTeJ8P5b.js";
6
+ import { t as te } from "../filterByQuery-Bczaxzih.js";
7
+ import { t as i } from "../icon-COrt_N8A.js";
7
8
  import { t as a } from "../useModalOverlay-Beo3CEAt.js";
8
- import { c as o } from "../config-CapALqt3.js";
9
- import { n as s } from "../locale-Bzm2nbEp.js";
9
+ import { c as ne } from "../config-CapALqt3.js";
10
+ import { n as o } from "../locale-Bzm2nbEp.js";
10
11
  import "./style.js";
11
- import { Fragment as te, Teleport as c, Transition as l, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createVNode as h, defineComponent as g, mergeProps as ne, nextTick as _, normalizeClass as v, openBlock as y, ref as b, renderList as x, toDisplayString as S, toRef as re, unref as C, useAttrs as ie, vModelText as w, watch as T, withCtx as E, withDirectives as D, withModifiers as O } from "vue";
12
+ import { Fragment as s, Teleport as c, Transition as re, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createVNode as m, defineComponent as h, mergeProps as ie, nextTick as g, normalizeClass as _, openBlock as v, ref as y, renderList as b, toDisplayString as x, toRef as ae, unref as S, useAttrs as C, vModelText as w, watch as T, withCtx as E, withDirectives as D, withModifiers as O } from "vue";
12
13
  //#region src/components/CommandMenu/CommandMenu.vue?vue&type=script&setup=true&lang.ts
13
14
  var k = ["aria-label"], A = ["placeholder", "aria-label"], j = [
14
15
  "aria-selected",
@@ -25,7 +26,7 @@ var k = ["aria-label"], A = ["placeholder", "aria-label"], j = [
25
26
  }, F = {
26
27
  key: 0,
27
28
  class: "m-commandmenu__empty"
28
- }, I = /* @__PURE__ */ g({
29
+ }, I = /* @__PURE__ */ h({
29
30
  inheritAttrs: !1,
30
31
  __name: "CommandMenu",
31
32
  props: {
@@ -47,33 +48,30 @@ var k = ["aria-label"], A = ["placeholder", "aria-label"], j = [
47
48
  }
48
49
  },
49
50
  emits: ["update:modelValue"],
50
- setup(g, { emit: I }) {
51
- let L = g, R = I, ae = ie(), { rootAttrs: z } = e(ae, () => L.pt), B = o(), { transitionName: V, transitionCss: H } = n({
51
+ setup(h, { emit: I }) {
52
+ let L = h, oe = I, R = C(), { rootAttrs: z } = e(R, () => L.pt), B = ne(), { transitionName: V, transitionCss: H } = n({
52
53
  role: "tooltip",
53
54
  local: () => L.transition,
54
55
  componentName: "CommandMenu",
55
56
  fallback: "fade"
56
- }), U = s(), W = u(() => L.placeholder ?? U.value.searchCommands), G = b(""), K = b(null), q = b(null), J = b(0), Y = u(() => r(L, B.value.appendTo)), X = u(() => {
57
- let e = G.value.trim().toLowerCase();
58
- return e ? L.model.filter((t) => t.label.toLowerCase().includes(e)) : L.model;
59
- });
57
+ }), U = o(), W = l(() => L.placeholder ?? U.value.searchCommands), G = y(""), K = y(null), q = y(null), J = y(0), Y = l(() => ee(L, B.value.appendTo)), X = l(() => te(L.model, G.value));
60
58
  function Z() {
61
- R("update:modelValue", !1);
59
+ oe("update:modelValue", !1);
62
60
  }
63
61
  function Q(e) {
64
62
  e.disabled || (e.command?.(), Z());
65
63
  }
66
64
  function $(e) {
67
- return ee(e.icon);
65
+ return i(e.icon);
68
66
  }
69
- function oe(e) {
67
+ function se(e) {
70
68
  if (e.key === "ArrowDown" && (e.preventDefault(), J.value = Math.min(X.value.length - 1, J.value + 1)), e.key === "ArrowUp" && (e.preventDefault(), J.value = Math.max(0, J.value - 1)), e.key === "Enter") {
71
69
  let t = X.value[J.value];
72
70
  t && (e.preventDefault(), Q(t));
73
71
  }
74
72
  }
75
73
  return a({
76
- open: re(L, "modelValue"),
74
+ open: ae(L, "modelValue"),
77
75
  container: K,
78
76
  blockScroll: !0,
79
77
  autoFocus: !1,
@@ -82,64 +80,64 @@ var k = ["aria-label"], A = ["placeholder", "aria-label"], j = [
82
80
  G.value = "", J.value = 0;
83
81
  }
84
82
  }), T(() => L.modelValue, async (e) => {
85
- e && (await _(), q.value?.focus());
83
+ e && (await g(), q.value?.focus());
86
84
  }), T(X, () => {
87
85
  J.value = 0;
88
- }), (e, n) => (y(), d(c, {
86
+ }), (e, n) => (v(), u(c, {
89
87
  to: Y.value.to,
90
88
  disabled: Y.value.disabled
91
- }, [h(l, {
92
- name: C(V),
93
- css: C(H)
89
+ }, [m(re, {
90
+ name: S(V),
91
+ css: S(H)
94
92
  }, {
95
- default: E(() => [g.modelValue ? (y(), p("div", ne({ key: 0 }, C(z), {
93
+ default: E(() => [h.modelValue ? (v(), f("div", ie({ key: 0 }, S(z), {
96
94
  class: "m-commandmenu-backdrop",
97
95
  onClick: O(Z, ["self"])
98
- }), [m("div", {
96
+ }), [p("div", {
99
97
  ref_key: "panelRef",
100
98
  ref: K,
101
99
  class: "m-commandmenu",
102
100
  role: "dialog",
103
101
  "aria-modal": "true",
104
- "aria-label": C(U).commandPalette,
102
+ "aria-label": S(U).commandPalette,
105
103
  tabindex: "-1",
106
- onKeydown: oe
107
- }, [D(m("input", {
104
+ onKeydown: se
105
+ }, [D(p("input", {
108
106
  ref_key: "inputRef",
109
107
  ref: q,
110
108
  "onUpdate:modelValue": n[0] ||= (e) => G.value = e,
111
109
  class: "m-commandmenu__input",
112
110
  type: "search",
113
111
  placeholder: W.value,
114
- "aria-label": C(U).searchCommands
115
- }, null, 8, A), [[w, G.value]]), h(i, {
112
+ "aria-label": S(U).searchCommands
113
+ }, null, 8, A), [[w, G.value]]), m(r, {
116
114
  tag: "ul",
117
115
  role: "listbox",
118
116
  class: "m-commandmenu__list",
119
117
  "fit-content": "",
120
118
  "view-class": "m-commandmenu__list-view"
121
119
  }, {
122
- default: E(() => [(y(!0), p(te, null, x(X.value, (e, n) => (y(), p("li", {
120
+ default: E(() => [(v(!0), f(s, null, b(X.value, (e, n) => (v(), f("li", {
123
121
  key: `${e.label}-${n}`,
124
122
  role: "presentation"
125
- }, [m("button", {
123
+ }, [p("button", {
126
124
  type: "button",
127
- class: v(["m-commandmenu__item", { "m-commandmenu__item--active": n === J.value }]),
125
+ class: _(["m-commandmenu__item", { "m-commandmenu__item--active": n === J.value }]),
128
126
  role: "option",
129
127
  "aria-selected": n === J.value,
130
128
  disabled: e.disabled,
131
129
  onClick: (t) => Q(e),
132
130
  onMouseenter: (e) => J.value = n
133
131
  }, [
134
- $(e) ? (y(), p("span", M, [h(t, {
132
+ $(e) ? (v(), f("span", M, [m(t, {
135
133
  name: $(e),
136
134
  size: "sm"
137
- }, null, 8, ["name"])])) : f("", !0),
138
- m("span", N, S(e.label), 1),
139
- e.shortcut ? (y(), p("span", P, S(e.shortcut), 1)) : f("", !0)
140
- ], 42, j)]))), 128)), X.value.length ? f("", !0) : (y(), p("li", F, S(C(U).noMatch), 1))]),
135
+ }, null, 8, ["name"])])) : d("", !0),
136
+ p("span", N, x(e.label), 1),
137
+ e.shortcut ? (v(), f("span", P, x(e.shortcut), 1)) : d("", !0)
138
+ ], 42, j)]))), 128)), X.value.length ? d("", !0) : (v(), f("li", F, x(S(U).noMatch), 1))]),
141
139
  _: 1
142
- })], 40, k)], 16)) : f("", !0)]),
140
+ })], 40, k)], 16)) : d("", !0)]),
143
141
  _: 1
144
142
  }, 8, ["name", "css"])], 8, ["to", "disabled"]));
145
143
  }
@@ -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,
@@ -615,7 +609,7 @@
615
609
  .m-zoom-enter-from,
616
610
  .m-zoom-leave-to {
617
611
  opacity: 0;
618
- transform: scale(0.9);
612
+ transform: scale(0.95);
619
613
  }
620
614
 
621
615
  .m-slide-up-enter-active,
@@ -660,44 +654,6 @@
660
654
  transform: translateX(calc(var(--m-motion-distance) * -1));
661
655
  }
662
656
 
663
- @media (prefers-reduced-motion: reduce) {
664
- html:not([data-m-ignore-reduced-motion]) .m-fade-enter-active,
665
- html:not([data-m-ignore-reduced-motion]) .m-fade-leave-active,
666
- html:not([data-m-ignore-reduced-motion]) .m-scale-fade-enter-active,
667
- html:not([data-m-ignore-reduced-motion]) .m-scale-fade-leave-active,
668
- html:not([data-m-ignore-reduced-motion]) .m-slide-fade-enter-active,
669
- html:not([data-m-ignore-reduced-motion]) .m-slide-fade-leave-active,
670
- html:not([data-m-ignore-reduced-motion]) .m-zoom-enter-active,
671
- html:not([data-m-ignore-reduced-motion]) .m-zoom-leave-active,
672
- html:not([data-m-ignore-reduced-motion]) .m-slide-up-enter-active,
673
- html:not([data-m-ignore-reduced-motion]) .m-slide-up-leave-active,
674
- html:not([data-m-ignore-reduced-motion]) .m-slide-down-enter-active,
675
- html:not([data-m-ignore-reduced-motion]) .m-slide-down-leave-active,
676
- html:not([data-m-ignore-reduced-motion]) .m-slide-left-enter-active,
677
- html:not([data-m-ignore-reduced-motion]) .m-slide-left-leave-active,
678
- html:not([data-m-ignore-reduced-motion]) .m-slide-right-enter-active,
679
- html:not([data-m-ignore-reduced-motion]) .m-slide-right-leave-active {
680
- transition: none;
681
- }
682
-
683
- html:not([data-m-ignore-reduced-motion]) .m-scale-fade-enter-from,
684
- html:not([data-m-ignore-reduced-motion]) .m-scale-fade-leave-to,
685
- html:not([data-m-ignore-reduced-motion]) .m-slide-fade-enter-from,
686
- html:not([data-m-ignore-reduced-motion]) .m-slide-fade-leave-to,
687
- html:not([data-m-ignore-reduced-motion]) .m-zoom-enter-from,
688
- html:not([data-m-ignore-reduced-motion]) .m-zoom-leave-to,
689
- html:not([data-m-ignore-reduced-motion]) .m-slide-up-enter-from,
690
- html:not([data-m-ignore-reduced-motion]) .m-slide-up-leave-to,
691
- html:not([data-m-ignore-reduced-motion]) .m-slide-down-enter-from,
692
- html:not([data-m-ignore-reduced-motion]) .m-slide-down-leave-to,
693
- html:not([data-m-ignore-reduced-motion]) .m-slide-left-enter-from,
694
- html:not([data-m-ignore-reduced-motion]) .m-slide-left-leave-to,
695
- html:not([data-m-ignore-reduced-motion]) .m-slide-right-enter-from,
696
- html:not([data-m-ignore-reduced-motion]) .m-slide-right-leave-to {
697
- transform: none;
698
- }
699
- }
700
-
701
657
  [data-m-motion="reduced"] .m-fade-enter-active,
702
658
  [data-m-motion="reduced"] .m-fade-leave-active,
703
659
  [data-m-motion="reduced"] .m-scale-fade-enter-active,
@@ -1192,17 +1148,6 @@
1192
1148
  animation: none !important;
1193
1149
  }
1194
1150
 
1195
- @media (prefers-reduced-motion: reduce) {
1196
- html:not([data-m-ignore-reduced-motion]) *,
1197
- html:not([data-m-ignore-reduced-motion]) *::before,
1198
- html:not([data-m-ignore-reduced-motion]) *::after {
1199
- animation-duration: 0.01ms !important;
1200
- animation-iteration-count: 1 !important;
1201
- scroll-behavior: auto !important;
1202
- transition-duration: 0.01ms !important;
1203
- }
1204
- }
1205
-
1206
1151
  .m-icon {
1207
1152
  color: currentColor;
1208
1153
  display: inline-flex;
@@ -1247,12 +1192,6 @@
1247
1192
  }
1248
1193
  }
1249
1194
 
1250
- @media (prefers-reduced-motion: reduce) {
1251
- html:not([data-m-ignore-reduced-motion]) .m-icon--spin svg {
1252
- animation: none;
1253
- }
1254
- }
1255
-
1256
1195
  :root[data-m-motion='none'] .m-icon--spin svg,
1257
1196
  :root[data-m-motion='reduced'] .m-icon--spin svg {
1258
1197
  animation: none;
@@ -1382,14 +1321,6 @@
1382
1321
  opacity: 0;
1383
1322
  }
1384
1323
 
1385
- @media (prefers-reduced-motion: reduce) {
1386
- html:not([data-m-ignore-reduced-motion]) .m-scrollbar__thumb,
1387
- html:not([data-m-ignore-reduced-motion]) .m-scrollbar-fade-enter-active,
1388
- html:not([data-m-ignore-reduced-motion]) .m-scrollbar-fade-leave-active {
1389
- transition: none;
1390
- }
1391
- }
1392
-
1393
1324
  :root[data-m-motion='none'] .m-scrollbar__thumb,
1394
1325
  :root[data-m-motion='none'] .m-scrollbar-fade-enter-active,
1395
1326
  :root[data-m-motion='none'] .m-scrollbar-fade-leave-active,
@@ -59,13 +59,20 @@
59
59
  min-height: 0;
60
60
  }
61
61
 
62
- .m-accordion-collapse-enter-active,
62
+ .m-accordion-collapse-enter-active {
63
+ display: grid;
64
+ overflow: hidden;
65
+ transition:
66
+ grid-template-rows var(--m-motion-enter) var(--m-motion-ease),
67
+ opacity var(--m-motion-enter) var(--m-motion-ease);
68
+ }
69
+
63
70
  .m-accordion-collapse-leave-active {
64
71
  display: grid;
65
72
  overflow: hidden;
66
73
  transition:
67
- grid-template-rows var(--m-motion-normal) var(--m-motion-ease),
68
- opacity var(--m-motion-normal) var(--m-motion-ease);
74
+ grid-template-rows var(--m-motion-exit) var(--m-motion-ease),
75
+ opacity var(--m-motion-exit) var(--m-motion-ease);
69
76
  }
70
77
 
71
78
  .m-accordion-collapse-enter-active,
@@ -79,13 +86,6 @@
79
86
  opacity: 0;
80
87
  }
81
88
 
82
- @media (prefers-reduced-motion: reduce) {
83
- html:not([data-m-ignore-reduced-motion]) .m-accordion-collapse-enter-active,
84
- html:not([data-m-ignore-reduced-motion]) .m-accordion-collapse-leave-active {
85
- transition: none;
86
- }
87
- }
88
-
89
89
  [data-m-motion="reduced"] .m-accordion-collapse-enter-active,
90
90
  [data-m-motion="reduced"] .m-accordion-collapse-leave-active,
91
91
  [data-m-motion="none"] .m-accordion-collapse-enter-active,
@@ -1 +1 @@
1
- {"version":3,"file":"AutoComplete.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AutoComplete/AutoComplete.vue"],"names":[],"mappings":";;AAoWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAqjB5F,QAAA,IAAyB,QAAQ;;CAAW,EAAE,QAAQ,IAAW,EAAE,QAAQ;;CAAY,CAAE;AACzF,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,GAC1C;IAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,GAC3C;IAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAU7C,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;6EAId,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"AutoComplete.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AutoComplete/AutoComplete.vue"],"names":[],"mappings":";;AA8VA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AA+iB5F,QAAA,IAAyB,QAAQ;;CAAW,EAAE,QAAQ,IAAW,EAAE,QAAQ;;CAAY,CAAE;AACzF,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,GAC1C;IAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,GAC3C;IAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAU7C,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;6EAId,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -160,13 +160,6 @@
160
160
  width: var(--m-autocomplete-spinner-size);
161
161
  }
162
162
 
163
- @media (prefers-reduced-motion: reduce) {
164
- html:not([data-m-ignore-reduced-motion]) .m-autocomplete__spinner {
165
- animation: none;
166
- border-top-color: var(--m-color-text-muted);
167
- }
168
- }
169
-
170
163
  [data-m-motion="reduced"] .m-autocomplete__spinner {
171
164
  animation: none;
172
165
  border-top-color: var(--m-color-text-muted);
@@ -158,13 +158,6 @@
158
158
  }
159
159
  }
160
160
 
161
- @media (prefers-reduced-motion: reduce) {
162
- html:not([data-m-ignore-reduced-motion]) .m-badge--processing::after {
163
- animation: none;
164
- opacity: 0;
165
- }
166
- }
167
-
168
161
  [data-m-motion="reduced"] .m-badge--processing::after,
169
162
  [data-m-motion="none"] .m-badge--processing::after {
170
163
  animation: none;
@@ -33,13 +33,6 @@
33
33
  opacity: 0;
34
34
  }
35
35
 
36
- @media (prefers-reduced-motion: reduce) {
37
- html:not([data-m-ignore-reduced-motion]) .m-blockui-enter-active,
38
- html:not([data-m-ignore-reduced-motion]) .m-blockui-leave-active {
39
- transition: none;
40
- }
41
- }
42
-
43
36
  [data-m-motion="reduced"] .m-blockui-enter-active,
44
37
  [data-m-motion="reduced"] .m-blockui-leave-active,
45
38
  [data-m-motion="none"] .m-blockui-enter-active,
@@ -35,6 +35,8 @@ declare const __VLS_base: DefineComponent<ButtonProps, {
35
35
  fluid: boolean;
36
36
  badgeSeverity: ButtonBadgeSeverity;
37
37
  nativeType: "button" | "submit" | "reset";
38
+ ripple: boolean;
39
+ press: boolean;
38
40
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
39
41
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
40
42
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- {"version":3,"file":"Button.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.vue"],"names":[],"mappings":";AAsJA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAqG1C,iBAAS,KAAK,SAEb;AA0HD,QAAA,IAAI,OAAO,IAAU,EAAE,OAAO;;CAAU,EAAE,QAAQ,IAAY,CAAE;AAChE,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAChD;IAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GACzC;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAOhD,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;6EAKd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"Button.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.vue"],"names":[],"mappings":";AA6OA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAoL1C,iBAAS,KAAK,SAEb;AA2ID,QAAA,IAAI,OAAO,IAAU,EAAE,OAAO;;CAAU,EAAE,QAAQ,IAAY,CAAE;AAChE,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAChD;IAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GACzC;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAQhD,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;6EAKd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -43,21 +43,28 @@
43
43
  border-color var(--m-motion-fast) var(--m-motion-ease),
44
44
  color var(--m-motion-fast) var(--m-motion-ease),
45
45
  box-shadow var(--m-motion-fast) var(--m-motion-ease),
46
- opacity var(--m-motion-fast) var(--m-motion-ease);
46
+ opacity var(--m-motion-fast) var(--m-motion-ease),
47
+ transform 160ms var(--m-motion-ease);
47
48
  vertical-align: middle;
48
49
  white-space: nowrap;
49
50
  }
50
51
 
51
- .m-button:hover:not(:disabled) {
52
- background: var(--m-button-hover-bg);
53
- border-color: var(--m-button-hover-border);
54
- color: var(--m-button-hover-fg);
52
+ @media (hover: hover) and (pointer: fine) {
53
+ .m-button:hover:not(:disabled) {
54
+ background: var(--m-button-hover-bg);
55
+ border-color: var(--m-button-hover-border);
56
+ color: var(--m-button-hover-fg);
57
+ }
55
58
  }
56
59
 
57
60
  .m-button:active:not(:disabled) {
58
61
  background: var(--m-button-active-bg);
59
62
  }
60
63
 
64
+ .m-button--press:active:not(:disabled) {
65
+ transform: scale(0.97);
66
+ }
67
+
61
68
  /* Naive-style focus: soft glow, not outline-offset ring */
62
69
  .m-button:focus {
63
70
  outline: none;
@@ -579,6 +586,52 @@
579
586
  justify-content: center;
580
587
  }
581
588
 
589
+ .m-button__icon,
590
+ .m-button__label,
591
+ .m-button__badge {
592
+ position: relative;
593
+ z-index: 1;
594
+ }
595
+
596
+ .m-button__ripple {
597
+ border-radius: inherit;
598
+ inset: 0;
599
+ overflow: hidden;
600
+ pointer-events: none;
601
+ position: absolute;
602
+ z-index: 0;
603
+ }
604
+
605
+ .m-button__ripple-wave {
606
+ background: currentColor;
607
+ border-radius: var(--m-radius-full);
608
+ opacity: 0;
609
+ pointer-events: none;
610
+ position: absolute;
611
+ transform: scale(0);
612
+ will-change: transform, opacity;
613
+ }
614
+
615
+ /* Used only when Web Animations API is unavailable. */
616
+ .m-button__ripple-wave--fallback {
617
+ animation: m-button-ripple 560ms var(--m-motion-ease) forwards;
618
+ }
619
+
620
+ @keyframes m-button-ripple {
621
+ 0% {
622
+ opacity: 0.42;
623
+ transform: scale(0);
624
+ }
625
+ 55% {
626
+ opacity: 0.22;
627
+ transform: scale(0.55);
628
+ }
629
+ 100% {
630
+ opacity: 0;
631
+ transform: scale(1);
632
+ }
633
+ }
634
+
582
635
  .m-button__icon {
583
636
  flex: 0 0 auto;
584
637
  width: var(--m-button-icon-size);
@@ -662,13 +715,11 @@
662
715
  }
663
716
  }
664
717
 
665
- @media (prefers-reduced-motion: reduce) {
666
- html:not([data-m-ignore-reduced-motion]) .m-button__spinner {
667
- animation: none;
668
- }
669
- }
670
-
671
718
  [data-m-motion="reduced"] .m-button__spinner,
672
719
  [data-m-motion="none"] .m-button__spinner {
673
720
  animation: none;
674
721
  }
722
+
723
+ [data-m-motion="none"] .m-button__ripple-wave {
724
+ display: none;
725
+ }
@@ -55,6 +55,10 @@ export interface ButtonProps {
55
55
  nativeType?: ButtonHTMLAttributes['type'];
56
56
  /** Accessible name, recommended for icon-only buttons. */
57
57
  ariaLabel?: string;
58
+ /** Click ripple ink. Default `true`. Disabled when theme motion is `none`. */
59
+ ripple?: boolean;
60
+ /** Press scale on click. Default `true`. */
61
+ press?: boolean;
58
62
  }
59
63
  export interface ButtonEmits {
60
64
  (event: 'click', value: MouseEvent): void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,4DAA4D;AAC5D,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,WAAW,GACX,SAAS,GACT,MAAM,GACN,SAAS;AACX,2CAA2C;GACzC,MAAM,GACN,MAAM,GACN,QAAQ,GACR,UAAU,CAAA;AAEd,6CAA6C;AAC7C,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,CAAA;AAEjF,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;AAErD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;AAE/D,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,cAAc,EAAE,SAAS,GAAG,MAAM,CAAC,GAAG,IAAI,CAAA;AAEpF,MAAM,WAAW,WAAW;IAC1B,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4DAA4D;IAC5D,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC3B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uBAAuB;IACvB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yCAAyC;IACzC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,8CAA8C;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,+BAA+B;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,kDAAkD;IAClD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,gEAAgE;IAChE,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACtC,yBAAyB;IACzB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,sCAAsC;IACtC,UAAU,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAA;IACzC,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,eAAe,CAAA;IACpB,uCAAuC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Button/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { CardProps } from './types';
1
+ import { CardProps, CardShadow } from './types';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  declare var __VLS_1: {}, __VLS_3: {}, __VLS_11: {}, __VLS_13: {};
4
4
  type __VLS_Slots = {} & {
@@ -13,7 +13,7 @@ type __VLS_Slots = {} & {
13
13
  declare const __VLS_base: DefineComponent<CardProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<CardProps> & Readonly<{}>, {
14
14
  headingLevel: 1 | 2 | 3 | 4 | 5 | 6;
15
15
  bordered: boolean;
16
- hoverable: boolean;
16
+ shadow: CardShadow;
17
17
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
18
18
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
19
19
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- {"version":3,"file":"Card.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.vue"],"names":[],"mappings":";AA2DA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAiHxC,QAAA,IAAI,OAAO,IAAU,EAAE,OAAO,IAAU,EAAE,QAAQ,IAAW,EAAE,QAAQ,IAAY,CAAE;AACrF,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC1C;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC3C;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,GAC7C;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAK/C,QAAA,MAAM,UAAU;;;;6EAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"Card.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.vue"],"names":[],"mappings":";AA4DA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAkHxC,QAAA,IAAI,OAAO,IAAU,EAAE,OAAO,IAAU,EAAE,QAAQ,IAAW,EAAE,QAAQ,IAAY,CAAE;AACrF,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC1C;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC3C;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,GAC7C;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAK/C,QAAA,MAAM,UAAU;;;;6EAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { default as MCard } from './Card.vue';
2
- export type { CardProps, CardSize } from './types';
2
+ export type { CardProps, CardShadow, CardSize } from './types';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Card/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAChB,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAC7C,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Card/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAChB,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAC7C,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA"}
@@ -1,8 +1,14 @@
1
1
  .m-card {
2
+ --m-card-shadow-rest: var(--m-shadow-raised);
2
3
  background: var(--m-color-surface);
3
4
  border: var(--m-border-width) solid var(--m-color-border);
4
5
  border-radius: var(--m-radius-lg);
6
+ box-shadow: none;
5
7
  color: var(--m-color-text);
8
+ overflow: visible;
9
+ }
10
+
11
+ .m-card:has(> .m-card__cover) {
6
12
  overflow: hidden;
7
13
  }
8
14
 
@@ -39,16 +45,23 @@
39
45
  border-color: transparent;
40
46
  }
41
47
 
42
- .m-card--hoverable {
43
- transition: box-shadow var(--m-motion-fast) var(--m-motion-ease), border-color var(--m-motion-fast) var(--m-motion-ease);
48
+ .m-card--shadow-hover,
49
+ .m-card--shadow-always {
50
+ transition:
51
+ box-shadow var(--m-motion-fast) var(--m-motion-ease),
52
+ border-color var(--m-motion-fast) var(--m-motion-ease);
53
+ }
54
+
55
+ .m-card--shadow-always {
56
+ box-shadow: var(--m-card-shadow-rest);
44
57
  }
45
58
 
46
- .m-card--hoverable:hover {
47
- border-color: color-mix(in srgb, var(--m-color-primary) 35%, var(--m-color-border));
48
- box-shadow: var(--m-shadow-md);
59
+ .m-card--shadow-hover:hover {
60
+ box-shadow: var(--m-card-shadow-rest);
49
61
  }
50
62
 
51
- .m-card--hoverable:focus-within {
63
+ .m-card--shadow-hover:focus-within,
64
+ .m-card--shadow-always:focus-within {
52
65
  border-color: var(--m-color-primary-hover);
53
66
  box-shadow: var(--m-focus-shadow);
54
67
  }
@@ -66,6 +79,7 @@
66
79
  }
67
80
 
68
81
  .m-card__cover {
82
+ border-radius: var(--m-radius-lg) var(--m-radius-lg) 0 0;
69
83
  display: block;
70
84
  overflow: hidden;
71
85
  }
@@ -1,6 +1,8 @@
1
1
  import { RootPassThrough } from '../../shared/passThrough';
2
2
  import { MSizeInput } from '../../shared/types';
3
3
  export type CardSize = MSizeInput;
4
+ /** When to show the elevation shadow. */
5
+ export type CardShadow = 'never' | 'hover' | 'always';
4
6
  export interface CardProps {
5
7
  pt?: RootPassThrough;
6
8
  title?: string;
@@ -12,7 +14,7 @@ export interface CardProps {
12
14
  size?: CardSize;
13
15
  /** Draw a border. Defaults to `true`. */
14
16
  bordered?: boolean;
15
- /** Elevate on hover. */
16
- hoverable?: boolean;
17
+ /** Elevation shadow timing. Defaults to `never`. */
18
+ shadow?: CardShadow;
17
19
  }
18
20
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Card/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAA;AAEjC,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,eAAe,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACpC,6CAA6C;IAC7C,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Card/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAA;AACjC,yCAAyC;AACzC,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAA;AAErD,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,eAAe,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACpC,6CAA6C;IAC7C,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oDAAoD;IACpD,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB"}
@@ -95,12 +95,6 @@
95
95
  outline: none;
96
96
  }
97
97
 
98
- @media (prefers-reduced-motion: reduce) {
99
- html:not([data-m-ignore-reduced-motion]) .m-carousel__track {
100
- transition: none;
101
- }
102
- }
103
-
104
98
  [data-m-motion="reduced"] .m-carousel__track,
105
99
  [data-m-motion="none"] .m-carousel__track {
106
100
  transition: none;