@shoplflow/base 0.20.0 → 0.21.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 CHANGED
@@ -930,10 +930,10 @@ var useOnToggle = (selected, defaultSelected) => {
930
930
  }
931
931
  }, [isControlled, selected]);
932
932
  React3.useEffect(() => {
933
- if (defaultSelected !== void 0) {
933
+ if (!isControlled && defaultSelected !== void 0) {
934
934
  setIsToggle(defaultSelected);
935
935
  }
936
- }, [defaultSelected]);
936
+ }, [defaultSelected, isControlled]);
937
937
  return [isToggle, handleToggle];
938
938
  };
939
939
  var Switch = (_a) => {
@@ -1920,21 +1920,54 @@ var Dropdown = ({
1920
1920
  Dropdown.Button = DropdownButton;
1921
1921
  Dropdown.Content = DropdownContent;
1922
1922
  exports.Dropdown = Dropdown;
1923
+ var getStylesBySizeVar = (sizeVar) => {
1924
+ switch (sizeVar) {
1925
+ case "XS":
1926
+ return react$1.css`
1927
+ min-height: 28px;
1928
+ `;
1929
+ case "S":
1930
+ return react$1.css`
1931
+ min-height: 36px;
1932
+ `;
1933
+ case "M":
1934
+ return react$1.css`
1935
+ height: 48px;
1936
+ `;
1937
+ default:
1938
+ return react$1.css`
1939
+ height: 48px;
1940
+ `;
1941
+ }
1942
+ };
1943
+ exports.getFontStylesBySizeVar = (sizeVar) => {
1944
+ switch (sizeVar) {
1945
+ case "XS":
1946
+ return "body2_400";
1947
+ case "S":
1948
+ return "body1_400";
1949
+ case "M":
1950
+ return "body1_400";
1951
+ default:
1952
+ return "body1_400";
1953
+ }
1954
+ };
1923
1955
  exports.StyledMenu = styled5__default.default.li`
1924
1956
  display: flex;
1925
- flex-direction: row;
1926
- padding: 6px;
1927
1957
  width: 100%;
1958
+ flex-direction: row;
1928
1959
  align-items: center;
1960
+ padding: 6px;
1929
1961
  gap: 4px;
1930
- cursor: pointer;
1931
1962
  border-radius: 4px;
1932
- background: ${exports.colorTokens.neutral0};
1963
+ cursor: pointer;
1964
+ background: transparent;
1965
+ ${({ sizeVar }) => getStylesBySizeVar(sizeVar)};
1933
1966
  &:hover {
1934
- background: ${exports.colorTokens.neutral100};
1967
+ background: ${exports.colorTokens.neutral400_5};
1935
1968
  }
1936
1969
  ${({ disabled }) => disabled && getDisabledStyle(disabled)}
1937
- ${({ isSelected, leftSource }) => isSelected && !leftSource && react$1.css`
1970
+ ${({ isSelected, leftSource }) => isSelected === true && !leftSource && react$1.css`
1938
1971
  background: ${exports.colorTokens.neutral200};
1939
1972
  &:hover {
1940
1973
  background: ${exports.colorTokens.neutral200};
@@ -1949,6 +1982,7 @@ var Menu = (_a) => {
1949
1982
  isSelected,
1950
1983
  defaultSelected = false,
1951
1984
  onClick,
1985
+ sizeVar = "XS",
1952
1986
  disabled = false
1953
1987
  } = _b, rest = __objRest(_b, [
1954
1988
  "leftSource",
@@ -1957,6 +1991,7 @@ var Menu = (_a) => {
1957
1991
  "isSelected",
1958
1992
  "defaultSelected",
1959
1993
  "onClick",
1994
+ "sizeVar",
1960
1995
  "disabled"
1961
1996
  ]);
1962
1997
  const [selected, handleToggle] = useOnToggle(isSelected, defaultSelected);
@@ -1967,14 +2002,32 @@ var Menu = (_a) => {
1967
2002
  !disabled && handleToggle();
1968
2003
  !disabled && onClick && onClick(e);
1969
2004
  };
1970
- return /* @__PURE__ */ jsxRuntime.jsxs(exports.StyledMenu, __spreadProps(__spreadValues({ isSelected: selected, leftSource, onClick: handleOnClick }, rest), { "data-shoplflow": "Menu", children: [
1971
- leftSource && LeftSourceClone,
1972
- /* @__PURE__ */ jsxRuntime.jsx(exports.Stack.Horizontal, { width: "100%", align: "center", className: "body1_400", children }),
1973
- rightSource && rightSource
1974
- ] }));
2005
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2006
+ exports.StyledMenu,
2007
+ __spreadProps(__spreadValues({
2008
+ sizeVar,
2009
+ isSelected: selected,
2010
+ leftSource,
2011
+ onClick: handleOnClick
2012
+ }, rest), {
2013
+ "data-shoplflow": "Menu",
2014
+ children: [
2015
+ leftSource && LeftSourceClone,
2016
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Stack.Horizontal, { width: "100%", height: "100%", align: "center", className: exports.getFontStylesBySizeVar(sizeVar), children }),
2017
+ rightSource && rightSource
2018
+ ]
2019
+ })
2020
+ );
1975
2021
  };
1976
2022
  exports.Menu = Menu;
1977
- exports.StyledList = styled5__default.default.div`
2023
+
2024
+ // src/components/Menu/Menu.types.ts
2025
+ exports.MenuSizeVariants = {
2026
+ XS: "XS",
2027
+ S: "S",
2028
+ M: "M"
2029
+ };
2030
+ exports.StyledList = styled5__default.default.li`
1978
2031
  display: flex;
1979
2032
  flex-direction: row;
1980
2033
  width: 100%;