@xyo-network/react-address-render 2.47.8 → 2.47.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.
- package/dist/cjs/components/favorite/FavoriteIconButton.js +8 -15
- package/dist/cjs/components/favorite/FavoriteIconButton.js.map +1 -1
- package/dist/cjs/components/favorite/FavoriteToggleSVG.js +10 -0
- package/dist/cjs/components/favorite/FavoriteToggleSVG.js.map +1 -0
- package/dist/cjs/components/favorite/Popper.js +1 -1
- package/dist/cjs/components/favorite/Popper.js.map +1 -1
- package/dist/cjs/components/favorite/PopperButtonGroup.js +2 -2
- package/dist/cjs/components/favorite/PopperButtonGroup.js.map +1 -1
- package/dist/cjs/components/lib/FavoriteItemEvent.js +8 -0
- package/dist/cjs/components/lib/FavoriteItemEvent.js.map +1 -1
- package/dist/docs.json +681 -582
- package/dist/esm/components/favorite/FavoriteIconButton.js +6 -13
- package/dist/esm/components/favorite/FavoriteIconButton.js.map +1 -1
- package/dist/esm/components/favorite/FavoriteToggleSVG.js +5 -0
- package/dist/esm/components/favorite/FavoriteToggleSVG.js.map +1 -0
- package/dist/esm/components/favorite/Popper.js +1 -1
- package/dist/esm/components/favorite/Popper.js.map +1 -1
- package/dist/esm/components/favorite/PopperButtonGroup.js +2 -2
- package/dist/esm/components/favorite/PopperButtonGroup.js.map +1 -1
- package/dist/esm/components/lib/FavoriteItemEvent.js +6 -1
- package/dist/esm/components/lib/FavoriteItemEvent.js.map +1 -1
- package/dist/types/components/favorite/FavoriteIconButton.d.ts.map +1 -1
- package/dist/types/components/favorite/FavoriteToggleSVG.d.ts +5 -0
- package/dist/types/components/favorite/FavoriteToggleSVG.d.ts.map +1 -0
- package/dist/types/components/favorite/PopperButtonGroup.d.ts.map +1 -1
- package/dist/types/components/lib/FavoriteItemEvent.d.ts +3 -1
- package/dist/types/components/lib/FavoriteItemEvent.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/components/favorite/FavoriteIconButton.tsx +7 -14
- package/src/components/favorite/FavoriteToggleSVG.tsx +6 -0
- package/src/components/favorite/Popper.tsx +1 -1
- package/src/components/favorite/PopperButtonGroup.tsx +2 -0
- package/src/components/lib/FavoriteItemEvent.ts +15 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import StarIcon from '@mui/icons-material/Star';
|
|
3
|
-
import StarBorderIcon from '@mui/icons-material/StarBorder';
|
|
4
2
|
import { IconButton } from '@mui/material';
|
|
5
3
|
import { useXyoEvent } from '@xyo-network/react-event';
|
|
6
4
|
import { useShareForwardedRef } from '@xyo-network/react-shared';
|
|
7
5
|
import { forwardRef, useEffect, useRef, useState } from 'react';
|
|
6
|
+
import { generateFavoriteEvent } from '../lib';
|
|
7
|
+
import { FavoriteToggleSVG } from './FavoriteToggleSVG';
|
|
8
8
|
import { popperId } from './lib';
|
|
9
9
|
import { FavoritePopper } from './Popper';
|
|
10
10
|
export const FavoriteIconButton = forwardRef(({ alias, children, favorite: favoriteProp, valueType, value, ...props }, ref) => {
|
|
@@ -16,23 +16,16 @@ export const FavoriteIconButton = forwardRef(({ alias, children, favorite: favor
|
|
|
16
16
|
const sharedRef = useShareForwardedRef(ref);
|
|
17
17
|
const [buttonRef, dispatch] = useXyoEvent(undefined, sharedRef);
|
|
18
18
|
const onConfirmFavorite = (alias, newFavoriteState) => {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
favorite: !!newFavoriteState,
|
|
23
|
-
favoriteType: valueType,
|
|
24
|
-
favoriteValue: value,
|
|
25
|
-
};
|
|
26
|
-
dispatch('address', 'favorite', JSON.stringify(favoriteEvent));
|
|
27
|
-
return newFavoriteState;
|
|
28
|
-
});
|
|
19
|
+
const favoriteEvent = generateFavoriteEvent(alias, !!newFavoriteState, valueType, value);
|
|
20
|
+
dispatch('address', 'favorite', JSON.stringify(favoriteEvent));
|
|
21
|
+
setFavorite(newFavoriteState);
|
|
29
22
|
setOpenPopper(false);
|
|
30
23
|
};
|
|
31
24
|
const starRef = useRef(null);
|
|
32
25
|
return (_jsxs(IconButton, { "aria-describedby": popperId, ref: buttonRef, onClick: (event) => {
|
|
33
26
|
event.stopPropagation();
|
|
34
27
|
setOpenPopper(!openPopper);
|
|
35
|
-
}, onMouseDown: (e) => e.stopPropagation(), ...props, children: [_jsx("span", { ref: starRef, children:
|
|
28
|
+
}, onMouseDown: (e) => e.stopPropagation(), ...props, children: [_jsx("span", { ref: starRef, children: _jsx(FavoriteToggleSVG, { favorite: favorite }) }), _jsx(FavoritePopper, { sx: { zIndex: 1301 }, alias: alias, favorite: favorite, favoriteRef: starRef, open: openPopper, onConfirmFavorite: onConfirmFavorite, onClickAway: () => setOpenPopper(false) }), children] }));
|
|
36
29
|
});
|
|
37
30
|
FavoriteIconButton.displayName = 'FavoriteIconButton';
|
|
38
31
|
//# sourceMappingURL=FavoriteIconButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FavoriteIconButton.js","sourceRoot":"","sources":["../../../../src/components/favorite/FavoriteIconButton.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"FavoriteIconButton.js","sourceRoot":"","sources":["../../../../src/components/favorite/FavoriteIconButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,eAAe,CAAA;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE/D,OAAO,EAAqB,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AASzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAC1C,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEnD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAA;IACtD,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,YAAY,CAAC,CAAA;IAC3B,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;IAC3C,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAE/D,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAE,gBAA0B,EAAE,EAAE;QACvE,MAAM,aAAa,GAAG,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,gBAAgB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QACxF,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;QAC9D,WAAW,CAAC,gBAAgB,CAAC,CAAA;QAC7B,aAAa,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAA;IAE7C,OAAO,CACL,MAAC,UAAU,wBACS,QAAQ,EAC1B,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,KAAK,CAAC,eAAe,EAAE,CAAA;YACvB,aAAa,CAAC,CAAC,UAAU,CAAC,CAAA;QAC5B,CAAC,EACD,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,KACnC,KAAK,aAET,eAAM,GAAG,EAAE,OAAO,YAChB,KAAC,iBAAiB,IAAC,QAAQ,EAAE,QAAQ,GAAI,GACpC,EACP,KAAC,cAAc,IACb,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,OAAO,EACpB,IAAI,EAAE,UAAU,EAChB,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GACvC,EACD,QAAQ,IACE,CACd,CAAA;AACH,CAAC,CACF,CAAA;AAED,kBAAkB,CAAC,WAAW,GAAG,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import StarIcon from '@mui/icons-material/Star';
|
|
3
|
+
import StarBorderIcon from '@mui/icons-material/StarBorder';
|
|
4
|
+
export const FavoriteToggleSVG = ({ favorite }) => (_jsx(_Fragment, { children: favorite ? _jsx(StarIcon, { className: "favorite-icon", component: 'svg', color: "secondary" }) : _jsx(StarBorderIcon, { className: "favorite-icon" }) }));
|
|
5
|
+
//# sourceMappingURL=FavoriteToggleSVG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FavoriteToggleSVG.js","sourceRoot":"","sources":["../../../../src/components/favorite/FavoriteToggleSVG.tsx"],"names":[],"mappings":";AAAA,OAAO,QAAQ,MAAM,0BAA0B,CAAA;AAC/C,OAAO,cAAc,MAAM,gCAAgC,CAAA;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAqC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACnF,4BAAG,QAAQ,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,SAAS,EAAC,eAAe,EAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAC,WAAW,GAAG,CAAC,CAAC,CAAC,KAAC,cAAc,IAAC,SAAS,EAAC,eAAe,GAAG,GAAI,CAC5I,CAAA"}
|
|
@@ -10,7 +10,7 @@ export const FavoritePopper = forwardRef(({ alias: aliasProp, favorite, favorite
|
|
|
10
10
|
useEffect(() => {
|
|
11
11
|
setAlias(aliasProp);
|
|
12
12
|
}, [aliasProp]);
|
|
13
|
-
return (_jsx(ClickAwayListener, { onClickAway: onClickAway, children: _jsx(PopperStyled, { id: popperId, anchorEl: favoriteRef?.current, transition: true, ref: ref, ...props, children: ({ TransitionProps }) => (_jsx(Fade, { ...TransitionProps, timeout: 350, children: _jsx(Card, { children: _jsxs(CardContent, { sx: { display: 'flex', gap: 1 }, children: [_jsx(TextField, { autoFocus: true, label: "Favorite Alias", placeholder: "optional", size: "small", value: alias ?? '', onChange: (e) => setAlias(e.target.value) }), _jsx(PopperButtonGroup, { favorite: favorite, onConfirmFavorite: onConfirmFavorite, alias: alias })] }) }) })) }) }));
|
|
13
|
+
return (_jsx(ClickAwayListener, { onClickAway: onClickAway, children: _jsx(PopperStyled, { id: popperId, anchorEl: favoriteRef?.current, onClick: (e) => e.stopPropagation(), transition: true, ref: ref, ...props, children: ({ TransitionProps }) => (_jsx(Fade, { ...TransitionProps, timeout: 350, children: _jsx(Card, { children: _jsxs(CardContent, { sx: { display: 'flex', gap: 1 }, children: [_jsx(TextField, { autoFocus: true, label: "Favorite Alias", placeholder: "optional", size: "small", value: alias ?? '', onChange: (e) => setAlias(e.target.value) }), _jsx(PopperButtonGroup, { favorite: favorite, onConfirmFavorite: onConfirmFavorite, alias: alias })] }) }) })) }) }));
|
|
14
14
|
});
|
|
15
15
|
FavoritePopper.displayName = 'FavoritePopper';
|
|
16
16
|
// Ensure the popper is over all other mui portal elements
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popper.js","sourceRoot":"","sources":["../../../../src/components/favorite/Popper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAe,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAClH,OAAO,EAAE,UAAU,EAAa,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AASvD,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CACtC,CACE,EACE,KAAK,EAAE,SAAS,EAChB,QAAQ,EACR,WAAW,EACX,WAAW,GAAG,GAAG,EAAE;IACjB,OAAM;AACR,CAAC,EACD,iBAAiB,EACjB,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAU,CAAA;IAC5C,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,SAAS,CAAC,CAAA;IACrB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAEf,OAAO,CACL,KAAC,iBAAiB,IAAC,WAAW,EAAE,WAAW,YACzC,KAAC,YAAY,IAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,QAAC,GAAG,EAAE,GAAG,KAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"Popper.js","sourceRoot":"","sources":["../../../../src/components/favorite/Popper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAe,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAClH,OAAO,EAAE,UAAU,EAAa,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AASvD,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CACtC,CACE,EACE,KAAK,EAAE,SAAS,EAChB,QAAQ,EACR,WAAW,EACX,WAAW,GAAG,GAAG,EAAE;IACjB,OAAM;AACR,CAAC,EACD,iBAAiB,EACjB,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAU,CAAA;IAC5C,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,SAAS,CAAC,CAAA;IACrB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAEf,OAAO,CACL,KAAC,iBAAiB,IAAC,WAAW,EAAE,WAAW,YACzC,KAAC,YAAY,IAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,UAAU,QAAC,GAAG,EAAE,GAAG,KAAM,KAAK,YAC5H,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CACxB,KAAC,IAAI,OAAK,eAAe,EAAE,OAAO,EAAE,GAAG,YACrC,KAAC,IAAI,cACH,MAAC,WAAW,IAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,aAC1C,KAAC,SAAS,IACR,SAAS,QACT,KAAK,EAAC,gBAAgB,EACtB,WAAW,EAAC,UAAU,EACtB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GACzC,EACF,KAAC,iBAAiB,IAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,GAAI,IACjF,GACT,GACF,CACR,GACY,GACG,CACrB,CAAA;AACH,CAAC,CACF,CAAA;AAED,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAA;AAE7C,0DAA0D;AAC1D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA"}
|
|
@@ -3,10 +3,10 @@ import DeleteIcon from '@mui/icons-material/Delete';
|
|
|
3
3
|
import StarIcon from '@mui/icons-material/Star';
|
|
4
4
|
import { Button, ButtonGroup } from '@mui/material';
|
|
5
5
|
export const PopperButtonGroup = ({ alias, onConfirmFavorite, favorite, ...props }) => {
|
|
6
|
-
return (_jsxs(ButtonGroup, { ...props, children: [_jsx(Button, { variant: "contained", onClick: (e) => {
|
|
6
|
+
return (_jsxs(ButtonGroup, { ...props, children: [_jsx(Button, { title: "Save Favorite", variant: "contained", onClick: (e) => {
|
|
7
7
|
e.stopPropagation();
|
|
8
8
|
onConfirmFavorite?.(alias, true);
|
|
9
|
-
}, children: _jsx(StarIcon, {}) }), favorite ? (_jsx(Button, { variant: "contained", onClick: (e) => {
|
|
9
|
+
}, children: _jsx(StarIcon, {}) }), favorite ? (_jsx(Button, { title: "Remove Favorite", variant: "contained", onClick: (e) => {
|
|
10
10
|
e.stopPropagation();
|
|
11
11
|
onConfirmFavorite?.(alias, false);
|
|
12
12
|
}, children: _jsx(DeleteIcon, {}) })) : null] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopperButtonGroup.js","sourceRoot":"","sources":["../../../../src/components/favorite/PopperButtonGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,4BAA4B,CAAA;AACnD,OAAO,QAAQ,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAoB,MAAM,eAAe,CAAA;AAQrE,MAAM,CAAC,MAAM,iBAAiB,GAAkC,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACnH,OAAO,CACL,MAAC,WAAW,OAAK,KAAK,aACpB,KAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,CAAC,CAAC,eAAe,EAAE,CAAA;oBACnB,iBAAiB,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBAClC,CAAC,YAED,KAAC,QAAQ,KAAG,GACL,EACR,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,CAAC,CAAC,eAAe,EAAE,CAAA;oBACnB,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;gBACnC,CAAC,YAED,KAAC,UAAU,KAAG,GACP,CACV,CAAC,CAAC,CAAC,IAAI,IACI,CACf,CAAA;AACH,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"PopperButtonGroup.js","sourceRoot":"","sources":["../../../../src/components/favorite/PopperButtonGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,4BAA4B,CAAA;AACnD,OAAO,QAAQ,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAoB,MAAM,eAAe,CAAA;AAQrE,MAAM,CAAC,MAAM,iBAAiB,GAAkC,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACnH,OAAO,CACL,MAAC,WAAW,OAAK,KAAK,aACpB,KAAC,MAAM,IACL,KAAK,EAAC,eAAe,EACrB,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,CAAC,CAAC,eAAe,EAAE,CAAA;oBACnB,iBAAiB,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBAClC,CAAC,YAED,KAAC,QAAQ,KAAG,GACL,EACR,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,MAAM,IACL,KAAK,EAAC,iBAAiB,EACvB,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,CAAC,CAAC,eAAe,EAAE,CAAA;oBACnB,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;gBACnC,CAAC,YAED,KAAC,UAAU,KAAG,GACP,CACV,CAAC,CAAC,CAAC,IAAI,IACI,CACf,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FavoriteItemEvent.js","sourceRoot":"","sources":["../../../../src/components/lib/FavoriteItemEvent.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"FavoriteItemEvent.js","sourceRoot":"","sources":["../../../../src/components/lib/FavoriteItemEvent.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAc,EACd,QAAkB,EAClB,YAA2B,EAC3B,aAAsB,EACH,EAAE,CAAC,CAAC;IACvB,KAAK;IACL,QAAQ,EAAE,CAAC,CAAC,QAAQ;IACpB,YAAY;IACZ,aAAa;CACd,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FavoriteIconButton.d.ts","sourceRoot":"","sources":["../../../../src/components/favorite/FavoriteIconButton.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"FavoriteIconButton.d.ts","sourceRoot":"","sources":["../../../../src/components/favorite/FavoriteIconButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAc,eAAe,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKnD,OAAO,EAAE,iBAAiB,EAAyB,MAAM,QAAQ,CAAA;AAKjE,MAAM,WAAW,uBAAwB,SAAQ,YAAY,EAAE,eAAe;IAC5E,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAClC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAA;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAA;CAC9C;AAED,eAAO,MAAM,kBAAkB,oIAgD9B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FavoriteToggleSVG.d.ts","sourceRoot":"","sources":["../../../../src/components/favorite/FavoriteToggleSVG.tsx"],"names":[],"mappings":";AAGA,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAE9D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopperButtonGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/favorite/PopperButtonGroup.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAuB,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErE,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iBAAiB,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CACzE;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"PopperButtonGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/favorite/PopperButtonGroup.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAuB,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErE,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iBAAiB,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CACzE;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA2B3D,CAAA"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export interface FavoriteItemEvent {
|
|
2
2
|
alias?: string;
|
|
3
3
|
favorite?: boolean;
|
|
4
|
-
favoriteType?:
|
|
4
|
+
favoriteType?: FavoriteType;
|
|
5
5
|
favoriteValue?: string;
|
|
6
6
|
}
|
|
7
|
+
export type FavoriteType = 'address' | 'schema' | 'hash';
|
|
8
|
+
export declare const generateFavoriteEvent: (alias?: string, favorite?: boolean, favoriteType?: FavoriteType, favoriteValue?: string) => FavoriteItemEvent;
|
|
7
9
|
//# sourceMappingURL=FavoriteItemEvent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FavoriteItemEvent.d.ts","sourceRoot":"","sources":["../../../../src/components/lib/FavoriteItemEvent.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"FavoriteItemEvent.d.ts","sourceRoot":"","sources":["../../../../src/components/lib/FavoriteItemEvent.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAExD,eAAO,MAAM,qBAAqB,WACxB,MAAM,aACH,OAAO,iBACH,YAAY,kBACX,MAAM,KACrB,iBAKD,CAAA"}
|
package/package.json
CHANGED
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"@xylabs/react-flexbox": "^2.16.11",
|
|
14
14
|
"@xylabs/react-identicon": "^2.16.11",
|
|
15
15
|
"@xylabs/react-shared": "^2.16.11",
|
|
16
|
-
"@xyo-network/react-event": "^2.47.
|
|
17
|
-
"@xyo-network/react-shared": "^2.47.
|
|
16
|
+
"@xyo-network/react-event": "^2.47.10",
|
|
17
|
+
"@xyo-network/react-shared": "^2.47.10"
|
|
18
18
|
},
|
|
19
19
|
"peerDependencies": {
|
|
20
20
|
"@mui/icons-material": "^5",
|
|
@@ -76,5 +76,5 @@
|
|
|
76
76
|
},
|
|
77
77
|
"sideEffects": false,
|
|
78
78
|
"types": "dist/types/index.d.ts",
|
|
79
|
-
"version": "2.47.
|
|
79
|
+
"version": "2.47.10"
|
|
80
80
|
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import StarIcon from '@mui/icons-material/Star'
|
|
2
|
-
import StarBorderIcon from '@mui/icons-material/StarBorder'
|
|
3
1
|
import { IconButton, IconButtonProps } from '@mui/material'
|
|
4
2
|
import { WithChildren } from '@xylabs/react-shared'
|
|
5
3
|
import { useXyoEvent } from '@xyo-network/react-event'
|
|
6
4
|
import { useShareForwardedRef } from '@xyo-network/react-shared'
|
|
7
5
|
import { forwardRef, useEffect, useRef, useState } from 'react'
|
|
8
6
|
|
|
9
|
-
import { FavoriteItemEvent } from '../lib'
|
|
7
|
+
import { FavoriteItemEvent, generateFavoriteEvent } from '../lib'
|
|
8
|
+
import { FavoriteToggleSVG } from './FavoriteToggleSVG'
|
|
10
9
|
import { popperId } from './lib'
|
|
11
10
|
import { FavoritePopper } from './Popper'
|
|
12
11
|
|
|
@@ -28,17 +27,11 @@ export const FavoriteIconButton = forwardRef<HTMLButtonElement, FavoriteIconButt
|
|
|
28
27
|
|
|
29
28
|
const sharedRef = useShareForwardedRef(ref)
|
|
30
29
|
const [buttonRef, dispatch] = useXyoEvent(undefined, sharedRef)
|
|
30
|
+
|
|
31
31
|
const onConfirmFavorite = (alias?: string, newFavoriteState?: boolean) => {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
favorite: !!newFavoriteState,
|
|
36
|
-
favoriteType: valueType,
|
|
37
|
-
favoriteValue: value,
|
|
38
|
-
}
|
|
39
|
-
dispatch('address', 'favorite', JSON.stringify(favoriteEvent))
|
|
40
|
-
return newFavoriteState
|
|
41
|
-
})
|
|
32
|
+
const favoriteEvent = generateFavoriteEvent(alias, !!newFavoriteState, valueType, value)
|
|
33
|
+
dispatch('address', 'favorite', JSON.stringify(favoriteEvent))
|
|
34
|
+
setFavorite(newFavoriteState)
|
|
42
35
|
setOpenPopper(false)
|
|
43
36
|
}
|
|
44
37
|
|
|
@@ -56,7 +49,7 @@ export const FavoriteIconButton = forwardRef<HTMLButtonElement, FavoriteIconButt
|
|
|
56
49
|
{...props}
|
|
57
50
|
>
|
|
58
51
|
<span ref={starRef}>
|
|
59
|
-
|
|
52
|
+
<FavoriteToggleSVG favorite={favorite} />
|
|
60
53
|
</span>
|
|
61
54
|
<FavoritePopper
|
|
62
55
|
sx={{ zIndex: 1301 }}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import StarIcon from '@mui/icons-material/Star'
|
|
2
|
+
import StarBorderIcon from '@mui/icons-material/StarBorder'
|
|
3
|
+
|
|
4
|
+
export const FavoriteToggleSVG: React.FC<{ favorite?: boolean }> = ({ favorite }) => (
|
|
5
|
+
<>{favorite ? <StarIcon className="favorite-icon" component={'svg'} color="secondary" /> : <StarBorderIcon className="favorite-icon" />}</>
|
|
6
|
+
)
|
|
@@ -32,7 +32,7 @@ export const FavoritePopper = forwardRef<HTMLDivElement, FavoritePopperProps>(
|
|
|
32
32
|
|
|
33
33
|
return (
|
|
34
34
|
<ClickAwayListener onClickAway={onClickAway}>
|
|
35
|
-
<PopperStyled id={popperId} anchorEl={favoriteRef?.current} transition ref={ref} {...props}>
|
|
35
|
+
<PopperStyled id={popperId} anchorEl={favoriteRef?.current} onClick={(e) => e.stopPropagation()} transition ref={ref} {...props}>
|
|
36
36
|
{({ TransitionProps }) => (
|
|
37
37
|
<Fade {...TransitionProps} timeout={350}>
|
|
38
38
|
<Card>
|
|
@@ -12,6 +12,7 @@ export const PopperButtonGroup: React.FC<FavoritePopperProps> = ({ alias, onConf
|
|
|
12
12
|
return (
|
|
13
13
|
<ButtonGroup {...props}>
|
|
14
14
|
<Button
|
|
15
|
+
title="Save Favorite"
|
|
15
16
|
variant="contained"
|
|
16
17
|
onClick={(e) => {
|
|
17
18
|
e.stopPropagation()
|
|
@@ -22,6 +23,7 @@ export const PopperButtonGroup: React.FC<FavoritePopperProps> = ({ alias, onConf
|
|
|
22
23
|
</Button>
|
|
23
24
|
{favorite ? (
|
|
24
25
|
<Button
|
|
26
|
+
title="Remove Favorite"
|
|
25
27
|
variant="contained"
|
|
26
28
|
onClick={(e) => {
|
|
27
29
|
e.stopPropagation()
|
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
export interface FavoriteItemEvent {
|
|
2
2
|
alias?: string
|
|
3
3
|
favorite?: boolean
|
|
4
|
-
favoriteType?:
|
|
4
|
+
favoriteType?: FavoriteType
|
|
5
5
|
favoriteValue?: string
|
|
6
6
|
}
|
|
7
|
+
|
|
8
|
+
export type FavoriteType = 'address' | 'schema' | 'hash'
|
|
9
|
+
|
|
10
|
+
export const generateFavoriteEvent = (
|
|
11
|
+
alias?: string,
|
|
12
|
+
favorite?: boolean,
|
|
13
|
+
favoriteType?: FavoriteType,
|
|
14
|
+
favoriteValue?: string,
|
|
15
|
+
): FavoriteItemEvent => ({
|
|
16
|
+
alias,
|
|
17
|
+
favorite: !!favorite,
|
|
18
|
+
favoriteType,
|
|
19
|
+
favoriteValue,
|
|
20
|
+
})
|