@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/overlays.mjs CHANGED
@@ -1027,7 +1027,10 @@ function useRippleState(options = {}) {
1027
1027
  const rect = e.currentTarget.getBoundingClientRect();
1028
1028
  const x = e.clientX - rect.left;
1029
1029
  const y = e.clientY - rect.top;
1030
- const rippleSize = Math.hypot(rect.width, rect.height) * 2;
1030
+ const rippleSize = Math.max(
1031
+ Math.hypot(rect.width, rect.height) * 2.5,
1032
+ 320
1033
+ );
1031
1034
  setRipples((prev) => [
1032
1035
  ...prev,
1033
1036
  { id: Date.now(), x, y, size: rippleSize }
@@ -1145,12 +1148,39 @@ function TouchTarget() {
1145
1148
  }
1146
1149
  );
1147
1150
  }
1148
- var SIZE_STYLES = {
1149
- xs: "h-8 w-8",
1150
- sm: "h-10 w-10",
1151
- md: "h-14 w-14",
1152
- lg: "h-24 w-24",
1153
- xl: "h-[8.5rem] w-[8.5rem]"
1151
+ var SIZE_HEIGHT_STYLES = {
1152
+ xs: "h-8",
1153
+ sm: "h-10",
1154
+ md: "h-14",
1155
+ lg: "h-24",
1156
+ xl: "h-[8.5rem]"
1157
+ };
1158
+ var WIDTH_SIZE_STYLES = {
1159
+ xs: {
1160
+ default: "w-8",
1161
+ narrow: "w-8",
1162
+ wide: "w-12"
1163
+ },
1164
+ sm: {
1165
+ default: "w-10",
1166
+ narrow: "w-12",
1167
+ wide: "w-[3.25rem]"
1168
+ },
1169
+ md: {
1170
+ default: "w-14",
1171
+ narrow: "w-12",
1172
+ wide: "w-[4.5rem]"
1173
+ },
1174
+ lg: {
1175
+ default: "w-24",
1176
+ narrow: "w-16",
1177
+ wide: "w-32"
1178
+ },
1179
+ xl: {
1180
+ default: "w-[8.5rem]",
1181
+ narrow: "w-[6.5rem]",
1182
+ wide: "w-[11.5rem]"
1183
+ }
1154
1184
  };
1155
1185
  var SIZE_ICON = {
1156
1186
  xs: { cls: "size-5", px: 20 },
@@ -1251,8 +1281,10 @@ var IconButtonComponent = React9.forwardRef(
1251
1281
  variant = "default",
1252
1282
  colorStyle = "standard",
1253
1283
  size = "sm",
1284
+ widthVariant = "default",
1254
1285
  shape = "round",
1255
1286
  selected,
1287
+ selectedIcon,
1256
1288
  loading = false,
1257
1289
  loadingVariant = "loading-indicator",
1258
1290
  iconSize,
@@ -1267,8 +1299,10 @@ var IconButtonComponent = React9.forwardRef(
1267
1299
  "variant",
1268
1300
  "colorStyle",
1269
1301
  "size",
1302
+ "widthVariant",
1270
1303
  "shape",
1271
1304
  "selected",
1305
+ "selectedIcon",
1272
1306
  "loading",
1273
1307
  "loadingVariant",
1274
1308
  "iconSize",
@@ -1278,7 +1312,7 @@ var IconButtonComponent = React9.forwardRef(
1278
1312
  "onKeyDown",
1279
1313
  "aria-label"
1280
1314
  ]);
1281
- var _a2, _b2;
1315
+ var _a2, _b2, _c, _d, _e;
1282
1316
  const isToggle = variant === "toggle";
1283
1317
  const isSelected = isToggle && !!selected;
1284
1318
  const resolvedColorClass = React9.useMemo(
@@ -1309,6 +1343,8 @@ var IconButtonComponent = React9.forwardRef(
1309
1343
  const defaultIconPx = sizeIcon.px;
1310
1344
  const iconPx = iconSize != null ? iconSize : defaultIconPx;
1311
1345
  const isCustomSize = iconSize != null && iconSize !== "inherit";
1346
+ const heightClass = (_c = SIZE_HEIGHT_STYLES[size]) != null ? _c : SIZE_HEIGHT_STYLES.sm;
1347
+ const widthClass = (_e = ((_d = WIDTH_SIZE_STYLES[size]) != null ? _d : WIDTH_SIZE_STYLES.sm)[widthVariant]) != null ? _e : WIDTH_SIZE_STYLES.sm.default;
1312
1348
  const needsTouchTarget = size === "xs" || size === "sm";
1313
1349
  const { ripples, onPointerDown, removeRipple } = useRippleState({
1314
1350
  disabled: loading
@@ -1371,7 +1407,7 @@ var IconButtonComponent = React9.forwardRef(
1371
1407
  transition: SPRING_TRANSITION,
1372
1408
  "aria-hidden": "true",
1373
1409
  className: cn(
1374
- "flex items-center justify-center shrink-0 [&_svg]:w-full [&_svg]:h-full [&_.md-icon]:text-[length:inherit]!",
1410
+ "flex items-center justify-center shrink-0 [&_svg]:w-full [&_svg]:h-full [&_.md-icon]:text-[length:inherit]",
1375
1411
  iconSize != null ? void 0 : iconClass
1376
1412
  ),
1377
1413
  style: {
@@ -1379,9 +1415,9 @@ var IconButtonComponent = React9.forwardRef(
1379
1415
  width: isCustomSize ? `${iconSize}px` : void 0,
1380
1416
  height: isCustomSize ? `${iconSize}px` : void 0
1381
1417
  },
1382
- children: asChild ? React9.Children.only(children).props.children : children
1418
+ children: isSelected && selectedIcon ? selectedIcon : asChild ? React9.Children.only(children).props.children : children
1383
1419
  }),
1384
- "content"
1420
+ isSelected && selectedIcon ? "selected-content" : "content"
1385
1421
  ) })
1386
1422
  ] });
1387
1423
  const containerClassName = cn(
@@ -1390,7 +1426,8 @@ var IconButtonComponent = React9.forwardRef(
1390
1426
  outlineWidthClass,
1391
1427
  disabledBgClass,
1392
1428
  "overflow-hidden",
1393
- SIZE_STYLES[size],
1429
+ heightClass,
1430
+ widthClass,
1394
1431
  loading && "pointer-events-none opacity-75 cursor-not-allowed",
1395
1432
  className
1396
1433
  );
@@ -1407,7 +1444,9 @@ var IconButtonComponent = React9.forwardRef(
1407
1444
  onClick: handleClick,
1408
1445
  onPointerDown,
1409
1446
  onKeyDown: handleKeyDown,
1410
- style: __spreadProps(__spreadValues({}, style), { borderRadius: `${animateRadius}px` }),
1447
+ style: __spreadProps(__spreadValues({}, style), {
1448
+ borderRadius: `${animateRadius}px`
1449
+ }),
1411
1450
  className: containerClassName
1412
1451
  }, restProps), {
1413
1452
  children: React9.cloneElement(child, { children: innerContent })