@qoretechnologies/reqore 0.25.9 → 0.25.10

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 (48) hide show
  1. package/__tests__/dropdown.test.tsx +133 -12
  2. package/dist/components/Collection/item.d.ts +2 -2
  3. package/dist/components/Collection/item.d.ts.map +1 -1
  4. package/dist/components/Collection/item.js +6 -3
  5. package/dist/components/Collection/item.js.map +1 -1
  6. package/dist/components/Dropdown/index.d.ts +8 -7
  7. package/dist/components/Dropdown/index.d.ts.map +1 -1
  8. package/dist/components/Dropdown/index.js +12 -5
  9. package/dist/components/Dropdown/index.js.map +1 -1
  10. package/dist/components/Dropdown/item.d.ts +2 -2
  11. package/dist/components/Dropdown/item.d.ts.map +1 -1
  12. package/dist/components/Dropdown/item.js.map +1 -1
  13. package/dist/components/Dropdown/list.d.ts +9 -2
  14. package/dist/components/Dropdown/list.d.ts.map +1 -1
  15. package/dist/components/Dropdown/list.js +13 -5
  16. package/dist/components/Dropdown/list.js.map +1 -1
  17. package/dist/components/InternalPopover/index.d.ts.map +1 -1
  18. package/dist/components/InternalPopover/index.js +0 -1
  19. package/dist/components/InternalPopover/index.js.map +1 -1
  20. package/dist/components/Panel/index.d.ts +2 -2
  21. package/dist/components/Panel/index.d.ts.map +1 -1
  22. package/dist/components/Panel/index.js +3 -11
  23. package/dist/components/Panel/index.js.map +1 -1
  24. package/dist/components/Popover/index.d.ts +1 -1
  25. package/dist/components/Popover/index.d.ts.map +1 -1
  26. package/dist/components/Popover/index.js +4 -2
  27. package/dist/components/Popover/index.js.map +1 -1
  28. package/dist/hooks/usePopover.d.ts.map +1 -1
  29. package/dist/hooks/usePopover.js +23 -9
  30. package/dist/hooks/usePopover.js.map +1 -1
  31. package/dist/hooks/useWhyDidYouUpdate.d.ts +2 -0
  32. package/dist/hooks/useWhyDidYouUpdate.d.ts.map +1 -0
  33. package/dist/hooks/useWhyDidYouUpdate.js +47 -0
  34. package/dist/hooks/useWhyDidYouUpdate.js.map +1 -0
  35. package/package.json +1 -1
  36. package/src/components/Collection/item.tsx +6 -3
  37. package/src/components/Dropdown/index.tsx +62 -36
  38. package/src/components/Dropdown/item.tsx +3 -6
  39. package/src/components/Dropdown/list.tsx +82 -56
  40. package/src/components/InternalPopover/index.tsx +0 -2
  41. package/src/components/Panel/index.tsx +59 -57
  42. package/src/components/Popover/index.tsx +53 -38
  43. package/src/hooks/usePopover.tsx +34 -20
  44. package/src/hooks/useWhyDidYouUpdate.ts +32 -0
  45. package/src/stories/Collection/Collection.stories.tsx +1 -1
  46. package/src/stories/Dropdown/Dropdown.stories.tsx +62 -34
  47. package/src/stories/Panel/Panel.stories.tsx +4 -4
  48. package/tests.json +1 -1
@@ -168,21 +168,13 @@ exports.ReqorePanel = (0, react_2.forwardRef)(function (_a, ref) {
168
168
  return position === 'right';
169
169
  }); }, [bottomActions]);
170
170
  var hasBottomActions = (0, react_2.useMemo)(function () { return !!((0, lodash_1.size)(leftBottomActions) || (0, lodash_1.size)(rightBottomActions)); }, [leftBottomActions, rightBottomActions]);
171
- var renderActions = function (actionOrActions, index) {
171
+ var renderActions = (0, react_2.useCallback)(function (actionOrActions, index) {
172
172
  if (Array.isArray(actionOrActions)) {
173
173
  return ((0, jsx_runtime_1.jsx)(ControlGroup_1["default"], __assign({ stack: true, minimal: true }, { children: actionOrActions.map(renderActions) })));
174
174
  }
175
175
  var id = actionOrActions.id, actions = actionOrActions.actions, label = actionOrActions.label, intent = actionOrActions.intent, className = actionOrActions.className, customContent = actionOrActions.customContent, rest = __rest(actionOrActions, ["id", "actions", "label", "intent", "className", "customContent"]);
176
176
  if ((0, lodash_1.size)(actions)) {
177
- return ((0, react_1.createElement)(Dropdown_1["default"], __assign({}, rest, { key: index, label: label, componentProps: {
178
- intent: intent,
179
- id: id,
180
- minimal: true,
181
- className: className,
182
- onClick: function (e) {
183
- e.stopPropagation();
184
- }
185
- }, items: actions })));
177
+ return ((0, react_1.createElement)(Dropdown_1["default"], __assign({}, rest, { key: index, label: label, items: actions, intent: intent, className: className, onClick: function (e) { return e.stopPropagation(); }, id: id })));
186
178
  }
187
179
  if (customContent) {
188
180
  return customContent();
@@ -194,7 +186,7 @@ exports.ReqorePanel = (0, react_2.forwardRef)(function (_a, ref) {
194
186
  (_a = rest.onClick) === null || _a === void 0 ? void 0 : _a.call(rest);
195
187
  }
196
188
  : undefined }), label));
197
- };
189
+ }, [actions, theme]);
198
190
  var HTMLheaderElement = (0, react_2.useMemo)(function () {
199
191
  return "h".concat(headerSize);
200
192
  }, [headerSize]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Panel/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Panel/index.tsx"],"names":[],"mappings":"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"}
@@ -11,6 +11,6 @@ export interface IReqorePopoverProps extends IReqoreComponent, IPopoverOptions {
11
11
  wrapperStyle?: React.CSSProperties;
12
12
  }
13
13
  export declare const StyledPopover: any;
14
- declare const Popover: ({ component: Component, componentProps, children, isReqoreComponent, noWrapper, wrapperTag, wrapperStyle, _insidePopover, _popoverId, ...rest }: IReqorePopoverProps) => JSX.Element;
14
+ declare const Popover: React.MemoExoticComponent<({ component: Component, componentProps, children, isReqoreComponent, noWrapper, wrapperTag, wrapperStyle, _insidePopover, _popoverId, ...rest }: IReqorePopoverProps) => JSX.Element>;
15
15
  export default Popover;
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAmB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB,EAAE,eAAe;IAC5E,SAAS,EAAE,GAAG,CAAC;IACf,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACpC;AAED,eAAO,MAAM,aAAa,KAEzB,CAAC;AAEF,QAAA,MAAM,OAAO,oJAWV,mBAAmB,gBAgCrB,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAC;AAE9C,OAAmB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB,EAAE,eAAe;IAC5E,SAAS,EAAE,GAAG,CAAC;IACf,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACpC;AAED,eAAO,MAAM,aAAa,KAEzB,CAAC;AAEF,QAAA,MAAM,OAAO,8KAYR,mBAAmB,iBA6CvB,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -34,10 +34,12 @@ var jsx_runtime_1 = require("react/jsx-runtime");
34
34
  var react_1 = require("react");
35
35
  var styled_components_1 = __importDefault(require("styled-components"));
36
36
  var usePopover_1 = __importDefault(require("../../hooks/usePopover"));
37
+ var useWhyDidYouUpdate_1 = require("../../hooks/useWhyDidYouUpdate");
37
38
  exports.StyledPopover = styled_components_1["default"].span(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n overflow: hidden;\n"], ["\n overflow: hidden;\n"])));
38
- var Popover = function (_a) {
39
+ var Popover = (0, react_1.memo)(function (_a) {
39
40
  var Component = _a.component, componentProps = _a.componentProps, children = _a.children, isReqoreComponent = _a.isReqoreComponent, noWrapper = _a.noWrapper, _b = _a.wrapperTag, wrapperTag = _b === void 0 ? 'span' : _b, _c = _a.wrapperStyle, wrapperStyle = _c === void 0 ? {} : _c, _insidePopover = _a._insidePopover, _popoverId = _a._popoverId, rest = __rest(_a, ["component", "componentProps", "children", "isReqoreComponent", "noWrapper", "wrapperTag", "wrapperStyle", "_insidePopover", "_popoverId"]);
40
41
  var _d = (0, react_1.useState)(undefined), ref = _d[0], setRef = _d[1];
42
+ (0, useWhyDidYouUpdate_1.useWhyDidYouUpdate)('popover', __assign({ component: Component, componentProps: componentProps, children: children, isReqoreComponent: isReqoreComponent, noWrapper: noWrapper, wrapperTag: wrapperTag, wrapperStyle: wrapperStyle, _insidePopover: _insidePopover, _popoverId: _popoverId }, rest));
41
43
  (0, usePopover_1["default"])(__assign({ targetElement: ref }, rest));
42
44
  if (isReqoreComponent || noWrapper) {
43
45
  return ((0, jsx_runtime_1.jsx)(Component, __assign({}, componentProps, { _insidePopover: _insidePopover, _popoverId: _popoverId, ref: setRef }, { children: children })));
@@ -49,7 +51,7 @@ var Popover = function (_a) {
49
51
  , __assign({
50
52
  // @ts-ignore
51
53
  as: wrapperTag, className: 'reqore-popover-wrapper', ref: setRef, style: wrapperStyle }, { children: (0, jsx_runtime_1.jsx)(Component, __assign({}, componentProps, { _insidePopover: _insidePopover, _popoverId: _popoverId }, { children: children })) })));
52
- };
54
+ });
53
55
  exports["default"] = Popover;
54
56
  var templateObject_1;
55
57
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Popover/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAwC;AACxC,wEAAuC;AACvC,sEAAqE;AAaxD,QAAA,aAAa,GAAG,8BAAM,CAAC,IAAI,4FAAA,yBAEvC,KAAC;AAEF,IAAM,OAAO,GAAG,UAAC,EAWK;IAVpB,IAAW,SAAS,eAAA,EACpB,cAAc,oBAAA,EACd,QAAQ,cAAA,EACR,iBAAiB,uBAAA,EACjB,SAAS,eAAA,EACT,kBAAmB,EAAnB,UAAU,mBAAG,MAAM,KAAA,EACnB,oBAAiB,EAAjB,YAAY,mBAAG,EAAE,KAAA,EACjB,cAAc,oBAAA,EACd,UAAU,gBAAA,EACP,IAAI,cAVQ,2IAWhB,CADQ;IAED,IAAA,KAAgB,IAAA,gBAAQ,EAAC,SAAS,CAAC,EAAlC,GAAG,QAAA,EAAE,MAAM,QAAuB,CAAC;IAE1C,IAAA,uBAAU,aAAG,aAAa,EAAE,GAAG,IAAK,IAAI,EAAG,CAAC;IAE5C,IAAI,iBAAiB,IAAI,SAAS,EAAE;QAClC,OAAO,CACL,uBAAC,SAAS,eACJ,cAAc,IAClB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,MAAM,gBAEV,QAAQ,IACC,CACb,CAAC;KACH;IAED,OAAO;IACL,aAAa;IACb,uBAAC,qBAAa;IACZ,aAAa;;QAAb,aAAa;QACb,EAAE,EAAE,UAAU,EACd,SAAS,EAAC,wBAAwB,EAClC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,YAAY,gBAEnB,uBAAC,SAAS,eAAK,cAAc,IAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,gBAClF,QAAQ,IACC,IACE,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,qBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Popover/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA8C;AAC9C,wEAAuC;AACvC,sEAAqE;AACrE,qEAAoE;AAavD,QAAA,aAAa,GAAG,8BAAM,CAAC,IAAI,4FAAA,yBAEvC,KAAC;AAEF,IAAM,OAAO,GAAG,IAAA,YAAI,EAClB,UAAC,EAWqB;IAVpB,IAAW,SAAS,eAAA,EACpB,cAAc,oBAAA,EACd,QAAQ,cAAA,EACR,iBAAiB,uBAAA,EACjB,SAAS,eAAA,EACT,kBAAmB,EAAnB,UAAU,mBAAG,MAAM,KAAA,EACnB,oBAAiB,EAAjB,YAAY,mBAAG,EAAE,KAAA,EACjB,cAAc,oBAAA,EACd,UAAU,gBAAA,EACP,IAAI,cAVR,2IAWA,CADQ;IAED,IAAA,KAAgB,IAAA,gBAAQ,EAAC,SAAS,CAAC,EAAlC,GAAG,QAAA,EAAE,MAAM,QAAuB,CAAC;IAE1C,IAAA,uCAAkB,EAAC,SAAS,aAC1B,SAAS,EAAE,SAAS,EACpB,cAAc,gBAAA,EACd,QAAQ,UAAA,EACR,iBAAiB,mBAAA,EACjB,SAAS,WAAA,EACT,UAAU,YAAA,EACV,YAAY,cAAA,EACZ,cAAc,gBAAA,EACd,UAAU,YAAA,IACP,IAAI,EACP,CAAC;IACH,IAAA,uBAAU,aAAG,aAAa,EAAE,GAAG,IAAK,IAAI,EAAG,CAAC;IAE5C,IAAI,iBAAiB,IAAI,SAAS,EAAE;QAClC,OAAO,CACL,uBAAC,SAAS,eACJ,cAAc,IAClB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,MAAM,gBAEV,QAAQ,IACC,CACb,CAAC;KACH;IAED,OAAO;IACL,aAAa;IACb,uBAAC,qBAAa;IACZ,aAAa;;QAAb,aAAa;QACb,EAAE,EAAE,UAAU,EACd,SAAS,EAAC,wBAAwB,EAClC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,YAAY,gBAEnB,uBAAC,SAAS,eAAK,cAAc,IAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,gBAClF,QAAQ,IACC,IACE,CACjB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,qBAAe,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePopover.d.ts","sourceRoot":"","sources":["../../src/hooks/usePopover.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAoB3C,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3C,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;IACpD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,aAAa,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED,QAAA,MAAM,UAAU,oIAYb,eAAe,WA+GjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"usePopover.d.ts","sourceRoot":"","sources":["../../src/hooks/usePopover.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAoB3C,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3C,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;IACpD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,aAAa,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED,QAAA,MAAM,UAAU,oIAYb,eAAe,WA6HjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -49,6 +49,13 @@ var usePopover = function (_a) {
49
49
  var startEvent = startEvents[handler];
50
50
  var endEvent = endEvents[handler];
51
51
  var currentPopover = (0, react_1.useMemo)(function () { return popovers === null || popovers === void 0 ? void 0 : popovers.find(function (p) { return p.id === current; }); }, [popovers, current]);
52
+ var openPopover = function () {
53
+ addPopover === null || addPopover === void 0 ? void 0 : addPopover(__assign({ id: current, content: content, targetElement: targetElement, placement: placement, noArrow: noArrow, useTargetWidth: useTargetWidth, closeOnOutsideClick: closeOnOutsideClick, closeOnAnyClick: handler === 'hover' || handler === 'hoverStay' }, rest));
54
+ if ((rest === null || rest === void 0 ? void 0 : rest.blur) > 0) {
55
+ targetElement.style.position = 'relative';
56
+ targetElement.style.zIndex = '999999';
57
+ }
58
+ };
52
59
  var _addPopover = function () {
53
60
  if (currentPopover) {
54
61
  if (handler !== 'hoverStay') {
@@ -56,13 +63,14 @@ var usePopover = function (_a) {
56
63
  }
57
64
  }
58
65
  else if (show) {
59
- timeout = setTimeout(function () {
60
- addPopover === null || addPopover === void 0 ? void 0 : addPopover(__assign({ id: current, content: content, targetElement: targetElement, placement: placement, noArrow: noArrow, useTargetWidth: useTargetWidth, closeOnOutsideClick: closeOnOutsideClick, closeOnAnyClick: handler === 'hover' || handler === 'hoverStay' }, rest));
61
- if ((rest === null || rest === void 0 ? void 0 : rest.blur) > 0) {
62
- targetElement.style.position = 'relative';
63
- targetElement.style.zIndex = '999999';
64
- }
65
- }, delay || 0);
66
+ if (delay) {
67
+ timeout = setTimeout(function () {
68
+ openPopover();
69
+ }, delay);
70
+ }
71
+ else {
72
+ openPopover();
73
+ }
66
74
  }
67
75
  };
68
76
  var _removePopover = function () {
@@ -81,7 +89,7 @@ var usePopover = function (_a) {
81
89
  if (content && show) {
82
90
  updatePopover === null || updatePopover === void 0 ? void 0 : updatePopover(current, __assign({ id: current, content: content, targetElement: targetElement, placement: placement, noArrow: noArrow, useTargetWidth: useTargetWidth, closeOnOutsideClick: closeOnOutsideClick, closeOnAnyClick: handler === 'hover' || handler === 'hoverStay' }, rest));
83
91
  }
84
- }, [content === null || content === void 0 ? void 0 : content.toString()]);
92
+ }, [content]);
85
93
  (0, react_1.useEffect)(function () {
86
94
  if (openOnMount && targetElement) {
87
95
  _addPopover();
@@ -109,7 +117,13 @@ var usePopover = function (_a) {
109
117
  }
110
118
  }
111
119
  };
112
- }, [targetElement === null || targetElement === void 0 ? void 0 : targetElement.toString(), content === null || content === void 0 ? void 0 : content.toString(), current, currentPopover]);
120
+ }, [
121
+ targetElement === null || targetElement === void 0 ? void 0 : targetElement.toString(),
122
+ //@ts-ignore
123
+ content,
124
+ current,
125
+ currentPopover,
126
+ ]);
113
127
  (0, react_use_1.useUnmount)(function () {
114
128
  cancelTimeout();
115
129
  });
@@ -1 +1 @@
1
- {"version":3,"file":"usePopover.js","sourceRoot":"","sources":["../../src/hooks/usePopover.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usePopover.js","sourceRoot":"","sources":["../../src/hooks/usePopover.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function useWhyDidYouUpdate(name: any, props: any): void;
2
+ //# sourceMappingURL=useWhyDidYouUpdate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWhyDidYouUpdate.d.ts","sourceRoot":"","sources":["../../src/hooks/useWhyDidYouUpdate.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,CAAC,IAAI,KAAA,EAAE,KAAK,KAAA,QA6B7C"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ exports.__esModule = true;
14
+ exports.useWhyDidYouUpdate = void 0;
15
+ var react_1 = require("react");
16
+ function useWhyDidYouUpdate(name, props) {
17
+ // Get a mutable ref object where we can store props ...
18
+ // ... for comparison next time this hook runs.
19
+ var previousProps = (0, react_1.useRef)();
20
+ (0, react_1.useEffect)(function () {
21
+ if (previousProps.current) {
22
+ // Get all keys from previous and current props
23
+ var allKeys = Object.keys(__assign(__assign({}, previousProps.current), props));
24
+ // Use this object to keep track of changed props
25
+ var changesObj_1 = {};
26
+ // Iterate through keys
27
+ allKeys.forEach(function (key) {
28
+ // If previous is different from current
29
+ if (previousProps.current[key] !== props[key]) {
30
+ // Add to changesObj
31
+ changesObj_1[key] = {
32
+ from: previousProps.current[key],
33
+ to: props[key]
34
+ };
35
+ }
36
+ });
37
+ // If changesObj not empty then output to console
38
+ if (Object.keys(changesObj_1).length) {
39
+ console.log('[why-did-you-update]', name, changesObj_1);
40
+ }
41
+ }
42
+ // Finally update previousProps with current props for next hook call
43
+ previousProps.current = props;
44
+ });
45
+ }
46
+ exports.useWhyDidYouUpdate = useWhyDidYouUpdate;
47
+ //# sourceMappingURL=useWhyDidYouUpdate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWhyDidYouUpdate.js","sourceRoot":"","sources":["../../src/hooks/useWhyDidYouUpdate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+BAA0C;AAE1C,SAAgB,kBAAkB,CAAC,IAAI,EAAE,KAAK;IAC5C,wDAAwD;IACxD,+CAA+C;IAC/C,IAAM,aAAa,GAAQ,IAAA,cAAM,GAAE,CAAC;IACpC,IAAA,iBAAS,EAAC;QACR,IAAI,aAAa,CAAC,OAAO,EAAE;YACzB,+CAA+C;YAC/C,IAAM,OAAO,GAAG,MAAM,CAAC,IAAI,uBAAM,aAAa,CAAC,OAAO,GAAK,KAAK,EAAG,CAAC;YACpE,iDAAiD;YACjD,IAAM,YAAU,GAAG,EAAE,CAAC;YACtB,uBAAuB;YACvB,OAAO,CAAC,OAAO,CAAC,UAAC,GAAG;gBAClB,wCAAwC;gBACxC,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,EAAE;oBAC7C,oBAAoB;oBACpB,YAAU,CAAC,GAAG,CAAC,GAAG;wBAChB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC;wBAChC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC;qBACf,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YACH,iDAAiD;YACjD,IAAI,MAAM,CAAC,IAAI,CAAC,YAAU,CAAC,CAAC,MAAM,EAAE;gBAClC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,YAAU,CAAC,CAAC;aACvD;SACF;QACD,qEAAqE;QACrE,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AA7BD,gDA6BC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qoretechnologies/reqore",
3
- "version": "0.25.9",
3
+ "version": "0.25.10",
4
4
  "description": "ReQore is a highly theme-able and modular UI library for React",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -7,7 +7,7 @@ import ReqoreContext from '../../context/ReqoreContext';
7
7
  import { changeDarkness, getMainBackgroundColor } from '../../helpers/colors';
8
8
  import { useReqoreTheme } from '../../hooks/useTheme';
9
9
  import { StyledBackdrop } from '../Drawer';
10
- import { IReqoreDropdownItemProps } from '../Dropdown/item';
10
+ import { IReqoreDropdownItem } from '../Dropdown/list';
11
11
  import {
12
12
  IReqorePanelAction,
13
13
  IReqorePanelBottomAction,
@@ -35,7 +35,7 @@ export interface IReqoreCollectionItemProps
35
35
  expandedContent?: string | React.ReactNode;
36
36
  expandedActions?: IReqorePanelBottomAction[];
37
37
  image?: string;
38
- actions?: IReqoreDropdownItemProps[];
38
+ actions?: IReqoreDropdownItem[];
39
39
  tags?: IReqoreTagProps[];
40
40
  maxContentHeight?: number;
41
41
  }
@@ -177,7 +177,10 @@ export const ReqoreCollectionItem = ({
177
177
  expandedContent && isSelected ? expandedContent : content;
178
178
 
179
179
  const actualActions: IReqorePanelAction[] | undefined = isSelected
180
- ? [...(actions || []), { icon: 'CloseLine', onClick: handleItemClick }]
180
+ ? ([
181
+ ...(actions || []),
182
+ { icon: 'CloseLine', onClick: handleItemClick },
183
+ ] as IReqorePanelAction[])
181
184
  : size(actions)
182
185
  ? [{ icon: 'More2Fill', actions }]
183
186
  : undefined;
@@ -1,33 +1,31 @@
1
1
  import { size } from 'lodash';
2
- import React from 'react';
2
+ import React, { memo, useMemo } from 'react';
3
3
  import { ReqorePopover } from '../..';
4
4
  import { IPopoverOptions } from '../../hooks/usePopover';
5
5
  import { IReqoreIconName } from '../../types/icons';
6
6
  import ReqoreButton, { IReqoreButtonProps } from '../Button';
7
- import { IReqoreDropdownItemProps } from './item';
8
- import ReqoreDropdownList from './list';
7
+ import ReqoreDropdownList, { IReqoreDropdownItem, TDropdownItemOnClick } from './list';
9
8
 
10
- export interface IReqoreDropdownProps<T> extends IPopoverOptions {
11
- items?: IReqoreDropdownItemProps[];
9
+ export interface IReqoreDropdownProps extends Partial<IPopoverOptions> {
10
+ items?: IReqoreDropdownItem[];
12
11
  multiSelect?: boolean;
13
12
  buttonStyle?: React.CSSProperties;
14
13
  listStyle?: React.CSSProperties;
15
14
  component?: any;
16
- componentProps?: T;
17
15
  filterable?: boolean;
18
16
  label?: any;
19
17
  children?: any;
20
- width?: string;
18
+ listWidth?: string;
21
19
  icon?: IReqoreIconName;
22
20
  rightIcon?: IReqoreIconName;
23
21
  caretPosition?: 'left' | 'right';
24
22
  isDefaultOpen?: boolean;
23
+ onItemSelect?: TDropdownItemOnClick;
25
24
  }
26
25
 
27
- const ReqoreDropdown = <T extends unknown = IReqoreButtonProps>({
26
+ function ReqoreDropdown<T extends unknown = IReqoreButtonProps>({
28
27
  items,
29
28
  component,
30
- componentProps,
31
29
  label,
32
30
  children,
33
31
  multiSelect,
@@ -40,43 +38,71 @@ const ReqoreDropdown = <T extends unknown = IReqoreButtonProps>({
40
38
  rightIcon,
41
39
  caretPosition = 'left',
42
40
  isDefaultOpen = false,
41
+ onItemSelect,
42
+ closeOnOutsideClick,
43
+ blur,
44
+ closeOnAnyClick,
45
+ content,
46
+ delay,
47
+ maxHeight,
48
+ maxWidth,
49
+ noArrow = true,
50
+ opaque,
51
+ openOnMount,
52
+ show,
53
+ targetElement,
54
+ useTargetWidth,
55
+ listWidth,
43
56
  ...rest
44
- }: IReqoreDropdownProps<T>) => {
57
+ }: IReqoreDropdownProps & T) {
58
+ const componentProps = useMemo(
59
+ () =>
60
+ ({
61
+ ...rest,
62
+ icon: caretPosition === 'left' ? icon || 'ArrowDownSFill' : rightIcon,
63
+ rightIcon: caretPosition === 'right' ? icon || 'ArrowDownSFill' : rightIcon,
64
+ style: buttonStyle,
65
+ disabled: !size(items),
66
+ className: `${(rest as any)?.className || ''} reqore-dropdown-control`,
67
+ } as T),
68
+ [items, icon, rightIcon, buttonStyle, caretPosition, rest]
69
+ );
70
+
71
+ const popoverContent = useMemo(() => {
72
+ return size(items) ? (
73
+ <ReqoreDropdownList
74
+ multiSelect={multiSelect}
75
+ listStyle={listStyle}
76
+ width={useTargetWidth ? '100%' : listWidth}
77
+ items={items}
78
+ filterable={filterable}
79
+ onItemSelect={onItemSelect}
80
+ />
81
+ ) : undefined;
82
+ }, [items]);
83
+
45
84
  return (
46
85
  <ReqorePopover
47
- {...rest}
86
+ closeOnOutsideClick={closeOnOutsideClick}
87
+ blur={blur}
88
+ closeOnAnyClick={closeOnAnyClick}
89
+ delay={delay}
90
+ maxHeight={maxHeight}
91
+ maxWidth={maxWidth}
92
+ noArrow={noArrow}
93
+ opaque={opaque}
94
+ useTargetWidth={useTargetWidth}
48
95
  component={component || ReqoreButton}
49
- componentProps={
50
- {
51
- icon: caretPosition === 'left' ? icon || 'ArrowDownSFill' : rightIcon,
52
- rightIcon: caretPosition === 'right' ? icon || 'ArrowDownSFill' : rightIcon,
53
- style: buttonStyle,
54
- disabled: !size(items),
55
- ...rest,
56
- ...((componentProps || {}) as Object),
57
- className: `${(componentProps as any)?.className || ''} reqore-dropdown-control`,
58
- } as T
59
- }
96
+ componentProps={componentProps}
60
97
  noWrapper
61
98
  placement={placement || 'bottom-start'}
62
99
  handler={handler || 'click'}
63
100
  openOnMount={isDefaultOpen}
64
- content={
65
- size(items) ? (
66
- <ReqoreDropdownList
67
- multiSelect={multiSelect}
68
- listStyle={listStyle}
69
- width={rest.useTargetWidth ? '100%' : rest.width}
70
- items={items}
71
- filterable={filterable}
72
- />
73
- ) : undefined
74
- }
75
- noArrow
101
+ content={popoverContent}
76
102
  >
77
103
  {children || label}
78
104
  </ReqorePopover>
79
105
  );
80
- };
106
+ }
81
107
 
82
- export default ReqoreDropdown;
108
+ export default memo(ReqoreDropdown) as typeof ReqoreDropdown;
@@ -1,13 +1,10 @@
1
1
  import { ReqoreMenuDivider, ReqoreMenuItem } from '../..';
2
2
  import { IReqoreMenuDividerProps } from '../Menu/divider';
3
- import { IReqoreMenuItemProps } from '../Menu/item';
3
+ import { IReqoreDropdownItem } from './list';
4
4
 
5
- export interface IReqoreDropdownItemProps extends IReqoreMenuItemProps {}
5
+ export interface IReqoreDropdownItemProps extends Omit<IReqoreDropdownItem, 'value' | 'onClick'> {}
6
6
 
7
- export const ReqoreDropdownItem = ({
8
- children,
9
- ...rest
10
- }: IReqoreDropdownItemProps) => (
7
+ export const ReqoreDropdownItem = ({ children, ...rest }: IReqoreDropdownItemProps) => (
11
8
  <ReqoreMenuItem {...rest} rightIcon={rest.selected ? 'CheckLine' : undefined}>
12
9
  {children}
13
10
  </ReqoreMenuItem>
@@ -1,80 +1,106 @@
1
- import React, { useEffect, useMemo, useState } from 'react';
1
+ import React, { memo, useEffect, useMemo, useState } from 'react';
2
2
  import { IReqoreComponent } from '../../types/global';
3
3
  import ReqoreInput from '../Input';
4
4
  import ReqoreMenu from '../Menu';
5
5
  import ReqoreMenuItem, { IReqoreMenuItemProps } from '../Menu/item';
6
6
  import { ReqoreSpacer } from '../Spacer';
7
7
 
8
+ export type TDropdownItemOnClick = (item: IReqoreDropdownItem) => void;
9
+ export interface IReqoreDropdownItem extends Omit<IReqoreMenuItemProps, 'onClick'> {
10
+ value: any;
11
+ label?: string;
12
+ onClick?: TDropdownItemOnClick;
13
+ }
14
+
8
15
  export interface IReqoreDropdownListProps extends IReqoreComponent {
9
- items?: IReqoreMenuItemProps[];
16
+ items?: IReqoreDropdownItem[];
10
17
  multiSelect?: boolean;
11
18
  listStyle?: React.CSSProperties;
12
19
  width?: string;
13
20
  height?: string;
14
21
  filterable?: boolean;
22
+ onItemSelect?: TDropdownItemOnClick;
15
23
  }
16
24
 
17
- const ReqoreDropdownList = ({
18
- items,
19
- multiSelect,
20
- listStyle,
21
- _popoverId,
22
- filterable,
23
- width,
24
- height,
25
- }: IReqoreDropdownListProps) => {
26
- const [_items, setItems] = useState<IReqoreMenuItemProps[]>(items);
27
- const [query, setQuery] = useState<string>('');
25
+ const ReqoreDropdownList = memo(
26
+ ({
27
+ items,
28
+ multiSelect,
29
+ listStyle,
30
+ _popoverId,
31
+ filterable,
32
+ width,
33
+ height,
34
+ onItemSelect,
35
+ }: IReqoreDropdownListProps) => {
36
+ const [_items, setItems] = useState<IReqoreDropdownItem[]>(items);
37
+ const [query, setQuery] = useState<string>('');
28
38
 
29
- useEffect(() => {
30
- setItems(items);
31
- }, [items]);
39
+ useEffect(() => {
40
+ setItems(items);
41
+ }, [items]);
32
42
 
33
- const filteredItems: IReqoreMenuItemProps[] = useMemo(() => {
34
- if (!filterable || query === '') {
35
- return _items;
36
- }
43
+ const filteredItems: IReqoreDropdownItem[] = useMemo(() => {
44
+ if (!filterable || query === '') {
45
+ return _items;
46
+ }
37
47
 
38
- return _items.filter((item) => {
39
- const text = item.label || item.children;
48
+ return _items.filter((item) => {
49
+ const text = item.label || item.value || item.children;
40
50
 
41
- if (!text) {
42
- return false;
43
- }
51
+ if (!text) {
52
+ return false;
53
+ }
44
54
 
45
- return text.toString().toLowerCase().indexOf(query.toLowerCase()) !== -1;
46
- });
47
- }, [items, query, _items]);
55
+ return text.toString().toLowerCase().indexOf(query.toLowerCase()) !== -1;
56
+ });
57
+ }, [items, query, _items]);
48
58
 
49
- const handleQueryChange = (event: React.ChangeEvent<HTMLInputElement>) => {
50
- setQuery(event.target.value);
51
- };
59
+ const handleQueryChange = (event: React.ChangeEvent<HTMLInputElement>) => {
60
+ setQuery(event.target.value);
61
+ };
62
+
63
+ const handleItemClick = (item: IReqoreDropdownItem): void => {
64
+ if (item.onClick) {
65
+ item.onClick(item);
66
+ }
67
+
68
+ if (onItemSelect) {
69
+ onItemSelect(item);
70
+ }
71
+ };
52
72
 
53
- return (
54
- <ReqoreMenu
55
- _insidePopover={!multiSelect}
56
- _popoverId={_popoverId}
57
- style={listStyle}
58
- width={width}
59
- maxHeight={height || '300px'}
60
- >
61
- {filterable && (
62
- <>
63
- <ReqoreInput
64
- value={query}
65
- onChange={handleQueryChange}
66
- placeholder='Filter'
67
- autoFocus
68
- onClearClick={() => setQuery('')}
73
+ return (
74
+ <ReqoreMenu
75
+ _insidePopover={!multiSelect}
76
+ _popoverId={_popoverId}
77
+ style={listStyle}
78
+ width={width}
79
+ maxHeight={height || '300px'}
80
+ >
81
+ {filterable && (
82
+ <>
83
+ <ReqoreInput
84
+ value={query}
85
+ onChange={handleQueryChange}
86
+ placeholder='Filter'
87
+ onClearClick={() => setQuery('')}
88
+ />
89
+ <ReqoreSpacer height={10} />
90
+ </>
91
+ )}
92
+ {filteredItems.map((item: IReqoreDropdownItem, index: number) => (
93
+ <ReqoreMenuItem
94
+ key={index}
95
+ {...item}
96
+ label={item.label || item.value}
97
+ onClick={() => handleItemClick(item)}
98
+ rightIcon={item.selected ? 'CheckLine' : undefined}
69
99
  />
70
- <ReqoreSpacer height={10} />
71
- </>
72
- )}
73
- {filteredItems.map((item: IReqoreMenuItemProps, index: number) => (
74
- <ReqoreMenuItem key={index} {...item} rightIcon={item.selected ? 'CheckLine' : undefined} />
75
- ))}
76
- </ReqoreMenu>
77
- );
78
- };
100
+ ))}
101
+ </ReqoreMenu>
102
+ );
103
+ }
104
+ );
79
105
 
80
106
  export default ReqoreDropdownList;