@xyo-network/react-address-render 2.64.0-rc.7 → 2.64.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.
- package/dist/browser/components/RenderRowBox.cjs +239 -0
- package/dist/browser/components/RenderRowBox.cjs.map +1 -0
- package/dist/browser/components/RenderRowBox.d.cts +14 -0
- package/dist/browser/components/RenderRowBox.d.cts.map +1 -0
- package/dist/browser/components/favorite/FavoriteIconButton.cjs +191 -0
- package/dist/browser/components/favorite/FavoriteIconButton.cjs.map +1 -0
- package/dist/browser/components/favorite/FavoriteIconButton.d.cts +12 -0
- package/dist/browser/components/favorite/FavoriteIconButton.d.cts.map +1 -0
- package/dist/browser/components/favorite/FavoriteToggleSVG.cjs +29 -0
- package/dist/{node/components/favorite/FavoriteToggleSVG.mjs.map → browser/components/favorite/FavoriteToggleSVG.cjs.map} +1 -1
- package/dist/browser/components/favorite/FavoriteToggleSVG.d.cts +5 -0
- package/dist/browser/components/favorite/FavoriteToggleSVG.d.cts.map +1 -0
- package/dist/browser/components/favorite/Popper.cjs +112 -0
- package/dist/browser/components/favorite/Popper.cjs.map +1 -0
- package/dist/browser/components/favorite/Popper.d.cts +11 -0
- package/dist/browser/components/favorite/Popper.d.cts.map +1 -0
- package/dist/browser/components/favorite/PopperButtonGroup.cjs +57 -0
- package/dist/browser/components/favorite/PopperButtonGroup.cjs.map +1 -0
- package/dist/browser/components/favorite/PopperButtonGroup.d.cts +9 -0
- package/dist/browser/components/favorite/PopperButtonGroup.d.cts.map +1 -0
- package/dist/browser/components/favorite/index.cjs +193 -0
- package/dist/browser/components/favorite/index.cjs.map +1 -0
- package/dist/browser/components/favorite/index.d.cts +2 -0
- package/dist/browser/components/favorite/index.d.cts.map +1 -0
- package/dist/browser/components/favorite/lib/PopperId.cjs +27 -0
- package/dist/{node/components/favorite/lib/PopperId.mjs.map → browser/components/favorite/lib/PopperId.cjs.map} +1 -1
- package/dist/browser/components/favorite/lib/PopperId.d.cts +2 -0
- package/dist/browser/components/favorite/lib/PopperId.d.cts.map +1 -0
- package/dist/browser/components/favorite/lib/index.cjs +29 -0
- package/dist/browser/components/favorite/lib/index.cjs.map +1 -0
- package/dist/browser/components/favorite/lib/index.d.cts +2 -0
- package/dist/browser/components/favorite/lib/index.d.cts.map +1 -0
- package/dist/browser/components/index.cjs +241 -0
- package/dist/browser/components/index.cjs.map +1 -0
- package/dist/browser/components/index.d.cts +4 -0
- package/dist/browser/components/index.d.cts.map +1 -0
- package/dist/browser/components/lib/FavoriteItemEvent.cjs +32 -0
- package/dist/{node/components/lib/FavoriteItemEvent.mjs.map → browser/components/lib/FavoriteItemEvent.cjs.map} +1 -1
- package/dist/browser/components/lib/FavoriteItemEvent.d.cts +9 -0
- package/dist/browser/components/lib/FavoriteItemEvent.d.cts.map +1 -0
- package/dist/browser/components/lib/index.cjs +34 -0
- package/dist/browser/components/lib/index.cjs.map +1 -0
- package/dist/browser/components/lib/index.d.cts +2 -0
- package/dist/browser/components/lib/index.d.cts.map +1 -0
- package/dist/browser/index.cjs +241 -0
- package/dist/browser/index.cjs.map +1 -0
- package/dist/browser/index.d.cts +2 -0
- package/dist/browser/index.d.cts.map +1 -0
- package/dist/docs.json +24106 -0
- package/dist/node/components/RenderRowBox.cjs +243 -0
- package/dist/node/components/RenderRowBox.cjs.map +1 -0
- package/dist/node/components/RenderRowBox.d.cts +14 -0
- package/dist/node/components/RenderRowBox.d.cts.map +1 -0
- package/dist/node/components/RenderRowBox.js +187 -42
- package/dist/node/components/RenderRowBox.js.map +1 -1
- package/dist/node/components/favorite/FavoriteIconButton.cjs +195 -0
- package/dist/node/components/favorite/FavoriteIconButton.cjs.map +1 -0
- package/dist/node/components/favorite/FavoriteIconButton.d.cts +12 -0
- package/dist/node/components/favorite/FavoriteIconButton.d.cts.map +1 -0
- package/dist/node/components/favorite/FavoriteIconButton.js +123 -47
- package/dist/node/components/favorite/FavoriteIconButton.js.map +1 -1
- package/dist/node/components/favorite/FavoriteToggleSVG.cjs +33 -0
- package/dist/node/components/favorite/FavoriteToggleSVG.cjs.map +1 -0
- package/dist/node/components/favorite/FavoriteToggleSVG.d.cts +5 -0
- package/dist/node/components/favorite/FavoriteToggleSVG.d.cts.map +1 -0
- package/dist/node/components/favorite/FavoriteToggleSVG.js +6 -29
- package/dist/node/components/favorite/FavoriteToggleSVG.js.map +1 -1
- package/dist/node/components/favorite/Popper.cjs +116 -0
- package/dist/node/components/favorite/Popper.cjs.map +1 -0
- package/dist/node/components/favorite/Popper.d.cts +11 -0
- package/dist/node/components/favorite/Popper.d.cts.map +1 -0
- package/dist/node/components/favorite/Popper.js +54 -41
- package/dist/node/components/favorite/Popper.js.map +1 -1
- package/dist/node/components/favorite/PopperButtonGroup.cjs +61 -0
- package/dist/node/components/favorite/{PopperButtonGroup.mjs.map → PopperButtonGroup.cjs.map} +1 -1
- package/dist/node/components/favorite/PopperButtonGroup.d.cts +9 -0
- package/dist/node/components/favorite/PopperButtonGroup.d.cts.map +1 -0
- package/dist/node/components/favorite/PopperButtonGroup.js +16 -39
- package/dist/node/components/favorite/PopperButtonGroup.js.map +1 -1
- package/dist/node/components/favorite/index.cjs +197 -0
- package/dist/node/components/favorite/index.cjs.map +1 -0
- package/dist/node/components/favorite/index.d.cts +2 -0
- package/dist/node/components/favorite/index.d.cts.map +1 -0
- package/dist/node/components/favorite/index.js +167 -20
- package/dist/node/components/favorite/index.js.map +1 -1
- package/dist/node/components/favorite/lib/PopperId.cjs +31 -0
- package/dist/node/components/favorite/lib/PopperId.cjs.map +1 -0
- package/dist/node/components/favorite/lib/PopperId.d.cts +2 -0
- package/dist/node/components/favorite/lib/PopperId.d.cts.map +1 -0
- package/dist/node/components/favorite/lib/PopperId.js +4 -27
- package/dist/node/components/favorite/lib/PopperId.js.map +1 -1
- package/dist/node/components/favorite/lib/index.cjs +33 -0
- package/dist/node/components/favorite/lib/index.cjs.map +1 -0
- package/dist/node/components/favorite/lib/index.d.cts +2 -0
- package/dist/node/components/favorite/lib/index.d.cts.map +1 -0
- package/dist/node/components/favorite/lib/index.js +4 -21
- package/dist/node/components/favorite/lib/index.js.map +1 -1
- package/dist/node/components/index.cjs +247 -0
- package/dist/node/components/index.cjs.map +1 -0
- package/dist/node/components/index.d.cts +4 -0
- package/dist/node/components/index.d.cts.map +1 -0
- package/dist/node/components/index.js +215 -24
- package/dist/node/components/index.js.map +1 -1
- package/dist/node/components/lib/FavoriteItemEvent.cjs +36 -0
- package/dist/node/components/lib/FavoriteItemEvent.cjs.map +1 -0
- package/dist/node/components/lib/FavoriteItemEvent.d.cts +9 -0
- package/dist/node/components/lib/FavoriteItemEvent.d.cts.map +1 -0
- package/dist/node/components/lib/FavoriteItemEvent.js +4 -27
- package/dist/node/components/lib/FavoriteItemEvent.js.map +1 -1
- package/dist/node/components/lib/index.cjs +38 -0
- package/dist/node/components/lib/index.cjs.map +1 -0
- package/dist/node/components/lib/index.d.cts +2 -0
- package/dist/node/components/lib/index.d.cts.map +1 -0
- package/dist/node/components/lib/index.js +9 -21
- package/dist/node/components/lib/index.js.map +1 -1
- package/dist/node/index.cjs +247 -0
- package/dist/node/index.cjs.map +1 -0
- package/dist/node/index.d.cts +2 -0
- package/dist/node/index.d.cts.map +1 -0
- package/dist/node/index.js +215 -20
- package/dist/node/index.js.map +1 -1
- package/package.json +20 -20
- package/dist/browser/components/RenderRowBox.stories.js +0 -81
- package/dist/browser/components/RenderRowBox.stories.js.map +0 -1
- package/dist/node/components/RenderRowBox.mjs +0 -49
- package/dist/node/components/RenderRowBox.mjs.map +0 -1
- package/dist/node/components/RenderRowBox.stories.js +0 -111
- package/dist/node/components/RenderRowBox.stories.js.map +0 -1
- package/dist/node/components/RenderRowBox.stories.mjs +0 -81
- package/dist/node/components/RenderRowBox.stories.mjs.map +0 -1
- package/dist/node/components/favorite/FavoriteIconButton.mjs +0 -70
- package/dist/node/components/favorite/FavoriteIconButton.mjs.map +0 -1
- package/dist/node/components/favorite/FavoriteToggleSVG.mjs +0 -7
- package/dist/node/components/favorite/Popper.mjs +0 -54
- package/dist/node/components/favorite/Popper.mjs.map +0 -1
- package/dist/node/components/favorite/PopperButtonGroup.mjs +0 -35
- package/dist/node/components/favorite/index.mjs +0 -2
- package/dist/node/components/favorite/index.mjs.map +0 -1
- package/dist/node/components/favorite/lib/PopperId.mjs +0 -5
- package/dist/node/components/favorite/lib/index.mjs +0 -2
- package/dist/node/components/favorite/lib/index.mjs.map +0 -1
- package/dist/node/components/index.mjs +0 -4
- package/dist/node/components/index.mjs.map +0 -1
- package/dist/node/components/lib/FavoriteItemEvent.mjs +0 -10
- package/dist/node/components/lib/index.mjs +0 -2
- package/dist/node/components/lib/index.mjs.map +0 -1
- package/dist/node/index.mjs +0 -2
- package/dist/node/index.mjs.map +0 -1
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/components/favorite/FavoriteIconButton.tsx
|
|
21
|
+
var FavoriteIconButton_exports = {};
|
|
22
|
+
__export(FavoriteIconButton_exports, {
|
|
23
|
+
FavoriteIconButton: () => FavoriteIconButton
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(FavoriteIconButton_exports);
|
|
26
|
+
var import_material3 = require("@mui/material");
|
|
27
|
+
var import_react_event = require("@xyo-network/react-event");
|
|
28
|
+
var import_react_shared = require("@xyo-network/react-shared");
|
|
29
|
+
var import_react2 = require("react");
|
|
30
|
+
|
|
31
|
+
// src/components/lib/FavoriteItemEvent.ts
|
|
32
|
+
var generateFavoriteEvent = (favorite, favoriteType, favoriteValue, name) => ({
|
|
33
|
+
favorite: !!favorite,
|
|
34
|
+
favoriteType,
|
|
35
|
+
favoriteValue,
|
|
36
|
+
name
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
// src/components/favorite/FavoriteToggleSVG.tsx
|
|
40
|
+
var import_icons_material = require("@mui/icons-material");
|
|
41
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
42
|
+
var FavoriteToggleSVG = ({ favorite }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: favorite ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.Star, { className: "favorite-icon", component: "svg", color: "secondary", fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.StarBorder, { className: "favorite-icon", fontSize: "small" }) });
|
|
43
|
+
|
|
44
|
+
// src/components/favorite/lib/PopperId.ts
|
|
45
|
+
var popperId = "favorite-popper";
|
|
46
|
+
|
|
47
|
+
// src/components/favorite/Popper.tsx
|
|
48
|
+
var import_material2 = require("@mui/material");
|
|
49
|
+
var import_react = require("react");
|
|
50
|
+
|
|
51
|
+
// src/components/favorite/PopperButtonGroup.tsx
|
|
52
|
+
var import_icons_material2 = require("@mui/icons-material");
|
|
53
|
+
var import_material = require("@mui/material");
|
|
54
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
55
|
+
var PopperButtonGroup = ({ name, onConfirmFavorite, favorite, ...props }) => {
|
|
56
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_material.ButtonGroup, { ...props, children: [
|
|
57
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
58
|
+
import_material.Button,
|
|
59
|
+
{
|
|
60
|
+
title: "Save Favorite",
|
|
61
|
+
variant: "contained",
|
|
62
|
+
onClick: (e) => {
|
|
63
|
+
e.stopPropagation();
|
|
64
|
+
onConfirmFavorite == null ? void 0 : onConfirmFavorite(name, true);
|
|
65
|
+
},
|
|
66
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_icons_material2.Star, {})
|
|
67
|
+
}
|
|
68
|
+
),
|
|
69
|
+
favorite ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
70
|
+
import_material.Button,
|
|
71
|
+
{
|
|
72
|
+
title: "Remove Favorite",
|
|
73
|
+
variant: "contained",
|
|
74
|
+
onClick: (e) => {
|
|
75
|
+
e.stopPropagation();
|
|
76
|
+
onConfirmFavorite == null ? void 0 : onConfirmFavorite(name, false);
|
|
77
|
+
},
|
|
78
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_icons_material2.Delete, {})
|
|
79
|
+
}
|
|
80
|
+
) : null
|
|
81
|
+
] });
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
// src/components/favorite/Popper.tsx
|
|
85
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
86
|
+
var FavoritePopper = (0, import_react.forwardRef)(
|
|
87
|
+
({
|
|
88
|
+
name: nameProp,
|
|
89
|
+
favorite,
|
|
90
|
+
favoriteRef,
|
|
91
|
+
onClickAway = () => {
|
|
92
|
+
return;
|
|
93
|
+
},
|
|
94
|
+
onConfirmFavorite,
|
|
95
|
+
...props
|
|
96
|
+
}, ref) => {
|
|
97
|
+
const [name, setName] = (0, import_react.useState)(nameProp);
|
|
98
|
+
(0, import_react.useEffect)(() => {
|
|
99
|
+
setName(nameProp);
|
|
100
|
+
}, [nameProp]);
|
|
101
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material2.ClickAwayListener, { onClickAway, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
102
|
+
PopperStyled,
|
|
103
|
+
{
|
|
104
|
+
id: popperId,
|
|
105
|
+
anchorEl: favoriteRef == null ? void 0 : favoriteRef.current,
|
|
106
|
+
onClick: (e) => e.stopPropagation(),
|
|
107
|
+
onTouchStart: (e) => e.stopPropagation(),
|
|
108
|
+
transition: true,
|
|
109
|
+
ref,
|
|
110
|
+
...props,
|
|
111
|
+
children: ({ TransitionProps }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material2.Fade, { ...TransitionProps, timeout: 350, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material2.Card, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_material2.CardContent, { sx: { display: "flex", gap: 1 }, children: [
|
|
112
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
113
|
+
import_material2.TextField,
|
|
114
|
+
{
|
|
115
|
+
autoFocus: true,
|
|
116
|
+
label: "Favorite Name",
|
|
117
|
+
placeholder: "optional",
|
|
118
|
+
size: "small",
|
|
119
|
+
value: name ?? "",
|
|
120
|
+
onChange: (e) => setName(e.target.value)
|
|
121
|
+
}
|
|
122
|
+
),
|
|
123
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(PopperButtonGroup, { favorite, onConfirmFavorite, name })
|
|
124
|
+
] }) }) })
|
|
125
|
+
}
|
|
126
|
+
) });
|
|
127
|
+
}
|
|
128
|
+
);
|
|
129
|
+
FavoritePopper.displayName = "FavoritePopper";
|
|
130
|
+
var PopperStyled = (0, import_material2.styled)(import_material2.Popper, { name: "PopperStyled" })(() => ({ zIndex: 9999 }));
|
|
131
|
+
|
|
132
|
+
// src/components/favorite/FavoriteIconButton.tsx
|
|
133
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
134
|
+
var FavoriteIconButton = (0, import_react2.forwardRef)(
|
|
135
|
+
({ children, favorite: favoriteProp, name, valueType, value, ...props }, ref) => {
|
|
136
|
+
const [openPopper, setOpenPopper] = (0, import_react2.useState)(false);
|
|
137
|
+
const [favorite, setFavorite] = (0, import_react2.useState)(favoriteProp);
|
|
138
|
+
(0, import_react2.useEffect)(() => {
|
|
139
|
+
setFavorite(favoriteProp);
|
|
140
|
+
}, [favoriteProp]);
|
|
141
|
+
const sharedRef = (0, import_react_shared.useShareForwardedRef)(ref);
|
|
142
|
+
const [buttonRef, dispatch] = (0, import_react_event.useEvent)(void 0, sharedRef);
|
|
143
|
+
const onConfirmFavorite = (name2, newFavoriteState) => {
|
|
144
|
+
const favoriteEvent = generateFavoriteEvent(!!newFavoriteState, valueType, value, name2);
|
|
145
|
+
dispatch("address", "favorite", JSON.stringify(favoriteEvent));
|
|
146
|
+
setFavorite(newFavoriteState);
|
|
147
|
+
setOpenPopper(false);
|
|
148
|
+
};
|
|
149
|
+
const starRef = (0, import_react2.useRef)(null);
|
|
150
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
|
|
151
|
+
IconButtonCondensed,
|
|
152
|
+
{
|
|
153
|
+
"aria-describedby": popperId,
|
|
154
|
+
ref: buttonRef,
|
|
155
|
+
onClick: (event) => {
|
|
156
|
+
event.stopPropagation();
|
|
157
|
+
setOpenPopper(!openPopper);
|
|
158
|
+
},
|
|
159
|
+
onTouchStart: (event) => {
|
|
160
|
+
event.stopPropagation();
|
|
161
|
+
setOpenPopper(!openPopper);
|
|
162
|
+
},
|
|
163
|
+
onMouseDown: (e) => e.stopPropagation(),
|
|
164
|
+
sx: { lineHeight: 0, p: 0.25 },
|
|
165
|
+
...props,
|
|
166
|
+
children: [
|
|
167
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { ref: starRef, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(FavoriteToggleSVG, { favorite }) }),
|
|
168
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
169
|
+
FavoritePopper,
|
|
170
|
+
{
|
|
171
|
+
sx: { zIndex: 1301 },
|
|
172
|
+
name,
|
|
173
|
+
favorite,
|
|
174
|
+
favoriteRef: starRef,
|
|
175
|
+
open: openPopper,
|
|
176
|
+
onConfirmFavorite,
|
|
177
|
+
onClickAway: () => setOpenPopper(false)
|
|
178
|
+
}
|
|
179
|
+
),
|
|
180
|
+
children
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
);
|
|
184
|
+
}
|
|
185
|
+
);
|
|
186
|
+
FavoriteIconButton.displayName = "FavoriteIconButton";
|
|
187
|
+
var IconButtonCondensed = (0, import_material3.styled)(import_material3.IconButton, { name: "IconButtonCondensed" })(({ theme }) => ({
|
|
188
|
+
lineHeight: 0,
|
|
189
|
+
padding: theme.spacing(0.25)
|
|
190
|
+
}));
|
|
191
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
192
|
+
0 && (module.exports = {
|
|
193
|
+
FavoriteIconButton
|
|
194
|
+
});
|
|
195
|
+
//# sourceMappingURL=FavoriteIconButton.cjs.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"],"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 { forwardRef, useEffect, useRef, useState } from 'react'\n\nimport { FavoriteItemEvent, generateFavoriteEvent } from '../lib'\nimport { FavoriteToggleSVG } from './FavoriteToggleSVG'\nimport { popperId } from './lib'\nimport { FavoritePopper } from './Popper'\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'\n\nexport const FavoriteToggleSVG: React.FC<{ favorite?: boolean }> = ({ favorite }) => (\n <>\n {favorite ? (\n <StarIcon className=\"favorite-icon\" component={'svg'} color=\"secondary\" fontSize=\"small\" />\n ) : (\n <StarBorderIcon className=\"favorite-icon\" fontSize=\"small\" />\n )}\n </>\n)\n","export const popperId = 'favorite-popper'\n","import { Card, CardContent, ClickAwayListener, Fade, Popper, PopperProps, styled, TextField } from '@mui/material'\nimport { forwardRef, RefObject, useEffect, useState } from 'react'\n\nimport { popperId } from './lib'\nimport { PopperButtonGroup } from './PopperButtonGroup'\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 return\n },\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}>\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'\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 <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 ) : null}\n </ButtonGroup>\n )\n}\n"],"mappings":"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","names":["import_material","import_react","StarIcon","StarBorderIcon","import_material","import_icons_material","import_jsx_runtime","StarIcon","DeleteIcon","import_jsx_runtime","import_jsx_runtime","name"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { IconButtonProps } from '@mui/material';
|
|
3
|
+
import { WithChildren } from '@xylabs/react-shared';
|
|
4
|
+
import { FavoriteItemEvent } from '../lib';
|
|
5
|
+
export interface FavoriteIconButtonProps extends WithChildren, IconButtonProps {
|
|
6
|
+
favorite?: FavoriteItemEvent['favorite'];
|
|
7
|
+
name?: FavoriteItemEvent['name'];
|
|
8
|
+
value?: string;
|
|
9
|
+
valueType?: FavoriteItemEvent['favoriteType'];
|
|
10
|
+
}
|
|
11
|
+
export declare const FavoriteIconButton: import("react").ForwardRefExoticComponent<Omit<FavoriteIconButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
12
|
+
//# sourceMappingURL=FavoriteIconButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FavoriteIconButton.d.ts","sourceRoot":"","sources":["../../../../src/components/favorite/FavoriteIconButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAc,eAAe,EAAU,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKnD,OAAO,EAAE,iBAAiB,EAAyB,MAAM,QAAQ,CAAA;AAKjE,MAAM,WAAW,uBAAwB,SAAQ,YAAY,EAAE,eAAe;IAC5E,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAA;IACxC,IAAI,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAA;CAC9C;AAED,eAAO,MAAM,kBAAkB,oIAqD9B,CAAA"}
|
|
@@ -1,55 +1,132 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
// src/components/favorite/FavoriteIconButton.tsx
|
|
2
|
+
import { IconButton, styled as styled2 } from "@mui/material";
|
|
3
|
+
import { useEvent } from "@xyo-network/react-event";
|
|
4
|
+
import { useShareForwardedRef } from "@xyo-network/react-shared";
|
|
5
|
+
import { forwardRef as forwardRef2, useEffect as useEffect2, useRef, useState as useState2 } from "react";
|
|
6
|
+
|
|
7
|
+
// src/components/lib/FavoriteItemEvent.ts
|
|
8
|
+
var generateFavoriteEvent = (favorite, favoriteType, favoriteValue, name) => ({
|
|
9
|
+
favorite: !!favorite,
|
|
10
|
+
favoriteType,
|
|
11
|
+
favoriteValue,
|
|
12
|
+
name
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
// src/components/favorite/FavoriteToggleSVG.tsx
|
|
16
|
+
import { Star as StarIcon, StarBorder as StarBorderIcon } from "@mui/icons-material";
|
|
17
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
18
|
+
var FavoriteToggleSVG = ({ favorite }) => /* @__PURE__ */ jsx(Fragment, { children: favorite ? /* @__PURE__ */ jsx(StarIcon, { className: "favorite-icon", component: "svg", color: "secondary", fontSize: "small" }) : /* @__PURE__ */ jsx(StarBorderIcon, { className: "favorite-icon", fontSize: "small" }) });
|
|
19
|
+
|
|
20
|
+
// src/components/favorite/lib/PopperId.ts
|
|
21
|
+
var popperId = "favorite-popper";
|
|
22
|
+
|
|
23
|
+
// src/components/favorite/Popper.tsx
|
|
24
|
+
import { Card, CardContent, ClickAwayListener, Fade, Popper, styled, TextField } from "@mui/material";
|
|
25
|
+
import { forwardRef, useEffect, useState } from "react";
|
|
26
|
+
|
|
27
|
+
// src/components/favorite/PopperButtonGroup.tsx
|
|
28
|
+
import { Delete as DeleteIcon, Star as StarIcon2 } from "@mui/icons-material";
|
|
29
|
+
import { Button, ButtonGroup } from "@mui/material";
|
|
30
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
31
|
+
var PopperButtonGroup = ({ name, onConfirmFavorite, favorite, ...props }) => {
|
|
32
|
+
return /* @__PURE__ */ jsxs(ButtonGroup, { ...props, children: [
|
|
33
|
+
/* @__PURE__ */ jsx2(
|
|
34
|
+
Button,
|
|
35
|
+
{
|
|
36
|
+
title: "Save Favorite",
|
|
37
|
+
variant: "contained",
|
|
38
|
+
onClick: (e) => {
|
|
39
|
+
e.stopPropagation();
|
|
40
|
+
onConfirmFavorite == null ? void 0 : onConfirmFavorite(name, true);
|
|
41
|
+
},
|
|
42
|
+
children: /* @__PURE__ */ jsx2(StarIcon2, {})
|
|
43
|
+
}
|
|
44
|
+
),
|
|
45
|
+
favorite ? /* @__PURE__ */ jsx2(
|
|
46
|
+
Button,
|
|
47
|
+
{
|
|
48
|
+
title: "Remove Favorite",
|
|
49
|
+
variant: "contained",
|
|
50
|
+
onClick: (e) => {
|
|
51
|
+
e.stopPropagation();
|
|
52
|
+
onConfirmFavorite == null ? void 0 : onConfirmFavorite(name, false);
|
|
53
|
+
},
|
|
54
|
+
children: /* @__PURE__ */ jsx2(DeleteIcon, {})
|
|
55
|
+
}
|
|
56
|
+
) : null
|
|
57
|
+
] });
|
|
9
58
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
59
|
+
|
|
60
|
+
// src/components/favorite/Popper.tsx
|
|
61
|
+
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
62
|
+
var FavoritePopper = forwardRef(
|
|
63
|
+
({
|
|
64
|
+
name: nameProp,
|
|
65
|
+
favorite,
|
|
66
|
+
favoriteRef,
|
|
67
|
+
onClickAway = () => {
|
|
68
|
+
return;
|
|
69
|
+
},
|
|
70
|
+
onConfirmFavorite,
|
|
71
|
+
...props
|
|
72
|
+
}, ref) => {
|
|
73
|
+
const [name, setName] = useState(nameProp);
|
|
74
|
+
useEffect(() => {
|
|
75
|
+
setName(nameProp);
|
|
76
|
+
}, [nameProp]);
|
|
77
|
+
return /* @__PURE__ */ jsx3(ClickAwayListener, { onClickAway, children: /* @__PURE__ */ jsx3(
|
|
78
|
+
PopperStyled,
|
|
79
|
+
{
|
|
80
|
+
id: popperId,
|
|
81
|
+
anchorEl: favoriteRef == null ? void 0 : favoriteRef.current,
|
|
82
|
+
onClick: (e) => e.stopPropagation(),
|
|
83
|
+
onTouchStart: (e) => e.stopPropagation(),
|
|
84
|
+
transition: true,
|
|
85
|
+
ref,
|
|
86
|
+
...props,
|
|
87
|
+
children: ({ TransitionProps }) => /* @__PURE__ */ jsx3(Fade, { ...TransitionProps, timeout: 350, children: /* @__PURE__ */ jsx3(Card, { children: /* @__PURE__ */ jsxs2(CardContent, { sx: { display: "flex", gap: 1 }, children: [
|
|
88
|
+
/* @__PURE__ */ jsx3(
|
|
89
|
+
TextField,
|
|
90
|
+
{
|
|
91
|
+
autoFocus: true,
|
|
92
|
+
label: "Favorite Name",
|
|
93
|
+
placeholder: "optional",
|
|
94
|
+
size: "small",
|
|
95
|
+
value: name ?? "",
|
|
96
|
+
onChange: (e) => setName(e.target.value)
|
|
97
|
+
}
|
|
98
|
+
),
|
|
99
|
+
/* @__PURE__ */ jsx3(PopperButtonGroup, { favorite, onConfirmFavorite, name })
|
|
100
|
+
] }) }) })
|
|
101
|
+
}
|
|
102
|
+
) });
|
|
15
103
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
module.exports = __toCommonJS(FavoriteIconButton_exports);
|
|
24
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
-
var import_material = require("@mui/material");
|
|
26
|
-
var import_react_event = require("@xyo-network/react-event");
|
|
27
|
-
var import_react_shared2 = require("@xyo-network/react-shared");
|
|
28
|
-
var import_react = require("react");
|
|
29
|
-
var import_lib = require("../lib");
|
|
30
|
-
var import_FavoriteToggleSVG = require("./FavoriteToggleSVG");
|
|
31
|
-
var import_lib2 = require("./lib");
|
|
32
|
-
var import_Popper = require("./Popper");
|
|
33
|
-
const FavoriteIconButton = (0, import_react.forwardRef)(
|
|
104
|
+
);
|
|
105
|
+
FavoritePopper.displayName = "FavoritePopper";
|
|
106
|
+
var PopperStyled = styled(Popper, { name: "PopperStyled" })(() => ({ zIndex: 9999 }));
|
|
107
|
+
|
|
108
|
+
// src/components/favorite/FavoriteIconButton.tsx
|
|
109
|
+
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
110
|
+
var FavoriteIconButton = forwardRef2(
|
|
34
111
|
({ children, favorite: favoriteProp, name, valueType, value, ...props }, ref) => {
|
|
35
|
-
const [openPopper, setOpenPopper] = (
|
|
36
|
-
const [favorite, setFavorite] = (
|
|
37
|
-
(
|
|
112
|
+
const [openPopper, setOpenPopper] = useState2(false);
|
|
113
|
+
const [favorite, setFavorite] = useState2(favoriteProp);
|
|
114
|
+
useEffect2(() => {
|
|
38
115
|
setFavorite(favoriteProp);
|
|
39
116
|
}, [favoriteProp]);
|
|
40
|
-
const sharedRef =
|
|
41
|
-
const [buttonRef, dispatch] =
|
|
117
|
+
const sharedRef = useShareForwardedRef(ref);
|
|
118
|
+
const [buttonRef, dispatch] = useEvent(void 0, sharedRef);
|
|
42
119
|
const onConfirmFavorite = (name2, newFavoriteState) => {
|
|
43
|
-
const favoriteEvent =
|
|
120
|
+
const favoriteEvent = generateFavoriteEvent(!!newFavoriteState, valueType, value, name2);
|
|
44
121
|
dispatch("address", "favorite", JSON.stringify(favoriteEvent));
|
|
45
122
|
setFavorite(newFavoriteState);
|
|
46
123
|
setOpenPopper(false);
|
|
47
124
|
};
|
|
48
|
-
const starRef =
|
|
49
|
-
return /* @__PURE__ */ (
|
|
125
|
+
const starRef = useRef(null);
|
|
126
|
+
return /* @__PURE__ */ jsxs3(
|
|
50
127
|
IconButtonCondensed,
|
|
51
128
|
{
|
|
52
|
-
"aria-describedby":
|
|
129
|
+
"aria-describedby": popperId,
|
|
53
130
|
ref: buttonRef,
|
|
54
131
|
onClick: (event) => {
|
|
55
132
|
event.stopPropagation();
|
|
@@ -63,9 +140,9 @@ const FavoriteIconButton = (0, import_react.forwardRef)(
|
|
|
63
140
|
sx: { lineHeight: 0, p: 0.25 },
|
|
64
141
|
...props,
|
|
65
142
|
children: [
|
|
66
|
-
/* @__PURE__ */ (
|
|
67
|
-
/* @__PURE__ */ (
|
|
68
|
-
|
|
143
|
+
/* @__PURE__ */ jsx4("span", { ref: starRef, children: /* @__PURE__ */ jsx4(FavoriteToggleSVG, { favorite }) }),
|
|
144
|
+
/* @__PURE__ */ jsx4(
|
|
145
|
+
FavoritePopper,
|
|
69
146
|
{
|
|
70
147
|
sx: { zIndex: 1301 },
|
|
71
148
|
name,
|
|
@@ -83,12 +160,11 @@ const FavoriteIconButton = (0, import_react.forwardRef)(
|
|
|
83
160
|
}
|
|
84
161
|
);
|
|
85
162
|
FavoriteIconButton.displayName = "FavoriteIconButton";
|
|
86
|
-
|
|
163
|
+
var IconButtonCondensed = styled2(IconButton, { name: "IconButtonCondensed" })(({ theme }) => ({
|
|
87
164
|
lineHeight: 0,
|
|
88
165
|
padding: theme.spacing(0.25)
|
|
89
166
|
}));
|
|
90
|
-
|
|
91
|
-
0 && (module.exports = {
|
|
167
|
+
export {
|
|
92
168
|
FavoriteIconButton
|
|
93
|
-
}
|
|
169
|
+
};
|
|
94
170
|
//# sourceMappingURL=FavoriteIconButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/favorite/FavoriteIconButton.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 { forwardRef, useEffect, useRef, useState } from 'react'\n\nimport { FavoriteItemEvent, generateFavoriteEvent } from '../lib'\nimport { FavoriteToggleSVG } from './FavoriteToggleSVG'\nimport { popperId } from './lib'\nimport { FavoritePopper } from './Popper'\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"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCM;AAxCN,sBAAoD;AAEpD,yBAAyB;AACzB,IAAAA,uBAAqC;AACrC,mBAAwD;AAExD,iBAAyD;AACzD,+BAAkC;AAClC,IAAAC,cAAyB;AACzB,oBAA+B;AASxB,MAAM,yBAAqB;AAAA,EAChC,CAAC,EAAE,UAAU,UAAU,cAAc,MAAM,WAAW,OAAO,GAAG,MAAM,GAAG,QAAQ;AAC/E,UAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,KAAK;AAElD,UAAM,CAAC,UAAU,WAAW,QAAI,uBAAS,YAAY;AACrD,gCAAU,MAAM;AACd,kBAAY,YAAY;AAAA,IAC1B,GAAG,CAAC,YAAY,CAAC;AAEjB,UAAM,gBAAY,2CAAqB,GAAG;AAC1C,UAAM,CAAC,WAAW,QAAQ,QAAI,6BAAS,QAAW,SAAS;AAE3D,UAAM,oBAAoB,CAACC,OAAe,qBAA+B;AACvE,YAAM,oBAAgB,kCAAsB,CAAC,CAAC,kBAAkB,WAAW,OAAOA,KAAI;AACtF,eAAS,WAAW,YAAY,KAAK,UAAU,aAAa,CAAC;AAC7D,kBAAY,gBAAgB;AAC5B,oBAAc,KAAK;AAAA,IACrB;AAEA,UAAM,cAAU,qBAAwB,IAAI;AAE5C,WACE;AAAA,MAAC;AAAA;AAAA,QACC,oBAAkB;AAAA,QAClB,KAAK;AAAA,QACL,SAAS,CAAC,UAAU;AAClB,gBAAM,gBAAgB;AACtB,wBAAc,CAAC,UAAU;AAAA,QAC3B;AAAA,QACA,cAAc,CAAC,UAAU;AACvB,gBAAM,gBAAgB;AACtB,wBAAc,CAAC,UAAU;AAAA,QAC3B;AAAA,QACA,aAAa,CAAC,MAAM,EAAE,gBAAgB;AAAA,QACtC,IAAI,EAAE,YAAY,GAAG,GAAG,KAAK;AAAA,QAC5B,GAAG;AAAA,QAEJ;AAAA,sDAAC,UAAK,KAAK,SACT,sDAAC,8CAAkB,UAAoB,GACzC;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,IAAI,EAAE,QAAQ,KAAK;AAAA,cACnB;AAAA,cACA;AAAA,cACA,aAAa;AAAA,cACb,MAAM;AAAA,cACN;AAAA,cACA,aAAa,MAAM,cAAc,KAAK;AAAA;AAAA,UACxC;AAAA,UACC;AAAA;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEA,mBAAmB,cAAc;AAEjC,MAAM,0BAAsB,wBAAO,4BAAY,EAAE,MAAM,sBAAsB,CAAC,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EAC9F,YAAY;AAAA,EACZ,SAAS,MAAM,QAAQ,IAAI;AAC7B,EAAE;","names":["import_react_shared","import_lib","name"]}
|
|
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"],"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 { forwardRef, useEffect, useRef, useState } from 'react'\n\nimport { FavoriteItemEvent, generateFavoriteEvent } from '../lib'\nimport { FavoriteToggleSVG } from './FavoriteToggleSVG'\nimport { popperId } from './lib'\nimport { FavoritePopper } from './Popper'\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'\n\nexport const FavoriteToggleSVG: React.FC<{ favorite?: boolean }> = ({ favorite }) => (\n <>\n {favorite ? (\n <StarIcon className=\"favorite-icon\" component={'svg'} color=\"secondary\" fontSize=\"small\" />\n ) : (\n <StarBorderIcon className=\"favorite-icon\" fontSize=\"small\" />\n )}\n </>\n)\n","export const popperId = 'favorite-popper'\n","import { Card, CardContent, ClickAwayListener, Fade, Popper, PopperProps, styled, TextField } from '@mui/material'\nimport { forwardRef, RefObject, useEffect, useState } from 'react'\n\nimport { popperId } from './lib'\nimport { PopperButtonGroup } from './PopperButtonGroup'\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 return\n },\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}>\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'\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 <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 ) : null}\n </ButtonGroup>\n )\n}\n"],"mappings":"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","names":["styled","forwardRef","useEffect","useState","StarIcon","jsx","jsx","jsxs","jsx","jsxs","forwardRef","useState","useEffect","name","styled"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/components/favorite/FavoriteToggleSVG.tsx
|
|
21
|
+
var FavoriteToggleSVG_exports = {};
|
|
22
|
+
__export(FavoriteToggleSVG_exports, {
|
|
23
|
+
FavoriteToggleSVG: () => FavoriteToggleSVG
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(FavoriteToggleSVG_exports);
|
|
26
|
+
var import_icons_material = require("@mui/icons-material");
|
|
27
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
28
|
+
var FavoriteToggleSVG = ({ favorite }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: favorite ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.Star, { className: "favorite-icon", component: "svg", color: "secondary", fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.StarBorder, { className: "favorite-icon", fontSize: "small" }) });
|
|
29
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
30
|
+
0 && (module.exports = {
|
|
31
|
+
FavoriteToggleSVG
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=FavoriteToggleSVG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/favorite/FavoriteToggleSVG.tsx"],"sourcesContent":["import { Star as StarIcon, StarBorder as StarBorderIcon } from '@mui/icons-material'\n\nexport const FavoriteToggleSVG: React.FC<{ favorite?: boolean }> = ({ favorite }) => (\n <>\n {favorite ? (\n <StarIcon className=\"favorite-icon\" component={'svg'} color=\"secondary\" fontSize=\"small\" />\n ) : (\n <StarBorderIcon className=\"favorite-icon\" fontSize=\"small\" />\n )}\n </>\n)\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAA+D;AAG7D;AADK,IAAM,oBAAsD,CAAC,EAAE,SAAS,MAC7E,2EACG,qBACC,4CAAC,sBAAAA,MAAA,EAAS,WAAU,iBAAgB,WAAW,OAAO,OAAM,aAAY,UAAS,SAAQ,IAEzF,4CAAC,sBAAAC,YAAA,EAAe,WAAU,iBAAgB,UAAS,SAAQ,GAE/D;","names":["StarIcon","StarBorderIcon"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FavoriteToggleSVG.d.ts","sourceRoot":"","sources":["../../../../src/components/favorite/FavoriteToggleSVG.tsx"],"names":[],"mappings":";AAEA,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAQ9D,CAAA"}
|
|
@@ -1,31 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var FavoriteToggleSVG_exports = {};
|
|
20
|
-
__export(FavoriteToggleSVG_exports, {
|
|
21
|
-
FavoriteToggleSVG: () => FavoriteToggleSVG
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(FavoriteToggleSVG_exports);
|
|
24
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
-
var import_icons_material = require("@mui/icons-material");
|
|
26
|
-
const FavoriteToggleSVG = ({ favorite }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: favorite ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.Star, { className: "favorite-icon", component: "svg", color: "secondary", fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.StarBorder, { className: "favorite-icon", fontSize: "small" }) });
|
|
27
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
28
|
-
0 && (module.exports = {
|
|
1
|
+
// src/components/favorite/FavoriteToggleSVG.tsx
|
|
2
|
+
import { Star as StarIcon, StarBorder as StarBorderIcon } from "@mui/icons-material";
|
|
3
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
4
|
+
var FavoriteToggleSVG = ({ favorite }) => /* @__PURE__ */ jsx(Fragment, { children: favorite ? /* @__PURE__ */ jsx(StarIcon, { className: "favorite-icon", component: "svg", color: "secondary", fontSize: "small" }) : /* @__PURE__ */ jsx(StarBorderIcon, { className: "favorite-icon", fontSize: "small" }) });
|
|
5
|
+
export {
|
|
29
6
|
FavoriteToggleSVG
|
|
30
|
-
}
|
|
7
|
+
};
|
|
31
8
|
//# sourceMappingURL=FavoriteToggleSVG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/favorite/FavoriteToggleSVG.tsx"],"sourcesContent":["import { Star as StarIcon, StarBorder as StarBorderIcon } from '@mui/icons-material'\n\nexport const FavoriteToggleSVG: React.FC<{ favorite?: boolean }> = ({ favorite }) => (\n <>\n {favorite ? (\n <StarIcon className=\"favorite-icon\" component={'svg'} color=\"secondary\" fontSize=\"small\" />\n ) : (\n <StarBorderIcon className=\"favorite-icon\" fontSize=\"small\" />\n )}\n </>\n)\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/favorite/FavoriteToggleSVG.tsx"],"sourcesContent":["import { Star as StarIcon, StarBorder as StarBorderIcon } from '@mui/icons-material'\n\nexport const FavoriteToggleSVG: React.FC<{ favorite?: boolean }> = ({ favorite }) => (\n <>\n {favorite ? (\n <StarIcon className=\"favorite-icon\" component={'svg'} color=\"secondary\" fontSize=\"small\" />\n ) : (\n <StarBorderIcon className=\"favorite-icon\" fontSize=\"small\" />\n )}\n </>\n)\n"],"mappings":";AAAA,SAAS,QAAQ,UAAU,cAAc,sBAAsB;AAG7D,mBAEI,WAFJ;AADK,IAAM,oBAAsD,CAAC,EAAE,SAAS,MAC7E,gCACG,qBACC,oBAAC,YAAS,WAAU,iBAAgB,WAAW,OAAO,OAAM,aAAY,UAAS,SAAQ,IAEzF,oBAAC,kBAAe,WAAU,iBAAgB,UAAS,SAAQ,GAE/D;","names":[]}
|