@bug-on/m3-expressive 1.2.1 → 1.2.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 (48) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/buttons.d.mts +26 -5
  3. package/dist/buttons.d.ts +26 -5
  4. package/dist/buttons.js +581 -345
  5. package/dist/buttons.js.map +1 -1
  6. package/dist/buttons.mjs +573 -345
  7. package/dist/buttons.mjs.map +1 -1
  8. package/dist/core.js +52 -13
  9. package/dist/core.js.map +1 -1
  10. package/dist/core.mjs +52 -13
  11. package/dist/core.mjs.map +1 -1
  12. package/dist/feedback.js +52 -13
  13. package/dist/feedback.js.map +1 -1
  14. package/dist/feedback.mjs +52 -13
  15. package/dist/feedback.mjs.map +1 -1
  16. package/dist/forms.js +4 -1
  17. package/dist/forms.js.map +1 -1
  18. package/dist/forms.mjs +4 -1
  19. package/dist/forms.mjs.map +1 -1
  20. package/dist/{icon-button-sSt6PPLg.d.mts → icon-button-CSsDmuQC.d.mts} +13 -0
  21. package/dist/{icon-button-sSt6PPLg.d.ts → icon-button-CSsDmuQC.d.ts} +13 -0
  22. package/dist/index.d.mts +2 -2
  23. package/dist/index.d.ts +2 -2
  24. package/dist/index.js +1268 -1005
  25. package/dist/index.js.map +1 -1
  26. package/dist/index.mjs +1127 -865
  27. package/dist/index.mjs.map +1 -1
  28. package/dist/layout.js +15 -7
  29. package/dist/layout.js.map +1 -1
  30. package/dist/layout.mjs +15 -7
  31. package/dist/layout.mjs.map +1 -1
  32. package/dist/navigation.d.mts +1 -1
  33. package/dist/navigation.d.ts +1 -1
  34. package/dist/navigation.js +66 -16
  35. package/dist/navigation.js.map +1 -1
  36. package/dist/navigation.mjs +66 -16
  37. package/dist/navigation.mjs.map +1 -1
  38. package/dist/overlays.js +52 -13
  39. package/dist/overlays.js.map +1 -1
  40. package/dist/overlays.mjs +52 -13
  41. package/dist/overlays.mjs.map +1 -1
  42. package/dist/pickers.js +177 -111
  43. package/dist/pickers.js.map +1 -1
  44. package/dist/pickers.mjs +177 -111
  45. package/dist/pickers.mjs.map +1 -1
  46. package/dist/{split-button-trailing-uncheckable-BcPD_7uK.d.ts → split-button-trailing-uncheckable-C-qQlyZx.d.ts} +74 -19
  47. package/dist/{split-button-trailing-uncheckable-DtFJkTFr.d.mts → split-button-trailing-uncheckable-DHJqNeq_.d.mts} +74 -19
  48. package/package.json +3 -3
package/dist/layout.js CHANGED
@@ -128,7 +128,10 @@ function useRippleState(options = {}) {
128
128
  const rect = e.currentTarget.getBoundingClientRect();
129
129
  const x = e.clientX - rect.left;
130
130
  const y = e.clientY - rect.top;
131
- const rippleSize = Math.hypot(rect.width, rect.height) * 2;
131
+ const rippleSize = Math.max(
132
+ Math.hypot(rect.width, rect.height) * 2.5,
133
+ 320
134
+ );
132
135
  setRipples((prev) => [
133
136
  ...prev,
134
137
  { id: Date.now(), x, y, size: rippleSize }
@@ -1510,6 +1513,7 @@ var ButtonComponent = React18__namespace.forwardRef(
1510
1513
  shape = "round",
1511
1514
  selected,
1512
1515
  icon,
1516
+ selectedIcon,
1513
1517
  iconPosition = "leading",
1514
1518
  loading = false,
1515
1519
  loadingVariant = "loading-indicator",
@@ -1531,6 +1535,7 @@ var ButtonComponent = React18__namespace.forwardRef(
1531
1535
  "shape",
1532
1536
  "selected",
1533
1537
  "icon",
1538
+ "selectedIcon",
1534
1539
  "iconPosition",
1535
1540
  "loading",
1536
1541
  "loadingVariant",
@@ -1630,10 +1635,11 @@ var ButtonComponent = React18__namespace.forwardRef(
1630
1635
  layout: BUTTON_SHAPE_MORPH_SPRING,
1631
1636
  default: SPRING_TRANSITION
1632
1637
  };
1638
+ const activeIcon = isSelected && selectedIcon ? selectedIcon : icon;
1633
1639
  const innerContent = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1634
1640
  needsTouchTarget && /* @__PURE__ */ jsxRuntime.jsx(TouchTarget, {}),
1635
1641
  /* @__PURE__ */ jsxRuntime.jsx(Ripple, { ripples, onRippleDone: removeRipple }),
1636
- /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { initial: false, mode: "popLayout", children: (loading || icon && iconPosition === "leading") && /* @__PURE__ */ jsxRuntime.jsx(
1642
+ /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { initial: false, mode: "wait", children: (loading || activeIcon && iconPosition === "leading") && /* @__PURE__ */ jsxRuntime.jsx(
1637
1643
  AnimatedIconSlot,
1638
1644
  {
1639
1645
  iconSize: sizeTokens.iconSize,
@@ -1655,8 +1661,9 @@ var ButtonComponent = React18__namespace.forwardRef(
1655
1661
  trackColor: "transparent",
1656
1662
  "aria-label": "Loading"
1657
1663
  }
1658
- ) : icon
1659
- }
1664
+ ) : activeIcon
1665
+ },
1666
+ isSelected && selectedIcon ? "selected-icon" : "icon"
1660
1667
  ) }),
1661
1668
  labelText && /* @__PURE__ */ jsxRuntime.jsx(
1662
1669
  react.m.span,
@@ -1667,14 +1674,15 @@ var ButtonComponent = React18__namespace.forwardRef(
1667
1674
  children: labelText
1668
1675
  }
1669
1676
  ),
1670
- /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { initial: false, mode: "popLayout", children: icon && iconPosition === "trailing" && /* @__PURE__ */ jsxRuntime.jsx(
1677
+ /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { initial: false, mode: "wait", children: !loading && activeIcon && iconPosition === "trailing" && /* @__PURE__ */ jsxRuntime.jsx(
1671
1678
  AnimatedIconSlot,
1672
1679
  {
1673
1680
  iconSize: sizeTokens.iconSize,
1674
1681
  ariaHidden: true,
1675
1682
  transition: sharedTransition,
1676
- children: icon
1677
- }
1683
+ children: activeIcon
1684
+ },
1685
+ isSelected && selectedIcon ? "selected-icon" : "icon"
1678
1686
  ) })
1679
1687
  ] });
1680
1688
  const handleAsChildPointerDown = React18__namespace.useCallback(