@sofya-ds/react 1.1.16 → 1.3.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/dist/index.cjs +235 -66
- package/dist/index.css +1 -1
- package/dist/index.d.cts +29 -6
- package/dist/index.d.ts +29 -6
- package/dist/index.js +233 -66
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -133,6 +133,7 @@ __export(index_exports, {
|
|
|
133
133
|
TooltipContent: () => TooltipContent,
|
|
134
134
|
TooltipProvider: () => TooltipProvider,
|
|
135
135
|
TooltipTrigger: () => TooltipTrigger,
|
|
136
|
+
accordionAppearanceOptions: () => accordionAppearanceOptions,
|
|
136
137
|
alertSizeOptions: () => alertSizeOptions,
|
|
137
138
|
alertToneOptions: () => alertToneOptions,
|
|
138
139
|
avatarSizeOptions: () => avatarSizeOptions,
|
|
@@ -151,7 +152,9 @@ __export(index_exports, {
|
|
|
151
152
|
cardVariants: () => cardVariants,
|
|
152
153
|
createWhitelabelTheme: () => import_tokens2.createWhitelabelTheme,
|
|
153
154
|
defaultTheme: () => import_tokens2.defaultTheme,
|
|
155
|
+
dropdownAppearanceOptions: () => dropdownAppearanceOptions,
|
|
154
156
|
dropdownLanguageItems: () => dropdownLanguageItems,
|
|
157
|
+
dropdownTriggerSizeOptions: () => dropdownTriggerSizeOptions,
|
|
155
158
|
dropdownVariantOptions: () => dropdownVariantOptions,
|
|
156
159
|
emptyMediaVariantOptions: () => emptyMediaVariantOptions,
|
|
157
160
|
gradientToCss: () => import_tokens2.gradientToCss,
|
|
@@ -181,6 +184,7 @@ __export(index_exports, {
|
|
|
181
184
|
sofyaSurfaceNames: () => import_tokens2.sofyaSurfaceNames,
|
|
182
185
|
sofyaTextStyleNames: () => import_tokens2.sofyaTextStyleNames,
|
|
183
186
|
spinnerSizeOptions: () => spinnerSizeOptions,
|
|
187
|
+
switchSizeOptions: () => switchSizeOptions,
|
|
184
188
|
tableActionToneOptions: () => tableActionToneOptions,
|
|
185
189
|
tableCellVariantOptions: () => tableCellVariantOptions,
|
|
186
190
|
tableStatusToneOptions: () => tableStatusToneOptions,
|
|
@@ -340,6 +344,8 @@ var tablerIconRegistry = {
|
|
|
340
344
|
IconTrashOff: import_icons_react.IconTrashOff,
|
|
341
345
|
IconTrashX: import_icons_react.IconTrashX,
|
|
342
346
|
IconChevronRight: import_icons_react.IconChevronRight,
|
|
347
|
+
IconLogout: import_icons_react.IconLogout,
|
|
348
|
+
IconSettings: import_icons_react.IconSettings,
|
|
343
349
|
IconX: import_icons_react.IconX
|
|
344
350
|
};
|
|
345
351
|
var tablerIconNames = Object.keys(tablerIconRegistry).sort(
|
|
@@ -383,6 +389,7 @@ var legacyIconToTablerNameMap = {
|
|
|
383
389
|
"caret-up": "IconChevronUp",
|
|
384
390
|
"caret-left": "IconChevronLeft",
|
|
385
391
|
"caret-right": "IconChevronRight",
|
|
392
|
+
"logout": "IconLogout",
|
|
386
393
|
"users-group": "IconUsersGroup",
|
|
387
394
|
"archive": "IconArchive",
|
|
388
395
|
"folder": "IconFolder",
|
|
@@ -392,7 +399,8 @@ var legacyIconToTablerNameMap = {
|
|
|
392
399
|
"trash-x": "IconTrashX",
|
|
393
400
|
"delete": "IconTrash",
|
|
394
401
|
"remove": "IconTrashX",
|
|
395
|
-
"lixeira": "IconTrash"
|
|
402
|
+
"lixeira": "IconTrash",
|
|
403
|
+
"settings": "IconSettings"
|
|
396
404
|
};
|
|
397
405
|
var iconNames = Object.keys(legacyIconToTablerNameMap);
|
|
398
406
|
var iconRegistry = Object.fromEntries(
|
|
@@ -753,67 +761,154 @@ function renderTextContent(children, { as, className, size = "body", style, vari
|
|
|
753
761
|
|
|
754
762
|
// src/components/accordion.tsx
|
|
755
763
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
756
|
-
var
|
|
757
|
-
var
|
|
758
|
-
|
|
764
|
+
var accordionAppearanceOptions = ["default", "card"];
|
|
765
|
+
var AccordionAppearanceContext = React4.createContext("default");
|
|
766
|
+
var accordionItemClasses = {
|
|
767
|
+
default: "group/accordion-item border-b border-border bg-transparent text-foreground",
|
|
768
|
+
card: "group/accordion-item bg-transparent text-foreground"
|
|
769
|
+
};
|
|
770
|
+
var accordionTriggerClasses = {
|
|
771
|
+
default: "sofya-accordion-trigger flex flex-1 items-center justify-between gap-4 py-4 text-left [font-family:var(--sofya-text-body-font-family)] text-[length:var(--sofya-text-body-font-size)] font-medium leading-[var(--sofya-text-body-line-height)] tracking-[var(--sofya-text-body-letter-spacing)] text-foreground transition-colors duration-sofya ease-sofya focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",
|
|
772
|
+
card: "sofya-accordion-trigger flex w-full items-center justify-between gap-4 rounded-[16px] border border-secondary bg-[color:var(--sofya-background)] px-6 py-4 text-left text-foreground transition-[background-color,border-color,box-shadow,color] duration-sofya ease-sofya hover:border-secondary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--sofya-focus-ring-soft)] focus-visible:ring-offset-0 disabled:pointer-events-none disabled:opacity-50"
|
|
773
|
+
};
|
|
774
|
+
var accordionContentClasses = {
|
|
775
|
+
default: "sofya-accordion-content overflow-hidden text-sm text-muted-foreground",
|
|
776
|
+
card: "sofya-accordion-content overflow-hidden text-foreground"
|
|
777
|
+
};
|
|
778
|
+
var accordionContentBodyClasses = {
|
|
779
|
+
default: "pb-4 pr-10",
|
|
780
|
+
card: "flex flex-col gap-4 rounded-[8px] border border-border bg-[color:var(--sofya-background)] p-6"
|
|
781
|
+
};
|
|
782
|
+
function useAccordionAppearance() {
|
|
783
|
+
return React4.useContext(AccordionAppearanceContext);
|
|
784
|
+
}
|
|
785
|
+
var Accordion = React4.forwardRef(({ appearance = "default", className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(AccordionAppearanceContext.Provider, { value: appearance, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
786
|
+
AccordionPrimitive.Root,
|
|
759
787
|
{
|
|
760
788
|
ref,
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
className
|
|
764
|
-
),
|
|
789
|
+
"data-appearance": appearance === "card" ? appearance : void 0,
|
|
790
|
+
className: cn(appearance === "card" && "flex flex-col gap-4", className),
|
|
765
791
|
...props
|
|
766
792
|
}
|
|
767
|
-
));
|
|
793
|
+
) }));
|
|
794
|
+
Accordion.displayName = AccordionPrimitive.Root.displayName;
|
|
795
|
+
var AccordionItem = React4.forwardRef(({ className, ...props }, ref) => {
|
|
796
|
+
const appearance = useAccordionAppearance();
|
|
797
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
798
|
+
AccordionPrimitive.Item,
|
|
799
|
+
{
|
|
800
|
+
ref,
|
|
801
|
+
"data-appearance": appearance === "card" ? appearance : void 0,
|
|
802
|
+
className: cn(accordionItemClasses[appearance], className),
|
|
803
|
+
...props
|
|
804
|
+
}
|
|
805
|
+
);
|
|
806
|
+
});
|
|
768
807
|
AccordionItem.displayName = AccordionPrimitive.Item.displayName;
|
|
769
|
-
var AccordionTrigger = React4.forwardRef(
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
...props
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
808
|
+
var AccordionTrigger = React4.forwardRef(
|
|
809
|
+
({
|
|
810
|
+
className,
|
|
811
|
+
children,
|
|
812
|
+
description,
|
|
813
|
+
hideIndicator,
|
|
814
|
+
indicator,
|
|
815
|
+
leading,
|
|
816
|
+
...props
|
|
817
|
+
}, ref) => {
|
|
818
|
+
const appearance = useAccordionAppearance();
|
|
819
|
+
const hasDescription = description !== void 0 && description !== null;
|
|
820
|
+
const resolvedHideIndicator = hideIndicator ?? appearance === "card";
|
|
821
|
+
const indicatorNode = indicator !== void 0 ? indicator : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Icon, { name: "caret-down", size: 12 });
|
|
822
|
+
const shouldRenderIndicator = !resolvedHideIndicator && indicatorNode != null;
|
|
823
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
824
|
+
AccordionPrimitive.Header,
|
|
825
|
+
{
|
|
826
|
+
"data-appearance": appearance === "card" ? appearance : void 0,
|
|
827
|
+
className: cn("flex", appearance === "card" && "w-full"),
|
|
828
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
|
|
829
|
+
AccordionPrimitive.Trigger,
|
|
830
|
+
{
|
|
831
|
+
ref,
|
|
832
|
+
"data-appearance": appearance === "card" ? appearance : void 0,
|
|
833
|
+
className: cn(accordionTriggerClasses[appearance], className),
|
|
834
|
+
...props,
|
|
835
|
+
children: [
|
|
836
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("span", { className: cn("min-w-0 flex-1", leading && "flex items-center gap-4"), children: [
|
|
837
|
+
leading ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "flex shrink-0 items-center justify-center", children: leading }) : null,
|
|
838
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
|
|
839
|
+
"span",
|
|
840
|
+
{
|
|
841
|
+
className: cn(
|
|
842
|
+
"min-w-0 flex-1",
|
|
843
|
+
(appearance === "card" || hasDescription) && "flex flex-col gap-2"
|
|
844
|
+
),
|
|
845
|
+
children: [
|
|
846
|
+
renderTextContent(children, {
|
|
847
|
+
as: "span",
|
|
848
|
+
className: "block min-w-0 text-foreground",
|
|
849
|
+
size: appearance === "card" ? "h5" : "body",
|
|
850
|
+
style: appearance === "card" ? void 0 : {
|
|
851
|
+
color: "inherit",
|
|
852
|
+
fontFamily: "inherit",
|
|
853
|
+
fontSize: "inherit",
|
|
854
|
+
fontWeight: "inherit",
|
|
855
|
+
letterSpacing: "inherit",
|
|
856
|
+
lineHeight: "inherit"
|
|
857
|
+
}
|
|
858
|
+
}),
|
|
859
|
+
hasDescription ? renderTextContent(description, {
|
|
860
|
+
as: "span",
|
|
861
|
+
className: "block min-w-0 text-muted-foreground",
|
|
862
|
+
size: "body"
|
|
863
|
+
}) : null
|
|
864
|
+
]
|
|
865
|
+
}
|
|
866
|
+
)
|
|
867
|
+
] }),
|
|
868
|
+
shouldRenderIndicator ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
869
|
+
"span",
|
|
870
|
+
{
|
|
871
|
+
"aria-hidden": "true",
|
|
872
|
+
className: cn(
|
|
873
|
+
"sofya-accordion-indicator flex h-5 w-5 shrink-0 items-center justify-center text-muted-foreground transition-transform duration-sofya ease-sofya",
|
|
874
|
+
appearance === "card" && "text-secondary"
|
|
875
|
+
),
|
|
876
|
+
children: indicatorNode
|
|
877
|
+
}
|
|
878
|
+
) : null
|
|
879
|
+
]
|
|
880
|
+
}
|
|
881
|
+
)
|
|
882
|
+
}
|
|
883
|
+
);
|
|
884
|
+
}
|
|
885
|
+
);
|
|
886
|
+
AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
|
|
887
|
+
var AccordionContent = React4.forwardRef(({ className, children, contentClassName, ...props }, ref) => {
|
|
888
|
+
const appearance = useAccordionAppearance();
|
|
889
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
890
|
+
AccordionPrimitive.Content,
|
|
891
|
+
{
|
|
892
|
+
ref,
|
|
893
|
+
"data-appearance": appearance === "card" ? appearance : void 0,
|
|
894
|
+
className: cn(accordionContentClasses[appearance], className),
|
|
895
|
+
...props,
|
|
896
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
897
|
+
"div",
|
|
794
898
|
{
|
|
795
|
-
"aria-hidden": "true",
|
|
796
899
|
className: cn(
|
|
797
|
-
"sofya-accordion-
|
|
900
|
+
"sofya-accordion-content-body",
|
|
901
|
+
accordionContentBodyClasses[appearance],
|
|
902
|
+
contentClassName
|
|
798
903
|
),
|
|
799
|
-
children:
|
|
904
|
+
children: renderTextContent(children, {
|
|
905
|
+
className: appearance === "card" ? "text-foreground" : "text-muted-foreground"
|
|
906
|
+
})
|
|
800
907
|
}
|
|
801
908
|
)
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
|
|
806
|
-
var AccordionContent = React4.forwardRef(({ className, children, contentClassName, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
807
|
-
AccordionPrimitive.Content,
|
|
808
|
-
{
|
|
809
|
-
ref,
|
|
810
|
-
className: cn("sofya-accordion-content overflow-hidden text-sm text-muted-foreground", className),
|
|
811
|
-
...props,
|
|
812
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: cn("pb-4 pr-10", contentClassName), children: renderTextContent(children, {
|
|
813
|
-
className: "text-muted-foreground"
|
|
814
|
-
}) })
|
|
815
|
-
}
|
|
816
|
-
));
|
|
909
|
+
}
|
|
910
|
+
);
|
|
911
|
+
});
|
|
817
912
|
AccordionContent.displayName = AccordionPrimitive.Content.displayName;
|
|
818
913
|
|
|
819
914
|
// src/components/alert.tsx
|
|
@@ -1865,22 +1960,51 @@ var dropdownVariantOptions = [
|
|
|
1865
1960
|
"language",
|
|
1866
1961
|
"selected"
|
|
1867
1962
|
];
|
|
1963
|
+
var dropdownAppearanceOptions = ["panel", "card"];
|
|
1964
|
+
var dropdownTriggerSizeOptions = ["default", "sm", "lg"];
|
|
1868
1965
|
var dropdownLanguageItems = [
|
|
1869
1966
|
{ value: "en-US", label: "English", languageLocale: "en-US" },
|
|
1870
1967
|
{ value: "pt-BR", label: "Portuguese", languageLocale: "pt-BR" },
|
|
1871
1968
|
{ value: "es-ES", label: "Spanish", languageLocale: "es-ES" }
|
|
1872
1969
|
];
|
|
1873
|
-
var
|
|
1874
|
-
card: "
|
|
1875
|
-
panel: "
|
|
1970
|
+
var dropdownTriggerToneClasses = {
|
|
1971
|
+
card: "text-primary",
|
|
1972
|
+
panel: "text-foreground",
|
|
1876
1973
|
language: "",
|
|
1877
|
-
selected: "
|
|
1974
|
+
selected: "w-full border-[color:var(--sofya-border-strong)] [font-family:var(--sofya-text-body-font-family)] text-[length:var(--sofya-text-body-font-size)] [font-weight:var(--sofya-text-body-font-weight)] leading-[var(--sofya-text-body-line-height)] tracking-[var(--sofya-text-body-letter-spacing)]"
|
|
1975
|
+
};
|
|
1976
|
+
var dropdownTriggerSizeClasses = {
|
|
1977
|
+
regular: {
|
|
1978
|
+
default: "h-12 px-6 py-2",
|
|
1979
|
+
sm: "h-10 px-4 py-2",
|
|
1980
|
+
lg: "h-14 px-8 py-4"
|
|
1981
|
+
},
|
|
1982
|
+
selected: {
|
|
1983
|
+
default: "h-10 px-4 py-2",
|
|
1984
|
+
sm: "h-9 px-2 py-2",
|
|
1985
|
+
lg: "h-12 px-6 py-2"
|
|
1986
|
+
},
|
|
1987
|
+
language: {
|
|
1988
|
+
default: "h-[38px] w-[38px] p-0",
|
|
1989
|
+
sm: "h-8 w-8 p-0",
|
|
1990
|
+
lg: "h-11 w-11 p-0"
|
|
1991
|
+
}
|
|
1992
|
+
};
|
|
1993
|
+
var dropdownAppearanceClasses = {
|
|
1994
|
+
panel: {
|
|
1995
|
+
content: "rounded-[10px]",
|
|
1996
|
+
trigger: "rounded-[10px]"
|
|
1997
|
+
},
|
|
1998
|
+
card: {
|
|
1999
|
+
content: "rounded-[20px]",
|
|
2000
|
+
trigger: "rounded-[20px]"
|
|
2001
|
+
}
|
|
1878
2002
|
};
|
|
1879
|
-
var
|
|
1880
|
-
card: "
|
|
1881
|
-
panel: "
|
|
1882
|
-
language: "w-[224px] min-w-[224px]
|
|
1883
|
-
selected: "w-[var(--radix-dropdown-menu-trigger-width)] min-w-[var(--radix-dropdown-menu-trigger-width)]
|
|
2003
|
+
var dropdownContentBaseClasses = {
|
|
2004
|
+
card: "border-[color:var(--sofya-border-strong)] text-foreground shadow-[var(--sofya-shadow-soft)]",
|
|
2005
|
+
panel: "border-[color:var(--sofya-border-strong)] text-foreground shadow-[var(--sofya-shadow-soft)]",
|
|
2006
|
+
language: "w-[224px] min-w-[224px] border-[color:var(--sofya-border-strong)] text-foreground shadow-[var(--sofya-shadow-soft)]",
|
|
2007
|
+
selected: "w-[var(--radix-dropdown-menu-trigger-width)] min-w-[var(--radix-dropdown-menu-trigger-width)] border-[color:var(--sofya-border-strong)] text-foreground shadow-[var(--sofya-shadow-soft)]"
|
|
1884
2008
|
};
|
|
1885
2009
|
var dropdownItemClasses = {
|
|
1886
2010
|
card: "text-foreground",
|
|
@@ -1900,6 +2024,24 @@ function resolveItemLanguageLocale(item) {
|
|
|
1900
2024
|
}
|
|
1901
2025
|
return isButtonLanguageLocale(item.value) ? item.value : void 0;
|
|
1902
2026
|
}
|
|
2027
|
+
function resolveDropdownAppearance({
|
|
2028
|
+
appearance,
|
|
2029
|
+
variant
|
|
2030
|
+
}) {
|
|
2031
|
+
if (appearance) {
|
|
2032
|
+
return appearance;
|
|
2033
|
+
}
|
|
2034
|
+
return variant === "card" ? "card" : "panel";
|
|
2035
|
+
}
|
|
2036
|
+
function resolveDropdownTriggerSizeFamily(variant) {
|
|
2037
|
+
if (variant === "language") {
|
|
2038
|
+
return "language";
|
|
2039
|
+
}
|
|
2040
|
+
if (variant === "selected") {
|
|
2041
|
+
return "selected";
|
|
2042
|
+
}
|
|
2043
|
+
return "regular";
|
|
2044
|
+
}
|
|
1903
2045
|
function DefaultDropdownTriggerIcon({ variant }) {
|
|
1904
2046
|
if (variant === "selected") {
|
|
1905
2047
|
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
@@ -1931,6 +2073,7 @@ function LanguageFlagIcon({ locale }) {
|
|
|
1931
2073
|
}
|
|
1932
2074
|
function Dropdown({
|
|
1933
2075
|
align = "start",
|
|
2076
|
+
appearance,
|
|
1934
2077
|
contentClassName,
|
|
1935
2078
|
defaultOpen,
|
|
1936
2079
|
defaultValue,
|
|
@@ -1945,11 +2088,14 @@ function Dropdown({
|
|
|
1945
2088
|
sideOffset = 8,
|
|
1946
2089
|
triggerClassName,
|
|
1947
2090
|
triggerIcon,
|
|
2091
|
+
triggerSize = "default",
|
|
1948
2092
|
value,
|
|
1949
2093
|
variant = "card"
|
|
1950
2094
|
}) {
|
|
1951
2095
|
const isLanguageVariant = variant === "language";
|
|
1952
2096
|
const isSelectedVariant = variant === "selected";
|
|
2097
|
+
const resolvedAppearance = resolveDropdownAppearance({ appearance, variant });
|
|
2098
|
+
const triggerSizeFamily = resolveDropdownTriggerSizeFamily(variant);
|
|
1953
2099
|
const usesDefaultListStyle = !isLanguageVariant;
|
|
1954
2100
|
const resolvedItems = React12.useMemo(
|
|
1955
2101
|
() => isLanguageVariant ? items && items.length > 0 ? items : dropdownLanguageItems : items ?? [],
|
|
@@ -1999,9 +2145,13 @@ function Dropdown({
|
|
|
1999
2145
|
type: "button",
|
|
2000
2146
|
variant: isLanguageVariant ? "language" : "dropdown",
|
|
2001
2147
|
languageLocale: selectedLanguageLocale,
|
|
2148
|
+
"data-appearance": resolvedAppearance,
|
|
2149
|
+
"data-trigger-size": triggerSize,
|
|
2002
2150
|
className: cn(
|
|
2003
2151
|
"min-w-0",
|
|
2004
|
-
|
|
2152
|
+
dropdownTriggerToneClasses[variant],
|
|
2153
|
+
dropdownTriggerSizeClasses[triggerSizeFamily][triggerSize],
|
|
2154
|
+
dropdownAppearanceClasses[resolvedAppearance].trigger,
|
|
2005
2155
|
selectedTriggerToneClassName,
|
|
2006
2156
|
triggerClassName
|
|
2007
2157
|
),
|
|
@@ -2018,9 +2168,11 @@ function Dropdown({
|
|
|
2018
2168
|
{
|
|
2019
2169
|
align,
|
|
2020
2170
|
sideOffset,
|
|
2171
|
+
"data-appearance": resolvedAppearance,
|
|
2021
2172
|
className: cn(
|
|
2022
2173
|
"sofya-dropdown-content z-50 w-auto min-w-[var(--radix-dropdown-menu-trigger-width)] border bg-card p-2 outline-none",
|
|
2023
|
-
|
|
2174
|
+
dropdownContentBaseClasses[variant],
|
|
2175
|
+
dropdownAppearanceClasses[resolvedAppearance].content,
|
|
2024
2176
|
contentClassName
|
|
2025
2177
|
),
|
|
2026
2178
|
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
@@ -4384,12 +4536,22 @@ Spinner.displayName = "Spinner";
|
|
|
4384
4536
|
var React31 = __toESM(require("react"), 1);
|
|
4385
4537
|
var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"), 1);
|
|
4386
4538
|
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
4387
|
-
var
|
|
4539
|
+
var switchSizeOptions = ["default", "sm"];
|
|
4540
|
+
var switchRootSizeClasses = {
|
|
4541
|
+
default: "h-6 w-11",
|
|
4542
|
+
sm: "h-5 w-9"
|
|
4543
|
+
};
|
|
4544
|
+
var switchThumbSizeClasses = {
|
|
4545
|
+
default: "h-5 w-5 data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0",
|
|
4546
|
+
sm: "h-4 w-4 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
|
|
4547
|
+
};
|
|
4548
|
+
var Switch = React31.forwardRef(({ className, size = "default", ...props }, ref) => {
|
|
4388
4549
|
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
4389
4550
|
SwitchPrimitives.Root,
|
|
4390
4551
|
{
|
|
4391
4552
|
className: cn(
|
|
4392
|
-
"peer inline-flex
|
|
4553
|
+
"peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors duration-sofya ease-sofya focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-muted",
|
|
4554
|
+
switchRootSizeClasses[size],
|
|
4393
4555
|
className
|
|
4394
4556
|
),
|
|
4395
4557
|
...props,
|
|
@@ -4397,7 +4559,10 @@ var Switch = React31.forwardRef(({ className, ...props }, ref) => {
|
|
|
4397
4559
|
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
4398
4560
|
SwitchPrimitives.Thumb,
|
|
4399
4561
|
{
|
|
4400
|
-
className:
|
|
4562
|
+
className: cn(
|
|
4563
|
+
"pointer-events-none block rounded-full bg-background shadow-sm ring-0 transition-transform duration-sofya ease-sofya",
|
|
4564
|
+
switchThumbSizeClasses[size]
|
|
4565
|
+
)
|
|
4401
4566
|
}
|
|
4402
4567
|
)
|
|
4403
4568
|
}
|
|
@@ -5021,6 +5186,7 @@ var import_tokens2 = require("@sofya-ds/tokens");
|
|
|
5021
5186
|
TooltipContent,
|
|
5022
5187
|
TooltipProvider,
|
|
5023
5188
|
TooltipTrigger,
|
|
5189
|
+
accordionAppearanceOptions,
|
|
5024
5190
|
alertSizeOptions,
|
|
5025
5191
|
alertToneOptions,
|
|
5026
5192
|
avatarSizeOptions,
|
|
@@ -5039,7 +5205,9 @@ var import_tokens2 = require("@sofya-ds/tokens");
|
|
|
5039
5205
|
cardVariants,
|
|
5040
5206
|
createWhitelabelTheme,
|
|
5041
5207
|
defaultTheme,
|
|
5208
|
+
dropdownAppearanceOptions,
|
|
5042
5209
|
dropdownLanguageItems,
|
|
5210
|
+
dropdownTriggerSizeOptions,
|
|
5043
5211
|
dropdownVariantOptions,
|
|
5044
5212
|
emptyMediaVariantOptions,
|
|
5045
5213
|
gradientToCss,
|
|
@@ -5069,6 +5237,7 @@ var import_tokens2 = require("@sofya-ds/tokens");
|
|
|
5069
5237
|
sofyaSurfaceNames,
|
|
5070
5238
|
sofyaTextStyleNames,
|
|
5071
5239
|
spinnerSizeOptions,
|
|
5240
|
+
switchSizeOptions,
|
|
5072
5241
|
tableActionToneOptions,
|
|
5073
5242
|
tableCellVariantOptions,
|
|
5074
5243
|
tableStatusToneOptions,
|