@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/feedback.mjs CHANGED
@@ -1138,7 +1138,10 @@ function useRippleState(options = {}) {
1138
1138
  const rect = e.currentTarget.getBoundingClientRect();
1139
1139
  const x = e.clientX - rect.left;
1140
1140
  const y = e.clientY - rect.top;
1141
- const rippleSize = Math.hypot(rect.width, rect.height) * 2;
1141
+ const rippleSize = Math.max(
1142
+ Math.hypot(rect.width, rect.height) * 2.5,
1143
+ 320
1144
+ );
1142
1145
  setRipples((prev) => [
1143
1146
  ...prev,
1144
1147
  { id: Date.now(), x, y, size: rippleSize }
@@ -1169,12 +1172,39 @@ function TouchTarget() {
1169
1172
  }
1170
1173
  );
1171
1174
  }
1172
- var SIZE_STYLES = {
1173
- xs: "h-8 w-8",
1174
- sm: "h-10 w-10",
1175
- md: "h-14 w-14",
1176
- lg: "h-24 w-24",
1177
- xl: "h-[8.5rem] w-[8.5rem]"
1175
+ var SIZE_HEIGHT_STYLES = {
1176
+ xs: "h-8",
1177
+ sm: "h-10",
1178
+ md: "h-14",
1179
+ lg: "h-24",
1180
+ xl: "h-[8.5rem]"
1181
+ };
1182
+ var WIDTH_SIZE_STYLES = {
1183
+ xs: {
1184
+ default: "w-8",
1185
+ narrow: "w-8",
1186
+ wide: "w-12"
1187
+ },
1188
+ sm: {
1189
+ default: "w-10",
1190
+ narrow: "w-12",
1191
+ wide: "w-[3.25rem]"
1192
+ },
1193
+ md: {
1194
+ default: "w-14",
1195
+ narrow: "w-12",
1196
+ wide: "w-[4.5rem]"
1197
+ },
1198
+ lg: {
1199
+ default: "w-24",
1200
+ narrow: "w-16",
1201
+ wide: "w-32"
1202
+ },
1203
+ xl: {
1204
+ default: "w-[8.5rem]",
1205
+ narrow: "w-[6.5rem]",
1206
+ wide: "w-[11.5rem]"
1207
+ }
1178
1208
  };
1179
1209
  var SIZE_ICON = {
1180
1210
  xs: { cls: "size-5", px: 20 },
@@ -1275,8 +1305,10 @@ var IconButtonComponent = React12.forwardRef(
1275
1305
  variant = "default",
1276
1306
  colorStyle = "standard",
1277
1307
  size = "sm",
1308
+ widthVariant = "default",
1278
1309
  shape = "round",
1279
1310
  selected,
1311
+ selectedIcon,
1280
1312
  loading = false,
1281
1313
  loadingVariant = "loading-indicator",
1282
1314
  iconSize,
@@ -1291,8 +1323,10 @@ var IconButtonComponent = React12.forwardRef(
1291
1323
  "variant",
1292
1324
  "colorStyle",
1293
1325
  "size",
1326
+ "widthVariant",
1294
1327
  "shape",
1295
1328
  "selected",
1329
+ "selectedIcon",
1296
1330
  "loading",
1297
1331
  "loadingVariant",
1298
1332
  "iconSize",
@@ -1302,7 +1336,7 @@ var IconButtonComponent = React12.forwardRef(
1302
1336
  "onKeyDown",
1303
1337
  "aria-label"
1304
1338
  ]);
1305
- var _a2, _b2;
1339
+ var _a2, _b2, _c, _d, _e;
1306
1340
  const isToggle = variant === "toggle";
1307
1341
  const isSelected = isToggle && !!selected;
1308
1342
  const resolvedColorClass = React12.useMemo(
@@ -1333,6 +1367,8 @@ var IconButtonComponent = React12.forwardRef(
1333
1367
  const defaultIconPx = sizeIcon.px;
1334
1368
  const iconPx = iconSize != null ? iconSize : defaultIconPx;
1335
1369
  const isCustomSize = iconSize != null && iconSize !== "inherit";
1370
+ const heightClass = (_c = SIZE_HEIGHT_STYLES[size]) != null ? _c : SIZE_HEIGHT_STYLES.sm;
1371
+ const widthClass = (_e = ((_d = WIDTH_SIZE_STYLES[size]) != null ? _d : WIDTH_SIZE_STYLES.sm)[widthVariant]) != null ? _e : WIDTH_SIZE_STYLES.sm.default;
1336
1372
  const needsTouchTarget = size === "xs" || size === "sm";
1337
1373
  const { ripples, onPointerDown, removeRipple } = useRippleState({
1338
1374
  disabled: loading
@@ -1395,7 +1431,7 @@ var IconButtonComponent = React12.forwardRef(
1395
1431
  transition: SPRING_TRANSITION,
1396
1432
  "aria-hidden": "true",
1397
1433
  className: cn(
1398
- "flex items-center justify-center shrink-0 [&_svg]:w-full [&_svg]:h-full [&_.md-icon]:text-[length:inherit]!",
1434
+ "flex items-center justify-center shrink-0 [&_svg]:w-full [&_svg]:h-full [&_.md-icon]:text-[length:inherit]",
1399
1435
  iconSize != null ? void 0 : iconClass
1400
1436
  ),
1401
1437
  style: {
@@ -1403,9 +1439,9 @@ var IconButtonComponent = React12.forwardRef(
1403
1439
  width: isCustomSize ? `${iconSize}px` : void 0,
1404
1440
  height: isCustomSize ? `${iconSize}px` : void 0
1405
1441
  },
1406
- children: asChild ? React12.Children.only(children).props.children : children
1442
+ children: isSelected && selectedIcon ? selectedIcon : asChild ? React12.Children.only(children).props.children : children
1407
1443
  }),
1408
- "content"
1444
+ isSelected && selectedIcon ? "selected-content" : "content"
1409
1445
  ) })
1410
1446
  ] });
1411
1447
  const containerClassName = cn(
@@ -1414,7 +1450,8 @@ var IconButtonComponent = React12.forwardRef(
1414
1450
  outlineWidthClass,
1415
1451
  disabledBgClass,
1416
1452
  "overflow-hidden",
1417
- SIZE_STYLES[size],
1453
+ heightClass,
1454
+ widthClass,
1418
1455
  loading && "pointer-events-none opacity-75 cursor-not-allowed",
1419
1456
  className
1420
1457
  );
@@ -1431,7 +1468,9 @@ var IconButtonComponent = React12.forwardRef(
1431
1468
  onClick: handleClick,
1432
1469
  onPointerDown,
1433
1470
  onKeyDown: handleKeyDown,
1434
- style: __spreadProps(__spreadValues({}, style), { borderRadius: `${animateRadius}px` }),
1471
+ style: __spreadProps(__spreadValues({}, style), {
1472
+ borderRadius: `${animateRadius}px`
1473
+ }),
1435
1474
  className: containerClassName
1436
1475
  }, restProps), {
1437
1476
  children: React12.cloneElement(child, { children: innerContent })