@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.
Files changed (33) hide show
  1. package/dist/cjs/components/favorite/FavoriteIconButton.js +8 -15
  2. package/dist/cjs/components/favorite/FavoriteIconButton.js.map +1 -1
  3. package/dist/cjs/components/favorite/FavoriteToggleSVG.js +10 -0
  4. package/dist/cjs/components/favorite/FavoriteToggleSVG.js.map +1 -0
  5. package/dist/cjs/components/favorite/Popper.js +1 -1
  6. package/dist/cjs/components/favorite/Popper.js.map +1 -1
  7. package/dist/cjs/components/favorite/PopperButtonGroup.js +2 -2
  8. package/dist/cjs/components/favorite/PopperButtonGroup.js.map +1 -1
  9. package/dist/cjs/components/lib/FavoriteItemEvent.js +8 -0
  10. package/dist/cjs/components/lib/FavoriteItemEvent.js.map +1 -1
  11. package/dist/docs.json +681 -582
  12. package/dist/esm/components/favorite/FavoriteIconButton.js +6 -13
  13. package/dist/esm/components/favorite/FavoriteIconButton.js.map +1 -1
  14. package/dist/esm/components/favorite/FavoriteToggleSVG.js +5 -0
  15. package/dist/esm/components/favorite/FavoriteToggleSVG.js.map +1 -0
  16. package/dist/esm/components/favorite/Popper.js +1 -1
  17. package/dist/esm/components/favorite/Popper.js.map +1 -1
  18. package/dist/esm/components/favorite/PopperButtonGroup.js +2 -2
  19. package/dist/esm/components/favorite/PopperButtonGroup.js.map +1 -1
  20. package/dist/esm/components/lib/FavoriteItemEvent.js +6 -1
  21. package/dist/esm/components/lib/FavoriteItemEvent.js.map +1 -1
  22. package/dist/types/components/favorite/FavoriteIconButton.d.ts.map +1 -1
  23. package/dist/types/components/favorite/FavoriteToggleSVG.d.ts +5 -0
  24. package/dist/types/components/favorite/FavoriteToggleSVG.d.ts.map +1 -0
  25. package/dist/types/components/favorite/PopperButtonGroup.d.ts.map +1 -1
  26. package/dist/types/components/lib/FavoriteItemEvent.d.ts +3 -1
  27. package/dist/types/components/lib/FavoriteItemEvent.d.ts.map +1 -1
  28. package/package.json +3 -3
  29. package/src/components/favorite/FavoriteIconButton.tsx +7 -14
  30. package/src/components/favorite/FavoriteToggleSVG.tsx +6 -0
  31. package/src/components/favorite/Popper.tsx +1 -1
  32. package/src/components/favorite/PopperButtonGroup.tsx +2 -0
  33. 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
- setFavorite(() => {
20
- const favoriteEvent = {
21
- alias,
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: favorite ? _jsx(StarIcon, { className: "favorite-icon", component: 'svg', color: "secondary" }) : _jsx(StarBorderIcon, { className: "favorite-icon" }) }), _jsx(FavoritePopper, { sx: { zIndex: 1301 }, alias: alias, favorite: favorite, favoriteRef: starRef, open: openPopper, onConfirmFavorite: onConfirmFavorite, onClickAway: () => setOpenPopper(false) }), 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,QAAQ,MAAM,0BAA0B,CAAA;AAC/C,OAAO,cAAc,MAAM,gCAAgC,CAAA;AAC3D,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;AAG/D,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;IAC/D,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAE,gBAA0B,EAAE,EAAE;QACvE,WAAW,CAAC,GAAG,EAAE;YACf,MAAM,aAAa,GAAsB;gBACvC,KAAK;gBACL,QAAQ,EAAE,CAAC,CAAC,gBAAgB;gBAC5B,YAAY,EAAE,SAAS;gBACvB,aAAa,EAAE,KAAK;aACrB,CAAA;YACD,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;YAC9D,OAAO,gBAAgB,CAAA;QACzB,CAAC,CAAC,CAAA;QACF,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,YACf,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,GAChI,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"}
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,YACvF,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"}
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,2 +1,7 @@
1
- export {};
1
+ export const generateFavoriteEvent = (alias, favorite, favoriteType, favoriteValue) => ({
2
+ alias,
3
+ favorite: !!favorite,
4
+ favoriteType,
5
+ favoriteValue,
6
+ });
2
7
  //# sourceMappingURL=FavoriteItemEvent.js.map
@@ -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":";AAEA,OAAO,EAAc,eAAe,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAI1C,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,oIAsD9B,CAAA"}
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,5 @@
1
+ /// <reference types="react" />
2
+ export declare const FavoriteToggleSVG: React.FC<{
3
+ favorite?: boolean;
4
+ }>;
5
+ //# sourceMappingURL=FavoriteToggleSVG.d.ts.map
@@ -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,CAyB3D,CAAA"}
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?: 'address' | 'schema' | 'hash';
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;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB"}
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.8",
17
- "@xyo-network/react-shared": "^2.47.8"
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.8"
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
- setFavorite(() => {
33
- const favoriteEvent: FavoriteItemEvent = {
34
- alias,
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
- {favorite ? <StarIcon className="favorite-icon" component={'svg'} color="secondary" /> : <StarBorderIcon className="favorite-icon" />}
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?: 'address' | 'schema' | 'hash'
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
+ })