@mw-kit/mw-ui 1.3.1 → 1.4.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.
Files changed (27) hide show
  1. package/dist/components/AbsoluteContainer/index.d.ts +2 -2
  2. package/dist/components/AbsoluteContainer/interfaces.d.ts +1 -0
  3. package/dist/components/Calendar/styles.d.ts +1 -1
  4. package/dist/components/Filters/AppliedFilters/index.d.ts +4 -0
  5. package/dist/components/Filters/AppliedFilters/interfaces.d.ts +7 -0
  6. package/dist/components/Filters/AppliedFilters/styles.d.ts +5 -0
  7. package/dist/components/{FilterMenu → Filters/Filters}/components/Submenu/components/Header/index.d.ts +0 -0
  8. package/dist/components/{FilterMenu → Filters/Filters}/components/Submenu/components/Header/interfaces.d.ts +1 -1
  9. package/dist/components/{FilterMenu → Filters/Filters}/components/Submenu/components/Header/styles.d.ts +0 -0
  10. package/dist/components/{FilterMenu → Filters/Filters}/components/Submenu/index.d.ts +0 -0
  11. package/dist/components/{FilterMenu → Filters/Filters}/components/Submenu/interfaces.d.ts +2 -1
  12. package/dist/components/{FilterMenu → Filters/Filters}/components/Submenu/styles.d.ts +0 -0
  13. package/dist/components/Filters/Filters/index.d.ts +4 -0
  14. package/dist/components/{FilterMenu → Filters/Filters}/interfaces.d.ts +3 -21
  15. package/dist/components/Filters/interfaces.d.ts +20 -0
  16. package/dist/components/Menu/interfaces.d.ts +2 -2
  17. package/dist/components/Menu/styles.d.ts +1 -1
  18. package/dist/components/index.d.ts +2 -1
  19. package/dist/index.js +169 -16
  20. package/dist/index.js.map +1 -1
  21. package/dist/index.modern.js +169 -17
  22. package/dist/index.modern.js.map +1 -1
  23. package/dist/interfaces.d.ts +1 -1
  24. package/dist/theme/constants.d.ts +2 -15
  25. package/dist/theme/interfaces.d.ts +15 -2
  26. package/package.json +1 -1
  27. package/dist/components/FilterMenu/index.d.ts +0 -4
@@ -1,5 +1,5 @@
1
1
  import 'semantic-ui-css/semantic.min.css';
2
- import React__default, { createElement, useState, useEffect, useCallback } from 'react';
2
+ import React__default, { createElement, useState, useImperativeHandle, useEffect, useCallback } from 'react';
3
3
  import styled, { keyframes, css, createGlobalStyle, ThemeProvider as ThemeProvider$1 } from 'styled-components';
4
4
  import { Icon as Icon$1 } from 'semantic-ui-react';
5
5
  export * from 'semantic-ui-react';
@@ -11839,7 +11839,7 @@ var EllipsisContainer$1 = function EllipsisContainer$1(props) {
11839
11839
  };
11840
11840
 
11841
11841
  var _templateObject$5, _templateObject2$3, _templateObject3$3, _templateObject4$3;
11842
- var Container$1 = styled.div(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteralLoose(["\n ", ";\n\n padding-right: calc(", " / 2);\n display: flex;\n width: 100%;\n display: flex;\n flex-direction: column;\n"])), function (_ref) {
11842
+ var Container$1 = styled.div(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteralLoose(["\n ", ";\n\n padding-right: calc(", " / 2);\n display: flex;\n width: 100%;\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow: hidden;\n"])), function (_ref) {
11843
11843
  var theme = _ref.theme;
11844
11844
  return theme.useTypography('p');
11845
11845
  }, function (_ref2) {
@@ -11904,7 +11904,9 @@ var ScrollContainer = function ScrollContainer(props) {
11904
11904
  _onScroll2(event);
11905
11905
  }
11906
11906
  })), loading && React__default.createElement(Loader, {
11907
- filled: true
11907
+ filled: true,
11908
+ size: '43px',
11909
+ borderSize: '2px'
11908
11910
  })), after);
11909
11911
  };
11910
11912
 
@@ -11985,7 +11987,7 @@ var Container$2 = styled.div(_templateObject9$1 || (_templateObject9$1 = _tagged
11985
11987
  return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n visibility: hidden;\n "])));
11986
11988
  });
11987
11989
 
11988
- var AbsoluteContainer = function AbsoluteContainer(props) {
11990
+ var AbsoluteContainer = React__default.forwardRef(function (props, fowardedRef) {
11989
11991
  var center = props.center || {
11990
11992
  x: 50,
11991
11993
  y: 75
@@ -12005,6 +12007,9 @@ var AbsoluteContainer = function AbsoluteContainer(props) {
12005
12007
  firstRender = _useState3[0],
12006
12008
  setFirstRender = _useState3[1];
12007
12009
 
12010
+ useImperativeHandle(fowardedRef, function () {
12011
+ return ref;
12012
+ });
12008
12013
  useEffect(function () {
12009
12014
  setFirstRender(false);
12010
12015
  if (props.position || !ref) return;
@@ -12039,7 +12044,8 @@ var AbsoluteContainer = function AbsoluteContainer(props) {
12039
12044
  ref: setRef,
12040
12045
  firstRender: firstRender
12041
12046
  }), React__default.createElement("div", null, props.children));
12042
- };
12047
+ });
12048
+ AbsoluteContainer.displayName = 'AbsoluteContainer';
12043
12049
 
12044
12050
  var _templateObject$7, _templateObject2$5, _templateObject3$5, _templateObject4$5, _templateObject5$4, _templateObject6$2, _templateObject7$2, _templateObject8$2, _templateObject9$2;
12045
12051
  var Option = styled.div(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteralLoose(["\n ", ";\n line-height: ", ";\n display: flex;\n\n > :nth-child(1) {\n flex: 1;\n }\n\n ", ";\n\n :hover {\n background-color: ", ";\n }\n"])), function (_ref) {
@@ -12097,7 +12103,7 @@ var Delimiter = styled.div(_templateObject9$2 || (_templateObject9$2 = _taggedTe
12097
12103
  return theme.colors.greyishBlue;
12098
12104
  });
12099
12105
 
12100
- var Menu = function Menu(props) {
12106
+ var MenuComponent = function MenuComponent(props, ref) {
12101
12107
  var _props = _extends({}, props),
12102
12108
  open = _props.open,
12103
12109
  close = _props.close,
@@ -12144,7 +12150,9 @@ var Menu = function Menu(props) {
12144
12150
  itemSpacing: 's1'
12145
12151
  });
12146
12152
  if (!open) return React__default.createElement(React__default.Fragment, null);
12147
- return React__default.createElement(Container$3, Object.assign({}, absoluteContainerProps), React__default.createElement(React__default.Fragment, null, React__default.createElement(ScrollContainer, {
12153
+ return React__default.createElement(Container$3, Object.assign({}, absoluteContainerProps, {
12154
+ ref: ref
12155
+ }), React__default.createElement(React__default.Fragment, null, React__default.createElement(ScrollContainer, {
12148
12156
  onScrollEnd: onScrollEnd,
12149
12157
  before: before,
12150
12158
  after: after,
@@ -12225,6 +12233,8 @@ var Menu = function Menu(props) {
12225
12233
  })), children, getSubmenu(activeOption)));
12226
12234
  };
12227
12235
 
12236
+ var Menu = React__default.forwardRef(MenuComponent);
12237
+
12228
12238
  var _templateObject$8, _templateObject2$6, _templateObject3$6, _templateObject4$6, _templateObject5$5, _templateObject6$3;
12229
12239
  var Container$4 = styled.div(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n div {\n border-radius: 50%;\n width: ", ";\n height: ", ";\n\n ", "\n\n ", "\n ", "\n ", "\n ", "\n }\n\n span {\n display: inline-block;\n margin-left: 8px;\n color: ", ";\n }\n"])), function (_ref) {
12230
12240
  var props = _ref.props;
@@ -16031,7 +16041,10 @@ var Submenu = function Submenu(props) {
16031
16041
  });
16032
16042
  };
16033
16043
 
16034
- var FilterMenu = function FilterMenu(props) {
16044
+ var Filters = function Filters(props) {
16045
+ var open = props.open,
16046
+ close = props.close;
16047
+
16035
16048
  var _useState = useState(-1),
16036
16049
  active = _useState[0],
16037
16050
  setActive = _useState[1];
@@ -16050,10 +16063,14 @@ var FilterMenu = function FilterMenu(props) {
16050
16063
  };
16051
16064
  });
16052
16065
  var selected = active >= 0 && active < props.items.length ? props.items[active] : null;
16053
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(Menu, {
16054
- open: props.open,
16066
+ useEffect(function () {
16067
+ if (open) return;
16068
+ setActive(-1);
16069
+ }, [open]);
16070
+ return React__default.createElement(Menu, {
16071
+ open: open,
16055
16072
  options: items,
16056
- close: props.close,
16073
+ close: close,
16057
16074
  width: '160px',
16058
16075
  height: '261px',
16059
16076
  containerSpacing: {
@@ -16072,6 +16089,137 @@ var FilterMenu = function FilterMenu(props) {
16072
16089
  return setActive(-1);
16073
16090
  },
16074
16091
  setAppliedFilters: props.setAppliedFilters
16092
+ }));
16093
+ };
16094
+
16095
+ var _templateObject$H, _templateObject2$y, _templateObject3$x, _templateObject4$v;
16096
+ var Container$p = styled(AbsoluteContainer)(_templateObject$H || (_templateObject$H = _taggedTemplateLiteralLoose(["\n > div {\n padding: ", ";\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n"])), function (_ref) {
16097
+ var s3 = _ref.theme.spacings.s3;
16098
+ return s3 + " 0 " + s3 + " " + s3;
16099
+ });
16100
+ var Header$b = styled.div(_templateObject2$y || (_templateObject2$y = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n gap: ", ";\n padding: ", ";\n > div {\n display: flex;\n justify-content: space-between;\n }\n"])), function (_ref2) {
16101
+ var s3 = _ref2.theme.spacings.s3;
16102
+ return s3;
16103
+ }, function (_ref3) {
16104
+ var s3 = _ref3.theme.spacings.s3;
16105
+ return "0 " + s3 + " " + s3 + " 0";
16106
+ });
16107
+ var Title = styled.div(_templateObject3$x || (_templateObject3$x = _taggedTemplateLiteralLoose(["\n ", "\n color: ", ";\n"])), function (_ref4) {
16108
+ var useTypography = _ref4.theme.useTypography;
16109
+ return useTypography('p', {
16110
+ fontWeight: 'bold'
16111
+ });
16112
+ }, function (_ref5) {
16113
+ var getColor = _ref5.theme.getColor;
16114
+ return getColor('greyishBlue', 50);
16115
+ });
16116
+ var Item = styled.div(_templateObject4$v || (_templateObject4$v = _taggedTemplateLiteralLoose(["\n padding: ", ";\n display: flex;\n align-items: center;\n\n :not(:last-child) {\n border-bottom: 1px solid\n ", ";\n }\n\n > div:nth-child(1) {\n flex: 1;\n\n > div:nth-child(1) {\n ", "\n color: ", ";\n }\n > div:nth-child(2) {\n ", "\n }\n }\n > div:nth-child(2) {\n display: flex;\n align-items: center;\n cursor: pointer;\n }\n"])), function (_ref6) {
16117
+ var s1 = _ref6.theme.spacings.s1;
16118
+ return s1 + " " + s1 + " " + s1 + " 0";
16119
+ }, function (_ref7) {
16120
+ var getColor = _ref7.theme.getColor;
16121
+ return getColor('greyishBlue', 25);
16122
+ }, function (_ref8) {
16123
+ var useTypography = _ref8.theme.useTypography;
16124
+ return useTypography('p');
16125
+ }, function (_ref9) {
16126
+ var getColor = _ref9.theme.getColor;
16127
+ return getColor('greyishBlue', 50);
16128
+ }, function (_ref10) {
16129
+ var useTypography = _ref10.theme.useTypography;
16130
+ return useTypography('p');
16131
+ });
16132
+
16133
+ var AppliedFilters = function AppliedFilters(props) {
16134
+ var open = props.open,
16135
+ close = props.close,
16136
+ _props$appliedFilters = props.appliedFilters,
16137
+ appliedFilters = _props$appliedFilters[0],
16138
+ setAppliedFilters = _props$appliedFilters[1];
16139
+
16140
+ var _useState = useState(''),
16141
+ search = _useState[0],
16142
+ setSearch = _useState[1];
16143
+
16144
+ var _useState2 = useState(''),
16145
+ searched = _useState2[0],
16146
+ setSearched = _useState2[1];
16147
+
16148
+ useEffect(function () {
16149
+ setSearch('');
16150
+ setSearched('');
16151
+ }, [open]);
16152
+ if (!open) return React__default.createElement(React__default.Fragment, null);
16153
+
16154
+ var onClear = function onClear() {
16155
+ setAppliedFilters([]);
16156
+ close();
16157
+ };
16158
+
16159
+ var onSubmitSearch = function onSubmitSearch() {
16160
+ setSearched(search);
16161
+ };
16162
+
16163
+ var onClearSearch = function onClearSearch() {
16164
+ setSearch('');
16165
+ setSearched('');
16166
+ };
16167
+
16168
+ var onRemove = function onRemove(name) {
16169
+ setAppliedFilters(function (prev) {
16170
+ return prev.filter(function (e) {
16171
+ return e.name !== name;
16172
+ });
16173
+ });
16174
+ };
16175
+
16176
+ return React__default.createElement(Container$p, {
16177
+ width: '275px',
16178
+ height: '261px'
16179
+ }, React__default.createElement(Header$b, null, React__default.createElement("div", null, React__default.createElement(Title, null, "Filtros Aplicados"), React__default.createElement(Button$1, {
16180
+ type: 'button',
16181
+ onClick: onClear,
16182
+ appearance: 'link'
16183
+ }, "Limpar Todos")), React__default.createElement(Input$3, {
16184
+ type: 'search',
16185
+ placeholder: 'Pesquisar',
16186
+ setValue: setSearch,
16187
+ value: search,
16188
+ onPressEnter: onSubmitSearch,
16189
+ icon: {
16190
+ icon: {
16191
+ type: 'feather',
16192
+ icon: 'search'
16193
+ },
16194
+ onClick: onSubmitSearch
16195
+ },
16196
+ clearable: search !== '' && search === searched ? onClearSearch : undefined
16197
+ })), React__default.createElement(ScrollContainer, null, appliedFilters.filter(function (_ref) {
16198
+ var _ref$labels = _ref.labels,
16199
+ filter = _ref$labels.filter.text,
16200
+ option = _ref$labels.option.text;
16201
+ return strCmp(filter, searched, {
16202
+ contain: true
16203
+ }) || strCmp(option, searched, {
16204
+ contain: true
16205
+ });
16206
+ }).map(function (_ref2, index) {
16207
+ var _ref2$labels = _ref2.labels,
16208
+ filter = _ref2$labels.filter.element,
16209
+ option = _ref2$labels.option.element,
16210
+ name = _ref2.name;
16211
+ return React__default.createElement(Item, {
16212
+ key: index
16213
+ }, React__default.createElement("div", null, React__default.createElement("div", null, filter), React__default.createElement("div", null, option)), React__default.createElement("div", null, React__default.createElement(Icon, {
16214
+ type: 'feather',
16215
+ icon: 'minus_circle',
16216
+ width: '12px',
16217
+ height: '12px',
16218
+ color: 'darkSilver',
16219
+ onClick: function onClick() {
16220
+ return onRemove(name);
16221
+ }
16222
+ })));
16075
16223
  })));
16076
16224
  };
16077
16225
 
@@ -16084,14 +16232,14 @@ var theme$1 = {
16084
16232
  button: theme
16085
16233
  };
16086
16234
 
16087
- var _templateObject$H;
16088
- var FontStyles = createGlobalStyle(_templateObject$H || (_templateObject$H = _taggedTemplateLiteralLoose(["\n"])));
16235
+ var _templateObject$I;
16236
+ var FontStyles = createGlobalStyle(_templateObject$I || (_templateObject$I = _taggedTemplateLiteralLoose(["\n"])));
16089
16237
 
16090
16238
  var Globals = function Globals() {
16091
16239
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(FontStyles, null));
16092
16240
  };
16093
16241
 
16094
- var _templateObject$I;
16242
+ var _templateObject$J;
16095
16243
 
16096
16244
  var getColor$1 = function getColor(color, opacity) {
16097
16245
  if (opacity === void 0) {
@@ -16101,12 +16249,16 @@ var getColor$1 = function getColor(color, opacity) {
16101
16249
  return "" + colors[color] + opacities[opacity];
16102
16250
  };
16103
16251
 
16104
- var useTypography = function useTypography(typography) {
16252
+ var useTypography = function useTypography(typography, options) {
16253
+ if (options === void 0) {
16254
+ options = {};
16255
+ }
16256
+
16105
16257
  var _typographies$typogra = typographies[typography],
16106
16258
  fontFamily = _typographies$typogra.fontFamily,
16107
16259
  fontWeight = _typographies$typogra.fontWeight,
16108
16260
  fontSize = _typographies$typogra.fontSize;
16109
- return css(_templateObject$I || (_templateObject$I = _taggedTemplateLiteralLoose(["\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n "])), fontFamily, fontWeight, fontSize);
16261
+ return css(_templateObject$J || (_templateObject$J = _taggedTemplateLiteralLoose(["\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n "])), fontFamily, options.fontWeight || fontWeight, fontSize);
16110
16262
  };
16111
16263
 
16112
16264
  var isDarkColor = function isDarkColor(color, ifDark, ifLight) {
@@ -16143,5 +16295,5 @@ var ThemeProvider = function ThemeProvider(props) {
16143
16295
  }, React__default.createElement(Globals, null), props.children);
16144
16296
  };
16145
16297
 
16146
- export { AbsoluteContainer as MwAbsoluteContainer, Button$1 as MwButton, CalendarInterval as MwCalendarInterval, Card as MwCard, Calendar as MwDatePicker, EllipsisContainer$1 as MwEllipsisContainer, FilterMenu as MwFilterMenu, Icon as MwIcon, Indicator as MwIndicator, Input$3 as MwInput, Loader as MwLoader, Menu as MwMenu, Modal$1 as MwModal, Placeholder as MwPlaceholder, ProgressBar as MwProgressBar, ScrollContainer as MwScrollContainer, Tabs$1 as MwTabs, TextArea as MwTextArea, Toast as MwToast, Zoom as MwZoom, ThemeProvider };
16298
+ export { AbsoluteContainer as MwAbsoluteContainer, AppliedFilters as MwAppliedFilters, Button$1 as MwButton, CalendarInterval as MwCalendarInterval, Card as MwCard, Calendar as MwDatePicker, EllipsisContainer$1 as MwEllipsisContainer, Filters as MwFilters, Icon as MwIcon, Indicator as MwIndicator, Input$3 as MwInput, Loader as MwLoader, Menu as MwMenu, Modal$1 as MwModal, Placeholder as MwPlaceholder, ProgressBar as MwProgressBar, ScrollContainer as MwScrollContainer, Tabs$1 as MwTabs, TextArea as MwTextArea, Toast as MwToast, Zoom as MwZoom, ThemeProvider };
16147
16299
  //# sourceMappingURL=index.modern.js.map