@xyo-network/react-address-render 2.81.9 → 2.82.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 (183) hide show
  1. package/dist/browser/components/RenderRowBox.d.cts +2 -1
  2. package/dist/browser/components/RenderRowBox.d.cts.map +1 -1
  3. package/dist/browser/components/RenderRowBox.d.mts +2 -1
  4. package/dist/browser/components/RenderRowBox.d.mts.map +1 -1
  5. package/dist/browser/components/RenderRowBox.d.ts +2 -1
  6. package/dist/browser/components/RenderRowBox.d.ts.map +1 -1
  7. package/dist/browser/components/favorite/FavoriteIconButton.d.cts +3 -2
  8. package/dist/browser/components/favorite/FavoriteIconButton.d.cts.map +1 -1
  9. package/dist/browser/components/favorite/FavoriteIconButton.d.mts +3 -2
  10. package/dist/browser/components/favorite/FavoriteIconButton.d.mts.map +1 -1
  11. package/dist/browser/components/favorite/FavoriteIconButton.d.ts +3 -2
  12. package/dist/browser/components/favorite/FavoriteIconButton.d.ts.map +1 -1
  13. package/dist/browser/components/favorite/FavoriteToggleSVG.d.cts +1 -0
  14. package/dist/browser/components/favorite/FavoriteToggleSVG.d.cts.map +1 -1
  15. package/dist/browser/components/favorite/FavoriteToggleSVG.d.mts +1 -0
  16. package/dist/browser/components/favorite/FavoriteToggleSVG.d.mts.map +1 -1
  17. package/dist/browser/components/favorite/FavoriteToggleSVG.d.ts +1 -0
  18. package/dist/browser/components/favorite/FavoriteToggleSVG.d.ts.map +1 -1
  19. package/dist/browser/components/favorite/Popper.d.cts +2 -2
  20. package/dist/browser/components/favorite/Popper.d.cts.map +1 -1
  21. package/dist/browser/components/favorite/Popper.d.mts +2 -2
  22. package/dist/browser/components/favorite/Popper.d.mts.map +1 -1
  23. package/dist/browser/components/favorite/Popper.d.ts +2 -2
  24. package/dist/browser/components/favorite/Popper.d.ts.map +1 -1
  25. package/dist/browser/components/favorite/PopperButtonGroup.d.cts +1 -0
  26. package/dist/browser/components/favorite/PopperButtonGroup.d.cts.map +1 -1
  27. package/dist/browser/components/favorite/PopperButtonGroup.d.mts +1 -0
  28. package/dist/browser/components/favorite/PopperButtonGroup.d.mts.map +1 -1
  29. package/dist/browser/components/favorite/PopperButtonGroup.d.ts +1 -0
  30. package/dist/browser/components/favorite/PopperButtonGroup.d.ts.map +1 -1
  31. package/dist/browser/components/favorite/index.d.cts +1 -1
  32. package/dist/browser/components/favorite/index.d.cts.map +1 -1
  33. package/dist/browser/components/favorite/index.d.mts +1 -1
  34. package/dist/browser/components/favorite/index.d.mts.map +1 -1
  35. package/dist/browser/components/favorite/index.d.ts +1 -1
  36. package/dist/browser/components/favorite/index.d.ts.map +1 -1
  37. package/dist/browser/components/favorite/lib/index.d.cts +1 -1
  38. package/dist/browser/components/favorite/lib/index.d.mts +1 -1
  39. package/dist/browser/components/favorite/lib/index.d.ts +1 -1
  40. package/dist/browser/components/index.d.cts +3 -3
  41. package/dist/browser/components/index.d.cts.map +1 -1
  42. package/dist/browser/components/index.d.mts +3 -3
  43. package/dist/browser/components/index.d.mts.map +1 -1
  44. package/dist/browser/components/index.d.ts +3 -3
  45. package/dist/browser/components/index.d.ts.map +1 -1
  46. package/dist/browser/components/lib/index.d.cts +1 -1
  47. package/dist/browser/components/lib/index.d.mts +1 -1
  48. package/dist/browser/components/lib/index.d.ts +1 -1
  49. package/dist/browser/index.cjs +173 -169
  50. package/dist/browser/index.cjs.map +1 -1
  51. package/dist/browser/index.d.cts +1 -1
  52. package/dist/browser/index.d.mts +1 -1
  53. package/dist/browser/index.d.ts +1 -1
  54. package/dist/browser/index.mjs +214 -0
  55. package/dist/browser/index.mjs.map +1 -0
  56. package/dist/neutral/components/RenderRowBox.d.cts +2 -1
  57. package/dist/neutral/components/RenderRowBox.d.cts.map +1 -1
  58. package/dist/neutral/components/RenderRowBox.d.mts +2 -1
  59. package/dist/neutral/components/RenderRowBox.d.mts.map +1 -1
  60. package/dist/neutral/components/RenderRowBox.d.ts +2 -1
  61. package/dist/neutral/components/RenderRowBox.d.ts.map +1 -1
  62. package/dist/neutral/components/favorite/FavoriteIconButton.d.cts +3 -2
  63. package/dist/neutral/components/favorite/FavoriteIconButton.d.cts.map +1 -1
  64. package/dist/neutral/components/favorite/FavoriteIconButton.d.mts +3 -2
  65. package/dist/neutral/components/favorite/FavoriteIconButton.d.mts.map +1 -1
  66. package/dist/neutral/components/favorite/FavoriteIconButton.d.ts +3 -2
  67. package/dist/neutral/components/favorite/FavoriteIconButton.d.ts.map +1 -1
  68. package/dist/neutral/components/favorite/FavoriteToggleSVG.d.cts +1 -0
  69. package/dist/neutral/components/favorite/FavoriteToggleSVG.d.cts.map +1 -1
  70. package/dist/neutral/components/favorite/FavoriteToggleSVG.d.mts +1 -0
  71. package/dist/neutral/components/favorite/FavoriteToggleSVG.d.mts.map +1 -1
  72. package/dist/neutral/components/favorite/FavoriteToggleSVG.d.ts +1 -0
  73. package/dist/neutral/components/favorite/FavoriteToggleSVG.d.ts.map +1 -1
  74. package/dist/neutral/components/favorite/Popper.d.cts +2 -2
  75. package/dist/neutral/components/favorite/Popper.d.cts.map +1 -1
  76. package/dist/neutral/components/favorite/Popper.d.mts +2 -2
  77. package/dist/neutral/components/favorite/Popper.d.mts.map +1 -1
  78. package/dist/neutral/components/favorite/Popper.d.ts +2 -2
  79. package/dist/neutral/components/favorite/Popper.d.ts.map +1 -1
  80. package/dist/neutral/components/favorite/PopperButtonGroup.d.cts +1 -0
  81. package/dist/neutral/components/favorite/PopperButtonGroup.d.cts.map +1 -1
  82. package/dist/neutral/components/favorite/PopperButtonGroup.d.mts +1 -0
  83. package/dist/neutral/components/favorite/PopperButtonGroup.d.mts.map +1 -1
  84. package/dist/neutral/components/favorite/PopperButtonGroup.d.ts +1 -0
  85. package/dist/neutral/components/favorite/PopperButtonGroup.d.ts.map +1 -1
  86. package/dist/neutral/components/favorite/index.d.cts +1 -1
  87. package/dist/neutral/components/favorite/index.d.cts.map +1 -1
  88. package/dist/neutral/components/favorite/index.d.mts +1 -1
  89. package/dist/neutral/components/favorite/index.d.mts.map +1 -1
  90. package/dist/neutral/components/favorite/index.d.ts +1 -1
  91. package/dist/neutral/components/favorite/index.d.ts.map +1 -1
  92. package/dist/neutral/components/favorite/lib/index.d.cts +1 -1
  93. package/dist/neutral/components/favorite/lib/index.d.mts +1 -1
  94. package/dist/neutral/components/favorite/lib/index.d.ts +1 -1
  95. package/dist/neutral/components/index.d.cts +3 -3
  96. package/dist/neutral/components/index.d.cts.map +1 -1
  97. package/dist/neutral/components/index.d.mts +3 -3
  98. package/dist/neutral/components/index.d.mts.map +1 -1
  99. package/dist/neutral/components/index.d.ts +3 -3
  100. package/dist/neutral/components/index.d.ts.map +1 -1
  101. package/dist/neutral/components/lib/index.d.cts +1 -1
  102. package/dist/neutral/components/lib/index.d.mts +1 -1
  103. package/dist/neutral/components/lib/index.d.ts +1 -1
  104. package/dist/neutral/index.cjs +173 -169
  105. package/dist/neutral/index.cjs.map +1 -1
  106. package/dist/neutral/index.d.cts +1 -1
  107. package/dist/neutral/index.d.mts +1 -1
  108. package/dist/neutral/index.d.ts +1 -1
  109. package/dist/neutral/index.mjs +214 -0
  110. package/dist/neutral/index.mjs.map +1 -0
  111. package/dist/node/components/RenderRowBox.d.cts +2 -1
  112. package/dist/node/components/RenderRowBox.d.cts.map +1 -1
  113. package/dist/node/components/RenderRowBox.d.mts +2 -1
  114. package/dist/node/components/RenderRowBox.d.mts.map +1 -1
  115. package/dist/node/components/RenderRowBox.d.ts +2 -1
  116. package/dist/node/components/RenderRowBox.d.ts.map +1 -1
  117. package/dist/node/components/favorite/FavoriteIconButton.d.cts +3 -2
  118. package/dist/node/components/favorite/FavoriteIconButton.d.cts.map +1 -1
  119. package/dist/node/components/favorite/FavoriteIconButton.d.mts +3 -2
  120. package/dist/node/components/favorite/FavoriteIconButton.d.mts.map +1 -1
  121. package/dist/node/components/favorite/FavoriteIconButton.d.ts +3 -2
  122. package/dist/node/components/favorite/FavoriteIconButton.d.ts.map +1 -1
  123. package/dist/node/components/favorite/FavoriteToggleSVG.d.cts +1 -0
  124. package/dist/node/components/favorite/FavoriteToggleSVG.d.cts.map +1 -1
  125. package/dist/node/components/favorite/FavoriteToggleSVG.d.mts +1 -0
  126. package/dist/node/components/favorite/FavoriteToggleSVG.d.mts.map +1 -1
  127. package/dist/node/components/favorite/FavoriteToggleSVG.d.ts +1 -0
  128. package/dist/node/components/favorite/FavoriteToggleSVG.d.ts.map +1 -1
  129. package/dist/node/components/favorite/Popper.d.cts +2 -2
  130. package/dist/node/components/favorite/Popper.d.cts.map +1 -1
  131. package/dist/node/components/favorite/Popper.d.mts +2 -2
  132. package/dist/node/components/favorite/Popper.d.mts.map +1 -1
  133. package/dist/node/components/favorite/Popper.d.ts +2 -2
  134. package/dist/node/components/favorite/Popper.d.ts.map +1 -1
  135. package/dist/node/components/favorite/PopperButtonGroup.d.cts +1 -0
  136. package/dist/node/components/favorite/PopperButtonGroup.d.cts.map +1 -1
  137. package/dist/node/components/favorite/PopperButtonGroup.d.mts +1 -0
  138. package/dist/node/components/favorite/PopperButtonGroup.d.mts.map +1 -1
  139. package/dist/node/components/favorite/PopperButtonGroup.d.ts +1 -0
  140. package/dist/node/components/favorite/PopperButtonGroup.d.ts.map +1 -1
  141. package/dist/node/components/favorite/index.d.cts +1 -1
  142. package/dist/node/components/favorite/index.d.cts.map +1 -1
  143. package/dist/node/components/favorite/index.d.mts +1 -1
  144. package/dist/node/components/favorite/index.d.mts.map +1 -1
  145. package/dist/node/components/favorite/index.d.ts +1 -1
  146. package/dist/node/components/favorite/index.d.ts.map +1 -1
  147. package/dist/node/components/favorite/lib/index.d.cts +1 -1
  148. package/dist/node/components/favorite/lib/index.d.mts +1 -1
  149. package/dist/node/components/favorite/lib/index.d.ts +1 -1
  150. package/dist/node/components/index.d.cts +3 -3
  151. package/dist/node/components/index.d.cts.map +1 -1
  152. package/dist/node/components/index.d.mts +3 -3
  153. package/dist/node/components/index.d.mts.map +1 -1
  154. package/dist/node/components/index.d.ts +3 -3
  155. package/dist/node/components/index.d.ts.map +1 -1
  156. package/dist/node/components/lib/index.d.cts +1 -1
  157. package/dist/node/components/lib/index.d.mts +1 -1
  158. package/dist/node/components/lib/index.d.ts +1 -1
  159. package/dist/node/index.cjs +173 -169
  160. package/dist/node/index.cjs.map +1 -1
  161. package/dist/node/index.d.cts +1 -1
  162. package/dist/node/index.d.mts +1 -1
  163. package/dist/node/index.d.ts +1 -1
  164. package/dist/node/index.mjs +214 -0
  165. package/dist/node/index.mjs.map +1 -0
  166. package/package.json +15 -15
  167. package/src/components/RenderRowBox.stories.tsx +4 -5
  168. package/src/components/RenderRowBox.tsx +24 -20
  169. package/src/components/favorite/FavoriteIconButton.tsx +6 -6
  170. package/src/components/favorite/FavoriteToggleSVG.tsx +4 -3
  171. package/src/components/favorite/Popper.tsx +8 -10
  172. package/src/components/favorite/PopperButtonGroup.tsx +15 -12
  173. package/src/components/favorite/index.ts +1 -1
  174. package/src/components/favorite/lib/index.ts +1 -1
  175. package/src/components/index.ts +3 -3
  176. package/src/components/lib/index.ts +1 -1
  177. package/src/index.ts +1 -1
  178. package/dist/browser/index.js +0 -218
  179. package/dist/browser/index.js.map +0 -1
  180. package/dist/neutral/index.js +0 -218
  181. package/dist/neutral/index.js.map +0 -1
  182. package/dist/node/index.js +0 -218
  183. package/dist/node/index.js.map +0 -1
@@ -0,0 +1,214 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ // src/components/favorite/FavoriteIconButton.tsx
5
+ import { IconButton, styled as styled2 } from "@mui/material";
6
+ import { useEvent } from "@xyo-network/react-event";
7
+ import { useShareForwardedRef } from "@xyo-network/react-shared";
8
+ import React4, { forwardRef as forwardRef2, useEffect as useEffect2, useRef, useState as useState2 } from "react";
9
+
10
+ // src/components/lib/FavoriteItemEvent.ts
11
+ var generateFavoriteEvent = /* @__PURE__ */ __name((favorite, favoriteType, favoriteValue, name) => ({
12
+ favorite: !!favorite,
13
+ favoriteType,
14
+ favoriteValue,
15
+ name
16
+ }), "generateFavoriteEvent");
17
+
18
+ // src/components/favorite/FavoriteToggleSVG.tsx
19
+ import { Star as StarIcon, StarBorder as StarBorderIcon } from "@mui/icons-material";
20
+ import React from "react";
21
+ var FavoriteToggleSVG = /* @__PURE__ */ __name(({ favorite }) => /* @__PURE__ */ React.createElement(React.Fragment, null, favorite ? /* @__PURE__ */ React.createElement(StarIcon, {
22
+ className: "favorite-icon",
23
+ component: "svg",
24
+ color: "secondary",
25
+ fontSize: "small"
26
+ }) : /* @__PURE__ */ React.createElement(StarBorderIcon, {
27
+ className: "favorite-icon",
28
+ fontSize: "small"
29
+ })), "FavoriteToggleSVG");
30
+
31
+ // src/components/favorite/lib/PopperId.ts
32
+ var popperId = "favorite-popper";
33
+
34
+ // src/components/favorite/Popper.tsx
35
+ import { Card, CardContent, ClickAwayListener, Fade, Popper, styled, TextField } from "@mui/material";
36
+ import React3, { forwardRef, useEffect, useState } from "react";
37
+
38
+ // src/components/favorite/PopperButtonGroup.tsx
39
+ import { Delete as DeleteIcon, Star as StarIcon2 } from "@mui/icons-material";
40
+ import { Button, ButtonGroup } from "@mui/material";
41
+ import React2 from "react";
42
+ var PopperButtonGroup = /* @__PURE__ */ __name(({ name, onConfirmFavorite, favorite, ...props }) => {
43
+ return /* @__PURE__ */ React2.createElement(ButtonGroup, props, /* @__PURE__ */ React2.createElement(Button, {
44
+ title: "Save Favorite",
45
+ variant: "contained",
46
+ onClick: /* @__PURE__ */ __name((e) => {
47
+ e.stopPropagation();
48
+ onConfirmFavorite == null ? void 0 : onConfirmFavorite(name, true);
49
+ }, "onClick")
50
+ }, /* @__PURE__ */ React2.createElement(StarIcon2, null)), favorite ? /* @__PURE__ */ React2.createElement(Button, {
51
+ title: "Remove Favorite",
52
+ variant: "contained",
53
+ onClick: /* @__PURE__ */ __name((e) => {
54
+ e.stopPropagation();
55
+ onConfirmFavorite == null ? void 0 : onConfirmFavorite(name, false);
56
+ }, "onClick")
57
+ }, /* @__PURE__ */ React2.createElement(DeleteIcon, null)) : null);
58
+ }, "PopperButtonGroup");
59
+
60
+ // src/components/favorite/Popper.tsx
61
+ var FavoritePopper = /* @__PURE__ */ forwardRef(({ name: nameProp, favorite, favoriteRef, onClickAway, onConfirmFavorite, ...props }, ref) => {
62
+ const [name, setName] = useState(nameProp);
63
+ useEffect(() => {
64
+ setName(nameProp);
65
+ }, [
66
+ nameProp
67
+ ]);
68
+ return /* @__PURE__ */ React3.createElement(ClickAwayListener, {
69
+ onClickAway: onClickAway ?? (() => null)
70
+ }, /* @__PURE__ */ React3.createElement(PopperStyled, {
71
+ id: popperId,
72
+ anchorEl: favoriteRef == null ? void 0 : favoriteRef.current,
73
+ onClick: /* @__PURE__ */ __name((e) => e.stopPropagation(), "onClick"),
74
+ onTouchStart: /* @__PURE__ */ __name((e) => e.stopPropagation(), "onTouchStart"),
75
+ transition: true,
76
+ ref,
77
+ ...props
78
+ }, ({ TransitionProps }) => /* @__PURE__ */ React3.createElement(Fade, {
79
+ ...TransitionProps,
80
+ timeout: 350
81
+ }, /* @__PURE__ */ React3.createElement(Card, null, /* @__PURE__ */ React3.createElement(CardContent, {
82
+ sx: {
83
+ display: "flex",
84
+ gap: 1
85
+ }
86
+ }, /* @__PURE__ */ React3.createElement(TextField, {
87
+ autoFocus: true,
88
+ label: "Favorite Name",
89
+ placeholder: "optional",
90
+ size: "small",
91
+ value: name ?? "",
92
+ onChange: /* @__PURE__ */ __name((e) => setName(e.target.value), "onChange")
93
+ }), /* @__PURE__ */ React3.createElement(PopperButtonGroup, {
94
+ favorite,
95
+ onConfirmFavorite,
96
+ name
97
+ }))))));
98
+ });
99
+ FavoritePopper.displayName = "FavoritePopper";
100
+ var PopperStyled = styled(Popper, {
101
+ name: "PopperStyled"
102
+ })(() => ({
103
+ zIndex: 9999
104
+ }));
105
+
106
+ // src/components/favorite/FavoriteIconButton.tsx
107
+ var FavoriteIconButton = /* @__PURE__ */ forwardRef2(({ children, favorite: favoriteProp, name, valueType, value, ...props }, ref) => {
108
+ const [openPopper, setOpenPopper] = useState2(false);
109
+ const [favorite, setFavorite] = useState2(favoriteProp);
110
+ useEffect2(() => {
111
+ setFavorite(favoriteProp);
112
+ }, [
113
+ favoriteProp
114
+ ]);
115
+ const sharedRef = useShareForwardedRef(ref);
116
+ const [buttonRef, dispatch] = useEvent(void 0, sharedRef);
117
+ const onConfirmFavorite = /* @__PURE__ */ __name((name2, newFavoriteState) => {
118
+ const favoriteEvent = generateFavoriteEvent(!!newFavoriteState, valueType, value, name2);
119
+ dispatch("address", "favorite", JSON.stringify(favoriteEvent));
120
+ setFavorite(newFavoriteState);
121
+ setOpenPopper(false);
122
+ }, "onConfirmFavorite");
123
+ const starRef = useRef(null);
124
+ return /* @__PURE__ */ React4.createElement(IconButtonCondensed, {
125
+ "aria-describedby": popperId,
126
+ ref: buttonRef,
127
+ onClick: /* @__PURE__ */ __name((event) => {
128
+ event.stopPropagation();
129
+ setOpenPopper(!openPopper);
130
+ }, "onClick"),
131
+ onTouchStart: /* @__PURE__ */ __name((event) => {
132
+ event.stopPropagation();
133
+ setOpenPopper(!openPopper);
134
+ }, "onTouchStart"),
135
+ onMouseDown: /* @__PURE__ */ __name((e) => e.stopPropagation(), "onMouseDown"),
136
+ sx: {
137
+ lineHeight: 0,
138
+ p: 0.25
139
+ },
140
+ ...props
141
+ }, /* @__PURE__ */ React4.createElement("span", {
142
+ ref: starRef
143
+ }, /* @__PURE__ */ React4.createElement(FavoriteToggleSVG, {
144
+ favorite
145
+ })), /* @__PURE__ */ React4.createElement(FavoritePopper, {
146
+ sx: {
147
+ zIndex: 1301
148
+ },
149
+ name,
150
+ favorite,
151
+ favoriteRef: starRef,
152
+ open: openPopper,
153
+ onConfirmFavorite,
154
+ onClickAway: /* @__PURE__ */ __name(() => setOpenPopper(false), "onClickAway")
155
+ }), children);
156
+ });
157
+ FavoriteIconButton.displayName = "FavoriteIconButton";
158
+ var IconButtonCondensed = styled2(IconButton, {
159
+ name: "IconButtonCondensed"
160
+ })(({ theme }) => ({
161
+ lineHeight: 0,
162
+ padding: theme.spacing(0.25)
163
+ }));
164
+
165
+ // src/components/RenderRowBox.tsx
166
+ import { ListItemIcon, useTheme } from "@mui/material";
167
+ import { FlexRow } from "@xylabs/react-flexbox";
168
+ import { Identicon } from "@xylabs/react-identicon";
169
+ import { useEvent as useEvent2 } from "@xyo-network/react-event";
170
+ import { EllipsizeBox, useShareForwardedRef as useShareForwardedRef2 } from "@xyo-network/react-shared";
171
+ import React5, { forwardRef as forwardRef3 } from "react";
172
+ var AddressRenderRowBox = /* @__PURE__ */ forwardRef3(({ address, children, disableSharedRef, favorite: favoriteProp = false, iconOnly, iconSize = 24, icons, name, showFavorite = false, ...props }, ref) => {
173
+ const theme = useTheme();
174
+ const sharedRef = useShareForwardedRef2(ref);
175
+ const [elementRef, dispatch] = useEvent2(void 0, sharedRef);
176
+ return /* @__PURE__ */ React5.createElement(FlexRow, {
177
+ gap: 2,
178
+ justifyContent: "flex-start",
179
+ ref: elementRef,
180
+ onClick: /* @__PURE__ */ __name(() => {
181
+ if (address) {
182
+ dispatch("address", "click", address);
183
+ }
184
+ }, "onClick"),
185
+ ...props
186
+ }, icons && address ? /* @__PURE__ */ React5.createElement(ListItemIcon, {
187
+ sx: {
188
+ minWidth: 0
189
+ }
190
+ }, /* @__PURE__ */ React5.createElement(Identicon, {
191
+ size: iconSize,
192
+ value: address
193
+ })) : null, iconOnly ? null : /* @__PURE__ */ React5.createElement(EllipsizeBox, {
194
+ disableSharedRef,
195
+ ellipsisPosition: "end",
196
+ width: "100%",
197
+ typographyProps: {
198
+ fontSize: theme.typography.body1.fontSize
199
+ }
200
+ }, name ?? address), children, showFavorite && address ? /* @__PURE__ */ React5.createElement(FavoriteIconButton, {
201
+ name,
202
+ size: "small",
203
+ value: address,
204
+ valueType: "address",
205
+ favorite: favoriteProp
206
+ }) : null);
207
+ });
208
+ AddressRenderRowBox.displayName = "AddressRenderRowBox";
209
+ export {
210
+ AddressRenderRowBox,
211
+ FavoriteIconButton,
212
+ generateFavoriteEvent
213
+ };
214
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/favorite/FavoriteIconButton.tsx","../../src/components/lib/FavoriteItemEvent.ts","../../src/components/favorite/FavoriteToggleSVG.tsx","../../src/components/favorite/lib/PopperId.ts","../../src/components/favorite/Popper.tsx","../../src/components/favorite/PopperButtonGroup.tsx","../../src/components/RenderRowBox.tsx"],"sourcesContent":["import { IconButton, IconButtonProps, styled } from '@mui/material'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { useEvent } from '@xyo-network/react-event'\nimport { useShareForwardedRef } from '@xyo-network/react-shared'\nimport React, { forwardRef, useEffect, useRef, useState } from 'react'\n\nimport { FavoriteItemEvent, generateFavoriteEvent } from '../lib/index.ts'\nimport { FavoriteToggleSVG } from './FavoriteToggleSVG.tsx'\nimport { popperId } from './lib/index.ts'\nimport { FavoritePopper } from './Popper.tsx'\n\nexport interface FavoriteIconButtonProps extends WithChildren, IconButtonProps {\n favorite?: FavoriteItemEvent['favorite']\n name?: FavoriteItemEvent['name']\n value?: string\n valueType?: FavoriteItemEvent['favoriteType']\n}\n\nexport const FavoriteIconButton = forwardRef<HTMLButtonElement, FavoriteIconButtonProps>(\n ({ children, favorite: favoriteProp, name, valueType, value, ...props }, ref) => {\n const [openPopper, setOpenPopper] = useState(false)\n\n const [favorite, setFavorite] = useState(favoriteProp)\n useEffect(() => {\n setFavorite(favoriteProp)\n }, [favoriteProp])\n\n const sharedRef = useShareForwardedRef(ref)\n const [buttonRef, dispatch] = useEvent(undefined, sharedRef)\n\n const onConfirmFavorite = (name?: string, newFavoriteState?: boolean) => {\n const favoriteEvent = generateFavoriteEvent(!!newFavoriteState, valueType, value, name)\n dispatch('address', 'favorite', JSON.stringify(favoriteEvent))\n setFavorite(newFavoriteState)\n setOpenPopper(false)\n }\n\n const starRef = useRef<HTMLSpanElement>(null)\n\n return (\n <IconButtonCondensed\n aria-describedby={popperId}\n ref={buttonRef}\n onClick={(event) => {\n event.stopPropagation()\n setOpenPopper(!openPopper)\n }}\n onTouchStart={(event) => {\n event.stopPropagation()\n setOpenPopper(!openPopper)\n }}\n onMouseDown={e => e.stopPropagation()}\n sx={{ lineHeight: 0, p: 0.25 }}\n {...props}\n >\n <span ref={starRef}>\n <FavoriteToggleSVG favorite={favorite} />\n </span>\n <FavoritePopper\n sx={{ zIndex: 1301 }}\n name={name}\n favorite={favorite}\n favoriteRef={starRef}\n open={openPopper}\n onConfirmFavorite={onConfirmFavorite}\n onClickAway={() => setOpenPopper(false)}\n />\n {children}\n </IconButtonCondensed>\n )\n },\n)\n\nFavoriteIconButton.displayName = 'FavoriteIconButton'\n\nconst IconButtonCondensed = styled(IconButton, { name: 'IconButtonCondensed' })(({ theme }) => ({\n lineHeight: 0,\n padding: theme.spacing(0.25),\n}))\n","export interface FavoriteItemEvent {\n favorite?: boolean\n favoriteType?: FavoriteType\n favoriteValue?: string\n name?: string\n}\n\nexport type FavoriteType = 'address' | 'schema' | 'hash'\n\nexport const generateFavoriteEvent = (favorite?: boolean, favoriteType?: FavoriteType, favoriteValue?: string, name?: string): FavoriteItemEvent => ({\n favorite: !!favorite,\n favoriteType,\n favoriteValue,\n name,\n})\n","import { Star as StarIcon, StarBorder as StarBorderIcon } from '@mui/icons-material'\nimport React from 'react'\n\nexport const FavoriteToggleSVG: React.FC<{ favorite?: boolean }> = ({ favorite }) => (\n <>\n {favorite\n ? <StarIcon className=\"favorite-icon\" component=\"svg\" color=\"secondary\" fontSize=\"small\" />\n : <StarBorderIcon className=\"favorite-icon\" fontSize=\"small\" />}\n </>\n)\n","export const popperId = 'favorite-popper'\n","import { Card, CardContent, ClickAwayListener, Fade, Popper, PopperProps, styled, TextField } from '@mui/material'\nimport React, { forwardRef, RefObject, useEffect, useState } from 'react'\n\nimport { popperId } from './lib/index.ts'\nimport { PopperButtonGroup } from './PopperButtonGroup.tsx'\n\nexport interface FavoritePopperProps extends PopperProps {\n favorite?: boolean\n favoriteRef?: RefObject<HTMLElement>\n name?: string\n onClickAway?: (event: MouseEvent | TouchEvent) => void\n onConfirmFavorite?: (name?: string, newFavoriteState?: boolean) => void\n}\nexport const FavoritePopper = forwardRef<HTMLDivElement, FavoritePopperProps>(\n (\n {\n name: nameProp,\n favorite,\n favoriteRef,\n onClickAway,\n onConfirmFavorite,\n ...props\n },\n ref,\n ) => {\n const [name, setName] = useState(nameProp)\n useEffect(() => {\n setName(nameProp)\n }, [nameProp])\n\n return (\n <ClickAwayListener onClickAway={onClickAway ?? (() => null)}>\n <PopperStyled\n id={popperId}\n anchorEl={favoriteRef?.current}\n onClick={e => e.stopPropagation()}\n onTouchStart={e => e.stopPropagation()}\n transition\n ref={ref}\n {...props}\n >\n {({ TransitionProps }) => (\n <Fade {...TransitionProps} timeout={350}>\n <Card>\n <CardContent sx={{ display: 'flex', gap: 1 }}>\n <TextField\n autoFocus\n label=\"Favorite Name\"\n placeholder=\"optional\"\n size=\"small\"\n value={name ?? ''}\n onChange={e => setName(e.target.value)}\n />\n <PopperButtonGroup favorite={favorite} onConfirmFavorite={onConfirmFavorite} name={name} />\n </CardContent>\n </Card>\n </Fade>\n )}\n </PopperStyled>\n </ClickAwayListener>\n )\n },\n)\n\nFavoritePopper.displayName = 'FavoritePopper'\n\n// Ensure the popper is over all other mui portal elements\nconst PopperStyled = styled(Popper, { name: 'PopperStyled' })(() => ({ zIndex: 9999 }))\n","import { Delete as DeleteIcon, Star as StarIcon } from '@mui/icons-material'\nimport { Button, ButtonGroup, ButtonGroupProps } from '@mui/material'\nimport React from 'react'\n\nexport interface FavoritePopperProps extends ButtonGroupProps {\n favorite?: boolean\n name?: string\n onConfirmFavorite?: (name?: string, newFavoriteState?: boolean) => void\n}\n\nexport const PopperButtonGroup: React.FC<FavoritePopperProps> = ({ name, onConfirmFavorite, favorite, ...props }) => {\n return (\n <ButtonGroup {...props}>\n <Button\n title=\"Save Favorite\"\n variant=\"contained\"\n onClick={(e) => {\n e.stopPropagation()\n onConfirmFavorite?.(name, true)\n }}\n >\n <StarIcon />\n </Button>\n {favorite\n ? (\n <Button\n title=\"Remove Favorite\"\n variant=\"contained\"\n onClick={(e) => {\n e.stopPropagation()\n onConfirmFavorite?.(name, false)\n }}\n >\n <DeleteIcon />\n </Button>\n )\n : null}\n </ButtonGroup>\n )\n}\n","import { ListItemIcon, useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { Identicon } from '@xylabs/react-identicon'\nimport { useEvent } from '@xyo-network/react-event'\nimport { EllipsizeBox, useShareForwardedRef } from '@xyo-network/react-shared'\nimport React, { forwardRef } from 'react'\n\nimport { FavoriteIconButton } from './favorite/index.ts'\n\nexport interface AddressRenderRowBoxProps extends FlexBoxProps {\n address?: string | null\n disableSharedRef?: boolean\n favorite?: boolean\n iconOnly?: boolean\n iconSize?: number\n icons?: boolean\n name?: string\n showFavorite?: boolean\n}\n\nexport const AddressRenderRowBox = forwardRef<HTMLElement, AddressRenderRowBoxProps>(\n (\n { address, children, disableSharedRef, favorite: favoriteProp = false, iconOnly, iconSize = 24, icons, name, showFavorite = false, ...props },\n ref,\n ) => {\n const theme = useTheme()\n\n const sharedRef = useShareForwardedRef(ref)\n const [elementRef, dispatch] = useEvent(undefined, sharedRef)\n\n return (\n <FlexRow\n gap={2}\n justifyContent=\"flex-start\"\n ref={elementRef}\n onClick={() => {\n if (address) {\n dispatch('address', 'click', address)\n }\n }}\n {...props}\n >\n {icons && address\n ? (\n <ListItemIcon sx={{ minWidth: 0 }}>\n <Identicon size={iconSize} value={address} />\n </ListItemIcon>\n )\n : null}\n {iconOnly\n ? null\n : (\n <EllipsizeBox\n disableSharedRef={disableSharedRef}\n ellipsisPosition=\"end\"\n width=\"100%\"\n typographyProps={{ fontSize: theme.typography.body1.fontSize }}\n >\n {name ?? address}\n </EllipsizeBox>\n )}\n {children}\n {showFavorite && address\n ? <FavoriteIconButton name={name} size=\"small\" value={address} valueType=\"address\" favorite={favoriteProp} />\n : null}\n </FlexRow>\n )\n },\n)\n\nAddressRenderRowBox.displayName = 'AddressRenderRowBox'\n"],"mappings":"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","names":["IconButton","styled","useEvent","useShareForwardedRef","React","forwardRef","useEffect","useRef","useState","generateFavoriteEvent","favorite","favoriteType","favoriteValue","name","Star","StarIcon","StarBorder","StarBorderIcon","React","FavoriteToggleSVG","favorite","StarIcon","className","component","color","fontSize","StarBorderIcon","popperId","Card","CardContent","ClickAwayListener","Fade","Popper","styled","TextField","React","forwardRef","useEffect","useState","Delete","DeleteIcon","Star","StarIcon","Button","ButtonGroup","React","PopperButtonGroup","name","onConfirmFavorite","favorite","props","React","ButtonGroup","Button","title","variant","onClick","e","stopPropagation","StarIcon","DeleteIcon","FavoritePopper","forwardRef","name","nameProp","favorite","favoriteRef","onClickAway","onConfirmFavorite","props","ref","setName","useState","useEffect","React","ClickAwayListener","PopperStyled","id","popperId","anchorEl","current","onClick","e","stopPropagation","onTouchStart","transition","TransitionProps","Fade","timeout","Card","CardContent","sx","display","gap","TextField","autoFocus","label","placeholder","size","value","onChange","target","PopperButtonGroup","displayName","styled","Popper","zIndex","FavoriteIconButton","forwardRef","children","favorite","favoriteProp","name","valueType","value","props","ref","openPopper","setOpenPopper","useState","setFavorite","useEffect","sharedRef","useShareForwardedRef","buttonRef","dispatch","useEvent","undefined","onConfirmFavorite","newFavoriteState","favoriteEvent","generateFavoriteEvent","JSON","stringify","starRef","useRef","React","IconButtonCondensed","aria-describedby","popperId","onClick","event","stopPropagation","onTouchStart","onMouseDown","e","sx","lineHeight","p","span","FavoriteToggleSVG","FavoritePopper","zIndex","favoriteRef","open","onClickAway","displayName","styled","IconButton","theme","padding","spacing","ListItemIcon","useTheme","FlexRow","Identicon","useEvent","EllipsizeBox","useShareForwardedRef","React","forwardRef","AddressRenderRowBox","forwardRef","address","children","disableSharedRef","favorite","favoriteProp","iconOnly","iconSize","icons","name","showFavorite","props","ref","theme","useTheme","sharedRef","useShareForwardedRef","elementRef","dispatch","useEvent","undefined","React","FlexRow","gap","justifyContent","onClick","ListItemIcon","sx","minWidth","Identicon","size","value","EllipsizeBox","ellipsisPosition","width","typographyProps","fontSize","typography","body1","FavoriteIconButton","valueType","displayName"]}
package/package.json CHANGED
@@ -10,11 +10,11 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/react-flexbox": "^3.4.1",
14
- "@xylabs/react-identicon": "^3.4.1",
15
- "@xylabs/react-shared": "^3.4.1",
16
- "@xyo-network/react-event": "^2.81.9",
17
- "@xyo-network/react-shared": "^2.81.9"
13
+ "@xylabs/react-flexbox": "^3.4.2",
14
+ "@xylabs/react-identicon": "^3.4.2",
15
+ "@xylabs/react-shared": "^3.4.2",
16
+ "@xyo-network/react-event": "^2.82.0",
17
+ "@xyo-network/react-shared": "^2.82.0"
18
18
  },
19
19
  "peerDependencies": {
20
20
  "@mui/icons-material": "^5",
@@ -25,11 +25,11 @@
25
25
  },
26
26
  "description": "Common React library for all XYO projects that use React",
27
27
  "devDependencies": {
28
- "@storybook/react": "^7.6.20",
29
- "@xylabs/hex": "^3.6.4",
30
- "@xylabs/ts-scripts-yarn3": "^3.12.4",
31
- "@xylabs/tsconfig-react": "^3.12.4",
32
- "ethers": "^6.13.1",
28
+ "@storybook/react": "^8.2.7",
29
+ "@xylabs/hex": "^3.6.12",
30
+ "@xylabs/ts-scripts-yarn3": "^3.15.16",
31
+ "@xylabs/tsconfig-react": "^3.15.16",
32
+ "ethers": "^6.13.2",
33
33
  "typescript": "^5.5.4"
34
34
  },
35
35
  "docs": "dist/docs.json",
@@ -38,7 +38,7 @@
38
38
  "node": {
39
39
  "import": {
40
40
  "types": "./dist/node/index.d.mts",
41
- "default": "./dist/node/index.js"
41
+ "default": "./dist/node/index.mjs"
42
42
  },
43
43
  "require": {
44
44
  "types": "./dist/node/index.d.cts",
@@ -48,19 +48,19 @@
48
48
  "browser": {
49
49
  "import": {
50
50
  "types": "./dist/browser/index.d.mts",
51
- "default": "./dist/browser/index.js"
51
+ "default": "./dist/browser/index.mjs"
52
52
  },
53
53
  "require": {
54
54
  "types": "./dist/browser/index.d.cts",
55
55
  "default": "./dist/browser/index.cjs"
56
56
  }
57
57
  },
58
- "default": "./dist/browser/index.js"
58
+ "default": "./dist/browser/index.mjs"
59
59
  },
60
60
  "./package.json": "./package.json"
61
61
  },
62
62
  "main": "dist/browser/index.cjs",
63
- "module": "dist/browser/index.js",
63
+ "module": "dist/browser/index.mjs",
64
64
  "homepage": "https://xyo.network",
65
65
  "keywords": [
66
66
  "xyo",
@@ -82,6 +82,6 @@
82
82
  },
83
83
  "sideEffects": false,
84
84
  "types": "dist/browser/index.d.ts",
85
- "version": "2.81.9",
85
+ "version": "2.82.0",
86
86
  "type": "module"
87
87
  }
@@ -2,10 +2,10 @@ import { Meta, StoryFn } from '@storybook/react'
2
2
  import { Address, toHex } from '@xylabs/hex'
3
3
  import { useEvent } from '@xyo-network/react-event'
4
4
  import { randomBytes } from 'ethers'
5
- import { useState } from 'react'
5
+ import React, { useState } from 'react'
6
6
 
7
- import { FavoriteItemEvent } from './lib/index.js'
8
- import { AddressRenderRowBox } from './RenderRowBox.js'
7
+ import { FavoriteItemEvent } from './lib/index.ts'
8
+ import { AddressRenderRowBox } from './RenderRowBox.tsx'
9
9
 
10
10
  const address: Address = toHex(randomBytes(20))
11
11
 
@@ -75,7 +75,7 @@ WithFavoriteAlias.args = {
75
75
  const WithChildren = Template.bind({})
76
76
  WithChildren.args = {
77
77
  address,
78
- children: <span>{'[InsertedChild]'}</span>,
78
+ children: <span>[InsertedChild]</span>,
79
79
  favorite: true,
80
80
  icons: true,
81
81
  showFavorite: true,
@@ -83,5 +83,4 @@ WithChildren.args = {
83
83
 
84
84
  export { Default, WithAddress, WithChildren, WithFavorite, WithFavoriteAlias, WithIcon, WithIconOnly }
85
85
 
86
- // eslint-disable-next-line import/no-default-export
87
86
  export default StorybookEntry
@@ -3,9 +3,9 @@ import { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'
3
3
  import { Identicon } from '@xylabs/react-identicon'
4
4
  import { useEvent } from '@xyo-network/react-event'
5
5
  import { EllipsizeBox, useShareForwardedRef } from '@xyo-network/react-shared'
6
- import { forwardRef } from 'react'
6
+ import React, { forwardRef } from 'react'
7
7
 
8
- import { FavoriteIconButton } from './favorite/index.js'
8
+ import { FavoriteIconButton } from './favorite/index.ts'
9
9
 
10
10
  export interface AddressRenderRowBoxProps extends FlexBoxProps {
11
11
  address?: string | null
@@ -40,25 +40,29 @@ export const AddressRenderRowBox = forwardRef<HTMLElement, AddressRenderRowBoxPr
40
40
  }}
41
41
  {...props}
42
42
  >
43
- {icons && address ?
44
- <ListItemIcon sx={{ minWidth: 0 }}>
45
- <Identicon size={iconSize} value={address} />
46
- </ListItemIcon>
47
- : null}
48
- {iconOnly ? null : (
49
- <EllipsizeBox
50
- disableSharedRef={disableSharedRef}
51
- ellipsisPosition={'end'}
52
- width="100%"
53
- typographyProps={{ fontSize: theme.typography.body1.fontSize }}
54
- >
55
- {name ?? address}
56
- </EllipsizeBox>
57
- )}
43
+ {icons && address
44
+ ? (
45
+ <ListItemIcon sx={{ minWidth: 0 }}>
46
+ <Identicon size={iconSize} value={address} />
47
+ </ListItemIcon>
48
+ )
49
+ : null}
50
+ {iconOnly
51
+ ? null
52
+ : (
53
+ <EllipsizeBox
54
+ disableSharedRef={disableSharedRef}
55
+ ellipsisPosition="end"
56
+ width="100%"
57
+ typographyProps={{ fontSize: theme.typography.body1.fontSize }}
58
+ >
59
+ {name ?? address}
60
+ </EllipsizeBox>
61
+ )}
58
62
  {children}
59
- {showFavorite && address ?
60
- <FavoriteIconButton name={name} size={'small'} value={address} valueType={'address'} favorite={favoriteProp} />
61
- : null}
63
+ {showFavorite && address
64
+ ? <FavoriteIconButton name={name} size="small" value={address} valueType="address" favorite={favoriteProp} />
65
+ : null}
62
66
  </FlexRow>
63
67
  )
64
68
  },
@@ -2,12 +2,12 @@ import { IconButton, IconButtonProps, styled } from '@mui/material'
2
2
  import { WithChildren } from '@xylabs/react-shared'
3
3
  import { useEvent } from '@xyo-network/react-event'
4
4
  import { useShareForwardedRef } from '@xyo-network/react-shared'
5
- import { forwardRef, useEffect, useRef, useState } from 'react'
5
+ import React, { forwardRef, useEffect, useRef, useState } from 'react'
6
6
 
7
- import { FavoriteItemEvent, generateFavoriteEvent } from '../lib/index.js'
8
- import { FavoriteToggleSVG } from './FavoriteToggleSVG.js'
9
- import { popperId } from './lib/index.js'
10
- import { FavoritePopper } from './Popper.js'
7
+ import { FavoriteItemEvent, generateFavoriteEvent } from '../lib/index.ts'
8
+ import { FavoriteToggleSVG } from './FavoriteToggleSVG.tsx'
9
+ import { popperId } from './lib/index.ts'
10
+ import { FavoritePopper } from './Popper.tsx'
11
11
 
12
12
  export interface FavoriteIconButtonProps extends WithChildren, IconButtonProps {
13
13
  favorite?: FavoriteItemEvent['favorite']
@@ -49,7 +49,7 @@ export const FavoriteIconButton = forwardRef<HTMLButtonElement, FavoriteIconButt
49
49
  event.stopPropagation()
50
50
  setOpenPopper(!openPopper)
51
51
  }}
52
- onMouseDown={(e) => e.stopPropagation()}
52
+ onMouseDown={e => e.stopPropagation()}
53
53
  sx={{ lineHeight: 0, p: 0.25 }}
54
54
  {...props}
55
55
  >
@@ -1,9 +1,10 @@
1
1
  import { Star as StarIcon, StarBorder as StarBorderIcon } from '@mui/icons-material'
2
+ import React from 'react'
2
3
 
3
4
  export const FavoriteToggleSVG: React.FC<{ favorite?: boolean }> = ({ favorite }) => (
4
5
  <>
5
- {favorite ?
6
- <StarIcon className="favorite-icon" component={'svg'} color="secondary" fontSize="small" />
7
- : <StarBorderIcon className="favorite-icon" fontSize="small" />}
6
+ {favorite
7
+ ? <StarIcon className="favorite-icon" component="svg" color="secondary" fontSize="small" />
8
+ : <StarBorderIcon className="favorite-icon" fontSize="small" />}
8
9
  </>
9
10
  )
@@ -1,8 +1,8 @@
1
1
  import { Card, CardContent, ClickAwayListener, Fade, Popper, PopperProps, styled, TextField } from '@mui/material'
2
- import { forwardRef, RefObject, useEffect, useState } from 'react'
2
+ import React, { forwardRef, RefObject, useEffect, useState } from 'react'
3
3
 
4
- import { popperId } from './lib/index.js'
5
- import { PopperButtonGroup } from './PopperButtonGroup.js'
4
+ import { popperId } from './lib/index.ts'
5
+ import { PopperButtonGroup } from './PopperButtonGroup.tsx'
6
6
 
7
7
  export interface FavoritePopperProps extends PopperProps {
8
8
  favorite?: boolean
@@ -17,9 +17,7 @@ export const FavoritePopper = forwardRef<HTMLDivElement, FavoritePopperProps>(
17
17
  name: nameProp,
18
18
  favorite,
19
19
  favoriteRef,
20
- onClickAway = () => {
21
- return
22
- },
20
+ onClickAway,
23
21
  onConfirmFavorite,
24
22
  ...props
25
23
  },
@@ -31,12 +29,12 @@ export const FavoritePopper = forwardRef<HTMLDivElement, FavoritePopperProps>(
31
29
  }, [nameProp])
32
30
 
33
31
  return (
34
- <ClickAwayListener onClickAway={onClickAway}>
32
+ <ClickAwayListener onClickAway={onClickAway ?? (() => null)}>
35
33
  <PopperStyled
36
34
  id={popperId}
37
35
  anchorEl={favoriteRef?.current}
38
- onClick={(e) => e.stopPropagation()}
39
- onTouchStart={(e) => e.stopPropagation()}
36
+ onClick={e => e.stopPropagation()}
37
+ onTouchStart={e => e.stopPropagation()}
40
38
  transition
41
39
  ref={ref}
42
40
  {...props}
@@ -51,7 +49,7 @@ export const FavoritePopper = forwardRef<HTMLDivElement, FavoritePopperProps>(
51
49
  placeholder="optional"
52
50
  size="small"
53
51
  value={name ?? ''}
54
- onChange={(e) => setName(e.target.value)}
52
+ onChange={e => setName(e.target.value)}
55
53
  />
56
54
  <PopperButtonGroup favorite={favorite} onConfirmFavorite={onConfirmFavorite} name={name} />
57
55
  </CardContent>
@@ -1,5 +1,6 @@
1
1
  import { Delete as DeleteIcon, Star as StarIcon } from '@mui/icons-material'
2
2
  import { Button, ButtonGroup, ButtonGroupProps } from '@mui/material'
3
+ import React from 'react'
3
4
 
4
5
  export interface FavoritePopperProps extends ButtonGroupProps {
5
6
  favorite?: boolean
@@ -20,18 +21,20 @@ export const PopperButtonGroup: React.FC<FavoritePopperProps> = ({ name, onConfi
20
21
  >
21
22
  <StarIcon />
22
23
  </Button>
23
- {favorite ?
24
- <Button
25
- title="Remove Favorite"
26
- variant="contained"
27
- onClick={(e) => {
28
- e.stopPropagation()
29
- onConfirmFavorite?.(name, false)
30
- }}
31
- >
32
- <DeleteIcon />
33
- </Button>
34
- : null}
24
+ {favorite
25
+ ? (
26
+ <Button
27
+ title="Remove Favorite"
28
+ variant="contained"
29
+ onClick={(e) => {
30
+ e.stopPropagation()
31
+ onConfirmFavorite?.(name, false)
32
+ }}
33
+ >
34
+ <DeleteIcon />
35
+ </Button>
36
+ )
37
+ : null}
35
38
  </ButtonGroup>
36
39
  )
37
40
  }
@@ -1 +1 @@
1
- export * from './FavoriteIconButton.js'
1
+ export * from './FavoriteIconButton.tsx'
@@ -1 +1 @@
1
- export * from './PopperId.js'
1
+ export * from './PopperId.ts'
@@ -1,3 +1,3 @@
1
- export * from './favorite/index.js'
2
- export * from './lib/index.js'
3
- export * from './RenderRowBox.js'
1
+ export * from './favorite/index.ts'
2
+ export * from './lib/index.ts'
3
+ export * from './RenderRowBox.tsx'
@@ -1 +1 @@
1
- export * from './FavoriteItemEvent.js'
1
+ export * from './FavoriteItemEvent.ts'
package/src/index.ts CHANGED
@@ -1 +1 @@
1
- export * from './components/index.js'
1
+ export * from './components/index.ts'