esewa-ui-library 1.0.8 → 1.10.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.
@@ -7016,18 +7016,31 @@ var ESewaChipGroup = function ESewaChipGroup(_ref3) {
7016
7016
  var selection = _ref3.selection,
7017
7017
  required = _ref3.required,
7018
7018
  chips = _ref3.chips,
7019
- className = _ref3.className;
7019
+ className = _ref3.className,
7020
+ onChange = _ref3.onChange;
7020
7021
  var _useState = useState([]),
7021
7022
  selectedChips = _useState[0],
7022
7023
  setSelectedChips = _useState[1];
7023
7024
  var handleSelectChip = function handleSelectChip(id) {
7024
7025
  if (selection === 'single') {
7025
7026
  setSelectedChips([id]);
7027
+ onChange === null || onChange === void 0 ? void 0 : onChange(id);
7026
7028
  } else {
7027
7029
  setSelectedChips(function (prev) {
7028
- return prev.includes(id) ? required && prev.length === 1 ? prev : prev.filter(function (chipId) {
7029
- return chipId !== id;
7030
- }) : [].concat(prev, [id]);
7030
+ var updated;
7031
+ if (prev.includes(id)) {
7032
+ if (required && prev.length === 1) {
7033
+ updated = prev;
7034
+ } else {
7035
+ updated = prev.filter(function (chipId) {
7036
+ return chipId !== id;
7037
+ });
7038
+ }
7039
+ } else {
7040
+ updated = [].concat(prev, [id]);
7041
+ }
7042
+ onChange === null || onChange === void 0 ? void 0 : onChange(updated);
7043
+ return updated;
7031
7044
  });
7032
7045
  }
7033
7046
  };
@@ -7652,14 +7665,21 @@ var darkTheme = _extends({}, theme, darkThemeColors);
7652
7665
 
7653
7666
  var ESewaThemeProvider = function ESewaThemeProvider(_ref) {
7654
7667
  var children = _ref.children;
7655
- var updateDocumentTheme = function updateDocumentTheme(theme) {
7656
- document.documentElement.setAttribute('data-theme', theme);
7657
- };
7658
- var themeType = window.matchMedia('(prefers-color-scheme: dark)').matches ? darkTheme : lightTheme;
7659
- var themeColor = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
7668
+ var _useState = useState(lightTheme),
7669
+ themeType = _useState[0],
7670
+ setThemeType = _useState[1];
7671
+ var _useState2 = useState('light'),
7672
+ setThemeColor = _useState2[1];
7660
7673
  useEffect(function () {
7661
- updateDocumentTheme(themeColor);
7662
- }, [themeType, themeColor]);
7674
+ if (typeof window !== 'undefined') {
7675
+ var prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
7676
+ var newThemeType = prefersDark ? darkTheme : lightTheme;
7677
+ var newThemeColor = prefersDark ? 'dark' : 'light';
7678
+ setThemeType(newThemeType);
7679
+ setThemeColor(newThemeColor);
7680
+ document.documentElement.setAttribute('data-theme', newThemeColor);
7681
+ }
7682
+ }, []);
7663
7683
  return React__default.createElement(ThemeProvider, {
7664
7684
  theme: themeType
7665
7685
  }, children);