ag-common 0.0.293 → 0.0.296

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.
@@ -1,9 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import { User } from '../../helpers/jwt';
3
3
  export declare const UserImageIcon: JSX.Element;
4
- export declare const UserImage: ({ image, className, }: {
4
+ export declare const UserImage: ({ image, className, title, }: {
5
5
  image?: string | undefined;
6
6
  className?: string | undefined;
7
+ title?: string | undefined;
7
8
  }) => JSX.Element;
8
9
  export declare const UserProfileImage: ({ className, user, }: {
9
10
  className?: string | undefined;
@@ -48,12 +48,11 @@ const Img = styled_components_1.default.img `
48
48
  const images = {
49
49
  domains: ['platform-lookaside.fbsbx.com', 'lh3.googleusercontent.com'],
50
50
  };
51
- const UserImage = ({ image, className, }) => {
51
+ const UserImage = ({ image, className, title = 'user image', }) => {
52
52
  const [fallback, setFallback] = (0, react_1.useState)(false);
53
- const showImage = image && !fallback;
54
- return (react_1.default.createElement(Base, { className: className, title: 'user image' },
55
- showImage && (react_1.default.createElement(Img, { alt: "user", src: image, onError: () => setFallback(true) })),
56
- !showImage && exports.UserImageIcon));
53
+ return (react_1.default.createElement(Base, { className: className, title: title },
54
+ image && !fallback && (react_1.default.createElement(Img, { alt: "user", src: image, onError: () => setFallback(true) })),
55
+ (!image || fallback) && exports.UserImageIcon));
57
56
  };
58
57
  exports.UserImage = UserImage;
59
58
  const UserProfileImage = ({ className, user, }) => {
@@ -65,8 +64,6 @@ const UserProfileImage = ({ className, user, }) => {
65
64
  }
66
65
  const titleA = [user === null || user === void 0 ? void 0 : user.fullname, user === null || user === void 0 ? void 0 : user.userId].filter(array_1.notEmpty);
67
66
  const title = titleA.length === 0 ? '' : titleA.join(' - ');
68
- return (react_1.default.createElement(Base, { className: className, title: title },
69
- image && react_1.default.createElement(Img, { alt: "user", src: image }),
70
- !image && exports.UserImageIcon));
67
+ return react_1.default.createElement(exports.UserImage, { image: image, title: title, className: className });
71
68
  };
72
69
  exports.UserProfileImage = UserProfileImage;
@@ -6,3 +6,4 @@ export declare const convertRemToPixels: (rem: number) => number;
6
6
  * @returns
7
7
  */
8
8
  export declare const filterDataProps: (p: any) => Record<string, string>;
9
+ export declare const isRightClick: (event: MouseEvent | TouchEvent) => boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.filterDataProps = exports.convertRemToPixels = exports.domContains = void 0;
3
+ exports.isRightClick = exports.filterDataProps = exports.convertRemToPixels = exports.domContains = void 0;
4
4
  const array_1 = require("../../common/helpers/array");
5
5
  const domContains = (e, x, y) => {
6
6
  if (!e) {
@@ -30,3 +30,16 @@ const filterDataProps = (p) => {
30
30
  return (0, array_1.arrayToObject)(x, (s) => s[0], (s) => s[1]);
31
31
  };
32
32
  exports.filterDataProps = filterDataProps;
33
+ const isRightClick = (event) => {
34
+ //
35
+ let isRightMB = false;
36
+ if ('which' in event)
37
+ // Gecko (Firefox), WebKit (Safari/Chrome) & Opera
38
+ isRightMB = event.which == 3;
39
+ else if ('button' in event)
40
+ // IE, Opera
41
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
+ isRightMB = event.button == 2;
43
+ return isRightMB;
44
+ };
45
+ exports.isRightClick = isRightClick;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useOnClickOutside = void 0;
4
+ const dom_1 = require("./dom");
4
5
  const react_1 = require("react");
5
6
  function useOnClickOutside(p, handler) {
6
7
  (0, react_1.useEffect)(() => {
@@ -9,6 +10,11 @@ function useOnClickOutside(p, handler) {
9
10
  }
10
11
  const listener = (event) => {
11
12
  var _a;
13
+ //
14
+ const isRightMB = (0, dom_1.isRightClick)(event);
15
+ if (isRightMB) {
16
+ return;
17
+ }
12
18
  const el = (_a = p.ref) === null || _a === void 0 ? void 0 : _a.current;
13
19
  // Do nothing if clicking ref's element or descendent elements
14
20
  if (!el || el.contains((event === null || event === void 0 ? void 0 : event.target) || null)) {
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "ag-common",
3
- "version": "0.0.293",
3
+ "version": "0.0.296",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "author": "Andrei Gec <@andreigec> (https://gec.dev/)",
7
7
  "repository": "github:andreigec/ag-common",
8
8
  "license": "ISC",
9
- "packageManager": "yarn@3.2.1",
9
+ "packageManager": "yarn@3.2.2",
10
10
  "scripts": {
11
11
  "format": "npx eslint --ext .ts,.tsx ./src --fix",
12
12
  "build": "rimraf dist && yarn lint && tsc",
@@ -42,18 +42,18 @@
42
42
  "@storybook/react": "6.5.9",
43
43
  "@storybook/theming": "6.5.9",
44
44
  "@types/jsonwebtoken": "8.5.8",
45
- "@types/node": "18.0.6",
45
+ "@types/node": "18.6.1",
46
46
  "@types/react": "18.0.15",
47
47
  "@types/react-dom": "18.0.6",
48
48
  "@types/styled-components": "5.1.25",
49
- "@typescript-eslint/eslint-plugin": "5.30.7",
50
- "@typescript-eslint/parser": "5.30.7",
49
+ "@typescript-eslint/eslint-plugin": "5.31.0",
50
+ "@typescript-eslint/parser": "5.31.0",
51
51
  "cross-env": "7.0.3",
52
52
  "eslint": "8.20.0",
53
53
  "eslint-config-airbnb-typescript": "17.0.0",
54
54
  "eslint-config-prettier": "8.5.0",
55
55
  "eslint-plugin-import": "2.26.0",
56
- "eslint-plugin-jsx-a11y": "6.6.0",
56
+ "eslint-plugin-jsx-a11y": "6.6.1",
57
57
  "eslint-plugin-prettier": "4.2.1",
58
58
  "eslint-plugin-react": "7.30.1",
59
59
  "eslint-plugin-react-hooks": "4.6.0",