@xyo-network/react-address-render 2.64.8 → 2.64.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/docs.json +4124 -872
  2. package/package.json +10 -10
  3. package/dist/browser/components/RenderRowBox.cjs +0 -239
  4. package/dist/browser/components/RenderRowBox.cjs.map +0 -1
  5. package/dist/browser/components/RenderRowBox.js +0 -218
  6. package/dist/browser/components/RenderRowBox.js.map +0 -1
  7. package/dist/browser/components/favorite/FavoriteIconButton.cjs +0 -191
  8. package/dist/browser/components/favorite/FavoriteIconButton.cjs.map +0 -1
  9. package/dist/browser/components/favorite/FavoriteIconButton.js +0 -170
  10. package/dist/browser/components/favorite/FavoriteIconButton.js.map +0 -1
  11. package/dist/browser/components/favorite/FavoriteToggleSVG.cjs +0 -29
  12. package/dist/browser/components/favorite/FavoriteToggleSVG.cjs.map +0 -1
  13. package/dist/browser/components/favorite/FavoriteToggleSVG.js +0 -8
  14. package/dist/browser/components/favorite/FavoriteToggleSVG.js.map +0 -1
  15. package/dist/browser/components/favorite/Popper.cjs +0 -112
  16. package/dist/browser/components/favorite/Popper.cjs.map +0 -1
  17. package/dist/browser/components/favorite/Popper.js +0 -91
  18. package/dist/browser/components/favorite/Popper.js.map +0 -1
  19. package/dist/browser/components/favorite/PopperButtonGroup.cjs +0 -57
  20. package/dist/browser/components/favorite/PopperButtonGroup.cjs.map +0 -1
  21. package/dist/browser/components/favorite/PopperButtonGroup.js +0 -36
  22. package/dist/browser/components/favorite/PopperButtonGroup.js.map +0 -1
  23. package/dist/browser/components/favorite/index.cjs +0 -193
  24. package/dist/browser/components/favorite/index.cjs.map +0 -1
  25. package/dist/browser/components/favorite/index.js +0 -170
  26. package/dist/browser/components/favorite/index.js.map +0 -1
  27. package/dist/browser/components/favorite/lib/PopperId.cjs +0 -27
  28. package/dist/browser/components/favorite/lib/PopperId.cjs.map +0 -1
  29. package/dist/browser/components/favorite/lib/PopperId.js +0 -6
  30. package/dist/browser/components/favorite/lib/PopperId.js.map +0 -1
  31. package/dist/browser/components/favorite/lib/index.cjs +0 -29
  32. package/dist/browser/components/favorite/lib/index.cjs.map +0 -1
  33. package/dist/browser/components/favorite/lib/index.js +0 -6
  34. package/dist/browser/components/favorite/lib/index.js.map +0 -1
  35. package/dist/browser/components/index.cjs +0 -241
  36. package/dist/browser/components/index.cjs.map +0 -1
  37. package/dist/browser/components/index.js +0 -218
  38. package/dist/browser/components/index.js.map +0 -1
  39. package/dist/browser/components/lib/FavoriteItemEvent.cjs +0 -32
  40. package/dist/browser/components/lib/FavoriteItemEvent.cjs.map +0 -1
  41. package/dist/browser/components/lib/FavoriteItemEvent.js +0 -11
  42. package/dist/browser/components/lib/FavoriteItemEvent.js.map +0 -1
  43. package/dist/browser/components/lib/index.cjs +0 -34
  44. package/dist/browser/components/lib/index.cjs.map +0 -1
  45. package/dist/browser/components/lib/index.js +0 -11
  46. package/dist/browser/components/lib/index.js.map +0 -1
  47. package/dist/node/components/RenderRowBox.cjs +0 -243
  48. package/dist/node/components/RenderRowBox.cjs.map +0 -1
  49. package/dist/node/components/RenderRowBox.js +0 -218
  50. package/dist/node/components/RenderRowBox.js.map +0 -1
  51. package/dist/node/components/favorite/FavoriteIconButton.cjs +0 -195
  52. package/dist/node/components/favorite/FavoriteIconButton.cjs.map +0 -1
  53. package/dist/node/components/favorite/FavoriteIconButton.js +0 -170
  54. package/dist/node/components/favorite/FavoriteIconButton.js.map +0 -1
  55. package/dist/node/components/favorite/FavoriteToggleSVG.cjs +0 -33
  56. package/dist/node/components/favorite/FavoriteToggleSVG.cjs.map +0 -1
  57. package/dist/node/components/favorite/FavoriteToggleSVG.js +0 -8
  58. package/dist/node/components/favorite/FavoriteToggleSVG.js.map +0 -1
  59. package/dist/node/components/favorite/Popper.cjs +0 -116
  60. package/dist/node/components/favorite/Popper.cjs.map +0 -1
  61. package/dist/node/components/favorite/Popper.js +0 -91
  62. package/dist/node/components/favorite/Popper.js.map +0 -1
  63. package/dist/node/components/favorite/PopperButtonGroup.cjs +0 -61
  64. package/dist/node/components/favorite/PopperButtonGroup.cjs.map +0 -1
  65. package/dist/node/components/favorite/PopperButtonGroup.js +0 -36
  66. package/dist/node/components/favorite/PopperButtonGroup.js.map +0 -1
  67. package/dist/node/components/favorite/index.cjs +0 -197
  68. package/dist/node/components/favorite/index.cjs.map +0 -1
  69. package/dist/node/components/favorite/index.js +0 -170
  70. package/dist/node/components/favorite/index.js.map +0 -1
  71. package/dist/node/components/favorite/lib/PopperId.cjs +0 -31
  72. package/dist/node/components/favorite/lib/PopperId.cjs.map +0 -1
  73. package/dist/node/components/favorite/lib/PopperId.js +0 -6
  74. package/dist/node/components/favorite/lib/PopperId.js.map +0 -1
  75. package/dist/node/components/favorite/lib/index.cjs +0 -33
  76. package/dist/node/components/favorite/lib/index.cjs.map +0 -1
  77. package/dist/node/components/favorite/lib/index.js +0 -6
  78. package/dist/node/components/favorite/lib/index.js.map +0 -1
  79. package/dist/node/components/index.cjs +0 -247
  80. package/dist/node/components/index.cjs.map +0 -1
  81. package/dist/node/components/index.js +0 -218
  82. package/dist/node/components/index.js.map +0 -1
  83. package/dist/node/components/lib/FavoriteItemEvent.cjs +0 -36
  84. package/dist/node/components/lib/FavoriteItemEvent.cjs.map +0 -1
  85. package/dist/node/components/lib/FavoriteItemEvent.js +0 -11
  86. package/dist/node/components/lib/FavoriteItemEvent.js.map +0 -1
  87. package/dist/node/components/lib/index.cjs +0 -38
  88. package/dist/node/components/lib/index.cjs.map +0 -1
  89. package/dist/node/components/lib/index.js +0 -11
  90. package/dist/node/components/lib/index.js.map +0 -1
@@ -1,195 +0,0 @@
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
@@ -1 +0,0 @@
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"]}
@@ -1,170 +0,0 @@
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
- ] });
58
- };
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
- ) });
103
- }
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(
111
- ({ children, favorite: favoriteProp, name, valueType, value, ...props }, ref) => {
112
- const [openPopper, setOpenPopper] = useState2(false);
113
- const [favorite, setFavorite] = useState2(favoriteProp);
114
- useEffect2(() => {
115
- setFavorite(favoriteProp);
116
- }, [favoriteProp]);
117
- const sharedRef = useShareForwardedRef(ref);
118
- const [buttonRef, dispatch] = useEvent(void 0, sharedRef);
119
- const onConfirmFavorite = (name2, newFavoriteState) => {
120
- const favoriteEvent = generateFavoriteEvent(!!newFavoriteState, valueType, value, name2);
121
- dispatch("address", "favorite", JSON.stringify(favoriteEvent));
122
- setFavorite(newFavoriteState);
123
- setOpenPopper(false);
124
- };
125
- const starRef = useRef(null);
126
- return /* @__PURE__ */ jsxs3(
127
- IconButtonCondensed,
128
- {
129
- "aria-describedby": popperId,
130
- ref: buttonRef,
131
- onClick: (event) => {
132
- event.stopPropagation();
133
- setOpenPopper(!openPopper);
134
- },
135
- onTouchStart: (event) => {
136
- event.stopPropagation();
137
- setOpenPopper(!openPopper);
138
- },
139
- onMouseDown: (e) => e.stopPropagation(),
140
- sx: { lineHeight: 0, p: 0.25 },
141
- ...props,
142
- children: [
143
- /* @__PURE__ */ jsx4("span", { ref: starRef, children: /* @__PURE__ */ jsx4(FavoriteToggleSVG, { favorite }) }),
144
- /* @__PURE__ */ jsx4(
145
- FavoritePopper,
146
- {
147
- sx: { zIndex: 1301 },
148
- name,
149
- favorite,
150
- favoriteRef: starRef,
151
- open: openPopper,
152
- onConfirmFavorite,
153
- onClickAway: () => setOpenPopper(false)
154
- }
155
- ),
156
- children
157
- ]
158
- }
159
- );
160
- }
161
- );
162
- FavoriteIconButton.displayName = "FavoriteIconButton";
163
- var IconButtonCondensed = styled2(IconButton, { name: "IconButtonCondensed" })(({ theme }) => ({
164
- lineHeight: 0,
165
- padding: theme.spacing(0.25)
166
- }));
167
- export {
168
- FavoriteIconButton
169
- };
170
- //# sourceMappingURL=FavoriteIconButton.js.map
@@ -1 +0,0 @@
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"]}
@@ -1,33 +0,0 @@
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
@@ -1 +0,0 @@
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"]}
@@ -1,8 +0,0 @@
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 {
6
- FavoriteToggleSVG
7
- };
8
- //# sourceMappingURL=FavoriteToggleSVG.js.map
@@ -1 +0,0 @@
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":[]}
@@ -1,116 +0,0 @@
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/Popper.tsx
21
- var Popper_exports = {};
22
- __export(Popper_exports, {
23
- FavoritePopper: () => FavoritePopper
24
- });
25
- module.exports = __toCommonJS(Popper_exports);
26
- var import_material2 = require("@mui/material");
27
- var import_react = require("react");
28
-
29
- // src/components/favorite/lib/PopperId.ts
30
- var popperId = "favorite-popper";
31
-
32
- // src/components/favorite/PopperButtonGroup.tsx
33
- var import_icons_material = require("@mui/icons-material");
34
- var import_material = require("@mui/material");
35
- var import_jsx_runtime = require("react/jsx-runtime");
36
- var PopperButtonGroup = ({ name, onConfirmFavorite, favorite, ...props }) => {
37
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.ButtonGroup, { ...props, children: [
38
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
39
- import_material.Button,
40
- {
41
- title: "Save Favorite",
42
- variant: "contained",
43
- onClick: (e) => {
44
- e.stopPropagation();
45
- onConfirmFavorite == null ? void 0 : onConfirmFavorite(name, true);
46
- },
47
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.Star, {})
48
- }
49
- ),
50
- favorite ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
51
- import_material.Button,
52
- {
53
- title: "Remove Favorite",
54
- variant: "contained",
55
- onClick: (e) => {
56
- e.stopPropagation();
57
- onConfirmFavorite == null ? void 0 : onConfirmFavorite(name, false);
58
- },
59
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.Delete, {})
60
- }
61
- ) : null
62
- ] });
63
- };
64
-
65
- // src/components/favorite/Popper.tsx
66
- var import_jsx_runtime2 = require("react/jsx-runtime");
67
- var FavoritePopper = (0, import_react.forwardRef)(
68
- ({
69
- name: nameProp,
70
- favorite,
71
- favoriteRef,
72
- onClickAway = () => {
73
- return;
74
- },
75
- onConfirmFavorite,
76
- ...props
77
- }, ref) => {
78
- const [name, setName] = (0, import_react.useState)(nameProp);
79
- (0, import_react.useEffect)(() => {
80
- setName(nameProp);
81
- }, [nameProp]);
82
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.ClickAwayListener, { onClickAway, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
83
- PopperStyled,
84
- {
85
- id: popperId,
86
- anchorEl: favoriteRef == null ? void 0 : favoriteRef.current,
87
- onClick: (e) => e.stopPropagation(),
88
- onTouchStart: (e) => e.stopPropagation(),
89
- transition: true,
90
- ref,
91
- ...props,
92
- children: ({ TransitionProps }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.Fade, { ...TransitionProps, timeout: 350, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.Card, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_material2.CardContent, { sx: { display: "flex", gap: 1 }, children: [
93
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
94
- import_material2.TextField,
95
- {
96
- autoFocus: true,
97
- label: "Favorite Name",
98
- placeholder: "optional",
99
- size: "small",
100
- value: name ?? "",
101
- onChange: (e) => setName(e.target.value)
102
- }
103
- ),
104
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(PopperButtonGroup, { favorite, onConfirmFavorite, name })
105
- ] }) }) })
106
- }
107
- ) });
108
- }
109
- );
110
- FavoritePopper.displayName = "FavoritePopper";
111
- var PopperStyled = (0, import_material2.styled)(import_material2.Popper, { name: "PopperStyled" })(() => ({ zIndex: 9999 }));
112
- // Annotate the CommonJS export names for ESM import in node:
113
- 0 && (module.exports = {
114
- FavoritePopper
115
- });
116
- //# sourceMappingURL=Popper.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/components/favorite/Popper.tsx","../../../../src/components/favorite/lib/PopperId.ts","../../../../src/components/favorite/PopperButtonGroup.tsx"],"sourcesContent":["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","export const popperId = 'favorite-popper'\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":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,mBAAmG;AACnG,mBAA2D;;;ACDpD,IAAM,WAAW;;;ACAxB,4BAAuD;AACvD,sBAAsD;AAUlD;AAFG,IAAM,oBAAmD,CAAC,EAAE,MAAM,mBAAmB,UAAU,GAAG,MAAM,MAAM;AACnH,SACE,6CAAC,+BAAa,GAAG,OACf;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,SAAQ;AAAA,QACR,SAAS,CAAC,MAAM;AACd,YAAE,gBAAgB;AAClB,iEAAoB,MAAM;AAAA,QAC5B;AAAA,QAEA,sDAAC,sBAAAC,MAAA,EAAS;AAAA;AAAA,IACZ;AAAA,IACC,WACC;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,SAAQ;AAAA,QACR,SAAS,CAAC,MAAM;AACd,YAAE,gBAAgB;AAClB,iEAAoB,MAAM;AAAA,QAC5B;AAAA,QAEA,sDAAC,sBAAAC,QAAA,EAAW;AAAA;AAAA,IACd,IACE;AAAA,KACN;AAEJ;;;AFUgB,IAAAC,sBAAA;AAjCT,IAAM,qBAAiB;AAAA,EAC5B,CACE;AAAA,IACE,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA,cAAc,MAAM;AAClB;AAAA,IACF;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,CAAC,MAAM,OAAO,QAAI,uBAAS,QAAQ;AACzC,gCAAU,MAAM;AACd,cAAQ,QAAQ;AAAA,IAClB,GAAG,CAAC,QAAQ,CAAC;AAEb,WACE,6CAAC,sCAAkB,aACjB;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,UAAU,2CAAa;AAAA,QACvB,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,QAClC,cAAc,CAAC,MAAM,EAAE,gBAAgB;AAAA,QACvC,YAAU;AAAA,QACV;AAAA,QACC,GAAG;AAAA,QAEH,WAAC,EAAE,gBAAgB,MAClB,6CAAC,yBAAM,GAAG,iBAAiB,SAAS,KAClC,uDAAC,yBACC,wDAAC,gCAAY,IAAI,EAAE,SAAS,QAAQ,KAAK,EAAE,GACzC;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,WAAS;AAAA,cACT,OAAM;AAAA,cACN,aAAY;AAAA,cACZ,MAAK;AAAA,cACL,OAAO,QAAQ;AAAA,cACf,UAAU,CAAC,MAAM,QAAQ,EAAE,OAAO,KAAK;AAAA;AAAA,UACzC;AAAA,UACA,6CAAC,qBAAkB,UAAoB,mBAAsC,MAAY;AAAA,WAC3F,GACF,GACF;AAAA;AAAA,IAEJ,GACF;AAAA,EAEJ;AACF;AAEA,eAAe,cAAc;AAG7B,IAAM,mBAAe,yBAAO,yBAAQ,EAAE,MAAM,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,KAAK,EAAE;","names":["import_material","StarIcon","DeleteIcon","import_jsx_runtime"]}