@tinybigui/react 0.17.0 → 0.19.0
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/README.md +16 -16
- package/dist/index.cjs +746 -766
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +356 -108
- package/dist/index.d.ts +356 -108
- package/dist/index.js +732 -766
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -8616,6 +8616,30 @@ var InteractiveStyledListItem = React.forwardRef(
|
|
|
8616
8616
|
}
|
|
8617
8617
|
);
|
|
8618
8618
|
InteractiveStyledListItem.displayName = "InteractiveStyledListItem";
|
|
8619
|
+
var ArrowBackIcon = () => /* @__PURE__ */ jsxRuntime.jsx(
|
|
8620
|
+
"svg",
|
|
8621
|
+
{
|
|
8622
|
+
width: "24",
|
|
8623
|
+
height: "24",
|
|
8624
|
+
viewBox: "0 0 24 24",
|
|
8625
|
+
fill: "currentColor",
|
|
8626
|
+
"aria-hidden": "true",
|
|
8627
|
+
focusable: "false",
|
|
8628
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" })
|
|
8629
|
+
}
|
|
8630
|
+
);
|
|
8631
|
+
var CloseIcon3 = () => /* @__PURE__ */ jsxRuntime.jsx(
|
|
8632
|
+
"svg",
|
|
8633
|
+
{
|
|
8634
|
+
width: "24",
|
|
8635
|
+
height: "24",
|
|
8636
|
+
viewBox: "0 0 24 24",
|
|
8637
|
+
fill: "currentColor",
|
|
8638
|
+
"aria-hidden": "true",
|
|
8639
|
+
focusable: "false",
|
|
8640
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" })
|
|
8641
|
+
}
|
|
8642
|
+
);
|
|
8619
8643
|
var SearchBarHeadless = React.forwardRef(
|
|
8620
8644
|
({
|
|
8621
8645
|
value,
|
|
@@ -8631,7 +8655,9 @@ var SearchBarHeadless = React.forwardRef(
|
|
|
8631
8655
|
"aria-label": ariaLabel,
|
|
8632
8656
|
className,
|
|
8633
8657
|
onFocus,
|
|
8634
|
-
onBlur
|
|
8658
|
+
onBlur,
|
|
8659
|
+
inputClassName,
|
|
8660
|
+
trailingActionsClassName
|
|
8635
8661
|
}, forwardedRef) => {
|
|
8636
8662
|
const inputRef = React.useRef(null);
|
|
8637
8663
|
const internalFormRef = React.useRef(null);
|
|
@@ -8665,8 +8691,17 @@ var SearchBarHeadless = React.forwardRef(
|
|
|
8665
8691
|
);
|
|
8666
8692
|
return /* @__PURE__ */ jsxRuntime.jsxs("form", { ref: formRef, role: "search", className, onSubmit: handleFormSubmit, children: [
|
|
8667
8693
|
leadingIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { "data-slot": "leading-icon", children: leadingIcon }),
|
|
8668
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8669
|
-
|
|
8694
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8695
|
+
"input",
|
|
8696
|
+
{
|
|
8697
|
+
...inputProps,
|
|
8698
|
+
ref: inputRef,
|
|
8699
|
+
role: "searchbox",
|
|
8700
|
+
"data-slot": "input",
|
|
8701
|
+
className: inputClassName
|
|
8702
|
+
}
|
|
8703
|
+
),
|
|
8704
|
+
trailingActions && trailingActions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { "data-slot": "trailing-actions", className: trailingActionsClassName, children: trailingActions }),
|
|
8670
8705
|
avatar && /* @__PURE__ */ jsxRuntime.jsx("span", { "data-slot": "avatar", children: avatar })
|
|
8671
8706
|
] });
|
|
8672
8707
|
}
|
|
@@ -8686,32 +8721,45 @@ var SearchViewHeadless = React.forwardRef(
|
|
|
8686
8721
|
children,
|
|
8687
8722
|
leadingIcon,
|
|
8688
8723
|
trailingActions,
|
|
8689
|
-
showDivider
|
|
8724
|
+
showDivider,
|
|
8725
|
+
layout = "fullscreen",
|
|
8726
|
+
headerClassName,
|
|
8727
|
+
backButtonClassName,
|
|
8728
|
+
clearButtonClassName,
|
|
8729
|
+
inputClassName,
|
|
8730
|
+
trailingActionsClassName,
|
|
8731
|
+
dividerClassName,
|
|
8732
|
+
contentClassName
|
|
8690
8733
|
}, forwardedRef) => {
|
|
8691
8734
|
if (!isOpen) {
|
|
8692
8735
|
return null;
|
|
8693
8736
|
}
|
|
8694
|
-
|
|
8695
|
-
|
|
8696
|
-
|
|
8697
|
-
|
|
8698
|
-
|
|
8699
|
-
|
|
8700
|
-
|
|
8701
|
-
|
|
8702
|
-
|
|
8703
|
-
|
|
8704
|
-
|
|
8705
|
-
|
|
8706
|
-
|
|
8707
|
-
|
|
8708
|
-
|
|
8709
|
-
|
|
8710
|
-
|
|
8711
|
-
|
|
8712
|
-
|
|
8713
|
-
|
|
8714
|
-
|
|
8737
|
+
const panelProps = {
|
|
8738
|
+
onClose,
|
|
8739
|
+
ariaLabel,
|
|
8740
|
+
layout,
|
|
8741
|
+
children,
|
|
8742
|
+
...className !== void 0 ? { className } : {},
|
|
8743
|
+
...leadingIcon !== void 0 ? { leadingIcon } : {},
|
|
8744
|
+
...trailingActions !== void 0 ? { trailingActions } : {},
|
|
8745
|
+
...showDivider !== void 0 ? { showDivider } : {},
|
|
8746
|
+
...value !== void 0 ? { value } : {},
|
|
8747
|
+
...defaultValue !== void 0 ? { defaultValue } : {},
|
|
8748
|
+
...onChange !== void 0 ? { onChange } : {},
|
|
8749
|
+
...onSubmit !== void 0 ? { onSubmit } : {},
|
|
8750
|
+
...placeholder !== void 0 ? { placeholder } : {},
|
|
8751
|
+
headerClassName,
|
|
8752
|
+
backButtonClassName,
|
|
8753
|
+
clearButtonClassName,
|
|
8754
|
+
inputClassName,
|
|
8755
|
+
trailingActionsClassName,
|
|
8756
|
+
dividerClassName,
|
|
8757
|
+
contentClassName
|
|
8758
|
+
};
|
|
8759
|
+
if (layout === "docked") {
|
|
8760
|
+
return /* @__PURE__ */ jsxRuntime.jsx(SearchViewPanel, { ref: forwardedRef, ...panelProps });
|
|
8761
|
+
}
|
|
8762
|
+
return reactDom.createPortal(/* @__PURE__ */ jsxRuntime.jsx(SearchViewPanel, { ref: forwardedRef, ...panelProps }), document.body);
|
|
8715
8763
|
}
|
|
8716
8764
|
);
|
|
8717
8765
|
SearchViewHeadless.displayName = "SearchViewHeadless";
|
|
@@ -8728,12 +8776,21 @@ var SearchViewPanel = React.forwardRef(
|
|
|
8728
8776
|
children,
|
|
8729
8777
|
leadingIcon,
|
|
8730
8778
|
trailingActions,
|
|
8731
|
-
showDivider
|
|
8779
|
+
showDivider,
|
|
8780
|
+
layout,
|
|
8781
|
+
headerClassName,
|
|
8782
|
+
backButtonClassName,
|
|
8783
|
+
clearButtonClassName,
|
|
8784
|
+
inputClassName,
|
|
8785
|
+
trailingActionsClassName,
|
|
8786
|
+
dividerClassName,
|
|
8787
|
+
contentClassName
|
|
8732
8788
|
}, forwardedRef) => {
|
|
8733
8789
|
const panelRef = React.useRef(null);
|
|
8734
8790
|
const inputRef = React.useRef(null);
|
|
8735
8791
|
const ref = forwardedRef ?? panelRef;
|
|
8736
|
-
|
|
8792
|
+
const isFullscreen = layout === "fullscreen";
|
|
8793
|
+
reactAria.usePreventScroll({ isDisabled: !isFullscreen });
|
|
8737
8794
|
const { overlayProps } = reactAria.useOverlay(
|
|
8738
8795
|
{
|
|
8739
8796
|
isOpen: true,
|
|
@@ -8766,7 +8823,17 @@ var SearchViewPanel = React.forwardRef(
|
|
|
8766
8823
|
const handleBackClick = React.useCallback(() => {
|
|
8767
8824
|
onClose();
|
|
8768
8825
|
}, [onClose]);
|
|
8769
|
-
const
|
|
8826
|
+
const defaultBackButton = /* @__PURE__ */ jsxRuntime.jsx(
|
|
8827
|
+
"button",
|
|
8828
|
+
{
|
|
8829
|
+
type: "button",
|
|
8830
|
+
"aria-label": "Back",
|
|
8831
|
+
onClick: handleBackClick,
|
|
8832
|
+
"data-slot": "back-button",
|
|
8833
|
+
className: backButtonClassName,
|
|
8834
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(ArrowBackIcon, {})
|
|
8835
|
+
}
|
|
8836
|
+
);
|
|
8770
8837
|
const clearButton = state.value ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
8771
8838
|
"button",
|
|
8772
8839
|
{
|
|
@@ -8775,66 +8842,109 @@ var SearchViewPanel = React.forwardRef(
|
|
|
8775
8842
|
type: "button",
|
|
8776
8843
|
"aria-label": "Clear search",
|
|
8777
8844
|
"data-slot": "clear-button",
|
|
8778
|
-
|
|
8845
|
+
className: clearButtonClassName,
|
|
8846
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(CloseIcon3, {})
|
|
8779
8847
|
}
|
|
8780
8848
|
) : null;
|
|
8781
|
-
return
|
|
8782
|
-
|
|
8783
|
-
|
|
8784
|
-
|
|
8785
|
-
|
|
8786
|
-
|
|
8787
|
-
|
|
8788
|
-
|
|
8789
|
-
|
|
8790
|
-
|
|
8849
|
+
return (
|
|
8850
|
+
// Focus containment only for fullscreen — docked uses restoreFocus + autoFocus only
|
|
8851
|
+
// so tabbing can naturally leave the widget.
|
|
8852
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactAria.FocusScope, { contain: isFullscreen, restoreFocus: true, autoFocus: true, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { ...overlayProps, ref, role: "search", "aria-label": ariaLabel, className, children: [
|
|
8853
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "header", className: headerClassName, children: [
|
|
8854
|
+
leadingIcon ?? defaultBackButton,
|
|
8855
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8856
|
+
"input",
|
|
8857
|
+
{
|
|
8858
|
+
...inputProps,
|
|
8859
|
+
ref: inputRef,
|
|
8860
|
+
role: "searchbox",
|
|
8861
|
+
"data-slot": "input",
|
|
8862
|
+
className: inputClassName
|
|
8863
|
+
}
|
|
8864
|
+
),
|
|
8865
|
+
clearButton,
|
|
8866
|
+
trailingActions && trailingActions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { "data-slot": "trailing-actions", className: trailingActionsClassName, children: trailingActions })
|
|
8867
|
+
] }),
|
|
8868
|
+
showDivider && /* @__PURE__ */ jsxRuntime.jsx("hr", { "data-slot": "divider", className: dividerClassName }),
|
|
8869
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "content", "aria-live": "polite", className: contentClassName, children })
|
|
8870
|
+
] }) })
|
|
8871
|
+
);
|
|
8791
8872
|
}
|
|
8792
8873
|
);
|
|
8793
8874
|
SearchViewPanel.displayName = "SearchViewPanel";
|
|
8794
|
-
var
|
|
8875
|
+
var searchBarRootVariants = classVarianceAuthority.cva(
|
|
8795
8876
|
[
|
|
8796
|
-
"relative flex items-center h-14 rounded-full
|
|
8797
|
-
"
|
|
8877
|
+
"relative flex items-center h-14 rounded-full",
|
|
8878
|
+
"bg-surface-container-high shadow-elevation-3",
|
|
8879
|
+
"w-full text-body-large cursor-text",
|
|
8880
|
+
// Disabled — self-targeting; pointer-events lets ripple/hover stop cleanly
|
|
8881
|
+
"data-[disabled]:opacity-38 data-[disabled]:pointer-events-none data-[disabled]:cursor-not-allowed"
|
|
8798
8882
|
],
|
|
8799
8883
|
{
|
|
8800
8884
|
variants: {
|
|
8885
|
+
/**
|
|
8886
|
+
* Visual style of the search bar.
|
|
8887
|
+
* - contained: M3 Expressive — fills container, expressive motion, adjustable spacing
|
|
8888
|
+
* - divided: Baseline — 16dp fixed spacing, no expressive motion
|
|
8889
|
+
*/
|
|
8801
8890
|
style: {
|
|
8802
|
-
|
|
8891
|
+
/**
|
|
8892
|
+
* Contained (Expressive): spacing governed by data-[with-actions] content flag.
|
|
8893
|
+
* With actions: px-1 gap-1 (4dp each)
|
|
8894
|
+
* Without actions: px-4 (16dp each)
|
|
8895
|
+
*/
|
|
8896
|
+
contained: [
|
|
8897
|
+
"px-4",
|
|
8898
|
+
// default: no-actions 16dp
|
|
8899
|
+
"data-[with-actions]:px-1 data-[with-actions]:gap-1"
|
|
8900
|
+
// with-actions: 4dp
|
|
8901
|
+
],
|
|
8902
|
+
/**
|
|
8903
|
+
* Divided (Baseline): fixed 16dp side padding, 16dp icon-label gap.
|
|
8904
|
+
*/
|
|
8803
8905
|
divided: "px-4 gap-4"
|
|
8804
|
-
},
|
|
8805
|
-
noActions: {
|
|
8806
|
-
true: "",
|
|
8807
|
-
false: ""
|
|
8808
|
-
},
|
|
8809
|
-
focused: {
|
|
8810
|
-
true: "",
|
|
8811
|
-
false: ""
|
|
8812
|
-
},
|
|
8813
|
-
disabled: {
|
|
8814
|
-
true: "opacity-38 pointer-events-none",
|
|
8815
|
-
false: ""
|
|
8816
8906
|
}
|
|
8817
8907
|
},
|
|
8818
|
-
|
|
8819
|
-
{
|
|
8820
|
-
style: "contained",
|
|
8821
|
-
noActions: false,
|
|
8822
|
-
class: "px-1 gap-1"
|
|
8823
|
-
},
|
|
8824
|
-
{
|
|
8825
|
-
style: "contained",
|
|
8826
|
-
noActions: true,
|
|
8827
|
-
class: "px-4"
|
|
8828
|
-
}
|
|
8829
|
-
],
|
|
8830
|
-
defaultVariants: {
|
|
8831
|
-
style: "contained",
|
|
8832
|
-
noActions: false,
|
|
8833
|
-
focused: false,
|
|
8834
|
-
disabled: false
|
|
8835
|
-
}
|
|
8908
|
+
defaultVariants: { style: "contained" }
|
|
8836
8909
|
}
|
|
8837
8910
|
);
|
|
8911
|
+
var searchBarStateLayerVariants = classVarianceAuthority.cva([
|
|
8912
|
+
"absolute inset-0 rounded-full pointer-events-none opacity-0",
|
|
8913
|
+
"bg-on-surface",
|
|
8914
|
+
// Effects transition — no overshoot on opacity
|
|
8915
|
+
"transition-opacity duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
|
|
8916
|
+
// Hover: 8%
|
|
8917
|
+
"group-data-[hovered]/search:opacity-8",
|
|
8918
|
+
// Pressed: 10%, doubled selector wins over hover at equal cascade position
|
|
8919
|
+
"group-data-[pressed]/search:group-data-[pressed]/search:opacity-10",
|
|
8920
|
+
// No state layer when disabled
|
|
8921
|
+
"group-data-[disabled]/search:hidden"
|
|
8922
|
+
]);
|
|
8923
|
+
var searchBarFocusRingVariants = classVarianceAuthority.cva([
|
|
8924
|
+
"pointer-events-none absolute inset-[-3px] rounded-full",
|
|
8925
|
+
"outline outline-[3px] outline-offset-0 outline-secondary",
|
|
8926
|
+
// Effects transition
|
|
8927
|
+
"transition-opacity duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
|
|
8928
|
+
"opacity-0",
|
|
8929
|
+
"group-data-[focus-visible]/search:opacity-100"
|
|
8930
|
+
]);
|
|
8931
|
+
var searchBarLeadingIconVariants = classVarianceAuthority.cva([
|
|
8932
|
+
"flex size-12 shrink-0 items-center justify-center text-on-surface"
|
|
8933
|
+
]);
|
|
8934
|
+
var searchBarTrailingActionVariants = classVarianceAuthority.cva([
|
|
8935
|
+
"flex size-12 shrink-0 items-center justify-center text-on-surface-variant"
|
|
8936
|
+
]);
|
|
8937
|
+
var searchBarAvatarVariants = classVarianceAuthority.cva(["flex size-12 shrink-0 items-center justify-center"]);
|
|
8938
|
+
var searchBarTrailingActionsVariants = classVarianceAuthority.cva(["flex items-center"]);
|
|
8939
|
+
var searchBarInputVariants = classVarianceAuthority.cva([
|
|
8940
|
+
"flex-1 min-w-0 bg-transparent outline-none",
|
|
8941
|
+
"text-body-large text-on-surface",
|
|
8942
|
+
"placeholder:text-on-surface-variant",
|
|
8943
|
+
"focus-visible:outline-none",
|
|
8944
|
+
// Hide native browser search affordances — our MD3 clear button handles clearing
|
|
8945
|
+
"[&::-webkit-search-cancel-button]:appearance-none",
|
|
8946
|
+
"[&::-webkit-search-decoration]:appearance-none"
|
|
8947
|
+
]);
|
|
8838
8948
|
var searchViewVariants = classVarianceAuthority.cva(["flex flex-col shadow-elevation-3 z-50 overflow-hidden"], {
|
|
8839
8949
|
variants: {
|
|
8840
8950
|
style: {
|
|
@@ -8847,31 +8957,32 @@ var searchViewVariants = classVarianceAuthority.cva(["flex flex-col shadow-eleva
|
|
|
8847
8957
|
}
|
|
8848
8958
|
},
|
|
8849
8959
|
compoundVariants: [
|
|
8960
|
+
// Contained + fullscreen: surface-container-low, square corners
|
|
8850
8961
|
{
|
|
8851
8962
|
style: "contained",
|
|
8852
8963
|
layout: "fullscreen",
|
|
8853
8964
|
class: "bg-surface-container-low rounded-none"
|
|
8854
8965
|
},
|
|
8966
|
+
// Contained + docked: surface-container-high, 12dp results rounding, 2dp gap
|
|
8855
8967
|
{
|
|
8856
8968
|
style: "contained",
|
|
8857
8969
|
layout: "docked",
|
|
8858
8970
|
class: "bg-surface-container-high rounded-xl gap-0.5"
|
|
8859
8971
|
},
|
|
8972
|
+
// Divided + fullscreen: surface-container-high, square corners
|
|
8860
8973
|
{
|
|
8861
8974
|
style: "divided",
|
|
8862
8975
|
layout: "fullscreen",
|
|
8863
8976
|
class: "bg-surface-container-high rounded-none"
|
|
8864
8977
|
},
|
|
8978
|
+
// Divided + docked: surface-container-high, extra-large rounding (28dp)
|
|
8865
8979
|
{
|
|
8866
8980
|
style: "divided",
|
|
8867
8981
|
layout: "docked",
|
|
8868
8982
|
class: "bg-surface-container-high rounded-[28px]"
|
|
8869
8983
|
}
|
|
8870
8984
|
],
|
|
8871
|
-
defaultVariants: {
|
|
8872
|
-
style: "contained",
|
|
8873
|
-
layout: "fullscreen"
|
|
8874
|
-
}
|
|
8985
|
+
defaultVariants: { style: "contained", layout: "fullscreen" }
|
|
8875
8986
|
});
|
|
8876
8987
|
var searchViewHeaderVariants = classVarianceAuthority.cva(
|
|
8877
8988
|
["flex items-center w-full bg-surface-container-high gap-1"],
|
|
@@ -8882,14 +8993,50 @@ var searchViewHeaderVariants = classVarianceAuthority.cva(
|
|
|
8882
8993
|
divided: "h-[72px] px-4"
|
|
8883
8994
|
},
|
|
8884
8995
|
layout: {
|
|
8996
|
+
// Docked overrides height to 56dp regardless of style
|
|
8885
8997
|
docked: "h-14",
|
|
8886
8998
|
fullscreen: ""
|
|
8887
8999
|
}
|
|
8888
9000
|
},
|
|
8889
|
-
defaultVariants: {
|
|
8890
|
-
|
|
8891
|
-
|
|
8892
|
-
|
|
9001
|
+
defaultVariants: { style: "contained", layout: "fullscreen" }
|
|
9002
|
+
}
|
|
9003
|
+
);
|
|
9004
|
+
var searchViewBackButtonVariants = classVarianceAuthority.cva([
|
|
9005
|
+
"flex size-12 shrink-0 items-center justify-center",
|
|
9006
|
+
"text-on-surface rounded-full",
|
|
9007
|
+
"cursor-pointer"
|
|
9008
|
+
]);
|
|
9009
|
+
var searchViewClearButtonVariants = classVarianceAuthority.cva([
|
|
9010
|
+
"flex size-12 shrink-0 items-center justify-center",
|
|
9011
|
+
"text-on-surface-variant rounded-full",
|
|
9012
|
+
"cursor-pointer",
|
|
9013
|
+
"transition-opacity duration-spring-standard-fast-effects ease-spring-standard-fast-effects"
|
|
9014
|
+
]);
|
|
9015
|
+
var searchViewTrailingActionVariants = classVarianceAuthority.cva([
|
|
9016
|
+
"flex size-12 shrink-0 items-center justify-center text-on-surface-variant"
|
|
9017
|
+
]);
|
|
9018
|
+
var searchViewTrailingActionsVariants = classVarianceAuthority.cva(["flex items-center"]);
|
|
9019
|
+
var searchViewInputVariants = classVarianceAuthority.cva([
|
|
9020
|
+
"flex-1 min-w-0 bg-transparent outline-none",
|
|
9021
|
+
"text-body-large text-on-surface",
|
|
9022
|
+
"placeholder:text-on-surface-variant",
|
|
9023
|
+
"focus-visible:outline-none",
|
|
9024
|
+
// Hide native browser search affordances
|
|
9025
|
+
"[&::-webkit-search-cancel-button]:appearance-none",
|
|
9026
|
+
"[&::-webkit-search-decoration]:appearance-none"
|
|
9027
|
+
]);
|
|
9028
|
+
var searchViewDividerVariants = classVarianceAuthority.cva(["border-t border-outline w-full"]);
|
|
9029
|
+
var searchViewContentVariants = classVarianceAuthority.cva(["flex-1 overflow-y-auto"]);
|
|
9030
|
+
var DefaultSearchIcon = () => /* @__PURE__ */ jsxRuntime.jsx(
|
|
9031
|
+
"svg",
|
|
9032
|
+
{
|
|
9033
|
+
width: "24",
|
|
9034
|
+
height: "24",
|
|
9035
|
+
viewBox: "0 0 24 24",
|
|
9036
|
+
fill: "currentColor",
|
|
9037
|
+
"aria-hidden": "true",
|
|
9038
|
+
focusable: "false",
|
|
9039
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" })
|
|
8893
9040
|
}
|
|
8894
9041
|
);
|
|
8895
9042
|
var SearchBar = React.forwardRef(
|
|
@@ -8910,7 +9057,7 @@ var SearchBar = React.forwardRef(
|
|
|
8910
9057
|
onFocus,
|
|
8911
9058
|
onBlur
|
|
8912
9059
|
}, ref) => {
|
|
8913
|
-
const
|
|
9060
|
+
const hasActions = trailingActions != null && trailingActions.length > 0 || !!avatar;
|
|
8914
9061
|
const reducedMotion = useReducedMotion();
|
|
8915
9062
|
const [isFocused, setIsFocused] = React.useState(false);
|
|
8916
9063
|
const handleFocusInternal = React.useCallback(() => {
|
|
@@ -8921,83 +9068,85 @@ var SearchBar = React.forwardRef(
|
|
|
8921
9068
|
setIsFocused(false);
|
|
8922
9069
|
onBlur?.();
|
|
8923
9070
|
}, [onBlur]);
|
|
8924
|
-
const {
|
|
8925
|
-
|
|
8926
|
-
|
|
8927
|
-
const
|
|
8928
|
-
const
|
|
8929
|
-
|
|
8930
|
-
|
|
8931
|
-
|
|
8932
|
-
children: action
|
|
9071
|
+
const { isHovered, hoverProps } = reactAria.useHover({ isDisabled });
|
|
9072
|
+
const { isFocusVisible, focusProps } = reactAria.useFocusRing({ within: true });
|
|
9073
|
+
const [isPressed, setIsPressed] = React.useState(false);
|
|
9074
|
+
const { onMouseDown: handleRipple, ripples } = useRipple({ disabled: isDisabled });
|
|
9075
|
+
const handleMouseDown = React.useCallback(
|
|
9076
|
+
(e) => {
|
|
9077
|
+
setIsPressed(true);
|
|
9078
|
+
handleRipple(e);
|
|
8933
9079
|
},
|
|
8934
|
-
|
|
8935
|
-
)
|
|
8936
|
-
const
|
|
9080
|
+
[handleRipple]
|
|
9081
|
+
);
|
|
9082
|
+
const handleMouseUp = React.useCallback(() => setIsPressed(false), []);
|
|
9083
|
+
const styledLeadingIcon = /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(searchBarLeadingIconVariants()), children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "size-6", children: leadingIcon ?? /* @__PURE__ */ jsxRuntime.jsx(DefaultSearchIcon, {}) }) });
|
|
9084
|
+
const styledTrailingActions = trailingActions?.map((action, index) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(searchBarTrailingActionVariants()), children: action }, index));
|
|
9085
|
+
const styledAvatar = avatar ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(searchBarAvatarVariants()), children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "size-[30px] overflow-hidden rounded-full", children: avatar }) }) : void 0;
|
|
9086
|
+
const paneMarginClass = searchStyle === "contained" ? isFocused ? "mx-3" : "mx-6" : "";
|
|
9087
|
+
const paneTransitionClass = searchStyle === "contained" && !reducedMotion ? "transition-[margin] duration-expressive-fast-spatial ease-expressive-fast-spatial" : "";
|
|
8937
9088
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8938
9089
|
"div",
|
|
8939
9090
|
{
|
|
8940
|
-
|
|
8941
|
-
|
|
8942
|
-
|
|
8943
|
-
|
|
8944
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8945
|
-
"
|
|
8946
|
-
|
|
8947
|
-
|
|
8948
|
-
|
|
8949
|
-
|
|
8950
|
-
|
|
8951
|
-
|
|
8952
|
-
|
|
8953
|
-
|
|
8954
|
-
|
|
9091
|
+
role: "presentation",
|
|
9092
|
+
...reactAria.mergeProps(hoverProps, focusProps),
|
|
9093
|
+
className: cn(paneTransitionClass, paneMarginClass),
|
|
9094
|
+
onMouseUp: handleMouseUp,
|
|
9095
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { role: "presentation", className: "relative", children: [
|
|
9096
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(searchBarFocusRingVariants()), "aria-hidden": "true" }),
|
|
9097
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
9098
|
+
"div",
|
|
9099
|
+
{
|
|
9100
|
+
role: "presentation",
|
|
9101
|
+
...getInteractionDataAttributes({
|
|
9102
|
+
isHovered,
|
|
9103
|
+
isFocusVisible,
|
|
9104
|
+
isPressed,
|
|
9105
|
+
isDisabled
|
|
8955
9106
|
}),
|
|
8956
|
-
|
|
8957
|
-
|
|
8958
|
-
|
|
8959
|
-
|
|
8960
|
-
|
|
8961
|
-
"span",
|
|
8962
|
-
{
|
|
8963
|
-
"data-slot": "state-layer",
|
|
8964
|
-
className: cn(
|
|
8965
|
-
"bg-on-surface pointer-events-none absolute inset-0 rounded-full opacity-0",
|
|
8966
|
-
"group-hover:opacity-8 group-active:opacity-10",
|
|
8967
|
-
"duration-spring-standard-fast-effects ease-spring-standard-fast-effects transition-opacity"
|
|
8968
|
-
)
|
|
8969
|
-
}
|
|
8970
|
-
),
|
|
8971
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8972
|
-
SearchBarHeadless,
|
|
8973
|
-
{
|
|
8974
|
-
ref,
|
|
8975
|
-
...value !== void 0 ? { value } : {},
|
|
8976
|
-
...defaultValue !== void 0 ? { defaultValue } : {},
|
|
8977
|
-
...onChange !== void 0 ? { onChange } : {},
|
|
8978
|
-
...onSubmit !== void 0 ? { onSubmit } : {},
|
|
8979
|
-
...onClear !== void 0 ? { onClear } : {},
|
|
8980
|
-
...placeholder !== void 0 ? { placeholder } : {},
|
|
8981
|
-
...styledLeadingIcon !== void 0 ? { leadingIcon: styledLeadingIcon } : {},
|
|
8982
|
-
...styledTrailingActions !== void 0 ? { trailingActions: styledTrailingActions } : {},
|
|
8983
|
-
...styledAvatar !== void 0 ? { avatar: styledAvatar } : {},
|
|
8984
|
-
...isDisabled !== void 0 ? { isDisabled } : {},
|
|
8985
|
-
...ariaLabel !== void 0 ? { "aria-label": ariaLabel } : {},
|
|
8986
|
-
onFocus: handleFocusInternal,
|
|
8987
|
-
onBlur: handleBlurInternal,
|
|
8988
|
-
className: cn(
|
|
8989
|
-
"relative z-0 flex h-full w-full items-center",
|
|
8990
|
-
"[&_input]:flex-1 [&_input]:bg-transparent [&_input]:outline-none",
|
|
8991
|
-
"[&_input]:text-body-large [&_input]:text-on-surface",
|
|
8992
|
-
"[&_input]:placeholder:text-on-surface-variant",
|
|
8993
|
-
"[&_input]:focus-visible:outline-none"
|
|
8994
|
-
)
|
|
8995
|
-
}
|
|
9107
|
+
"data-with-actions": hasActions ? "" : void 0,
|
|
9108
|
+
className: cn(
|
|
9109
|
+
"group/search overflow-hidden",
|
|
9110
|
+
searchBarRootVariants({ style: searchStyle }),
|
|
9111
|
+
className
|
|
8996
9112
|
),
|
|
8997
|
-
|
|
8998
|
-
|
|
8999
|
-
|
|
9000
|
-
|
|
9113
|
+
onMouseDown: (e) => handleMouseDown(e),
|
|
9114
|
+
children: [
|
|
9115
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9116
|
+
"span",
|
|
9117
|
+
{
|
|
9118
|
+
"data-slot": "state-layer",
|
|
9119
|
+
className: cn(searchBarStateLayerVariants()),
|
|
9120
|
+
"aria-hidden": "true"
|
|
9121
|
+
}
|
|
9122
|
+
),
|
|
9123
|
+
ripples,
|
|
9124
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9125
|
+
SearchBarHeadless,
|
|
9126
|
+
{
|
|
9127
|
+
ref,
|
|
9128
|
+
...value !== void 0 ? { value } : {},
|
|
9129
|
+
...defaultValue !== void 0 ? { defaultValue } : {},
|
|
9130
|
+
...onChange !== void 0 ? { onChange } : {},
|
|
9131
|
+
...onSubmit !== void 0 ? { onSubmit } : {},
|
|
9132
|
+
...onClear !== void 0 ? { onClear } : {},
|
|
9133
|
+
...placeholder !== void 0 ? { placeholder } : {},
|
|
9134
|
+
leadingIcon: styledLeadingIcon,
|
|
9135
|
+
...styledTrailingActions !== void 0 ? { trailingActions: styledTrailingActions } : {},
|
|
9136
|
+
...styledAvatar !== void 0 ? { avatar: styledAvatar } : {},
|
|
9137
|
+
isDisabled,
|
|
9138
|
+
...ariaLabel !== void 0 ? { "aria-label": ariaLabel } : {},
|
|
9139
|
+
onFocus: handleFocusInternal,
|
|
9140
|
+
onBlur: handleBlurInternal,
|
|
9141
|
+
className: "relative z-0 flex h-full w-full items-center",
|
|
9142
|
+
inputClassName: cn(searchBarInputVariants()),
|
|
9143
|
+
trailingActionsClassName: cn(searchBarTrailingActionsVariants())
|
|
9144
|
+
}
|
|
9145
|
+
)
|
|
9146
|
+
]
|
|
9147
|
+
}
|
|
9148
|
+
)
|
|
9149
|
+
] })
|
|
9001
9150
|
}
|
|
9002
9151
|
);
|
|
9003
9152
|
}
|
|
@@ -9022,21 +9171,29 @@ var SearchView = React.forwardRef(
|
|
|
9022
9171
|
showDivider
|
|
9023
9172
|
}, ref) => {
|
|
9024
9173
|
const resolvedShowDivider = showDivider ?? searchStyle === "divided";
|
|
9174
|
+
const enterMotionClass = layout === "docked" ? "animate-md-scale-in" : "animate-md-fade-in";
|
|
9175
|
+
const containerClass = cn(
|
|
9176
|
+
searchViewVariants({ style: searchStyle, layout }),
|
|
9177
|
+
enterMotionClass,
|
|
9178
|
+
className
|
|
9179
|
+
);
|
|
9180
|
+
const headerClass = cn(searchViewHeaderVariants({ style: searchStyle, layout }));
|
|
9181
|
+
const backButtonClass = cn(searchViewBackButtonVariants());
|
|
9182
|
+
const clearButtonClass = cn(searchViewClearButtonVariants());
|
|
9183
|
+
const trailingActionClass = cn(searchViewTrailingActionVariants());
|
|
9184
|
+
const trailingActionsGroupClass = cn(searchViewTrailingActionsVariants());
|
|
9185
|
+
const inputClass = cn(searchViewInputVariants());
|
|
9186
|
+
const dividerClass = cn(searchViewDividerVariants());
|
|
9187
|
+
const contentClass = cn(searchViewContentVariants());
|
|
9025
9188
|
const styledLeadingIcon = leadingIcon ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-on-surface flex size-12 shrink-0 items-center justify-center", children: leadingIcon }) : void 0;
|
|
9026
|
-
const styledTrailingActions = trailingActions?.map((action, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
9027
|
-
"span",
|
|
9028
|
-
{
|
|
9029
|
-
className: "text-on-surface-variant flex size-12 shrink-0 items-center justify-center",
|
|
9030
|
-
children: action
|
|
9031
|
-
},
|
|
9032
|
-
index
|
|
9033
|
-
));
|
|
9189
|
+
const styledTrailingActions = trailingActions?.map((action, index) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: trailingActionClass, children: action }, index));
|
|
9034
9190
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9035
9191
|
SearchViewHeadless,
|
|
9036
9192
|
{
|
|
9037
9193
|
ref,
|
|
9038
9194
|
isOpen,
|
|
9039
9195
|
onClose,
|
|
9196
|
+
layout,
|
|
9040
9197
|
...value !== void 0 ? { value } : {},
|
|
9041
9198
|
...defaultValue !== void 0 ? { defaultValue } : {},
|
|
9042
9199
|
...onChange !== void 0 ? { onChange } : {},
|
|
@@ -9046,53 +9203,20 @@ var SearchView = React.forwardRef(
|
|
|
9046
9203
|
...styledLeadingIcon !== void 0 ? { leadingIcon: styledLeadingIcon } : {},
|
|
9047
9204
|
...styledTrailingActions !== void 0 ? { trailingActions: styledTrailingActions } : {},
|
|
9048
9205
|
showDivider: resolvedShowDivider,
|
|
9049
|
-
className:
|
|
9050
|
-
|
|
9051
|
-
|
|
9052
|
-
|
|
9053
|
-
|
|
9054
|
-
|
|
9055
|
-
|
|
9206
|
+
className: containerClass,
|
|
9207
|
+
headerClassName: headerClass,
|
|
9208
|
+
backButtonClassName: backButtonClass,
|
|
9209
|
+
clearButtonClassName: clearButtonClass,
|
|
9210
|
+
inputClassName: inputClass,
|
|
9211
|
+
trailingActionsClassName: trailingActionsGroupClass,
|
|
9212
|
+
dividerClassName: dividerClass,
|
|
9213
|
+
contentClassName: contentClass,
|
|
9056
9214
|
children
|
|
9057
9215
|
}
|
|
9058
9216
|
);
|
|
9059
9217
|
}
|
|
9060
9218
|
);
|
|
9061
9219
|
SearchView.displayName = "SearchView";
|
|
9062
|
-
var slotClasses = cn(
|
|
9063
|
-
// Input styling
|
|
9064
|
-
"[&_input]:flex-1 [&_input]:bg-transparent [&_input]:outline-none",
|
|
9065
|
-
"[&_input]:text-body-large [&_input]:text-on-surface",
|
|
9066
|
-
"[&_input]:placeholder:text-on-surface-variant",
|
|
9067
|
-
// Divider
|
|
9068
|
-
"[&>[data-slot=divider]]:border-outline",
|
|
9069
|
-
// Content area
|
|
9070
|
-
"[&>[data-slot=content]]:flex-1 [&>[data-slot=content]]:overflow-y-auto",
|
|
9071
|
-
// Clear button
|
|
9072
|
-
"[&_[data-slot=clear-button]]:size-12 [&_[data-slot=clear-button]]:flex",
|
|
9073
|
-
"[&_[data-slot=clear-button]]:items-center [&_[data-slot=clear-button]]:justify-center",
|
|
9074
|
-
"[&_[data-slot=clear-button]]:text-on-surface-variant",
|
|
9075
|
-
"[&_[data-slot=clear-button]]:transition-opacity [&_[data-slot=clear-button]]:duration-short4",
|
|
9076
|
-
"[&_[data-slot=clear-button]]:ease-standard",
|
|
9077
|
-
// Back button
|
|
9078
|
-
"[&_[data-slot=back-button]]:size-12 [&_[data-slot=back-button]]:flex",
|
|
9079
|
-
"[&_[data-slot=back-button]]:items-center [&_[data-slot=back-button]]:justify-center",
|
|
9080
|
-
"[&_[data-slot=back-button]]:text-on-surface"
|
|
9081
|
-
);
|
|
9082
|
-
function getHeaderClasses(style, layout) {
|
|
9083
|
-
const base = "[&>[data-slot=header]]:flex [&>[data-slot=header]]:items-center [&>[data-slot=header]]:w-full [&>[data-slot=header]]:bg-surface-container-high [&>[data-slot=header]]:gap-1";
|
|
9084
|
-
if (layout === "docked") {
|
|
9085
|
-
return cn(
|
|
9086
|
-
base,
|
|
9087
|
-
"[&>[data-slot=header]]:h-14",
|
|
9088
|
-
style === "contained" ? "[&>[data-slot=header]]:px-3" : "[&>[data-slot=header]]:px-4"
|
|
9089
|
-
);
|
|
9090
|
-
}
|
|
9091
|
-
if (style === "contained") {
|
|
9092
|
-
return cn(base, "[&>[data-slot=header]]:h-14 [&>[data-slot=header]]:px-3");
|
|
9093
|
-
}
|
|
9094
|
-
return cn(base, "[&>[data-slot=header]]:h-[72px] [&>[data-slot=header]]:px-4");
|
|
9095
|
-
}
|
|
9096
9220
|
var Search = React.forwardRef(
|
|
9097
9221
|
({
|
|
9098
9222
|
isOpen: controlledIsOpen,
|
|
@@ -10290,9 +10414,12 @@ function SliderThumbInternal({
|
|
|
10290
10414
|
state,
|
|
10291
10415
|
trackRef,
|
|
10292
10416
|
isDisabled,
|
|
10417
|
+
orientation,
|
|
10293
10418
|
formatValue: formatValue2,
|
|
10294
10419
|
className,
|
|
10295
10420
|
"data-direction": dataDirection,
|
|
10421
|
+
renderContent,
|
|
10422
|
+
onDraggingChange,
|
|
10296
10423
|
...ariaProps
|
|
10297
10424
|
}) {
|
|
10298
10425
|
const inputRef = React.useRef(null);
|
|
@@ -10307,33 +10434,70 @@ function SliderThumbInternal({
|
|
|
10307
10434
|
state
|
|
10308
10435
|
);
|
|
10309
10436
|
const { isFocusVisible, focusProps } = reactAria.useFocusRing();
|
|
10437
|
+
const { isHovered, hoverProps } = reactAria.useHover({ isDisabled });
|
|
10438
|
+
React.useEffect(() => {
|
|
10439
|
+
onDraggingChange?.(isDragging);
|
|
10440
|
+
}, [isDragging, onDraggingChange]);
|
|
10310
10441
|
const currentValue = state.getThumbValue(index);
|
|
10311
10442
|
const ariaValueText = formatValue2 ? formatValue2(currentValue) : void 0;
|
|
10312
|
-
|
|
10443
|
+
const thumbPercent = state.getThumbPercent(index);
|
|
10444
|
+
const positionStyle = orientation === "horizontal" ? {
|
|
10445
|
+
position: "absolute",
|
|
10446
|
+
left: `${thumbPercent * 100}%`,
|
|
10447
|
+
top: "50%",
|
|
10448
|
+
transform: "translate(-50%, -50%)",
|
|
10449
|
+
zIndex: 10
|
|
10450
|
+
} : {
|
|
10451
|
+
position: "absolute",
|
|
10452
|
+
bottom: `${thumbPercent * 100}%`,
|
|
10453
|
+
left: "50%",
|
|
10454
|
+
transform: "translate(-50%, 50%)",
|
|
10455
|
+
zIndex: 10
|
|
10456
|
+
};
|
|
10457
|
+
const renderState = {
|
|
10458
|
+
index,
|
|
10459
|
+
value: currentValue,
|
|
10460
|
+
isDragging,
|
|
10461
|
+
isFocusVisible,
|
|
10462
|
+
isHovered,
|
|
10463
|
+
isDisabled
|
|
10464
|
+
};
|
|
10465
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
10313
10466
|
"div",
|
|
10314
10467
|
{
|
|
10315
|
-
...thumbProps,
|
|
10468
|
+
...reactAria.mergeProps(thumbProps, hoverProps, { style: positionStyle }),
|
|
10469
|
+
"data-slot": "slider-thumb",
|
|
10316
10470
|
"data-dragging": isDragging || void 0,
|
|
10317
10471
|
"data-focused": isFocused || void 0,
|
|
10318
|
-
"data-focus-visible": isFocusVisible || void 0,
|
|
10319
|
-
"data-disabled": isDisabled || void 0,
|
|
10320
10472
|
...dataDirection !== void 0 ? { "data-direction": dataDirection } : {},
|
|
10473
|
+
...getInteractionDataAttributes({
|
|
10474
|
+
isHovered,
|
|
10475
|
+
isFocusVisible,
|
|
10476
|
+
isPressed: isDragging,
|
|
10477
|
+
isDisabled
|
|
10478
|
+
}),
|
|
10321
10479
|
className: cn(
|
|
10480
|
+
// Group scope: interaction selectors on children target this element
|
|
10481
|
+
"group/slider-thumb",
|
|
10482
|
+
// Accessibility: remove default outline (custom focus ring via data-[focus-visible])
|
|
10322
10483
|
"outline-none",
|
|
10323
|
-
// Focus ring visible only on keyboard focus — matches project pattern
|
|
10484
|
+
// Focus ring visible only on keyboard focus — matches project pattern
|
|
10324
10485
|
"data-[focus-visible]:ring-3",
|
|
10325
10486
|
"data-[focus-visible]:ring-secondary",
|
|
10326
10487
|
"data-[focus-visible]:ring-offset-2",
|
|
10327
10488
|
className
|
|
10328
10489
|
),
|
|
10329
|
-
children:
|
|
10330
|
-
|
|
10331
|
-
|
|
10332
|
-
|
|
10333
|
-
|
|
10334
|
-
|
|
10335
|
-
|
|
10336
|
-
|
|
10490
|
+
children: [
|
|
10491
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactAria.VisuallyHidden, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
10492
|
+
"input",
|
|
10493
|
+
{
|
|
10494
|
+
ref: inputRef,
|
|
10495
|
+
...reactAria.mergeProps(inputProps, focusProps),
|
|
10496
|
+
...ariaValueText !== void 0 ? { "aria-valuetext": ariaValueText } : {}
|
|
10497
|
+
}
|
|
10498
|
+
) }),
|
|
10499
|
+
renderContent?.(renderState)
|
|
10500
|
+
]
|
|
10337
10501
|
}
|
|
10338
10502
|
);
|
|
10339
10503
|
}
|
|
@@ -10356,6 +10520,9 @@ var SliderHeadless = React.forwardRef(
|
|
|
10356
10520
|
className,
|
|
10357
10521
|
style,
|
|
10358
10522
|
children,
|
|
10523
|
+
trackClassName,
|
|
10524
|
+
renderThumbContent,
|
|
10525
|
+
onThumbDraggingChange,
|
|
10359
10526
|
...ariaProps
|
|
10360
10527
|
} = props;
|
|
10361
10528
|
const trackRef = React.useRef(null);
|
|
@@ -10417,7 +10584,18 @@ var SliderHeadless = React.forwardRef(
|
|
|
10417
10584
|
"data-variant": variant,
|
|
10418
10585
|
...zeroPercent !== void 0 ? { "data-zero-percent": zeroPercent } : {},
|
|
10419
10586
|
children: [
|
|
10420
|
-
label && /* @__PURE__ */ jsxRuntime.jsx("label", { ...labelProps, children: label }),
|
|
10587
|
+
label && /* @__PURE__ */ jsxRuntime.jsx("label", { ...labelProps, className: cn(orientation === "vertical" && "sr-only"), children: label }),
|
|
10588
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10589
|
+
"output",
|
|
10590
|
+
{
|
|
10591
|
+
...outputProps,
|
|
10592
|
+
className: cn(
|
|
10593
|
+
orientation === "horizontal" && "justify-self-end",
|
|
10594
|
+
orientation === "vertical" && "sr-only"
|
|
10595
|
+
),
|
|
10596
|
+
children: isRange ? formatValue2 ? `${formatValue2(state.getThumbValue(0))} \u2013 ${formatValue2(state.getThumbValue(1))}` : `${state.getThumbValueLabel(0)} \u2013 ${state.getThumbValueLabel(1)}` : formatValue2 ? formatValue2(state.getThumbValue(0)) : state.getThumbValueLabel(0)
|
|
10597
|
+
}
|
|
10598
|
+
),
|
|
10421
10599
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
10422
10600
|
"div",
|
|
10423
10601
|
{
|
|
@@ -10426,6 +10604,10 @@ var SliderHeadless = React.forwardRef(
|
|
|
10426
10604
|
"data-orientation": orientation,
|
|
10427
10605
|
"data-track": true,
|
|
10428
10606
|
...zeroPercent !== void 0 ? { "data-zero-percent": zeroPercent } : {},
|
|
10607
|
+
className: cn(
|
|
10608
|
+
trackClassName ?? "relative w-full",
|
|
10609
|
+
orientation === "vertical" && !trackClassName && "h-full"
|
|
10610
|
+
),
|
|
10429
10611
|
children: [
|
|
10430
10612
|
children,
|
|
10431
10613
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -10435,9 +10617,12 @@ var SliderHeadless = React.forwardRef(
|
|
|
10435
10617
|
state,
|
|
10436
10618
|
trackRef,
|
|
10437
10619
|
isDisabled,
|
|
10620
|
+
orientation,
|
|
10438
10621
|
...formatValue2 !== void 0 ? { formatValue: formatValue2 } : {},
|
|
10439
10622
|
...thumb0Label !== void 0 ? { "aria-label": thumb0Label } : {},
|
|
10440
|
-
...direction !== void 0 ? { "data-direction": direction } : {}
|
|
10623
|
+
...direction !== void 0 ? { "data-direction": direction } : {},
|
|
10624
|
+
...renderThumbContent !== void 0 ? { renderContent: renderThumbContent } : {},
|
|
10625
|
+
...onThumbDraggingChange !== void 0 ? { onDraggingChange: (d) => onThumbDraggingChange(0, d) } : {}
|
|
10441
10626
|
}
|
|
10442
10627
|
),
|
|
10443
10628
|
isRange && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -10447,144 +10632,174 @@ var SliderHeadless = React.forwardRef(
|
|
|
10447
10632
|
state,
|
|
10448
10633
|
trackRef,
|
|
10449
10634
|
isDisabled,
|
|
10635
|
+
orientation,
|
|
10450
10636
|
...formatValue2 !== void 0 ? { formatValue: formatValue2 } : {},
|
|
10451
|
-
"aria-label": thumbLabels?.[1] ?? "Maximum"
|
|
10637
|
+
"aria-label": thumbLabels?.[1] ?? "Maximum",
|
|
10638
|
+
...renderThumbContent !== void 0 ? { renderContent: renderThumbContent } : {},
|
|
10639
|
+
...onThumbDraggingChange !== void 0 ? { onDraggingChange: (d) => onThumbDraggingChange(1, d) } : {}
|
|
10452
10640
|
}
|
|
10453
10641
|
)
|
|
10454
10642
|
]
|
|
10455
10643
|
}
|
|
10456
|
-
)
|
|
10457
|
-
/* @__PURE__ */ jsxRuntime.jsx("output", { ...outputProps, children: isRange ? formatValue2 ? `${formatValue2(state.getThumbValue(0))} \u2013 ${formatValue2(state.getThumbValue(1))}` : `${state.getThumbValueLabel(0)} \u2013 ${state.getThumbValueLabel(1)}` : formatValue2 ? formatValue2(state.getThumbValue(0)) : state.getThumbValueLabel(0) })
|
|
10644
|
+
)
|
|
10458
10645
|
]
|
|
10459
10646
|
}
|
|
10460
10647
|
);
|
|
10461
10648
|
}
|
|
10462
10649
|
);
|
|
10463
10650
|
SliderHeadless.displayName = "SliderHeadless";
|
|
10464
|
-
var sliderContainerVariants = classVarianceAuthority.cva(
|
|
10651
|
+
var sliderContainerVariants = classVarianceAuthority.cva(["group/slider", "relative", "select-none"], {
|
|
10652
|
+
variants: {
|
|
10653
|
+
orientation: {
|
|
10654
|
+
// Grid: 1fr for label, auto for output value; gap-x for label↔output spacing
|
|
10655
|
+
horizontal: "grid grid-cols-[1fr_auto] items-center gap-x-2 w-full",
|
|
10656
|
+
// Flex column: label → track → output stacked; width = handle height (per size)
|
|
10657
|
+
vertical: "flex flex-col items-center h-full"
|
|
10658
|
+
},
|
|
10659
|
+
size: {
|
|
10660
|
+
// Vertical orientation: container width = handle height (dimensions transposed)
|
|
10661
|
+
// Applied only for vertical via compoundVariants below
|
|
10662
|
+
// NOTE: measurement-derived values from MD3 spec §4.2; permitted exception
|
|
10663
|
+
xsmall: "",
|
|
10664
|
+
small: "",
|
|
10665
|
+
medium: "",
|
|
10666
|
+
large: "",
|
|
10667
|
+
xlarge: ""
|
|
10668
|
+
}
|
|
10669
|
+
},
|
|
10670
|
+
compoundVariants: [
|
|
10671
|
+
// Vertical: container WIDTH = handle height (MD3 §10.9 — dimensions transposed)
|
|
10672
|
+
// NOTE: measurement-derived values from MD3 spec §4.2; permitted exception
|
|
10673
|
+
{ orientation: "vertical", size: "xsmall", class: "w-[44px]" },
|
|
10674
|
+
{ orientation: "vertical", size: "small", class: "w-[44px]" },
|
|
10675
|
+
{ orientation: "vertical", size: "medium", class: "w-[52px]" },
|
|
10676
|
+
{ orientation: "vertical", size: "large", class: "w-[68px]" },
|
|
10677
|
+
{ orientation: "vertical", size: "xlarge", class: "w-[108px]" }
|
|
10678
|
+
],
|
|
10679
|
+
defaultVariants: {
|
|
10680
|
+
orientation: "horizontal",
|
|
10681
|
+
size: "xsmall"
|
|
10682
|
+
}
|
|
10683
|
+
});
|
|
10684
|
+
var sliderTrackRegionVariants = classVarianceAuthority.cva(["relative", "touch-none"], {
|
|
10685
|
+
variants: {
|
|
10686
|
+
orientation: {
|
|
10687
|
+
horizontal: "col-span-2 w-full",
|
|
10688
|
+
// flex-1 fills the vertical container reliably; h-full collapses when the
|
|
10689
|
+
// container itself is a flex item without an explicit pixel height (CSS spec).
|
|
10690
|
+
// min-h-0 allows the flex child to shrink below its natural size if needed.
|
|
10691
|
+
vertical: "flex-1 min-h-0"
|
|
10692
|
+
},
|
|
10693
|
+
size: {
|
|
10694
|
+
// Horizontal: size controls track region HEIGHT (= handle height)
|
|
10695
|
+
// Vertical: size controls track region WIDTH (= handle height, dimensions transposed)
|
|
10696
|
+
// Applied as compound variants below to avoid cross-orientation conflicts
|
|
10697
|
+
xsmall: "",
|
|
10698
|
+
small: "",
|
|
10699
|
+
medium: "",
|
|
10700
|
+
large: "",
|
|
10701
|
+
xlarge: ""
|
|
10702
|
+
}
|
|
10703
|
+
},
|
|
10704
|
+
compoundVariants: [
|
|
10705
|
+
// Horizontal: height = handle height per MD3 §4.2
|
|
10706
|
+
{ orientation: "horizontal", size: "xsmall", class: "h-[44px]" },
|
|
10707
|
+
{ orientation: "horizontal", size: "small", class: "h-[44px]" },
|
|
10708
|
+
{ orientation: "horizontal", size: "medium", class: "h-[52px]" },
|
|
10709
|
+
{ orientation: "horizontal", size: "large", class: "h-[68px]" },
|
|
10710
|
+
{ orientation: "horizontal", size: "xlarge", class: "h-[108px]" },
|
|
10711
|
+
// Vertical: width = handle height (transposed per MD3 §10.9)
|
|
10712
|
+
{ orientation: "vertical", size: "xsmall", class: "w-[44px]" },
|
|
10713
|
+
{ orientation: "vertical", size: "small", class: "w-[44px]" },
|
|
10714
|
+
{ orientation: "vertical", size: "medium", class: "w-[52px]" },
|
|
10715
|
+
{ orientation: "vertical", size: "large", class: "w-[68px]" },
|
|
10716
|
+
{ orientation: "vertical", size: "xlarge", class: "w-[108px]" }
|
|
10717
|
+
],
|
|
10718
|
+
defaultVariants: {
|
|
10719
|
+
orientation: "horizontal",
|
|
10720
|
+
size: "xsmall"
|
|
10721
|
+
}
|
|
10722
|
+
});
|
|
10723
|
+
var sliderTrackLayoutVariants = classVarianceAuthority.cva(["absolute", "inset-0", "pointer-events-none"]);
|
|
10724
|
+
var sliderActiveTrackVariants = classVarianceAuthority.cva(
|
|
10465
10725
|
[
|
|
10466
|
-
|
|
10467
|
-
"
|
|
10468
|
-
|
|
10469
|
-
"
|
|
10470
|
-
"
|
|
10471
|
-
//
|
|
10472
|
-
"
|
|
10726
|
+
// Color
|
|
10727
|
+
"bg-primary",
|
|
10728
|
+
// Disabled — driven by root group/slider data-disabled attr
|
|
10729
|
+
"group-data-[disabled]/slider:bg-on-surface",
|
|
10730
|
+
"group-data-[disabled]/slider:opacity-38",
|
|
10731
|
+
// Layout — absolute fill within the track region
|
|
10732
|
+
"absolute",
|
|
10733
|
+
"overflow-hidden"
|
|
10473
10734
|
],
|
|
10474
10735
|
{
|
|
10475
10736
|
variants: {
|
|
10476
10737
|
size: {
|
|
10477
|
-
//
|
|
10478
|
-
|
|
10479
|
-
|
|
10480
|
-
|
|
10481
|
-
|
|
10482
|
-
|
|
10738
|
+
// Horizontal: left (start) = outer corner, right (near handle) = 2dp inner
|
|
10739
|
+
// NOTE: measurement-derived values from MD3 spec §4.2, §6; permitted exception
|
|
10740
|
+
xsmall: "h-[16px] rounded-l-[16px] rounded-r-[2px]",
|
|
10741
|
+
small: "h-[16px] rounded-l-[16px] rounded-r-[2px]",
|
|
10742
|
+
medium: "h-[40px] rounded-l-[12px] rounded-r-[2px]",
|
|
10743
|
+
large: "h-[56px] rounded-l-[16px] rounded-r-[2px]",
|
|
10744
|
+
xlarge: "h-[96px] rounded-l-[28px] rounded-r-[2px]"
|
|
10483
10745
|
},
|
|
10484
10746
|
orientation: {
|
|
10485
|
-
// Horizontal:
|
|
10486
|
-
horizontal: "",
|
|
10487
|
-
// Vertical:
|
|
10488
|
-
|
|
10489
|
-
// NOTE: h-full requires a parent with defined height; w-[...] set via compound variants
|
|
10490
|
-
vertical: "h-full flex-col"
|
|
10491
|
-
},
|
|
10492
|
-
disabled: {
|
|
10493
|
-
true: "cursor-not-allowed pointer-events-none",
|
|
10494
|
-
false: "cursor-pointer"
|
|
10747
|
+
// Horizontal: center vertically within track region
|
|
10748
|
+
horizontal: "top-1/2 -translate-y-1/2",
|
|
10749
|
+
// Vertical: center horizontally; length controlled by inline top/height styles
|
|
10750
|
+
vertical: "left-1/2 -translate-x-1/2"
|
|
10495
10751
|
}
|
|
10496
10752
|
},
|
|
10497
10753
|
compoundVariants: [
|
|
10498
|
-
// Vertical:
|
|
10499
|
-
//
|
|
10500
|
-
// NOTE: measurement-derived values from MD3 spec §4.2; permitted exception
|
|
10501
|
-
{ orientation: "vertical", size: "xsmall", className: "w-[44px]" },
|
|
10502
|
-
{ orientation: "vertical", size: "small", className: "w-[44px]" },
|
|
10503
|
-
{ orientation: "vertical", size: "medium", className: "w-[52px]" },
|
|
10504
|
-
{ orientation: "vertical", size: "large", className: "w-[68px]" },
|
|
10505
|
-
{ orientation: "vertical", size: "xlarge", className: "w-[108px]" }
|
|
10506
|
-
],
|
|
10507
|
-
defaultVariants: {
|
|
10508
|
-
size: "xsmall",
|
|
10509
|
-
orientation: "horizontal",
|
|
10510
|
-
disabled: false
|
|
10511
|
-
}
|
|
10512
|
-
}
|
|
10513
|
-
);
|
|
10514
|
-
var sliderActiveTrackVariants = classVarianceAuthority.cva(
|
|
10515
|
-
["bg-primary", "flex-shrink-0", "overflow-hidden", "relative"],
|
|
10516
|
-
{
|
|
10517
|
-
variants: {
|
|
10518
|
-
size: {
|
|
10519
|
-
// NOTE: measurement-derived values from MD3 spec §4.2, §6 Corner tokens; permitted exception
|
|
10520
|
-
// Corner classes are in compound variants to avoid conflicts with vertical orientation corners
|
|
10521
|
-
xsmall: "h-[16px] rounded-l-[16px] rounded-r-[2px]",
|
|
10522
|
-
// corner.large outer (16dp), 2dp inner
|
|
10523
|
-
small: "h-[16px] rounded-l-[16px] rounded-r-[2px]",
|
|
10524
|
-
medium: "h-[40px] rounded-l-[12px] rounded-r-[2px]",
|
|
10525
|
-
// corner.medium outer (12dp), 2dp inner
|
|
10526
|
-
large: "h-[56px] rounded-l-[16px] rounded-r-[2px]",
|
|
10527
|
-
// corner.large outer (16dp), 2dp inner
|
|
10528
|
-
xlarge: "h-[96px] rounded-l-[28px] rounded-r-[2px]"
|
|
10529
|
-
// corner.extra-large outer (28dp), 2dp inner
|
|
10530
|
-
},
|
|
10531
|
-
orientation: {
|
|
10532
|
-
horizontal: "",
|
|
10533
|
-
// Vertical: track thickness is now width; flex-basis (inline style) controls height.
|
|
10534
|
-
// h-[...] from size variant is overridden by flex-basis in a flex-col container.
|
|
10535
|
-
// Individual corner classes (rounded-tl/tr/bl/br) override the horizontal rounded-l/r
|
|
10536
|
-
// via tailwind-merge conflict resolution in cn().
|
|
10537
|
-
vertical: ""
|
|
10538
|
-
},
|
|
10539
|
-
disabled: {
|
|
10540
|
-
true: "bg-on-surface opacity-38",
|
|
10541
|
-
false: ""
|
|
10542
|
-
}
|
|
10543
|
-
},
|
|
10544
|
-
compoundVariants: [
|
|
10545
|
-
// Vertical: width = track thickness, corners transposed (bottom = outer, top = inner near handle)
|
|
10546
|
-
// Using individual corner utilities so tailwind-merge correctly resolves conflicts with
|
|
10547
|
-
// the horizontal rounded-l/rounded-r classes from size variants.
|
|
10548
|
-
// NOTE: measurement-derived values from MD3 spec §4.2, §6 Corner tokens; permitted exception
|
|
10754
|
+
// Vertical: width = track thickness; bottom = outer corner, top = 2dp inner (near handle)
|
|
10755
|
+
// NOTE: measurement-derived values from MD3 spec §4.2, §6; permitted exception
|
|
10549
10756
|
{
|
|
10550
10757
|
orientation: "vertical",
|
|
10551
10758
|
size: "xsmall",
|
|
10552
|
-
|
|
10759
|
+
class: "w-[16px] rounded-tl-[2px] rounded-tr-[2px] rounded-bl-[16px] rounded-br-[16px]"
|
|
10553
10760
|
},
|
|
10554
10761
|
{
|
|
10555
10762
|
orientation: "vertical",
|
|
10556
10763
|
size: "small",
|
|
10557
|
-
|
|
10764
|
+
class: "w-[16px] rounded-tl-[2px] rounded-tr-[2px] rounded-bl-[16px] rounded-br-[16px]"
|
|
10558
10765
|
},
|
|
10559
10766
|
{
|
|
10560
10767
|
orientation: "vertical",
|
|
10561
10768
|
size: "medium",
|
|
10562
|
-
|
|
10769
|
+
class: "w-[40px] rounded-tl-[2px] rounded-tr-[2px] rounded-bl-[12px] rounded-br-[12px]"
|
|
10563
10770
|
},
|
|
10564
10771
|
{
|
|
10565
10772
|
orientation: "vertical",
|
|
10566
10773
|
size: "large",
|
|
10567
|
-
|
|
10774
|
+
class: "w-[56px] rounded-tl-[2px] rounded-tr-[2px] rounded-bl-[16px] rounded-br-[16px]"
|
|
10568
10775
|
},
|
|
10569
10776
|
{
|
|
10570
10777
|
orientation: "vertical",
|
|
10571
10778
|
size: "xlarge",
|
|
10572
|
-
|
|
10779
|
+
class: "w-[96px] rounded-tl-[2px] rounded-tr-[2px] rounded-bl-[28px] rounded-br-[28px]"
|
|
10573
10780
|
}
|
|
10574
10781
|
],
|
|
10575
10782
|
defaultVariants: {
|
|
10576
10783
|
size: "xsmall",
|
|
10577
|
-
orientation: "horizontal"
|
|
10578
|
-
disabled: false
|
|
10784
|
+
orientation: "horizontal"
|
|
10579
10785
|
}
|
|
10580
10786
|
}
|
|
10581
10787
|
);
|
|
10582
10788
|
var sliderInactiveTrackVariants = classVarianceAuthority.cva(
|
|
10583
|
-
[
|
|
10789
|
+
[
|
|
10790
|
+
// Color
|
|
10791
|
+
"bg-secondary-container",
|
|
10792
|
+
// Disabled — driven by root group/slider data-disabled attr
|
|
10793
|
+
"group-data-[disabled]/slider:bg-on-surface/10",
|
|
10794
|
+
// Layout — absolute fill within the track region
|
|
10795
|
+
"absolute",
|
|
10796
|
+
"overflow-hidden"
|
|
10797
|
+
],
|
|
10584
10798
|
{
|
|
10585
10799
|
variants: {
|
|
10586
10800
|
size: {
|
|
10587
|
-
//
|
|
10801
|
+
// Horizontal: left (near handle) = 2dp inner, right (end) = outer corner
|
|
10802
|
+
// NOTE: measurement-derived values from MD3 spec §4.2, §6; permitted exception
|
|
10588
10803
|
xsmall: "h-[16px] rounded-l-[2px] rounded-r-[16px]",
|
|
10589
10804
|
small: "h-[16px] rounded-l-[2px] rounded-r-[16px]",
|
|
10590
10805
|
medium: "h-[40px] rounded-l-[2px] rounded-r-[12px]",
|
|
@@ -10592,68 +10807,65 @@ var sliderInactiveTrackVariants = classVarianceAuthority.cva(
|
|
|
10592
10807
|
xlarge: "h-[96px] rounded-l-[2px] rounded-r-[28px]"
|
|
10593
10808
|
},
|
|
10594
10809
|
orientation: {
|
|
10595
|
-
|
|
10596
|
-
|
|
10597
|
-
//
|
|
10598
|
-
vertical: ""
|
|
10599
|
-
},
|
|
10600
|
-
disabled: {
|
|
10601
|
-
true: "bg-on-surface/10",
|
|
10602
|
-
// MD3 §8.2: 10% opacity via background alpha
|
|
10603
|
-
false: ""
|
|
10810
|
+
// Horizontal: center vertically within track region
|
|
10811
|
+
horizontal: "top-1/2 -translate-y-1/2",
|
|
10812
|
+
// Vertical: center horizontally; length controlled by inline top/height styles
|
|
10813
|
+
vertical: "left-1/2 -translate-x-1/2"
|
|
10604
10814
|
}
|
|
10605
10815
|
},
|
|
10606
10816
|
compoundVariants: [
|
|
10607
|
-
// Vertical: width = track thickness
|
|
10608
|
-
// NOTE: measurement-derived values from MD3 spec §4.2, §6
|
|
10817
|
+
// Vertical: width = track thickness; top = outer corner, bottom = 2dp inner (near handle)
|
|
10818
|
+
// NOTE: measurement-derived values from MD3 spec §4.2, §6; permitted exception
|
|
10609
10819
|
{
|
|
10610
10820
|
orientation: "vertical",
|
|
10611
10821
|
size: "xsmall",
|
|
10612
|
-
|
|
10822
|
+
class: "w-[16px] rounded-tl-[16px] rounded-tr-[16px] rounded-bl-[2px] rounded-br-[2px]"
|
|
10613
10823
|
},
|
|
10614
10824
|
{
|
|
10615
10825
|
orientation: "vertical",
|
|
10616
10826
|
size: "small",
|
|
10617
|
-
|
|
10827
|
+
class: "w-[16px] rounded-tl-[16px] rounded-tr-[16px] rounded-bl-[2px] rounded-br-[2px]"
|
|
10618
10828
|
},
|
|
10619
10829
|
{
|
|
10620
10830
|
orientation: "vertical",
|
|
10621
10831
|
size: "medium",
|
|
10622
|
-
|
|
10832
|
+
class: "w-[40px] rounded-tl-[12px] rounded-tr-[12px] rounded-bl-[2px] rounded-br-[2px]"
|
|
10623
10833
|
},
|
|
10624
10834
|
{
|
|
10625
10835
|
orientation: "vertical",
|
|
10626
10836
|
size: "large",
|
|
10627
|
-
|
|
10837
|
+
class: "w-[56px] rounded-tl-[16px] rounded-tr-[16px] rounded-bl-[2px] rounded-br-[2px]"
|
|
10628
10838
|
},
|
|
10629
10839
|
{
|
|
10630
10840
|
orientation: "vertical",
|
|
10631
10841
|
size: "xlarge",
|
|
10632
|
-
|
|
10842
|
+
class: "w-[96px] rounded-tl-[28px] rounded-tr-[28px] rounded-bl-[2px] rounded-br-[2px]"
|
|
10633
10843
|
}
|
|
10634
10844
|
],
|
|
10635
10845
|
defaultVariants: {
|
|
10636
10846
|
size: "xsmall",
|
|
10637
|
-
orientation: "horizontal"
|
|
10638
|
-
disabled: false
|
|
10847
|
+
orientation: "horizontal"
|
|
10639
10848
|
}
|
|
10640
10849
|
}
|
|
10641
10850
|
);
|
|
10642
10851
|
var sliderHandleVariants = classVarianceAuthority.cva(
|
|
10643
10852
|
[
|
|
10853
|
+
// Color
|
|
10644
10854
|
"bg-primary",
|
|
10855
|
+
// Disabled — driven by thumb group/slider-thumb data-disabled attr
|
|
10856
|
+
"group-data-[disabled]/slider-thumb:bg-on-surface",
|
|
10857
|
+
"group-data-[disabled]/slider-thumb:opacity-38",
|
|
10858
|
+
// Pressed width (MD3: 4dp → 2dp on press, spatial spring)
|
|
10859
|
+
"group-data-[pressed]/slider-thumb:w-[2px]",
|
|
10860
|
+
// Shape
|
|
10645
10861
|
"rounded-[2px]",
|
|
10646
|
-
//
|
|
10862
|
+
// Layout
|
|
10647
10863
|
"flex-shrink-0",
|
|
10648
|
-
"
|
|
10649
|
-
"z-10",
|
|
10650
|
-
"outline-none"
|
|
10651
|
-
// Motion classes applied conditionally in Slider.tsx via useReducedMotion guard
|
|
10864
|
+
"pointer-events-none"
|
|
10652
10865
|
],
|
|
10653
10866
|
{
|
|
10654
10867
|
variants: {
|
|
10655
10868
|
size: {
|
|
10656
|
-
// NOTE: measurement-derived values from MD3 spec §4.2, §10.3; permitted exception
|
|
10657
10869
|
xsmall: "w-[4px] h-[44px]",
|
|
10658
10870
|
small: "w-[4px] h-[44px]",
|
|
10659
10871
|
medium: "w-[4px] h-[52px]",
|
|
@@ -10662,79 +10874,99 @@ var sliderHandleVariants = classVarianceAuthority.cva(
|
|
|
10662
10874
|
},
|
|
10663
10875
|
orientation: {
|
|
10664
10876
|
horizontal: "",
|
|
10665
|
-
// Vertical:
|
|
10666
|
-
//
|
|
10667
|
-
//
|
|
10668
|
-
|
|
10669
|
-
|
|
10670
|
-
pressed: {
|
|
10671
|
-
true: "w-[2px]",
|
|
10672
|
-
// NOTE: measurement-derived value from MD3 spec §10.3 (2dp pressed width); permitted exception
|
|
10673
|
-
false: ""
|
|
10674
|
-
},
|
|
10675
|
-
disabled: {
|
|
10676
|
-
true: "bg-on-surface opacity-38",
|
|
10677
|
-
false: ""
|
|
10877
|
+
// Vertical: handle is a thin horizontal bar. h-[4px] overrides the base
|
|
10878
|
+
// h-[44px..108px]. Width is explicitly set per size below so the RA thumb
|
|
10879
|
+
// (which is shrink-to-fit) assumes the correct measured width — this also
|
|
10880
|
+
// fixes the hit-area (w-full) and state-layer (inset-0) widths.
|
|
10881
|
+
vertical: "h-[4px]"
|
|
10678
10882
|
}
|
|
10679
10883
|
},
|
|
10884
|
+
compoundVariants: [
|
|
10885
|
+
// Vertical: override to height-based narrowing on press
|
|
10886
|
+
{
|
|
10887
|
+
orientation: "vertical",
|
|
10888
|
+
class: "group-data-[pressed]/slider-thumb:h-[2px]"
|
|
10889
|
+
},
|
|
10890
|
+
// Vertical per-size widths (transposed handle length = track region width per MD3 §10.9)
|
|
10891
|
+
// NOTE: measurement-derived values from MD3 spec §4.2; permitted exception
|
|
10892
|
+
{ orientation: "vertical", size: "xsmall", class: "w-[44px]" },
|
|
10893
|
+
{ orientation: "vertical", size: "small", class: "w-[44px]" },
|
|
10894
|
+
{ orientation: "vertical", size: "medium", class: "w-[52px]" },
|
|
10895
|
+
{ orientation: "vertical", size: "large", class: "w-[68px]" },
|
|
10896
|
+
{ orientation: "vertical", size: "xlarge", class: "w-[108px]" }
|
|
10897
|
+
],
|
|
10680
10898
|
defaultVariants: {
|
|
10681
10899
|
size: "xsmall",
|
|
10682
|
-
orientation: "horizontal"
|
|
10683
|
-
pressed: false,
|
|
10684
|
-
disabled: false
|
|
10685
|
-
}
|
|
10686
|
-
}
|
|
10687
|
-
);
|
|
10688
|
-
var sliderHandleStateLayerVariants = classVarianceAuthority.cva(
|
|
10689
|
-
[
|
|
10690
|
-
"absolute",
|
|
10691
|
-
"inset-0",
|
|
10692
|
-
"rounded-[4px]",
|
|
10693
|
-
// NOTE: measurement-derived value from MD3 spec §10.3 (4dp state layer border-radius); permitted exception
|
|
10694
|
-
"bg-on-primary",
|
|
10695
|
-
"pointer-events-none"
|
|
10696
|
-
// Motion classes applied conditionally in Slider.tsx via useReducedMotion guard
|
|
10697
|
-
],
|
|
10698
|
-
{
|
|
10699
|
-
variants: {
|
|
10700
|
-
state: {
|
|
10701
|
-
enabled: "opacity-0",
|
|
10702
|
-
hovered: "opacity-8",
|
|
10703
|
-
// MD3 §8.3: 8% hover
|
|
10704
|
-
pressed: "opacity-10",
|
|
10705
|
-
// MD3 §8.3: 10% pressed
|
|
10706
|
-
focused: "opacity-10",
|
|
10707
|
-
// MD3 §8.3: 10% focus
|
|
10708
|
-
disabled: "opacity-0"
|
|
10709
|
-
}
|
|
10710
|
-
},
|
|
10711
|
-
defaultVariants: {
|
|
10712
|
-
state: "enabled"
|
|
10900
|
+
orientation: "horizontal"
|
|
10713
10901
|
}
|
|
10714
10902
|
}
|
|
10715
10903
|
);
|
|
10716
|
-
var
|
|
10717
|
-
|
|
10718
|
-
|
|
10719
|
-
|
|
10720
|
-
|
|
10721
|
-
|
|
10722
|
-
|
|
10723
|
-
|
|
10724
|
-
|
|
10725
|
-
|
|
10726
|
-
|
|
10727
|
-
|
|
10728
|
-
|
|
10729
|
-
|
|
10730
|
-
|
|
10731
|
-
|
|
10904
|
+
var sliderHandleStateLayerVariants = classVarianceAuthority.cva([
|
|
10905
|
+
// Color
|
|
10906
|
+
"bg-primary",
|
|
10907
|
+
// Positioning — covers the handle
|
|
10908
|
+
"absolute",
|
|
10909
|
+
"inset-0",
|
|
10910
|
+
"rounded-[2px]",
|
|
10911
|
+
// Interaction: hidden by default
|
|
10912
|
+
"opacity-0",
|
|
10913
|
+
"pointer-events-none",
|
|
10914
|
+
// State opacities — driven by group/slider-thumb data attrs
|
|
10915
|
+
"group-data-[hovered]/slider-thumb:opacity-8",
|
|
10916
|
+
"group-data-[focus-visible]/slider-thumb:opacity-10",
|
|
10917
|
+
"group-data-[pressed]/slider-thumb:opacity-10",
|
|
10918
|
+
// Disabled: hide state layer (no interaction feedback)
|
|
10919
|
+
"group-data-[disabled]/slider-thumb:hidden",
|
|
10920
|
+
// Motion: effects spring (opacity transition only)
|
|
10921
|
+
"transition-opacity",
|
|
10922
|
+
"duration-spring-standard-fast-effects",
|
|
10923
|
+
"ease-spring-standard-fast-effects"
|
|
10924
|
+
]);
|
|
10925
|
+
var sliderValueIndicatorVariants = classVarianceAuthority.cva([
|
|
10926
|
+
// Positioning: float above handle center
|
|
10927
|
+
"absolute",
|
|
10928
|
+
"left-1/2",
|
|
10929
|
+
"-translate-x-1/2",
|
|
10930
|
+
"bottom-[calc(100%+4px)]",
|
|
10931
|
+
// Shape & color
|
|
10932
|
+
"bg-inverse-surface",
|
|
10933
|
+
"rounded-full",
|
|
10934
|
+
"px-[12px]",
|
|
10935
|
+
"py-[6px]",
|
|
10936
|
+
"min-w-[48px]",
|
|
10937
|
+
"text-center",
|
|
10938
|
+
// Hidden by default; revealed when thumb group has data-pressed
|
|
10939
|
+
"opacity-0",
|
|
10940
|
+
"scale-0",
|
|
10941
|
+
"group-data-[pressed]/slider-thumb:opacity-100",
|
|
10942
|
+
"group-data-[pressed]/slider-thumb:scale-100",
|
|
10943
|
+
// Prevent interaction (value display only)
|
|
10944
|
+
"pointer-events-none",
|
|
10945
|
+
// Z-index above track overlays
|
|
10946
|
+
"z-10",
|
|
10947
|
+
// In Tailwind v4, scale-* maps to the CSS `scale` property (not `transform`),
|
|
10948
|
+
// so we must list `scale` here — not `transform` — to animate the reveal.
|
|
10949
|
+
"will-change-[scale,opacity]"
|
|
10950
|
+
]);
|
|
10951
|
+
var sliderStopDotVariants = classVarianceAuthority.cva(["rounded-full", "flex-shrink-0", "pointer-events-none"], {
|
|
10952
|
+
variants: {
|
|
10953
|
+
region: {
|
|
10954
|
+
active: "bg-on-primary",
|
|
10955
|
+
inactive: "bg-on-secondary-container"
|
|
10732
10956
|
},
|
|
10733
|
-
|
|
10734
|
-
|
|
10957
|
+
size: {
|
|
10958
|
+
xsmall: "w-[4px] h-[4px]",
|
|
10959
|
+
small: "w-[4px] h-[4px]",
|
|
10960
|
+
medium: "w-[6px] h-[6px]",
|
|
10961
|
+
large: "w-[6px] h-[6px]",
|
|
10962
|
+
xlarge: "w-[8px] h-[8px]"
|
|
10735
10963
|
}
|
|
10964
|
+
},
|
|
10965
|
+
defaultVariants: {
|
|
10966
|
+
region: "inactive",
|
|
10967
|
+
size: "xsmall"
|
|
10736
10968
|
}
|
|
10737
|
-
);
|
|
10969
|
+
});
|
|
10738
10970
|
var sliderStopsContainerVariants = classVarianceAuthority.cva([
|
|
10739
10971
|
"absolute",
|
|
10740
10972
|
"inset-0",
|
|
@@ -10742,58 +10974,22 @@ var sliderStopsContainerVariants = classVarianceAuthority.cva([
|
|
|
10742
10974
|
"items-center",
|
|
10743
10975
|
"justify-between",
|
|
10744
10976
|
"px-[4px]",
|
|
10745
|
-
// NOTE: measurement-derived value from MD3 spec §10.5 (stopPadding: 4dp); permitted exception
|
|
10746
10977
|
"pointer-events-none",
|
|
10747
|
-
"z-
|
|
10978
|
+
"z-10"
|
|
10748
10979
|
]);
|
|
10749
|
-
var sliderStopDotVariants = classVarianceAuthority.cva(
|
|
10750
|
-
[
|
|
10751
|
-
"rounded-full",
|
|
10752
|
-
"flex-shrink-0",
|
|
10753
|
-
"w-[4px]",
|
|
10754
|
-
// NOTE: measurement-derived value from MD3 spec §10.5 (stopIndicatorSize: 4dp); permitted exception
|
|
10755
|
-
"h-[4px]"
|
|
10756
|
-
],
|
|
10757
|
-
{
|
|
10758
|
-
variants: {
|
|
10759
|
-
/**
|
|
10760
|
-
* Whether this dot is positioned on the active track portion.
|
|
10761
|
-
* Determines the dot color per MD3 spec §5.2.
|
|
10762
|
-
*/
|
|
10763
|
-
onActiveTrack: {
|
|
10764
|
-
true: "bg-on-primary",
|
|
10765
|
-
// Light dots on primary background
|
|
10766
|
-
false: "bg-on-secondary-container"
|
|
10767
|
-
// Dark dots on secondary-container background
|
|
10768
|
-
},
|
|
10769
|
-
disabled: {
|
|
10770
|
-
true: "opacity-38",
|
|
10771
|
-
false: ""
|
|
10772
|
-
}
|
|
10773
|
-
},
|
|
10774
|
-
defaultVariants: {
|
|
10775
|
-
onActiveTrack: false,
|
|
10776
|
-
disabled: false
|
|
10777
|
-
}
|
|
10778
|
-
}
|
|
10779
|
-
);
|
|
10780
10980
|
var sliderTrackStopVariants = classVarianceAuthority.cva(
|
|
10781
10981
|
[
|
|
10782
10982
|
"absolute",
|
|
10783
|
-
"top-1/2",
|
|
10784
|
-
"-translate-y-1/2",
|
|
10785
|
-
"w-[4px]",
|
|
10786
|
-
// NOTE: measurement-derived value from MD3 spec §10.6 (trackStopDiameter: 4dp); permitted exception
|
|
10787
|
-
"h-[4px]",
|
|
10788
10983
|
"rounded-full",
|
|
10789
10984
|
"bg-on-secondary-container",
|
|
10790
|
-
"pointer-events-none"
|
|
10985
|
+
"pointer-events-none",
|
|
10986
|
+
"w-[4px]",
|
|
10987
|
+
"h-[4px]"
|
|
10791
10988
|
],
|
|
10792
10989
|
{
|
|
10793
10990
|
variants: {
|
|
10794
10991
|
position: {
|
|
10795
10992
|
start: "left-[4px]",
|
|
10796
|
-
// NOTE: measurement-derived (trackStopOffset: 4dp); permitted exception
|
|
10797
10993
|
end: "right-[4px]"
|
|
10798
10994
|
}
|
|
10799
10995
|
},
|
|
@@ -10802,64 +10998,23 @@ var sliderTrackStopVariants = classVarianceAuthority.cva(
|
|
|
10802
10998
|
}
|
|
10803
10999
|
}
|
|
10804
11000
|
);
|
|
10805
|
-
var sliderValueIndicatorVariants = classVarianceAuthority.cva(
|
|
10806
|
-
[
|
|
10807
|
-
"absolute",
|
|
10808
|
-
"left-1/2",
|
|
10809
|
-
"-translate-x-1/2",
|
|
10810
|
-
"bottom-[calc(100%+4px)]",
|
|
10811
|
-
// NOTE: measurement-derived (4dp gap above handle); permitted exception
|
|
10812
|
-
"bg-inverse-surface",
|
|
10813
|
-
"rounded-full",
|
|
10814
|
-
// pill shape (1000dp radius)
|
|
10815
|
-
"px-[16px]",
|
|
10816
|
-
// NOTE: measurement-derived (valueIndicatorPaddingH: 16dp); permitted exception
|
|
10817
|
-
"py-[12px]",
|
|
10818
|
-
// NOTE: measurement-derived (valueIndicatorPaddingV: 12dp); permitted exception
|
|
10819
|
-
"min-w-[48px]",
|
|
10820
|
-
// NOTE: measurement-derived (valueIndicatorWidth: 48dp); permitted exception
|
|
10821
|
-
"flex",
|
|
10822
|
-
"items-center",
|
|
10823
|
-
"justify-center",
|
|
10824
|
-
"pointer-events-none",
|
|
10825
|
-
"z-20"
|
|
10826
|
-
// Motion classes (transition-[transform,opacity] with directional easing) applied
|
|
10827
|
-
// conditionally in SliderValueIndicator.tsx via useReducedMotion guard.
|
|
10828
|
-
],
|
|
10829
|
-
{
|
|
10830
|
-
variants: {
|
|
10831
|
-
visible: {
|
|
10832
|
-
true: "opacity-100 scale-100",
|
|
10833
|
-
false: "opacity-0 scale-0"
|
|
10834
|
-
}
|
|
10835
|
-
},
|
|
10836
|
-
defaultVariants: {
|
|
10837
|
-
visible: false
|
|
10838
|
-
}
|
|
10839
|
-
}
|
|
10840
|
-
);
|
|
10841
11001
|
var sliderValueIndicatorTextVariants = classVarianceAuthority.cva([
|
|
10842
11002
|
"text-inverse-on-surface",
|
|
10843
11003
|
"text-label-large",
|
|
10844
|
-
|
|
10845
|
-
"whitespace-nowrap"
|
|
10846
|
-
"text-center"
|
|
11004
|
+
"select-none",
|
|
11005
|
+
"whitespace-nowrap"
|
|
10847
11006
|
]);
|
|
10848
11007
|
var sliderInsetIconVariants = classVarianceAuthority.cva(
|
|
10849
11008
|
["absolute", "text-on-primary", "pointer-events-none", "flex", "items-center", "justify-center"],
|
|
10850
11009
|
{
|
|
10851
11010
|
variants: {
|
|
10852
11011
|
size: {
|
|
10853
|
-
// NOTE: measurement-derived values from MD3 spec §10.7 (icon sizes); permitted exception
|
|
10854
11012
|
medium: "w-[24px] h-[24px]",
|
|
10855
11013
|
large: "w-[24px] h-[24px]",
|
|
10856
11014
|
xlarge: "w-[32px] h-[32px]"
|
|
10857
11015
|
},
|
|
10858
11016
|
orientation: {
|
|
10859
|
-
// Horizontal: 8dp from active track left edge, vertically centered
|
|
10860
|
-
// NOTE: measurement-derived value from MD3 spec §10.7 (iconOffset: 8dp); permitted exception
|
|
10861
11017
|
horizontal: "left-[8px] top-1/2 -translate-y-1/2",
|
|
10862
|
-
// Vertical: 8dp from active track bottom edge (outer end), horizontally centered
|
|
10863
11018
|
vertical: "bottom-[8px] left-1/2 -translate-x-1/2"
|
|
10864
11019
|
}
|
|
10865
11020
|
},
|
|
@@ -10890,7 +11045,7 @@ function SliderStops({
|
|
|
10890
11045
|
step,
|
|
10891
11046
|
values,
|
|
10892
11047
|
variant,
|
|
10893
|
-
|
|
11048
|
+
size = "xsmall",
|
|
10894
11049
|
className
|
|
10895
11050
|
}) {
|
|
10896
11051
|
const stopCount = Math.floor((maxValue - minValue) / step) + 1;
|
|
@@ -10908,7 +11063,10 @@ function SliderStops({
|
|
|
10908
11063
|
{
|
|
10909
11064
|
"data-slot": "stop-dot",
|
|
10910
11065
|
className: cn(
|
|
10911
|
-
sliderStopDotVariants({
|
|
11066
|
+
sliderStopDotVariants({
|
|
11067
|
+
region: isOnActive ? "active" : "inactive",
|
|
11068
|
+
size
|
|
11069
|
+
})
|
|
10912
11070
|
)
|
|
10913
11071
|
},
|
|
10914
11072
|
i
|
|
@@ -10919,27 +11077,19 @@ function SliderStops({
|
|
|
10919
11077
|
}
|
|
10920
11078
|
function SliderValueIndicator({
|
|
10921
11079
|
value,
|
|
10922
|
-
isVisible,
|
|
10923
11080
|
formatValue: formatValue2,
|
|
10924
11081
|
className
|
|
10925
11082
|
}) {
|
|
10926
11083
|
const displayValue = formatValue2 ? formatValue2(value) : `${Math.round(value)}`;
|
|
10927
11084
|
const reducedMotion = useReducedMotion();
|
|
10928
|
-
const transitionClasses = reducedMotion ? "" :
|
|
10929
|
-
"transition-[transform,opacity]",
|
|
10930
|
-
isVisible ? "duration-short3 ease-standard-decelerate" : "duration-short2 ease-standard-accelerate"
|
|
10931
|
-
);
|
|
11085
|
+
const transitionClasses = reducedMotion ? "" : "transition-[scale,opacity] duration-spring-standard-fast-spatial ease-spring-standard-fast-spatial";
|
|
10932
11086
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10933
11087
|
"div",
|
|
10934
11088
|
{
|
|
10935
11089
|
"data-slot": "value-indicator",
|
|
10936
|
-
className: cn(
|
|
10937
|
-
sliderValueIndicatorVariants({ visible: isVisible }),
|
|
10938
|
-
transitionClasses,
|
|
10939
|
-
className
|
|
10940
|
-
),
|
|
11090
|
+
className: cn(sliderValueIndicatorVariants(), transitionClasses, className),
|
|
10941
11091
|
role: "tooltip",
|
|
10942
|
-
"aria-hidden":
|
|
11092
|
+
"aria-hidden": "true",
|
|
10943
11093
|
children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: sliderValueIndicatorTextVariants(), children: displayValue })
|
|
10944
11094
|
}
|
|
10945
11095
|
);
|
|
@@ -10952,6 +11102,16 @@ function resolveDefaultValue(variant, minValue) {
|
|
|
10952
11102
|
if (variant === "centered") return [0];
|
|
10953
11103
|
return [minValue];
|
|
10954
11104
|
}
|
|
11105
|
+
var GAP_PX = 3;
|
|
11106
|
+
function segmentStyle(orientation, opts) {
|
|
11107
|
+
const { start, end, startGap = 0, endGap = 0 } = opts;
|
|
11108
|
+
const startVal = start !== null ? `calc(${start}% + ${startGap}px)` : `${startGap}px`;
|
|
11109
|
+
const endVal = end !== null ? `calc(${100 - end}% + ${endGap}px)` : `${endGap}px`;
|
|
11110
|
+
if (orientation === "horizontal") {
|
|
11111
|
+
return { left: startVal, right: endVal };
|
|
11112
|
+
}
|
|
11113
|
+
return { bottom: startVal, top: endVal };
|
|
11114
|
+
}
|
|
10955
11115
|
var Slider = React.forwardRef(
|
|
10956
11116
|
({
|
|
10957
11117
|
size = "xsmall",
|
|
@@ -10985,103 +11145,75 @@ var Slider = React.forwardRef(
|
|
|
10985
11145
|
},
|
|
10986
11146
|
[value, onChange]
|
|
10987
11147
|
);
|
|
10988
|
-
const
|
|
10989
|
-
const
|
|
10990
|
-
()
|
|
10991
|
-
);
|
|
10992
|
-
const
|
|
10993
|
-
const trackTransition = reducedMotion ||
|
|
10994
|
-
const handleMotion = reducedMotion ? "" : "transition-[width] duration-
|
|
10995
|
-
const stateLayerMotion = reducedMotion ? "" : "transition-opacity duration-short1 ease-standard";
|
|
11148
|
+
const [anyThumbDragging, setAnyThumbDragging] = React.useState(false);
|
|
11149
|
+
const handleThumbDraggingChange = React.useCallback((_index, isDragging) => {
|
|
11150
|
+
setAnyThumbDragging(isDragging);
|
|
11151
|
+
}, []);
|
|
11152
|
+
const springTokens = "duration-spring-standard-fast-spatial ease-spring-standard-fast-spatial";
|
|
11153
|
+
const trackTransition = reducedMotion || anyThumbDragging ? "" : orientation === "vertical" ? `transition-[top,bottom,height] ${springTokens}` : `transition-[left,width,right] ${springTokens}`;
|
|
11154
|
+
const handleMotion = reducedMotion ? "" : "transition-[width] duration-spring-standard-fast-spatial ease-spring-standard-fast-spatial";
|
|
10996
11155
|
const isRange = variant === "range";
|
|
10997
11156
|
const isCentered = variant === "centered";
|
|
10998
11157
|
const showIcon = icon !== void 0 && variant === "standard" && (size === "medium" || size === "large" || size === "xlarge");
|
|
11158
|
+
const renderThumbContent = React.useCallback(
|
|
11159
|
+
({ value: thumbValue }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
11160
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11161
|
+
"div",
|
|
11162
|
+
{
|
|
11163
|
+
"aria-hidden": "true",
|
|
11164
|
+
className: cn(
|
|
11165
|
+
"absolute",
|
|
11166
|
+
"left-1/2",
|
|
11167
|
+
"top-1/2",
|
|
11168
|
+
"-translate-x-1/2",
|
|
11169
|
+
"-translate-y-1/2",
|
|
11170
|
+
orientation === "vertical" ? "h-[20px] w-full" : "h-full w-[20px]"
|
|
11171
|
+
)
|
|
11172
|
+
}
|
|
11173
|
+
),
|
|
11174
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11175
|
+
"div",
|
|
11176
|
+
{
|
|
11177
|
+
"data-slot": "handle",
|
|
11178
|
+
className: cn(sliderHandleVariants({ size, orientation }), handleMotion)
|
|
11179
|
+
}
|
|
11180
|
+
),
|
|
11181
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "state-layer", className: cn(sliderHandleStateLayerVariants()) }),
|
|
11182
|
+
showValueIndicator && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11183
|
+
SliderValueIndicator,
|
|
11184
|
+
{
|
|
11185
|
+
value: thumbValue,
|
|
11186
|
+
...formatValue2 !== void 0 ? { formatValue: formatValue2 } : {}
|
|
11187
|
+
}
|
|
11188
|
+
)
|
|
11189
|
+
] }),
|
|
11190
|
+
[size, orientation, showValueIndicator, formatValue2, handleMotion]
|
|
11191
|
+
);
|
|
10999
11192
|
const renderStandardTrack = () => {
|
|
11000
11193
|
const pct = clampPercent(currentValues[0] ?? minValue, minValue, maxValue);
|
|
11001
|
-
const thumb0State = isDisabled ? "disabled" : thumbStates[0] ?? "enabled";
|
|
11002
11194
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
11003
11195
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11004
11196
|
"div",
|
|
11005
11197
|
{
|
|
11006
11198
|
"data-slot": "active-track",
|
|
11007
|
-
className: cn(
|
|
11008
|
-
|
|
11009
|
-
trackTransition
|
|
11010
|
-
),
|
|
11011
|
-
style: { flexBasis: `${pct}%` },
|
|
11199
|
+
className: cn(sliderActiveTrackVariants({ size, orientation }), trackTransition),
|
|
11200
|
+
style: segmentStyle(orientation, { start: null, end: pct, endGap: GAP_PX }),
|
|
11012
11201
|
children: showIcon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11013
11202
|
"span",
|
|
11014
11203
|
{
|
|
11015
11204
|
"data-slot": "inset-icon",
|
|
11016
|
-
className: cn(
|
|
11017
|
-
sliderInsetIconVariants({
|
|
11018
|
-
size,
|
|
11019
|
-
orientation
|
|
11020
|
-
})
|
|
11021
|
-
),
|
|
11205
|
+
className: cn(sliderInsetIconVariants({ size, orientation })),
|
|
11022
11206
|
children: icon
|
|
11023
11207
|
}
|
|
11024
11208
|
)
|
|
11025
11209
|
}
|
|
11026
11210
|
),
|
|
11027
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
11028
|
-
"div",
|
|
11029
|
-
{
|
|
11030
|
-
"data-slot": "handle",
|
|
11031
|
-
className: cn(
|
|
11032
|
-
sliderHandleVariants({
|
|
11033
|
-
size,
|
|
11034
|
-
disabled: isDisabled,
|
|
11035
|
-
pressed: thumb0State === "pressed",
|
|
11036
|
-
orientation
|
|
11037
|
-
}),
|
|
11038
|
-
handleMotion
|
|
11039
|
-
),
|
|
11040
|
-
onPointerEnter: () => {
|
|
11041
|
-
if (!isDisabled) setThumbStates(["hovered"]);
|
|
11042
|
-
},
|
|
11043
|
-
onPointerLeave: () => {
|
|
11044
|
-
if (!isDisabled) setThumbStates(["enabled"]);
|
|
11045
|
-
},
|
|
11046
|
-
onPointerDown: (e) => {
|
|
11047
|
-
e.stopPropagation();
|
|
11048
|
-
if (!isDisabled) setThumbStates(["pressed"]);
|
|
11049
|
-
},
|
|
11050
|
-
onPointerUp: (e) => {
|
|
11051
|
-
e.stopPropagation();
|
|
11052
|
-
if (!isDisabled) setThumbStates(["enabled"]);
|
|
11053
|
-
},
|
|
11054
|
-
children: [
|
|
11055
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11056
|
-
"div",
|
|
11057
|
-
{
|
|
11058
|
-
"data-slot": "state-layer",
|
|
11059
|
-
className: cn(
|
|
11060
|
-
sliderHandleStateLayerVariants({ state: thumb0State }),
|
|
11061
|
-
stateLayerMotion
|
|
11062
|
-
)
|
|
11063
|
-
}
|
|
11064
|
-
),
|
|
11065
|
-
showValueIndicator && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11066
|
-
SliderValueIndicator,
|
|
11067
|
-
{
|
|
11068
|
-
value: currentValues[0] ?? minValue,
|
|
11069
|
-
isVisible: thumb0State === "pressed",
|
|
11070
|
-
...formatValue2 !== void 0 ? { formatValue: formatValue2 } : {}
|
|
11071
|
-
}
|
|
11072
|
-
)
|
|
11073
|
-
]
|
|
11074
|
-
}
|
|
11075
|
-
),
|
|
11076
11211
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11077
11212
|
"div",
|
|
11078
11213
|
{
|
|
11079
11214
|
"data-slot": "inactive-track",
|
|
11080
|
-
className: cn(
|
|
11081
|
-
|
|
11082
|
-
trackTransition
|
|
11083
|
-
),
|
|
11084
|
-
style: { flexBasis: `${100 - pct}%` },
|
|
11215
|
+
className: cn(sliderInactiveTrackVariants({ size, orientation }), trackTransition),
|
|
11216
|
+
style: segmentStyle(orientation, { start: pct, startGap: GAP_PX, end: null }),
|
|
11085
11217
|
children: showStops && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11086
11218
|
"span",
|
|
11087
11219
|
{
|
|
@@ -11096,20 +11228,13 @@ var Slider = React.forwardRef(
|
|
|
11096
11228
|
const renderRangeTrack = () => {
|
|
11097
11229
|
const leftPct = clampPercent(currentValues[0] ?? minValue, minValue, maxValue);
|
|
11098
11230
|
const rightPct = clampPercent(currentValues[1] ?? maxValue, minValue, maxValue);
|
|
11099
|
-
const thumb0State = isDisabled ? "disabled" : thumbStates[0] ?? "enabled";
|
|
11100
|
-
const thumb1State = isDisabled ? "disabled" : thumbStates[1] ?? "enabled";
|
|
11101
|
-
const setThumb0 = (next) => setThumbStates((s) => [next, s[1] ?? "enabled"]);
|
|
11102
|
-
const setThumb1 = (next) => setThumbStates((s) => [s[0] ?? "enabled", next]);
|
|
11103
11231
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
11104
11232
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11105
11233
|
"div",
|
|
11106
11234
|
{
|
|
11107
11235
|
"data-slot": "inactive-track-left",
|
|
11108
|
-
className: cn(
|
|
11109
|
-
|
|
11110
|
-
trackTransition
|
|
11111
|
-
),
|
|
11112
|
-
style: { flexBasis: `${leftPct}%` },
|
|
11236
|
+
className: cn(sliderInactiveTrackVariants({ size, orientation }), trackTransition),
|
|
11237
|
+
style: segmentStyle(orientation, { start: null, end: leftPct, endGap: GAP_PX }),
|
|
11113
11238
|
children: showStops && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11114
11239
|
"span",
|
|
11115
11240
|
{
|
|
@@ -11119,128 +11244,30 @@ var Slider = React.forwardRef(
|
|
|
11119
11244
|
)
|
|
11120
11245
|
}
|
|
11121
11246
|
),
|
|
11122
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
11123
|
-
"div",
|
|
11124
|
-
{
|
|
11125
|
-
"data-slot": "handle",
|
|
11126
|
-
"data-index": "0",
|
|
11127
|
-
className: cn(
|
|
11128
|
-
sliderHandleVariants({
|
|
11129
|
-
size,
|
|
11130
|
-
disabled: isDisabled,
|
|
11131
|
-
pressed: thumb0State === "pressed",
|
|
11132
|
-
orientation
|
|
11133
|
-
}),
|
|
11134
|
-
handleMotion
|
|
11135
|
-
),
|
|
11136
|
-
onPointerEnter: () => {
|
|
11137
|
-
if (!isDisabled) setThumb0("hovered");
|
|
11138
|
-
},
|
|
11139
|
-
onPointerLeave: () => {
|
|
11140
|
-
if (!isDisabled) setThumb0("enabled");
|
|
11141
|
-
},
|
|
11142
|
-
onPointerDown: (e) => {
|
|
11143
|
-
e.stopPropagation();
|
|
11144
|
-
if (!isDisabled) setThumb0("pressed");
|
|
11145
|
-
},
|
|
11146
|
-
onPointerUp: (e) => {
|
|
11147
|
-
e.stopPropagation();
|
|
11148
|
-
if (!isDisabled) setThumb0("enabled");
|
|
11149
|
-
},
|
|
11150
|
-
children: [
|
|
11151
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11152
|
-
"div",
|
|
11153
|
-
{
|
|
11154
|
-
"data-slot": "state-layer",
|
|
11155
|
-
className: cn(
|
|
11156
|
-
sliderHandleStateLayerVariants({ state: thumb0State }),
|
|
11157
|
-
stateLayerMotion
|
|
11158
|
-
)
|
|
11159
|
-
}
|
|
11160
|
-
),
|
|
11161
|
-
showValueIndicator && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11162
|
-
SliderValueIndicator,
|
|
11163
|
-
{
|
|
11164
|
-
value: currentValues[0] ?? minValue,
|
|
11165
|
-
isVisible: thumb0State === "pressed",
|
|
11166
|
-
...formatValue2 !== void 0 ? { formatValue: formatValue2 } : {}
|
|
11167
|
-
}
|
|
11168
|
-
)
|
|
11169
|
-
]
|
|
11170
|
-
}
|
|
11171
|
-
),
|
|
11172
11247
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11173
11248
|
"div",
|
|
11174
11249
|
{
|
|
11175
11250
|
"data-slot": "active-track",
|
|
11176
11251
|
className: cn(
|
|
11177
|
-
sliderActiveTrackVariants({ size,
|
|
11252
|
+
sliderActiveTrackVariants({ size, orientation }),
|
|
11178
11253
|
"rounded-[2px]",
|
|
11179
|
-
// Both ends near handles: 2dp (MD3 §10.2)
|
|
11254
|
+
// Both ends near handles: 2dp inner (MD3 §10.2)
|
|
11180
11255
|
trackTransition
|
|
11181
11256
|
),
|
|
11182
|
-
style:
|
|
11183
|
-
|
|
11184
|
-
|
|
11185
|
-
|
|
11186
|
-
|
|
11187
|
-
|
|
11188
|
-
"data-slot": "handle",
|
|
11189
|
-
"data-index": "1",
|
|
11190
|
-
className: cn(
|
|
11191
|
-
sliderHandleVariants({
|
|
11192
|
-
size,
|
|
11193
|
-
disabled: isDisabled,
|
|
11194
|
-
pressed: thumb1State === "pressed",
|
|
11195
|
-
orientation
|
|
11196
|
-
}),
|
|
11197
|
-
handleMotion
|
|
11198
|
-
),
|
|
11199
|
-
onPointerEnter: () => {
|
|
11200
|
-
if (!isDisabled) setThumb1("hovered");
|
|
11201
|
-
},
|
|
11202
|
-
onPointerLeave: () => {
|
|
11203
|
-
if (!isDisabled) setThumb1("enabled");
|
|
11204
|
-
},
|
|
11205
|
-
onPointerDown: (e) => {
|
|
11206
|
-
e.stopPropagation();
|
|
11207
|
-
if (!isDisabled) setThumb1("pressed");
|
|
11208
|
-
},
|
|
11209
|
-
onPointerUp: (e) => {
|
|
11210
|
-
e.stopPropagation();
|
|
11211
|
-
if (!isDisabled) setThumb1("enabled");
|
|
11212
|
-
},
|
|
11213
|
-
children: [
|
|
11214
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11215
|
-
"div",
|
|
11216
|
-
{
|
|
11217
|
-
"data-slot": "state-layer",
|
|
11218
|
-
className: cn(
|
|
11219
|
-
sliderHandleStateLayerVariants({ state: thumb1State }),
|
|
11220
|
-
stateLayerMotion
|
|
11221
|
-
)
|
|
11222
|
-
}
|
|
11223
|
-
),
|
|
11224
|
-
showValueIndicator && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11225
|
-
SliderValueIndicator,
|
|
11226
|
-
{
|
|
11227
|
-
value: currentValues[1] ?? maxValue,
|
|
11228
|
-
isVisible: thumb1State === "pressed",
|
|
11229
|
-
...formatValue2 !== void 0 ? { formatValue: formatValue2 } : {}
|
|
11230
|
-
}
|
|
11231
|
-
)
|
|
11232
|
-
]
|
|
11257
|
+
style: segmentStyle(orientation, {
|
|
11258
|
+
start: leftPct,
|
|
11259
|
+
startGap: GAP_PX,
|
|
11260
|
+
end: rightPct,
|
|
11261
|
+
endGap: GAP_PX
|
|
11262
|
+
})
|
|
11233
11263
|
}
|
|
11234
11264
|
),
|
|
11235
11265
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11236
11266
|
"div",
|
|
11237
11267
|
{
|
|
11238
11268
|
"data-slot": "inactive-track-right",
|
|
11239
|
-
className: cn(
|
|
11240
|
-
|
|
11241
|
-
trackTransition
|
|
11242
|
-
),
|
|
11243
|
-
style: { flexBasis: `${100 - rightPct}%` },
|
|
11269
|
+
className: cn(sliderInactiveTrackVariants({ size, orientation }), trackTransition),
|
|
11270
|
+
style: segmentStyle(orientation, { start: rightPct, startGap: GAP_PX, end: null }),
|
|
11244
11271
|
children: showStops && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11245
11272
|
"span",
|
|
11246
11273
|
{
|
|
@@ -11255,126 +11282,65 @@ var Slider = React.forwardRef(
|
|
|
11255
11282
|
const renderCenteredTrack = () => {
|
|
11256
11283
|
const thumbPct = clampPercent(currentValues[0] ?? minValue, minValue, maxValue);
|
|
11257
11284
|
const zeroPct = minValue >= 0 ? 0 : maxValue <= 0 ? 100 : (0 - minValue) / (maxValue - minValue) * 100;
|
|
11258
|
-
const thumb0State = isDisabled ? "disabled" : thumbStates[0] ?? "enabled";
|
|
11259
|
-
const handleEl = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11260
|
-
"div",
|
|
11261
|
-
{
|
|
11262
|
-
"data-slot": "handle",
|
|
11263
|
-
className: cn(
|
|
11264
|
-
sliderHandleVariants({
|
|
11265
|
-
size,
|
|
11266
|
-
disabled: isDisabled,
|
|
11267
|
-
pressed: thumb0State === "pressed",
|
|
11268
|
-
orientation
|
|
11269
|
-
}),
|
|
11270
|
-
handleMotion
|
|
11271
|
-
),
|
|
11272
|
-
onPointerEnter: () => {
|
|
11273
|
-
if (!isDisabled) setThumbStates(["hovered"]);
|
|
11274
|
-
},
|
|
11275
|
-
onPointerLeave: () => {
|
|
11276
|
-
if (!isDisabled) setThumbStates(["enabled"]);
|
|
11277
|
-
},
|
|
11278
|
-
onPointerDown: (e) => {
|
|
11279
|
-
e.stopPropagation();
|
|
11280
|
-
if (!isDisabled) setThumbStates(["pressed"]);
|
|
11281
|
-
},
|
|
11282
|
-
onPointerUp: (e) => {
|
|
11283
|
-
e.stopPropagation();
|
|
11284
|
-
if (!isDisabled) setThumbStates(["enabled"]);
|
|
11285
|
-
},
|
|
11286
|
-
children: [
|
|
11287
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11288
|
-
"div",
|
|
11289
|
-
{
|
|
11290
|
-
"data-slot": "state-layer",
|
|
11291
|
-
className: cn(sliderHandleStateLayerVariants({ state: thumb0State }), stateLayerMotion)
|
|
11292
|
-
}
|
|
11293
|
-
),
|
|
11294
|
-
showValueIndicator && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11295
|
-
SliderValueIndicator,
|
|
11296
|
-
{
|
|
11297
|
-
value: currentValues[0] ?? minValue,
|
|
11298
|
-
isVisible: thumb0State === "pressed",
|
|
11299
|
-
...formatValue2 !== void 0 ? { formatValue: formatValue2 } : {}
|
|
11300
|
-
}
|
|
11301
|
-
)
|
|
11302
|
-
]
|
|
11303
|
-
}
|
|
11304
|
-
);
|
|
11305
11285
|
if (thumbPct >= zeroPct) {
|
|
11306
|
-
const activePct = thumbPct - zeroPct;
|
|
11307
11286
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
11308
11287
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11309
11288
|
"div",
|
|
11310
11289
|
{
|
|
11311
11290
|
"data-slot": "inactive-track-left",
|
|
11312
|
-
className: cn(
|
|
11313
|
-
|
|
11314
|
-
trackTransition
|
|
11315
|
-
),
|
|
11316
|
-
style: { flexBasis: `${zeroPct}%` }
|
|
11291
|
+
className: cn(sliderInactiveTrackVariants({ size, orientation }), trackTransition),
|
|
11292
|
+
style: segmentStyle(orientation, { start: null, end: zeroPct })
|
|
11317
11293
|
}
|
|
11318
11294
|
),
|
|
11319
|
-
handleEl,
|
|
11320
11295
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11321
11296
|
"div",
|
|
11322
11297
|
{
|
|
11323
11298
|
"data-slot": "active-track",
|
|
11324
|
-
className: cn(
|
|
11325
|
-
|
|
11326
|
-
|
|
11327
|
-
|
|
11328
|
-
|
|
11299
|
+
className: cn(sliderActiveTrackVariants({ size, orientation }), trackTransition),
|
|
11300
|
+
style: segmentStyle(orientation, {
|
|
11301
|
+
start: zeroPct,
|
|
11302
|
+
end: thumbPct,
|
|
11303
|
+
endGap: GAP_PX
|
|
11304
|
+
})
|
|
11329
11305
|
}
|
|
11330
11306
|
),
|
|
11331
11307
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11332
11308
|
"div",
|
|
11333
11309
|
{
|
|
11334
11310
|
"data-slot": "inactive-track-right",
|
|
11335
|
-
className: cn(
|
|
11336
|
-
|
|
11337
|
-
trackTransition
|
|
11338
|
-
),
|
|
11339
|
-
style: { flexBasis: `${100 - zeroPct - activePct}%` }
|
|
11311
|
+
className: cn(sliderInactiveTrackVariants({ size, orientation }), trackTransition),
|
|
11312
|
+
style: segmentStyle(orientation, { start: thumbPct, startGap: GAP_PX, end: null })
|
|
11340
11313
|
}
|
|
11341
11314
|
)
|
|
11342
11315
|
] });
|
|
11343
11316
|
} else {
|
|
11344
|
-
const activePct = zeroPct - thumbPct;
|
|
11345
11317
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
11346
11318
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11347
11319
|
"div",
|
|
11348
11320
|
{
|
|
11349
11321
|
"data-slot": "inactive-track-left",
|
|
11350
|
-
className: cn(
|
|
11351
|
-
|
|
11352
|
-
trackTransition
|
|
11353
|
-
),
|
|
11354
|
-
style: { flexBasis: `${thumbPct}%` }
|
|
11322
|
+
className: cn(sliderInactiveTrackVariants({ size, orientation }), trackTransition),
|
|
11323
|
+
style: segmentStyle(orientation, { start: null, end: thumbPct, endGap: GAP_PX })
|
|
11355
11324
|
}
|
|
11356
11325
|
),
|
|
11357
11326
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11358
11327
|
"div",
|
|
11359
11328
|
{
|
|
11360
11329
|
"data-slot": "active-track",
|
|
11361
|
-
className: cn(
|
|
11362
|
-
|
|
11363
|
-
|
|
11364
|
-
|
|
11365
|
-
|
|
11330
|
+
className: cn(sliderActiveTrackVariants({ size, orientation }), trackTransition),
|
|
11331
|
+
style: segmentStyle(orientation, {
|
|
11332
|
+
start: thumbPct,
|
|
11333
|
+
startGap: GAP_PX,
|
|
11334
|
+
end: zeroPct
|
|
11335
|
+
})
|
|
11366
11336
|
}
|
|
11367
11337
|
),
|
|
11368
|
-
handleEl,
|
|
11369
11338
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11370
11339
|
"div",
|
|
11371
11340
|
{
|
|
11372
11341
|
"data-slot": "inactive-track-right",
|
|
11373
|
-
className: cn(
|
|
11374
|
-
|
|
11375
|
-
trackTransition
|
|
11376
|
-
),
|
|
11377
|
-
style: { flexBasis: `${100 - zeroPct}%` }
|
|
11342
|
+
className: cn(sliderInactiveTrackVariants({ size, orientation }), trackTransition),
|
|
11343
|
+
style: segmentStyle(orientation, { start: zeroPct, end: null })
|
|
11378
11344
|
}
|
|
11379
11345
|
)
|
|
11380
11346
|
] });
|
|
@@ -11397,11 +11363,11 @@ var Slider = React.forwardRef(
|
|
|
11397
11363
|
...value !== void 0 ? { value } : {},
|
|
11398
11364
|
...defaultValue !== void 0 ? { defaultValue } : {},
|
|
11399
11365
|
...onChangeEnd !== void 0 ? { onChangeEnd } : {},
|
|
11400
|
-
|
|
11401
|
-
|
|
11402
|
-
|
|
11403
|
-
),
|
|
11404
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "track-layout", className: cn(sliderTrackLayoutVariants(
|
|
11366
|
+
renderThumbContent,
|
|
11367
|
+
onThumbDraggingChange: handleThumbDraggingChange,
|
|
11368
|
+
className: cn(sliderContainerVariants({ size, orientation }), className),
|
|
11369
|
+
trackClassName: sliderTrackRegionVariants({ size, orientation }),
|
|
11370
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "track-layout", className: cn(sliderTrackLayoutVariants()), children: [
|
|
11405
11371
|
isRange ? renderRangeTrack() : isCentered ? renderCenteredTrack() : renderStandardTrack(),
|
|
11406
11372
|
canShowStops && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11407
11373
|
SliderStops,
|
|
@@ -11411,7 +11377,7 @@ var Slider = React.forwardRef(
|
|
|
11411
11377
|
step,
|
|
11412
11378
|
values: currentValues,
|
|
11413
11379
|
variant,
|
|
11414
|
-
|
|
11380
|
+
size
|
|
11415
11381
|
}
|
|
11416
11382
|
)
|
|
11417
11383
|
] })
|
|
@@ -16121,8 +16087,22 @@ exports.remToPx = remToPx;
|
|
|
16121
16087
|
exports.rgbToHex = rgbToHex;
|
|
16122
16088
|
exports.richTooltipVariants = richTooltipVariants;
|
|
16123
16089
|
exports.scrimVariants = scrimVariants2;
|
|
16124
|
-
exports.
|
|
16090
|
+
exports.searchBarAvatarVariants = searchBarAvatarVariants;
|
|
16091
|
+
exports.searchBarFocusRingVariants = searchBarFocusRingVariants;
|
|
16092
|
+
exports.searchBarInputVariants = searchBarInputVariants;
|
|
16093
|
+
exports.searchBarLeadingIconVariants = searchBarLeadingIconVariants;
|
|
16094
|
+
exports.searchBarRootVariants = searchBarRootVariants;
|
|
16095
|
+
exports.searchBarStateLayerVariants = searchBarStateLayerVariants;
|
|
16096
|
+
exports.searchBarTrailingActionVariants = searchBarTrailingActionVariants;
|
|
16097
|
+
exports.searchBarTrailingActionsVariants = searchBarTrailingActionsVariants;
|
|
16098
|
+
exports.searchViewBackButtonVariants = searchViewBackButtonVariants;
|
|
16099
|
+
exports.searchViewClearButtonVariants = searchViewClearButtonVariants;
|
|
16100
|
+
exports.searchViewContentVariants = searchViewContentVariants;
|
|
16101
|
+
exports.searchViewDividerVariants = searchViewDividerVariants;
|
|
16125
16102
|
exports.searchViewHeaderVariants = searchViewHeaderVariants;
|
|
16103
|
+
exports.searchViewInputVariants = searchViewInputVariants;
|
|
16104
|
+
exports.searchViewTrailingActionVariants = searchViewTrailingActionVariants;
|
|
16105
|
+
exports.searchViewTrailingActionsVariants = searchViewTrailingActionsVariants;
|
|
16126
16106
|
exports.searchViewVariants = searchViewVariants;
|
|
16127
16107
|
exports.sliderActiveTrackVariants = sliderActiveTrackVariants;
|
|
16128
16108
|
exports.sliderContainerVariants = sliderContainerVariants;
|