morya-ui 0.3.2 → 0.3.3

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 (64) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/{Button-dMqRmoYa.js → Button-gBiRj7wz.js} +11 -6
  3. package/dist/{FlyoutSubmenu-BrUPmJa1.js → FlyoutSubmenu-H_741alW.js} +2 -2
  4. package/dist/{Loading-BSsRs6v9.js → Loading-qS2Yv_gm.js} +1 -1
  5. package/dist/{Pagination-CqpC5EAs.js → Pagination-Bvv2qvEK.js} +1 -1
  6. package/dist/{Popover-BQ07q4VV.js → Popover-rnZG_ap0.js} +3 -3
  7. package/dist/{Select-CKGrSoaC.js → Select-CiXd074W.js} +3 -3
  8. package/dist/{Tooltip-D5DO0B3z.js → Tooltip-B02o9BOW.js} +3 -3
  9. package/dist/auto-complete/index.js +3 -3
  10. package/dist/block-ui/index.js +1 -1
  11. package/dist/button/index.js +1 -1
  12. package/dist/button/style.css +277 -40
  13. package/dist/cascade-select/index.js +3 -3
  14. package/dist/command-menu/index.js +1 -1
  15. package/dist/components/Button/Button.vue.d.ts +1 -0
  16. package/dist/components/Button/Button.vue.d.ts.map +1 -1
  17. package/dist/components/Button/styles.css +277 -40
  18. package/dist/components/Button/types.d.ts +9 -4
  19. package/dist/components/Button/types.d.ts.map +1 -1
  20. package/dist/components/ContextMenu/ContextMenu.vue.d.ts.map +1 -1
  21. package/dist/components/ContextMenu/styles.css +19 -14
  22. package/dist/components/Menu/styles.css +4 -4
  23. package/dist/components/Popover/styles.css +11 -72
  24. package/dist/config-provider/style.css +277 -40
  25. package/dist/confirm-dialog/index.js +2 -2
  26. package/dist/confirm-dialog/style.css +277 -40
  27. package/dist/confirm-popup/index.js +5 -5
  28. package/dist/confirm-popup/style.css +277 -40
  29. package/dist/context-menu/index.js +105 -96
  30. package/dist/context-menu/style.css +19 -14
  31. package/dist/data-view/index.js +2 -2
  32. package/dist/date-picker/index.js +3 -3
  33. package/dist/dialog/index.js +2 -2
  34. package/dist/dialog/style.css +277 -40
  35. package/dist/drawer/index.js +1 -1
  36. package/dist/dropdown/index.js +4 -4
  37. package/dist/index.js +37 -21
  38. package/dist/loading/index.js +1 -1
  39. package/dist/mega-menu/index.js +3 -3
  40. package/dist/menu/index.js +5 -5
  41. package/dist/menu/style.css +15 -76
  42. package/dist/menubar/index.js +3 -3
  43. package/dist/message/index.js +1 -1
  44. package/dist/{overlayPlacement-Cd20JTD_.js → overlayPlacement-qwEJPVS4.js} +8 -8
  45. package/dist/page/index.js +1 -1
  46. package/dist/page/style.css +277 -40
  47. package/dist/pagination/index.js +1 -1
  48. package/dist/popover/index.js +1 -1
  49. package/dist/popover/style.css +11 -72
  50. package/dist/select/index.js +1 -1
  51. package/dist/shared/overlayPlacement.d.ts.map +1 -1
  52. package/dist/speed-dial/index.js +3 -3
  53. package/dist/split-button/index.js +3 -3
  54. package/dist/split-button/style.css +277 -40
  55. package/dist/styles.css +1 -1
  56. package/dist/table/index.js +3 -3
  57. package/dist/theme/motionPresets.d.ts.map +1 -1
  58. package/dist/tiered-menu/index.js +4 -4
  59. package/dist/toast/index.js +1 -1
  60. package/dist/tooltip/index.js +1 -1
  61. package/dist/tree-select/index.js +3 -3
  62. package/dist/{useFloatingViewportSync-DZdJ7W8n.js → useFloatingViewportSync-wLLKIGUA.js} +4 -1
  63. package/dist/{useMotionTransition-Bxnnb_9u.js → useMotionTransition-95Y79FoL.js} +1 -1
  64. package/package.json +2 -1
package/CHANGELOG.md CHANGED
@@ -1,16 +1,44 @@
1
1
  # morya-ui
2
2
 
3
+ ## 0.3.3
4
+
5
+ ### 新功能
6
+
7
+ - add L2 decision recipes for component selection
8
+ - support disabling the link underline
9
+
10
+ ### 修复
11
+
12
+ - dismiss overlay on page scroll or resize
13
+ - align overlay motion with scale-fade
14
+ - correct link, plain, and ghost variant styles
15
+ - disable ripple and press by default
16
+ - correct import paths for styles in Card, Icon, Page, and Pagination components
17
+
18
+ ### 文档
19
+
20
+ - wire morya-ui-pages to decision recipes
21
+
22
+ ### 变更
23
+
24
+ - align menu item chrome with Select and Dropdown
25
+ - add full Button prop demos
26
+
3
27
  ## 0.3.2
4
28
 
5
29
  ### 新功能
6
30
 
7
31
  - add click ripple and a press-scale toggle
32
+ - add link underline toggle
8
33
  - replace quick jumper with a filterable Select
9
34
  - refine ops layout primitives and P2 filter/stat APIs
10
35
  - add shadow prop and remove hoverable
11
36
 
12
37
  ### 修复
13
38
 
39
+ - keep link buttons backgroundless on hover and press
40
+ - make plain match outlined hover fill
41
+ - make ghost match text hover fill
14
42
  - Panel component change demo component width
15
43
  - remove OS reduced-motion media queries from components
16
44
  - control intensity via library preference only
@@ -22,6 +50,8 @@
22
50
 
23
51
  ### 变更
24
52
 
53
+ - disable button click ripple by default
54
+ - disable button press scale by default
25
55
  - extract filter and expanded-key helpers
26
56
  - extract label filter helpers for option lists
27
57
  - extract sort, filter, and selection helpers
@@ -1,9 +1,9 @@
1
1
  import { r as e, t } from "./types-DGuu4Eg4.js";
2
2
  import { t as n } from "./Icon-od9Ob-Ay.js";
3
3
  import { o as r } from "./config-CapALqt3.js";
4
- import { Comment as i, Fragment as a, Text as o, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createTextVNode as f, defineComponent as p, normalizeClass as m, normalizeStyle as h, onBeforeUnmount as g, openBlock as _, ref as v, renderSlot as y, resolveDynamicComponent as b, toDisplayString as x, useSlots as ee } from "vue";
4
+ import { Comment as i, Fragment as a, Text as o, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createTextVNode as f, defineComponent as p, normalizeClass as m, normalizeStyle as h, onBeforeUnmount as g, openBlock as _, ref as v, renderSlot as y, resolveDynamicComponent as b, toDisplayString as x, useSlots as S } from "vue";
5
5
  //#region src/components/Button/Button.vue?vue&type=script&setup=true&lang.ts
6
- var S = [
6
+ var ee = [
7
7
  "type",
8
8
  "disabled",
9
9
  "autofocus",
@@ -44,6 +44,10 @@ var S = [
44
44
  type: Boolean,
45
45
  default: !1
46
46
  },
47
+ underline: {
48
+ type: Boolean,
49
+ default: !0
50
+ },
47
51
  ghost: {
48
52
  type: Boolean,
49
53
  default: !1
@@ -80,16 +84,16 @@ var S = [
80
84
  ariaLabel: {},
81
85
  ripple: {
82
86
  type: Boolean,
83
- default: !0
87
+ default: !1
84
88
  },
85
89
  press: {
86
90
  type: Boolean,
87
- default: !0
91
+ default: !1
88
92
  }
89
93
  },
90
94
  emits: ["click"],
91
95
  setup(p, { expose: E, emit: D }) {
92
- let O = p, k = D, A = ee(), j = v(null), M = v(null), N = /* @__PURE__ */ new Set(), P = s(() => !!A.default?.().some((e) => Z(e))), F = s(() => P.value || !!O.label?.trim()), I = s(() => O.outlined || O.variant === "outlined"), L = s(() => O.text || O.variant === "text"), R = s(() => O.link || O.variant === "link"), z = s(() => O.ghost || O.variant === "ghost"), B = s(() => O.quaternary || O.variant === "quaternary"), V = s(() => O.fluid), H = r("Button", () => O.size), U = s(() => e(H.value)), W = s(() => O.iconOnly || !F.value && !!(O.icon || A.icon || O.loading)), G = s(() => t(O.severity) ?? "primary"), K = s(() => typeof O.icon == "string" ? O.icon : void 0), q = s(() => typeof O.icon == "string" || !O.icon ? void 0 : O.icon), J = s(() => [
96
+ let O = p, k = D, A = S(), j = v(null), M = v(null), N = /* @__PURE__ */ new Set(), P = s(() => !!A.default?.().some((e) => Z(e))), F = s(() => P.value || !!O.label?.trim()), I = s(() => O.outlined || O.variant === "outlined"), L = s(() => O.text || O.variant === "text"), R = s(() => O.link || O.variant === "link"), z = s(() => O.ghost || O.variant === "ghost"), B = s(() => O.quaternary || O.variant === "quaternary"), V = s(() => O.fluid), H = r("Button", () => O.size), U = s(() => e(H.value)), W = s(() => O.iconOnly || !F.value && !!(O.icon || A.icon || O.loading)), G = s(() => t(O.severity) ?? "primary"), K = s(() => typeof O.icon == "string" ? O.icon : void 0), q = s(() => typeof O.icon == "string" || !O.icon ? void 0 : O.icon), J = s(() => [
93
97
  "m-button",
94
98
  `m-button--${G.value}`,
95
99
  `m-button--${H.value}`,
@@ -100,6 +104,7 @@ var S = [
100
104
  "m-button--text": L.value,
101
105
  "m-button--outlined": I.value,
102
106
  "m-button--link": R.value,
107
+ "m-button--link-underline": R.value && O.underline,
103
108
  "m-button--ghost": z.value,
104
109
  "m-button--quaternary": B.value,
105
110
  "m-button--plain": O.plain,
@@ -215,7 +220,7 @@ var S = [
215
220
  key: 3,
216
221
  class: m(X.value)
217
222
  }, x(p.badge), 3)) : l("", !0)
218
- ], 46, S));
223
+ ], 46, ee));
219
224
  }
220
225
  });
221
226
  //#endregion
@@ -1,6 +1,6 @@
1
1
  import { n as e } from "./overlay-oR-5MDuE.js";
2
- import { t } from "./overlayPlacement-Cd20JTD_.js";
3
- import { t as n } from "./useFloatingViewportSync-DZdJ7W8n.js";
2
+ import { t } from "./overlayPlacement-qwEJPVS4.js";
3
+ import { t as n } from "./useFloatingViewportSync-wLLKIGUA.js";
4
4
  import { c as r } from "./config-CapALqt3.js";
5
5
  import { Teleport as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, defineComponent as l, nextTick as u, normalizeClass as d, normalizeStyle as f, openBlock as p, ref as m, renderSlot as h, watch as g } from "vue";
6
6
  //#endregion
@@ -1,7 +1,7 @@
1
1
  import { a as e } from "./useComponentAttrs-e-5QAjdw.js";
2
2
  import { i as t } from "./types-DGuu4Eg4.js";
3
3
  import { t as n } from "./usePauseOffscreen-BIikV_gj.js";
4
- import { n as r, t as i } from "./useMotionTransition-Bxnnb_9u.js";
4
+ import { n as r, t as i } from "./useMotionTransition-95Y79FoL.js";
5
5
  import { n as a } from "./overlay-oR-5MDuE.js";
6
6
  import { i as o } from "./content-h8POj44-.js";
7
7
  import { t as s } from "./overlayHost-78CGtMgR.js";
@@ -1,6 +1,6 @@
1
1
  import { a as e } from "./useComponentAttrs-e-5QAjdw.js";
2
2
  import { t } from "./Icon-od9Ob-Ay.js";
3
- import { t as n } from "./Select-CKGrSoaC.js";
3
+ import { t as n } from "./Select-CiXd074W.js";
4
4
  import { n as r, t as i } from "./locale-Bzm2nbEp.js";
5
5
  import { Fragment as a, computed as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createVNode as u, defineComponent as d, mergeProps as f, normalizeClass as p, openBlock as m, renderList as h, toDisplayString as g, unref as _, useAttrs as v } from "vue";
6
6
  //#region src/components/Pagination/Pagination.vue?vue&type=script&setup=true&lang.ts
@@ -1,7 +1,7 @@
1
1
  import { a as e } from "./useComponentAttrs-e-5QAjdw.js";
2
- import { t } from "./useMotionTransition-Bxnnb_9u.js";
2
+ import { t } from "./useMotionTransition-95Y79FoL.js";
3
3
  import { n, t as r } from "./overlay-oR-5MDuE.js";
4
- import { t as i } from "./overlayPlacement-Cd20JTD_.js";
4
+ import { t as i } from "./overlayPlacement-qwEJPVS4.js";
5
5
  import { t as a } from "./useMId-BXFYayPP.js";
6
6
  import { c as o } from "./config-CapALqt3.js";
7
7
  import { Teleport as s, Transition as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createVNode as m, defineComponent as h, mergeProps as g, nextTick as _, normalizeClass as v, normalizeStyle as y, onBeforeUnmount as ee, openBlock as b, ref as x, renderSlot as S, unref as C, useAttrs as te, watch as ne, withCtx as re } from "vue";
@@ -43,7 +43,7 @@ var ie = ["aria-expanded", "aria-controls"], ae = ["id"], w = /* @__PURE__ */ h(
43
43
  role: "popup",
44
44
  local: () => E.transition,
45
45
  componentName: "Popover",
46
- fallback: "popover"
46
+ fallback: "scale-fade"
47
47
  }), N = a(), P = x(null), F = x(null), I = x(null), L = x({}), R = l(() => n(E, A.value.appendTo)), z = l(() => r(E, A.value.appendTo)), B, V;
48
48
  function H(e) {
49
49
  e && E.disabled || D("update:modelValue", e);
@@ -1,9 +1,9 @@
1
1
  import { i as e } from "./useComponentAttrs-e-5QAjdw.js";
2
2
  import { t } from "./Icon-od9Ob-Ay.js";
3
- import { t as n } from "./useMotionTransition-Bxnnb_9u.js";
3
+ import { t as n } from "./useMotionTransition-95Y79FoL.js";
4
4
  import { n as r, t as i } from "./overlay-oR-5MDuE.js";
5
- import { t as a } from "./overlayPlacement-Cd20JTD_.js";
6
- import { t as o } from "./useFloatingViewportSync-DZdJ7W8n.js";
5
+ import { t as a } from "./overlayPlacement-qwEJPVS4.js";
6
+ import { t as o } from "./useFloatingViewportSync-wLLKIGUA.js";
7
7
  import { t as s } from "./useMId-BXFYayPP.js";
8
8
  import { t as ee } from "./Scrollbar-DTeJ8P5b.js";
9
9
  import { t as c } from "./VirtualScroller-CHoFCmpP.js";
@@ -1,7 +1,7 @@
1
- import { t as e } from "./useMotionTransition-Bxnnb_9u.js";
1
+ import { t as e } from "./useMotionTransition-95Y79FoL.js";
2
2
  import { n as t, t as n } from "./overlay-oR-5MDuE.js";
3
- import { n as r, t as i } from "./overlayPlacement-Cd20JTD_.js";
4
- import { t as a } from "./useFloatingViewportSync-DZdJ7W8n.js";
3
+ import { n as r, t as i } from "./overlayPlacement-qwEJPVS4.js";
4
+ import { t as a } from "./useFloatingViewportSync-wLLKIGUA.js";
5
5
  import { t as o } from "./useMId-BXFYayPP.js";
6
6
  import { c as s } from "./config-CapALqt3.js";
7
7
  import { Teleport as c, Transition as l, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createVNode as m, defineComponent as h, nextTick as g, normalizeClass as _, normalizeStyle as v, onBeforeUnmount as y, openBlock as b, ref as x, renderSlot as S, toDisplayString as C, unref as w, withCtx as T } from "vue";
@@ -1,9 +1,9 @@
1
1
  import { i as e } from "../useComponentAttrs-e-5QAjdw.js";
2
2
  import { t } from "../Icon-od9Ob-Ay.js";
3
- import { t as n } from "../useMotionTransition-Bxnnb_9u.js";
3
+ import { t as n } from "../useMotionTransition-95Y79FoL.js";
4
4
  import { n as ee, t as te } from "../overlay-oR-5MDuE.js";
5
- import { t as ne } from "../overlayPlacement-Cd20JTD_.js";
6
- import { t as re } from "../useFloatingViewportSync-DZdJ7W8n.js";
5
+ import { t as ne } from "../overlayPlacement-qwEJPVS4.js";
6
+ import { t as re } from "../useFloatingViewportSync-wLLKIGUA.js";
7
7
  import { t as r } from "../useMId-BXFYayPP.js";
8
8
  import { t as i } from "../Scrollbar-DTeJ8P5b.js";
9
9
  import { n as a } from "../filterByQuery-Bczaxzih.js";
@@ -1,5 +1,5 @@
1
1
  import { a as e } from "../useComponentAttrs-e-5QAjdw.js";
2
- import { t } from "../useMotionTransition-Bxnnb_9u.js";
2
+ import { t } from "../useMotionTransition-95Y79FoL.js";
3
3
  import "./style.js";
4
4
  import { Transition as n, computed as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, mergeProps as l, openBlock as u, renderSlot as d, unref as f, useAttrs as p, withCtx as m } from "vue";
5
5
  //#region src/components/BlockUI/BlockUI.vue?vue&type=script&setup=true&lang.ts
@@ -1,5 +1,5 @@
1
1
  import { a as e } from "../useComponentAttrs-e-5QAjdw.js";
2
- import { t } from "../Button-dMqRmoYa.js";
2
+ import { t } from "../Button-gBiRj7wz.js";
3
3
  import "./style.js";
4
4
  import { computed as n, createElementBlock as r, defineComponent as i, mergeProps as a, openBlock as o, renderSlot as s, unref as c, useAttrs as l } from "vue";
5
5
  //#region src/components/Button/ButtonGroup.vue?vue&type=script&setup=true&lang.ts
@@ -1424,7 +1424,30 @@
1424
1424
  );
1425
1425
  }
1426
1426
 
1427
- .m-button--secondary.m-button--outlined {
1427
+ /* Idle matches outlined hover; hover/active deepen the tint. */
1428
+ .m-button--plain {
1429
+ --m-button-bg: color-mix(
1430
+ in srgb,
1431
+ var(--m-button-border) 10%,
1432
+ transparent
1433
+ );
1434
+ --m-button-fg: var(--m-button-border);
1435
+ --m-button-hover-bg: color-mix(
1436
+ in srgb,
1437
+ var(--m-button-border) 16%,
1438
+ transparent
1439
+ );
1440
+ --m-button-hover-fg: var(--m-button-border);
1441
+ --m-button-hover-border: var(--m-button-border);
1442
+ --m-button-active-bg: color-mix(
1443
+ in srgb,
1444
+ var(--m-button-border) 22%,
1445
+ transparent
1446
+ );
1447
+ }
1448
+
1449
+ .m-button--secondary.m-button--outlined,
1450
+ .m-button--secondary.m-button--plain {
1428
1451
  --m-button-border: var(--m-color-border);
1429
1452
  --m-button-fg: var(--m-color-text);
1430
1453
  --m-button-hover-fg: var(--m-color-text);
@@ -1435,13 +1458,16 @@
1435
1458
  --m-button-bg: transparent;
1436
1459
  --m-button-border: transparent;
1437
1460
  --m-button-fg: var(--m-color-primary);
1461
+ --m-button-hover-fg: var(--m-color-primary);
1462
+ --m-button-hover-border: transparent;
1463
+ }
1464
+
1465
+ .m-button--text {
1438
1466
  --m-button-hover-bg: color-mix(
1439
1467
  in srgb,
1440
1468
  var(--m-color-primary) 10%,
1441
1469
  transparent
1442
1470
  );
1443
- --m-button-hover-fg: var(--m-color-primary);
1444
- --m-button-hover-border: transparent;
1445
1471
  --m-button-active-bg: color-mix(
1446
1472
  in srgb,
1447
1473
  var(--m-color-primary) 16%,
@@ -1449,8 +1475,24 @@
1449
1475
  );
1450
1476
  }
1451
1477
 
1452
- .m-button--secondary.m-button--text,
1453
- .m-button--secondary.m-button--link {
1478
+ .m-button--link {
1479
+ --m-button-bg: transparent;
1480
+ --m-button-hover-bg: transparent;
1481
+ --m-button-active-bg: transparent;
1482
+ height: auto;
1483
+ min-height: 0;
1484
+ padding: 0;
1485
+ }
1486
+
1487
+ .m-button--link.m-button--link-underline:hover:not(:disabled) {
1488
+ text-decoration: underline;
1489
+ }
1490
+
1491
+ .m-button--link:not(.m-button--link-underline):hover:not(:disabled) {
1492
+ opacity: 0.8;
1493
+ }
1494
+
1495
+ .m-button--secondary.m-button--text {
1454
1496
  --m-button-fg: var(--m-color-text-muted);
1455
1497
  --m-button-hover-bg: color-mix(
1456
1498
  in srgb,
@@ -1460,8 +1502,12 @@
1460
1502
  --m-button-hover-fg: var(--m-color-text);
1461
1503
  }
1462
1504
 
1505
+ .m-button--secondary.m-button--link {
1506
+ --m-button-fg: var(--m-color-text-muted);
1507
+ --m-button-hover-fg: var(--m-color-text);
1508
+ }
1509
+
1463
1510
  .m-button--success.m-button--text,
1464
- .m-button--success.m-button--link,
1465
1511
  .m-button--success.m-button--outlined {
1466
1512
  --m-button-fg: var(--m-color-success);
1467
1513
  --m-button-border: var(--m-color-success);
@@ -1474,8 +1520,12 @@
1474
1520
  --m-button-hover-border: var(--m-color-success);
1475
1521
  }
1476
1522
 
1523
+ .m-button--success.m-button--link {
1524
+ --m-button-fg: var(--m-color-success);
1525
+ --m-button-hover-fg: var(--m-color-success);
1526
+ }
1527
+
1477
1528
  .m-button--info.m-button--text,
1478
- .m-button--info.m-button--link,
1479
1529
  .m-button--info.m-button--outlined {
1480
1530
  --m-button-fg: var(--m-color-info);
1481
1531
  --m-button-border: var(--m-color-info);
@@ -1488,8 +1538,12 @@
1488
1538
  --m-button-hover-border: var(--m-color-info);
1489
1539
  }
1490
1540
 
1541
+ .m-button--info.m-button--link {
1542
+ --m-button-fg: var(--m-color-info);
1543
+ --m-button-hover-fg: var(--m-color-info);
1544
+ }
1545
+
1491
1546
  .m-button--warn.m-button--text,
1492
- .m-button--warn.m-button--link,
1493
1547
  .m-button--warn.m-button--outlined {
1494
1548
  --m-button-fg: var(--m-color-warn);
1495
1549
  --m-button-border: var(--m-color-warn);
@@ -1502,8 +1556,12 @@
1502
1556
  --m-button-hover-border: var(--m-color-warn);
1503
1557
  }
1504
1558
 
1559
+ .m-button--warn.m-button--link {
1560
+ --m-button-fg: var(--m-color-warn);
1561
+ --m-button-hover-fg: var(--m-color-warn);
1562
+ }
1563
+
1505
1564
  .m-button--help.m-button--text,
1506
- .m-button--help.m-button--link,
1507
1565
  .m-button--help.m-button--outlined {
1508
1566
  --m-button-fg: var(--m-color-help);
1509
1567
  --m-button-border: var(--m-color-help);
@@ -1516,8 +1574,12 @@
1516
1574
  --m-button-hover-border: var(--m-color-help);
1517
1575
  }
1518
1576
 
1577
+ .m-button--help.m-button--link {
1578
+ --m-button-fg: var(--m-color-help);
1579
+ --m-button-hover-fg: var(--m-color-help);
1580
+ }
1581
+
1519
1582
  .m-button--danger.m-button--text,
1520
- .m-button--danger.m-button--link,
1521
1583
  .m-button--danger.m-button--outlined {
1522
1584
  --m-button-fg: var(--m-color-danger);
1523
1585
  --m-button-border: var(--m-color-danger);
@@ -1530,8 +1592,12 @@
1530
1592
  --m-button-hover-border: var(--m-color-danger);
1531
1593
  }
1532
1594
 
1595
+ .m-button--danger.m-button--link {
1596
+ --m-button-fg: var(--m-color-danger);
1597
+ --m-button-hover-fg: var(--m-color-danger);
1598
+ }
1599
+
1533
1600
  .m-button--contrast.m-button--text,
1534
- .m-button--contrast.m-button--link,
1535
1601
  .m-button--contrast.m-button--outlined {
1536
1602
  --m-button-fg: var(--m-color-contrast);
1537
1603
  --m-button-border: var(--m-color-contrast);
@@ -1544,9 +1610,14 @@
1544
1610
  --m-button-hover-border: var(--m-color-contrast);
1545
1611
  }
1546
1612
 
1613
+ .m-button--contrast.m-button--link {
1614
+ --m-button-fg: var(--m-color-contrast);
1615
+ --m-button-hover-fg: var(--m-color-contrast);
1616
+ }
1617
+
1547
1618
  .m-button--plain.m-button--text,
1548
- .m-button--plain.m-button--outlined,
1549
- .m-button--plain.m-button--link {
1619
+ .m-button--plain.m-button--outlined {
1620
+ --m-button-bg: transparent;
1550
1621
  --m-button-fg: var(--m-color-text-muted);
1551
1622
  --m-button-border: var(--m-color-border);
1552
1623
  --m-button-hover-bg: color-mix(
@@ -1556,69 +1627,178 @@
1556
1627
  );
1557
1628
  --m-button-hover-fg: var(--m-color-text);
1558
1629
  --m-button-hover-border: var(--m-color-border);
1630
+ --m-button-active-bg: color-mix(
1631
+ in srgb,
1632
+ var(--m-color-text-muted) 18%,
1633
+ transparent
1634
+ );
1559
1635
  }
1560
1636
 
1561
- .m-button--link {
1562
- height: auto;
1563
- min-height: 0;
1564
- padding: 0;
1565
- }
1566
-
1567
- .m-button--link:hover:not(:disabled) {
1568
- text-decoration: underline;
1637
+ .m-button--plain.m-button--link {
1638
+ --m-button-fg: var(--m-color-text-muted);
1639
+ --m-button-hover-fg: var(--m-color-text);
1569
1640
  }
1570
1641
 
1571
1642
  .m-button--ghost {
1572
- --m-button-bg: transparent;
1573
- --m-button-fg: var(--m-button-border);
1643
+ --m-button-bg: color-mix(
1644
+ in srgb,
1645
+ var(--m-color-primary) 10%,
1646
+ transparent
1647
+ );
1648
+ --m-button-border: transparent;
1649
+ --m-button-fg: var(--m-color-primary);
1574
1650
  --m-button-hover-bg: color-mix(
1575
1651
  in srgb,
1576
- var(--m-button-border) 12%,
1652
+ var(--m-color-primary) 16%,
1577
1653
  transparent
1578
1654
  );
1579
- --m-button-hover-fg: var(--m-button-border);
1580
- --m-button-hover-border: var(--m-button-border);
1655
+ --m-button-hover-fg: var(--m-color-primary);
1656
+ --m-button-hover-border: transparent;
1581
1657
  --m-button-active-bg: color-mix(
1582
1658
  in srgb,
1583
- var(--m-button-border) 18%,
1659
+ var(--m-color-primary) 22%,
1584
1660
  transparent
1585
1661
  );
1586
1662
  }
1587
1663
 
1588
1664
  .m-button--secondary.m-button--ghost {
1589
- --m-button-border: var(--m-color-border);
1665
+ --m-button-bg: color-mix(
1666
+ in srgb,
1667
+ var(--m-color-text-muted) 12%,
1668
+ transparent
1669
+ );
1590
1670
  --m-button-fg: var(--m-color-text);
1671
+ --m-button-hover-bg: color-mix(
1672
+ in srgb,
1673
+ var(--m-color-text-muted) 18%,
1674
+ transparent
1675
+ );
1591
1676
  --m-button-hover-fg: var(--m-color-text);
1677
+ --m-button-active-bg: color-mix(
1678
+ in srgb,
1679
+ var(--m-color-text-muted) 24%,
1680
+ transparent
1681
+ );
1592
1682
  }
1593
1683
 
1594
1684
  .m-button--success.m-button--ghost {
1685
+ --m-button-bg: color-mix(
1686
+ in srgb,
1687
+ var(--m-color-success) 10%,
1688
+ transparent
1689
+ );
1595
1690
  --m-button-fg: var(--m-color-success);
1596
- --m-button-border: var(--m-color-success);
1691
+ --m-button-hover-bg: color-mix(
1692
+ in srgb,
1693
+ var(--m-color-success) 16%,
1694
+ transparent
1695
+ );
1696
+ --m-button-hover-fg: var(--m-color-success);
1697
+ --m-button-active-bg: color-mix(
1698
+ in srgb,
1699
+ var(--m-color-success) 22%,
1700
+ transparent
1701
+ );
1597
1702
  }
1598
1703
 
1599
1704
  .m-button--info.m-button--ghost {
1705
+ --m-button-bg: color-mix(
1706
+ in srgb,
1707
+ var(--m-color-info) 10%,
1708
+ transparent
1709
+ );
1600
1710
  --m-button-fg: var(--m-color-info);
1601
- --m-button-border: var(--m-color-info);
1711
+ --m-button-hover-bg: color-mix(
1712
+ in srgb,
1713
+ var(--m-color-info) 16%,
1714
+ transparent
1715
+ );
1716
+ --m-button-hover-fg: var(--m-color-info);
1717
+ --m-button-active-bg: color-mix(
1718
+ in srgb,
1719
+ var(--m-color-info) 22%,
1720
+ transparent
1721
+ );
1602
1722
  }
1603
1723
 
1604
1724
  .m-button--warn.m-button--ghost {
1725
+ --m-button-bg: color-mix(
1726
+ in srgb,
1727
+ var(--m-color-warn) 10%,
1728
+ transparent
1729
+ );
1605
1730
  --m-button-fg: var(--m-color-warn);
1606
- --m-button-border: var(--m-color-warn);
1731
+ --m-button-hover-bg: color-mix(
1732
+ in srgb,
1733
+ var(--m-color-warn) 16%,
1734
+ transparent
1735
+ );
1736
+ --m-button-hover-fg: var(--m-color-warn);
1737
+ --m-button-active-bg: color-mix(
1738
+ in srgb,
1739
+ var(--m-color-warn) 22%,
1740
+ transparent
1741
+ );
1607
1742
  }
1608
1743
 
1609
1744
  .m-button--help.m-button--ghost {
1745
+ --m-button-bg: color-mix(
1746
+ in srgb,
1747
+ var(--m-color-help) 10%,
1748
+ transparent
1749
+ );
1610
1750
  --m-button-fg: var(--m-color-help);
1611
- --m-button-border: var(--m-color-help);
1751
+ --m-button-hover-bg: color-mix(
1752
+ in srgb,
1753
+ var(--m-color-help) 16%,
1754
+ transparent
1755
+ );
1756
+ --m-button-hover-fg: var(--m-color-help);
1757
+ --m-button-active-bg: color-mix(
1758
+ in srgb,
1759
+ var(--m-color-help) 22%,
1760
+ transparent
1761
+ );
1612
1762
  }
1613
1763
 
1614
1764
  .m-button--danger.m-button--ghost {
1765
+ --m-button-bg: color-mix(
1766
+ in srgb,
1767
+ var(--m-color-danger) 10%,
1768
+ transparent
1769
+ );
1615
1770
  --m-button-fg: var(--m-color-danger);
1616
- --m-button-border: var(--m-color-danger);
1771
+ --m-button-hover-bg: color-mix(
1772
+ in srgb,
1773
+ var(--m-color-danger) 16%,
1774
+ transparent
1775
+ );
1776
+ --m-button-hover-fg: var(--m-color-danger);
1777
+ --m-button-active-bg: color-mix(
1778
+ in srgb,
1779
+ var(--m-color-danger) 22%,
1780
+ transparent
1781
+ );
1617
1782
  }
1618
1783
 
1619
1784
  .m-button--contrast.m-button--ghost {
1785
+ --m-button-bg: color-mix(
1786
+ in srgb,
1787
+ var(--m-color-contrast) 10%,
1788
+ transparent
1789
+ );
1620
1790
  --m-button-fg: var(--m-color-contrast);
1621
- --m-button-border: var(--m-color-contrast);
1791
+ --m-button-hover-bg: color-mix(
1792
+ in srgb,
1793
+ var(--m-color-contrast) 16%,
1794
+ transparent
1795
+ );
1796
+ --m-button-hover-fg: var(--m-color-contrast);
1797
+ --m-button-active-bg: color-mix(
1798
+ in srgb,
1799
+ var(--m-color-contrast) 22%,
1800
+ transparent
1801
+ );
1622
1802
  }
1623
1803
 
1624
1804
  .m-button--quaternary {
@@ -1657,11 +1837,7 @@
1657
1837
  );
1658
1838
  }
1659
1839
 
1660
- .m-button--custom.m-button--outlined,
1661
- .m-button--custom.m-button--ghost,
1662
- .m-button--custom.m-button--text,
1663
- .m-button--custom.m-button--quaternary,
1664
- .m-button--custom.m-button--link {
1840
+ .m-button--custom.m-button--outlined {
1665
1841
  --m-button-bg: transparent;
1666
1842
  --m-button-fg: var(--m-button-color);
1667
1843
  --m-button-border: var(--m-button-color);
@@ -1674,11 +1850,72 @@
1674
1850
  --m-button-hover-border: var(--m-button-color);
1675
1851
  }
1676
1852
 
1853
+ .m-button--custom.m-button--ghost {
1854
+ --m-button-bg: color-mix(
1855
+ in srgb,
1856
+ var(--m-button-color) 10%,
1857
+ transparent
1858
+ );
1859
+ --m-button-fg: var(--m-button-color);
1860
+ --m-button-border: transparent;
1861
+ --m-button-hover-bg: color-mix(
1862
+ in srgb,
1863
+ var(--m-button-color) 16%,
1864
+ transparent
1865
+ );
1866
+ --m-button-hover-fg: var(--m-button-color);
1867
+ --m-button-hover-border: transparent;
1868
+ --m-button-active-bg: color-mix(
1869
+ in srgb,
1870
+ var(--m-button-color) 22%,
1871
+ transparent
1872
+ );
1873
+ }
1874
+
1677
1875
  .m-button--custom.m-button--text,
1678
- .m-button--custom.m-button--quaternary,
1876
+ .m-button--custom.m-button--quaternary {
1877
+ --m-button-bg: transparent;
1878
+ --m-button-fg: var(--m-button-color);
1879
+ --m-button-border: transparent;
1880
+ --m-button-hover-bg: color-mix(
1881
+ in srgb,
1882
+ var(--m-button-color) 12%,
1883
+ transparent
1884
+ );
1885
+ --m-button-hover-fg: var(--m-button-color);
1886
+ --m-button-hover-border: transparent;
1887
+ }
1888
+
1889
+ .m-button--custom.m-button--plain {
1890
+ --m-button-bg: color-mix(
1891
+ in srgb,
1892
+ var(--m-button-color) 10%,
1893
+ transparent
1894
+ );
1895
+ --m-button-fg: var(--m-button-color);
1896
+ --m-button-border: var(--m-button-color);
1897
+ --m-button-hover-bg: color-mix(
1898
+ in srgb,
1899
+ var(--m-button-color) 16%,
1900
+ transparent
1901
+ );
1902
+ --m-button-hover-fg: var(--m-button-color);
1903
+ --m-button-hover-border: var(--m-button-color);
1904
+ --m-button-active-bg: color-mix(
1905
+ in srgb,
1906
+ var(--m-button-color) 22%,
1907
+ transparent
1908
+ );
1909
+ }
1910
+
1679
1911
  .m-button--custom.m-button--link {
1912
+ --m-button-bg: transparent;
1913
+ --m-button-fg: var(--m-button-color);
1680
1914
  --m-button-border: transparent;
1915
+ --m-button-hover-bg: transparent;
1916
+ --m-button-hover-fg: var(--m-button-color);
1681
1917
  --m-button-hover-border: transparent;
1918
+ --m-button-active-bg: transparent;
1682
1919
  }
1683
1920
 
1684
1921
  .m-button-group {