@bug-on/m3-expressive 1.1.0 → 1.2.1
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.
- package/CHANGELOG.md +18 -0
- package/dist/buttons.d.mts +3 -3
- package/dist/buttons.d.ts +3 -3
- package/dist/buttons.js +708 -606
- package/dist/buttons.js.map +1 -1
- package/dist/buttons.mjs +707 -605
- package/dist/buttons.mjs.map +1 -1
- package/dist/core-Bc5Wj_pc.d.ts +497 -0
- package/dist/core-D4048_K5.d.mts +497 -0
- package/dist/core.d.mts +6 -422
- package/dist/core.d.ts +6 -422
- package/dist/core.js +223 -129
- package/dist/core.js.map +1 -1
- package/dist/core.mjs +224 -130
- package/dist/core.mjs.map +1 -1
- package/dist/feedback.js +85 -61
- package/dist/feedback.js.map +1 -1
- package/dist/feedback.mjs +85 -61
- package/dist/feedback.mjs.map +1 -1
- package/dist/forms.d.mts +2 -2
- package/dist/forms.d.ts +2 -2
- package/dist/forms.js +70 -8
- package/dist/forms.js.map +1 -1
- package/dist/forms.mjs +70 -8
- package/dist/forms.mjs.map +1 -1
- package/dist/{icon-button-D-gs0gfj.d.mts → icon-button-sSt6PPLg.d.mts} +6 -0
- package/dist/{icon-button-D-gs0gfj.d.ts → icon-button-sSt6PPLg.d.ts} +6 -0
- package/dist/index.css +6 -1
- package/dist/index.d.mts +68 -6
- package/dist/index.d.ts +68 -6
- package/dist/index.js +1177 -580
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1172 -583
- package/dist/index.mjs.map +1 -1
- package/dist/layout.d.mts +18 -1
- package/dist/layout.d.ts +18 -1
- package/dist/layout.js +94 -8
- package/dist/layout.js.map +1 -1
- package/dist/layout.mjs +94 -8
- package/dist/layout.mjs.map +1 -1
- package/dist/{md3-DFhj-NZj.d.mts → md3-Dty-Qcad.d.mts} +7 -1
- package/dist/{md3-DFhj-NZj.d.ts → md3-Dty-Qcad.d.ts} +7 -1
- package/dist/navigation.d.mts +134 -9
- package/dist/navigation.d.ts +134 -9
- package/dist/navigation.js +403 -93
- package/dist/navigation.js.map +1 -1
- package/dist/navigation.mjs +397 -94
- package/dist/navigation.mjs.map +1 -1
- package/dist/overlays.js +214 -189
- package/dist/overlays.js.map +1 -1
- package/dist/overlays.mjs +176 -151
- package/dist/overlays.mjs.map +1 -1
- package/dist/pickers.js +222 -197
- package/dist/pickers.js.map +1 -1
- package/dist/pickers.mjs +189 -164
- package/dist/pickers.mjs.map +1 -1
- package/dist/{split-button-trailing-uncheckable-BRPuTqi1.d.mts → split-button-trailing-uncheckable-BcPD_7uK.d.ts} +73 -7
- package/dist/{split-button-trailing-uncheckable-CjOFCoyW.d.ts → split-button-trailing-uncheckable-DtFJkTFr.d.mts} +73 -7
- package/dist/{text-field-eAIpz9z1.d.mts → text-field-T4Rg-9Bw.d.mts} +7 -0
- package/dist/{text-field-eAIpz9z1.d.ts → text-field-T4Rg-9Bw.d.ts} +7 -0
- package/package.json +4 -4
package/dist/forms.mjs
CHANGED
|
@@ -5,6 +5,7 @@ import { useMemo } from 'react';
|
|
|
5
5
|
import { clsx } from 'clsx';
|
|
6
6
|
import { twMerge } from 'tailwind-merge';
|
|
7
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
8
9
|
import { cva } from 'class-variance-authority';
|
|
9
10
|
import * as RadixScrollArea from '@radix-ui/react-scroll-area';
|
|
10
11
|
|
|
@@ -518,7 +519,9 @@ var ChipImpl = React4.forwardRef(
|
|
|
518
519
|
avatar,
|
|
519
520
|
onRemove,
|
|
520
521
|
className,
|
|
521
|
-
onClick
|
|
522
|
+
onClick,
|
|
523
|
+
asChild = false,
|
|
524
|
+
children
|
|
522
525
|
} = _b, props = __objRest(_b, [
|
|
523
526
|
"variant",
|
|
524
527
|
"elevated",
|
|
@@ -530,7 +533,9 @@ var ChipImpl = React4.forwardRef(
|
|
|
530
533
|
"avatar",
|
|
531
534
|
"onRemove",
|
|
532
535
|
"className",
|
|
533
|
-
"onClick"
|
|
536
|
+
"onClick",
|
|
537
|
+
"asChild",
|
|
538
|
+
"children"
|
|
534
539
|
]);
|
|
535
540
|
const { ripples, onPointerDown, removeRipple } = useRippleState({
|
|
536
541
|
disabled
|
|
@@ -645,6 +650,63 @@ var ChipImpl = React4.forwardRef(
|
|
|
645
650
|
) : null }),
|
|
646
651
|
/* @__PURE__ */ jsx("span", { className: "whitespace-nowrap", children: label })
|
|
647
652
|
] });
|
|
653
|
+
if (asChild) {
|
|
654
|
+
const child = React4.Children.only(children);
|
|
655
|
+
const innerContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
656
|
+
/* @__PURE__ */ jsx(Ripple, { ripples, onRippleDone: removeRipple }),
|
|
657
|
+
mainContent,
|
|
658
|
+
hasTrailingContent && /* @__PURE__ */ jsx("span", { className: "flex items-center justify-center shrink-0", children: onRemove ? /* @__PURE__ */ jsx(
|
|
659
|
+
"button",
|
|
660
|
+
{
|
|
661
|
+
type: "button",
|
|
662
|
+
tabIndex: disabled ? -1 : 0,
|
|
663
|
+
"aria-label": typeof label === "string" ? `Remove ${label}` : "Remove",
|
|
664
|
+
onClick: (e) => {
|
|
665
|
+
e.stopPropagation();
|
|
666
|
+
onRemove(e);
|
|
667
|
+
},
|
|
668
|
+
onPointerDown: (e) => e.stopPropagation(),
|
|
669
|
+
className: cn(
|
|
670
|
+
"flex items-center justify-center w-8.5 h-full",
|
|
671
|
+
"cursor-pointer focus-visible:outline-none",
|
|
672
|
+
"transition-all duration-150",
|
|
673
|
+
"relative overflow-hidden rounded-r-[7px] rounded-l-none",
|
|
674
|
+
"before:absolute before:-inset-px before:pointer-events-none before:bg-current",
|
|
675
|
+
"before:transition-opacity before:duration-200 before:opacity-0 before:rounded-r-[7px]",
|
|
676
|
+
"hover:before:opacity-[0.08] active:before:opacity-[0.12]",
|
|
677
|
+
selected ? "text-m3-on-secondary-container" : "text-m3-on-surface-variant"
|
|
678
|
+
),
|
|
679
|
+
children: /* @__PURE__ */ jsx(CloseIcon, {})
|
|
680
|
+
}
|
|
681
|
+
) : trailingIcon ? /* @__PURE__ */ jsx(
|
|
682
|
+
"span",
|
|
683
|
+
{
|
|
684
|
+
className: cn(
|
|
685
|
+
"flex items-center justify-center w-4.5 h-4.5 [&_.md-icon]:text-[length:inherit]!",
|
|
686
|
+
selected ? "text-m3-on-secondary-container" : "text-m3-on-surface-variant"
|
|
687
|
+
),
|
|
688
|
+
style: { fontSize: 18 },
|
|
689
|
+
"aria-hidden": "true",
|
|
690
|
+
children: trailingIcon
|
|
691
|
+
}
|
|
692
|
+
) : null })
|
|
693
|
+
] });
|
|
694
|
+
const strippedProps = __spreadValues({}, props);
|
|
695
|
+
delete strippedProps.children;
|
|
696
|
+
return /* @__PURE__ */ jsx(LazyMotion, { features: domMax, strict: true, children: /* @__PURE__ */ jsx(
|
|
697
|
+
Slot,
|
|
698
|
+
__spreadProps(__spreadValues({
|
|
699
|
+
ref,
|
|
700
|
+
"aria-disabled": disabled || void 0,
|
|
701
|
+
tabIndex: disabled ? -1 : 0,
|
|
702
|
+
onClick,
|
|
703
|
+
onPointerDown,
|
|
704
|
+
className: containerClass
|
|
705
|
+
}, strippedProps), {
|
|
706
|
+
children: React4.cloneElement(child, { children: innerContent })
|
|
707
|
+
})
|
|
708
|
+
) });
|
|
709
|
+
}
|
|
648
710
|
return /* @__PURE__ */ jsx(LazyMotion, { features: domMax, strict: true, children: /* @__PURE__ */ jsxs(
|
|
649
711
|
Root2,
|
|
650
712
|
__spreadProps(__spreadValues(__spreadProps(__spreadValues({
|
|
@@ -3449,7 +3511,6 @@ var FloatingLabel = React4.memo(function FloatingLabel2({
|
|
|
3449
3511
|
"absolute pointer-events-none select-none origin-[left_center] leading-6 text-base whitespace-nowrap",
|
|
3450
3512
|
"px-1 -mx-1",
|
|
3451
3513
|
// Clear the notch gap and keep text aligned
|
|
3452
|
-
variant === "outlined" && isFloated && "bg-m3-surface",
|
|
3453
3514
|
"left-4",
|
|
3454
3515
|
isDisabled && "opacity-[0.38]"
|
|
3455
3516
|
),
|
|
@@ -3525,7 +3586,8 @@ var OutlineContainer = React4.memo(function OutlineContainer2({
|
|
|
3525
3586
|
);
|
|
3526
3587
|
const borderWidth = isFocused || isError ? TF_SIZE.outlineThick : TF_SIZE.outlineThin;
|
|
3527
3588
|
const leftSegmentWidth = TF_SIZE.paddingStart;
|
|
3528
|
-
const
|
|
3589
|
+
const isNotched = isFloated && labelWidth > 0;
|
|
3590
|
+
const notchWidth = isNotched ? labelWidth * TF_TYPOGRAPHY.labelScaleRatio + TF_SIZE.notchPadding * 2 : 0;
|
|
3529
3591
|
const borderTransition = { duration: colorDuration, ease };
|
|
3530
3592
|
const notchTransition = { duration: notchDuration, ease };
|
|
3531
3593
|
return /* @__PURE__ */ jsxs(
|
|
@@ -3563,7 +3625,7 @@ var OutlineContainer = React4.memo(function OutlineContainer2({
|
|
|
3563
3625
|
style: { height: borderWidth },
|
|
3564
3626
|
animate: {
|
|
3565
3627
|
borderTopColor: borderColor,
|
|
3566
|
-
opacity:
|
|
3628
|
+
opacity: isNotched ? 0 : 1,
|
|
3567
3629
|
borderTopWidth: borderWidth,
|
|
3568
3630
|
borderTopStyle: "solid"
|
|
3569
3631
|
},
|
|
@@ -4015,7 +4077,7 @@ var TextFieldComponent = React4.forwardRef(
|
|
|
4015
4077
|
const computedDescribedby = [hasSupporting ? supportingId : "", ariaDescribedby != null ? ariaDescribedby : ""].filter(Boolean).join(" ") || void 0;
|
|
4016
4078
|
const inputClass = cn(
|
|
4017
4079
|
"bg-transparent outline-none w-full",
|
|
4018
|
-
isInToolbar ? "self-center" : "self-end",
|
|
4080
|
+
!resolvedLabel || isInToolbar ? "self-center" : "self-end",
|
|
4019
4081
|
"text-base leading-6 text-m3-on-surface",
|
|
4020
4082
|
"caret-[var(--color-m3-primary)]",
|
|
4021
4083
|
"placeholder:text-m3-on-surface-variant/60",
|
|
@@ -4026,7 +4088,7 @@ var TextFieldComponent = React4.forwardRef(
|
|
|
4026
4088
|
id: inputId,
|
|
4027
4089
|
name,
|
|
4028
4090
|
value: currentValue,
|
|
4029
|
-
placeholder: isFloated ? placeholder != null ? placeholder : "" : "",
|
|
4091
|
+
placeholder: !resolvedLabel || isFloated ? placeholder != null ? placeholder : "" : "",
|
|
4030
4092
|
disabled,
|
|
4031
4093
|
readOnly,
|
|
4032
4094
|
required,
|
|
@@ -4058,7 +4120,7 @@ var TextFieldComponent = React4.forwardRef(
|
|
|
4058
4120
|
"relative flex flex-col flex-1 min-w-0 h-full",
|
|
4059
4121
|
paddingStart,
|
|
4060
4122
|
paddingEnd,
|
|
4061
|
-
isInToolbar ? "justify-center" : variant === "filled" ? resolvedDense ? "pt-5 pb-2" : "pt-6 pb-2" : resolvedDense ? "py-3" : "py-4"
|
|
4123
|
+
isInToolbar || !resolvedLabel ? "justify-center" : variant === "filled" ? resolvedDense ? "pt-5 pb-2" : "pt-6 pb-2" : resolvedDense ? "py-3" : "py-4"
|
|
4062
4124
|
);
|
|
4063
4125
|
const wrapperClass = cn(
|
|
4064
4126
|
"group/tf inline-flex flex-col",
|