@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.
Files changed (148) hide show
  1. package/dist/browser/components/RenderRowBox.cjs +239 -0
  2. package/dist/browser/components/RenderRowBox.cjs.map +1 -0
  3. package/dist/browser/components/RenderRowBox.d.cts +14 -0
  4. package/dist/browser/components/RenderRowBox.d.cts.map +1 -0
  5. package/dist/browser/components/favorite/FavoriteIconButton.cjs +191 -0
  6. package/dist/browser/components/favorite/FavoriteIconButton.cjs.map +1 -0
  7. package/dist/browser/components/favorite/FavoriteIconButton.d.cts +12 -0
  8. package/dist/browser/components/favorite/FavoriteIconButton.d.cts.map +1 -0
  9. package/dist/browser/components/favorite/FavoriteToggleSVG.cjs +29 -0
  10. package/dist/{node/components/favorite/FavoriteToggleSVG.mjs.map → browser/components/favorite/FavoriteToggleSVG.cjs.map} +1 -1
  11. package/dist/browser/components/favorite/FavoriteToggleSVG.d.cts +5 -0
  12. package/dist/browser/components/favorite/FavoriteToggleSVG.d.cts.map +1 -0
  13. package/dist/browser/components/favorite/Popper.cjs +112 -0
  14. package/dist/browser/components/favorite/Popper.cjs.map +1 -0
  15. package/dist/browser/components/favorite/Popper.d.cts +11 -0
  16. package/dist/browser/components/favorite/Popper.d.cts.map +1 -0
  17. package/dist/browser/components/favorite/PopperButtonGroup.cjs +57 -0
  18. package/dist/browser/components/favorite/PopperButtonGroup.cjs.map +1 -0
  19. package/dist/browser/components/favorite/PopperButtonGroup.d.cts +9 -0
  20. package/dist/browser/components/favorite/PopperButtonGroup.d.cts.map +1 -0
  21. package/dist/browser/components/favorite/index.cjs +193 -0
  22. package/dist/browser/components/favorite/index.cjs.map +1 -0
  23. package/dist/browser/components/favorite/index.d.cts +2 -0
  24. package/dist/browser/components/favorite/index.d.cts.map +1 -0
  25. package/dist/browser/components/favorite/lib/PopperId.cjs +27 -0
  26. package/dist/{node/components/favorite/lib/PopperId.mjs.map → browser/components/favorite/lib/PopperId.cjs.map} +1 -1
  27. package/dist/browser/components/favorite/lib/PopperId.d.cts +2 -0
  28. package/dist/browser/components/favorite/lib/PopperId.d.cts.map +1 -0
  29. package/dist/browser/components/favorite/lib/index.cjs +29 -0
  30. package/dist/browser/components/favorite/lib/index.cjs.map +1 -0
  31. package/dist/browser/components/favorite/lib/index.d.cts +2 -0
  32. package/dist/browser/components/favorite/lib/index.d.cts.map +1 -0
  33. package/dist/browser/components/index.cjs +241 -0
  34. package/dist/browser/components/index.cjs.map +1 -0
  35. package/dist/browser/components/index.d.cts +4 -0
  36. package/dist/browser/components/index.d.cts.map +1 -0
  37. package/dist/browser/components/lib/FavoriteItemEvent.cjs +32 -0
  38. package/dist/{node/components/lib/FavoriteItemEvent.mjs.map → browser/components/lib/FavoriteItemEvent.cjs.map} +1 -1
  39. package/dist/browser/components/lib/FavoriteItemEvent.d.cts +9 -0
  40. package/dist/browser/components/lib/FavoriteItemEvent.d.cts.map +1 -0
  41. package/dist/browser/components/lib/index.cjs +34 -0
  42. package/dist/browser/components/lib/index.cjs.map +1 -0
  43. package/dist/browser/components/lib/index.d.cts +2 -0
  44. package/dist/browser/components/lib/index.d.cts.map +1 -0
  45. package/dist/browser/index.cjs +241 -0
  46. package/dist/browser/index.cjs.map +1 -0
  47. package/dist/browser/index.d.cts +2 -0
  48. package/dist/browser/index.d.cts.map +1 -0
  49. package/dist/docs.json +24106 -0
  50. package/dist/node/components/RenderRowBox.cjs +243 -0
  51. package/dist/node/components/RenderRowBox.cjs.map +1 -0
  52. package/dist/node/components/RenderRowBox.d.cts +14 -0
  53. package/dist/node/components/RenderRowBox.d.cts.map +1 -0
  54. package/dist/node/components/RenderRowBox.js +187 -42
  55. package/dist/node/components/RenderRowBox.js.map +1 -1
  56. package/dist/node/components/favorite/FavoriteIconButton.cjs +195 -0
  57. package/dist/node/components/favorite/FavoriteIconButton.cjs.map +1 -0
  58. package/dist/node/components/favorite/FavoriteIconButton.d.cts +12 -0
  59. package/dist/node/components/favorite/FavoriteIconButton.d.cts.map +1 -0
  60. package/dist/node/components/favorite/FavoriteIconButton.js +123 -47
  61. package/dist/node/components/favorite/FavoriteIconButton.js.map +1 -1
  62. package/dist/node/components/favorite/FavoriteToggleSVG.cjs +33 -0
  63. package/dist/node/components/favorite/FavoriteToggleSVG.cjs.map +1 -0
  64. package/dist/node/components/favorite/FavoriteToggleSVG.d.cts +5 -0
  65. package/dist/node/components/favorite/FavoriteToggleSVG.d.cts.map +1 -0
  66. package/dist/node/components/favorite/FavoriteToggleSVG.js +6 -29
  67. package/dist/node/components/favorite/FavoriteToggleSVG.js.map +1 -1
  68. package/dist/node/components/favorite/Popper.cjs +116 -0
  69. package/dist/node/components/favorite/Popper.cjs.map +1 -0
  70. package/dist/node/components/favorite/Popper.d.cts +11 -0
  71. package/dist/node/components/favorite/Popper.d.cts.map +1 -0
  72. package/dist/node/components/favorite/Popper.js +54 -41
  73. package/dist/node/components/favorite/Popper.js.map +1 -1
  74. package/dist/node/components/favorite/PopperButtonGroup.cjs +61 -0
  75. package/dist/node/components/favorite/{PopperButtonGroup.mjs.map → PopperButtonGroup.cjs.map} +1 -1
  76. package/dist/node/components/favorite/PopperButtonGroup.d.cts +9 -0
  77. package/dist/node/components/favorite/PopperButtonGroup.d.cts.map +1 -0
  78. package/dist/node/components/favorite/PopperButtonGroup.js +16 -39
  79. package/dist/node/components/favorite/PopperButtonGroup.js.map +1 -1
  80. package/dist/node/components/favorite/index.cjs +197 -0
  81. package/dist/node/components/favorite/index.cjs.map +1 -0
  82. package/dist/node/components/favorite/index.d.cts +2 -0
  83. package/dist/node/components/favorite/index.d.cts.map +1 -0
  84. package/dist/node/components/favorite/index.js +167 -20
  85. package/dist/node/components/favorite/index.js.map +1 -1
  86. package/dist/node/components/favorite/lib/PopperId.cjs +31 -0
  87. package/dist/node/components/favorite/lib/PopperId.cjs.map +1 -0
  88. package/dist/node/components/favorite/lib/PopperId.d.cts +2 -0
  89. package/dist/node/components/favorite/lib/PopperId.d.cts.map +1 -0
  90. package/dist/node/components/favorite/lib/PopperId.js +4 -27
  91. package/dist/node/components/favorite/lib/PopperId.js.map +1 -1
  92. package/dist/node/components/favorite/lib/index.cjs +33 -0
  93. package/dist/node/components/favorite/lib/index.cjs.map +1 -0
  94. package/dist/node/components/favorite/lib/index.d.cts +2 -0
  95. package/dist/node/components/favorite/lib/index.d.cts.map +1 -0
  96. package/dist/node/components/favorite/lib/index.js +4 -21
  97. package/dist/node/components/favorite/lib/index.js.map +1 -1
  98. package/dist/node/components/index.cjs +247 -0
  99. package/dist/node/components/index.cjs.map +1 -0
  100. package/dist/node/components/index.d.cts +4 -0
  101. package/dist/node/components/index.d.cts.map +1 -0
  102. package/dist/node/components/index.js +215 -24
  103. package/dist/node/components/index.js.map +1 -1
  104. package/dist/node/components/lib/FavoriteItemEvent.cjs +36 -0
  105. package/dist/node/components/lib/FavoriteItemEvent.cjs.map +1 -0
  106. package/dist/node/components/lib/FavoriteItemEvent.d.cts +9 -0
  107. package/dist/node/components/lib/FavoriteItemEvent.d.cts.map +1 -0
  108. package/dist/node/components/lib/FavoriteItemEvent.js +4 -27
  109. package/dist/node/components/lib/FavoriteItemEvent.js.map +1 -1
  110. package/dist/node/components/lib/index.cjs +38 -0
  111. package/dist/node/components/lib/index.cjs.map +1 -0
  112. package/dist/node/components/lib/index.d.cts +2 -0
  113. package/dist/node/components/lib/index.d.cts.map +1 -0
  114. package/dist/node/components/lib/index.js +9 -21
  115. package/dist/node/components/lib/index.js.map +1 -1
  116. package/dist/node/index.cjs +247 -0
  117. package/dist/node/index.cjs.map +1 -0
  118. package/dist/node/index.d.cts +2 -0
  119. package/dist/node/index.d.cts.map +1 -0
  120. package/dist/node/index.js +215 -20
  121. package/dist/node/index.js.map +1 -1
  122. package/package.json +20 -20
  123. package/dist/browser/components/RenderRowBox.stories.js +0 -81
  124. package/dist/browser/components/RenderRowBox.stories.js.map +0 -1
  125. package/dist/node/components/RenderRowBox.mjs +0 -49
  126. package/dist/node/components/RenderRowBox.mjs.map +0 -1
  127. package/dist/node/components/RenderRowBox.stories.js +0 -111
  128. package/dist/node/components/RenderRowBox.stories.js.map +0 -1
  129. package/dist/node/components/RenderRowBox.stories.mjs +0 -81
  130. package/dist/node/components/RenderRowBox.stories.mjs.map +0 -1
  131. package/dist/node/components/favorite/FavoriteIconButton.mjs +0 -70
  132. package/dist/node/components/favorite/FavoriteIconButton.mjs.map +0 -1
  133. package/dist/node/components/favorite/FavoriteToggleSVG.mjs +0 -7
  134. package/dist/node/components/favorite/Popper.mjs +0 -54
  135. package/dist/node/components/favorite/Popper.mjs.map +0 -1
  136. package/dist/node/components/favorite/PopperButtonGroup.mjs +0 -35
  137. package/dist/node/components/favorite/index.mjs +0 -2
  138. package/dist/node/components/favorite/index.mjs.map +0 -1
  139. package/dist/node/components/favorite/lib/PopperId.mjs +0 -5
  140. package/dist/node/components/favorite/lib/index.mjs +0 -2
  141. package/dist/node/components/favorite/lib/index.mjs.map +0 -1
  142. package/dist/node/components/index.mjs +0 -4
  143. package/dist/node/components/index.mjs.map +0 -1
  144. package/dist/node/components/lib/FavoriteItemEvent.mjs +0 -10
  145. package/dist/node/components/lib/index.mjs +0 -2
  146. package/dist/node/components/lib/index.mjs.map +0 -1
  147. package/dist/node/index.mjs +0 -2
  148. package/dist/node/index.mjs.map +0 -1
@@ -0,0 +1,197 @@
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/index.ts
21
+ var favorite_exports = {};
22
+ __export(favorite_exports, {
23
+ FavoriteIconButton: () => FavoriteIconButton
24
+ });
25
+ module.exports = __toCommonJS(favorite_exports);
26
+
27
+ // src/components/favorite/FavoriteIconButton.tsx
28
+ var import_material3 = require("@mui/material");
29
+ var import_react_event = require("@xyo-network/react-event");
30
+ var import_react_shared = require("@xyo-network/react-shared");
31
+ var import_react2 = require("react");
32
+
33
+ // src/components/lib/FavoriteItemEvent.ts
34
+ var generateFavoriteEvent = (favorite, favoriteType, favoriteValue, name) => ({
35
+ favorite: !!favorite,
36
+ favoriteType,
37
+ favoriteValue,
38
+ name
39
+ });
40
+
41
+ // src/components/favorite/FavoriteToggleSVG.tsx
42
+ var import_icons_material = require("@mui/icons-material");
43
+ var import_jsx_runtime = require("react/jsx-runtime");
44
+ 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" }) });
45
+
46
+ // src/components/favorite/lib/PopperId.ts
47
+ var popperId = "favorite-popper";
48
+
49
+ // src/components/favorite/Popper.tsx
50
+ var import_material2 = require("@mui/material");
51
+ var import_react = require("react");
52
+
53
+ // src/components/favorite/PopperButtonGroup.tsx
54
+ var import_icons_material2 = require("@mui/icons-material");
55
+ var import_material = require("@mui/material");
56
+ var import_jsx_runtime2 = require("react/jsx-runtime");
57
+ var PopperButtonGroup = ({ name, onConfirmFavorite, favorite, ...props }) => {
58
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_material.ButtonGroup, { ...props, children: [
59
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
60
+ import_material.Button,
61
+ {
62
+ title: "Save Favorite",
63
+ variant: "contained",
64
+ onClick: (e) => {
65
+ e.stopPropagation();
66
+ onConfirmFavorite == null ? void 0 : onConfirmFavorite(name, true);
67
+ },
68
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_icons_material2.Star, {})
69
+ }
70
+ ),
71
+ favorite ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
72
+ import_material.Button,
73
+ {
74
+ title: "Remove Favorite",
75
+ variant: "contained",
76
+ onClick: (e) => {
77
+ e.stopPropagation();
78
+ onConfirmFavorite == null ? void 0 : onConfirmFavorite(name, false);
79
+ },
80
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_icons_material2.Delete, {})
81
+ }
82
+ ) : null
83
+ ] });
84
+ };
85
+
86
+ // src/components/favorite/Popper.tsx
87
+ var import_jsx_runtime3 = require("react/jsx-runtime");
88
+ var FavoritePopper = (0, import_react.forwardRef)(
89
+ ({
90
+ name: nameProp,
91
+ favorite,
92
+ favoriteRef,
93
+ onClickAway = () => {
94
+ return;
95
+ },
96
+ onConfirmFavorite,
97
+ ...props
98
+ }, ref) => {
99
+ const [name, setName] = (0, import_react.useState)(nameProp);
100
+ (0, import_react.useEffect)(() => {
101
+ setName(nameProp);
102
+ }, [nameProp]);
103
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material2.ClickAwayListener, { onClickAway, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
104
+ PopperStyled,
105
+ {
106
+ id: popperId,
107
+ anchorEl: favoriteRef == null ? void 0 : favoriteRef.current,
108
+ onClick: (e) => e.stopPropagation(),
109
+ onTouchStart: (e) => e.stopPropagation(),
110
+ transition: true,
111
+ ref,
112
+ ...props,
113
+ 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: [
114
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
115
+ import_material2.TextField,
116
+ {
117
+ autoFocus: true,
118
+ label: "Favorite Name",
119
+ placeholder: "optional",
120
+ size: "small",
121
+ value: name ?? "",
122
+ onChange: (e) => setName(e.target.value)
123
+ }
124
+ ),
125
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(PopperButtonGroup, { favorite, onConfirmFavorite, name })
126
+ ] }) }) })
127
+ }
128
+ ) });
129
+ }
130
+ );
131
+ FavoritePopper.displayName = "FavoritePopper";
132
+ var PopperStyled = (0, import_material2.styled)(import_material2.Popper, { name: "PopperStyled" })(() => ({ zIndex: 9999 }));
133
+
134
+ // src/components/favorite/FavoriteIconButton.tsx
135
+ var import_jsx_runtime4 = require("react/jsx-runtime");
136
+ var FavoriteIconButton = (0, import_react2.forwardRef)(
137
+ ({ children, favorite: favoriteProp, name, valueType, value, ...props }, ref) => {
138
+ const [openPopper, setOpenPopper] = (0, import_react2.useState)(false);
139
+ const [favorite, setFavorite] = (0, import_react2.useState)(favoriteProp);
140
+ (0, import_react2.useEffect)(() => {
141
+ setFavorite(favoriteProp);
142
+ }, [favoriteProp]);
143
+ const sharedRef = (0, import_react_shared.useShareForwardedRef)(ref);
144
+ const [buttonRef, dispatch] = (0, import_react_event.useEvent)(void 0, sharedRef);
145
+ const onConfirmFavorite = (name2, newFavoriteState) => {
146
+ const favoriteEvent = generateFavoriteEvent(!!newFavoriteState, valueType, value, name2);
147
+ dispatch("address", "favorite", JSON.stringify(favoriteEvent));
148
+ setFavorite(newFavoriteState);
149
+ setOpenPopper(false);
150
+ };
151
+ const starRef = (0, import_react2.useRef)(null);
152
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
153
+ IconButtonCondensed,
154
+ {
155
+ "aria-describedby": popperId,
156
+ ref: buttonRef,
157
+ onClick: (event) => {
158
+ event.stopPropagation();
159
+ setOpenPopper(!openPopper);
160
+ },
161
+ onTouchStart: (event) => {
162
+ event.stopPropagation();
163
+ setOpenPopper(!openPopper);
164
+ },
165
+ onMouseDown: (e) => e.stopPropagation(),
166
+ sx: { lineHeight: 0, p: 0.25 },
167
+ ...props,
168
+ children: [
169
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { ref: starRef, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(FavoriteToggleSVG, { favorite }) }),
170
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
171
+ FavoritePopper,
172
+ {
173
+ sx: { zIndex: 1301 },
174
+ name,
175
+ favorite,
176
+ favoriteRef: starRef,
177
+ open: openPopper,
178
+ onConfirmFavorite,
179
+ onClickAway: () => setOpenPopper(false)
180
+ }
181
+ ),
182
+ children
183
+ ]
184
+ }
185
+ );
186
+ }
187
+ );
188
+ FavoriteIconButton.displayName = "FavoriteIconButton";
189
+ var IconButtonCondensed = (0, import_material3.styled)(import_material3.IconButton, { name: "IconButtonCondensed" })(({ theme }) => ({
190
+ lineHeight: 0,
191
+ padding: theme.spacing(0.25)
192
+ }));
193
+ // Annotate the CommonJS export names for ESM import in node:
194
+ 0 && (module.exports = {
195
+ FavoriteIconButton
196
+ });
197
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/favorite/index.ts","../../../../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":["export * from './FavoriteIconButton'\n","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,2 @@
1
+ export * from './FavoriteIconButton';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/favorite/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
@@ -1,23 +1,170 @@
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 __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
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
+ ) });
11
103
  }
12
- return to;
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
13
169
  };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
- var favorite_exports = {};
17
- module.exports = __toCommonJS(favorite_exports);
18
- __reExport(favorite_exports, require("./FavoriteIconButton"), module.exports);
19
- // Annotate the CommonJS export names for ESM import in node:
20
- 0 && (module.exports = {
21
- ...require("./FavoriteIconButton")
22
- });
23
170
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/favorite/index.ts"],"sourcesContent":["export * from './FavoriteIconButton'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,6BAAc,iCAAd;","names":[]}
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,31 @@
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/lib/PopperId.ts
21
+ var PopperId_exports = {};
22
+ __export(PopperId_exports, {
23
+ popperId: () => popperId
24
+ });
25
+ module.exports = __toCommonJS(PopperId_exports);
26
+ var popperId = "favorite-popper";
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ popperId
30
+ });
31
+ //# sourceMappingURL=PopperId.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/favorite/lib/PopperId.ts"],"sourcesContent":["export const popperId = 'favorite-popper'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,WAAW;","names":[]}
@@ -0,0 +1,2 @@
1
+ export declare const popperId = "favorite-popper";
2
+ //# sourceMappingURL=PopperId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopperId.d.ts","sourceRoot":"","sources":["../../../../../src/components/favorite/lib/PopperId.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,oBAAoB,CAAA"}
@@ -1,29 +1,6 @@
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
- var PopperId_exports = {};
20
- __export(PopperId_exports, {
21
- popperId: () => popperId
22
- });
23
- module.exports = __toCommonJS(PopperId_exports);
24
- const popperId = "favorite-popper";
25
- // Annotate the CommonJS export names for ESM import in node:
26
- 0 && (module.exports = {
1
+ // src/components/favorite/lib/PopperId.ts
2
+ var popperId = "favorite-popper";
3
+ export {
27
4
  popperId
28
- });
5
+ };
29
6
  //# sourceMappingURL=PopperId.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/favorite/lib/PopperId.ts"],"sourcesContent":["export const popperId = 'favorite-popper'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,WAAW;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/favorite/lib/PopperId.ts"],"sourcesContent":["export const popperId = 'favorite-popper'\n"],"mappings":";AAAO,IAAM,WAAW;","names":[]}
@@ -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/lib/index.ts
21
+ var lib_exports = {};
22
+ __export(lib_exports, {
23
+ popperId: () => popperId
24
+ });
25
+ module.exports = __toCommonJS(lib_exports);
26
+
27
+ // src/components/favorite/lib/PopperId.ts
28
+ var popperId = "favorite-popper";
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ popperId
32
+ });
33
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/favorite/lib/index.ts","../../../../../src/components/favorite/lib/PopperId.ts"],"sourcesContent":["export * from './PopperId'\n","export const popperId = 'favorite-popper'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,WAAW;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from './PopperId';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/favorite/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -1,23 +1,6 @@
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 __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
1
+ // src/components/favorite/lib/PopperId.ts
2
+ var popperId = "favorite-popper";
3
+ export {
4
+ popperId
13
5
  };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
- var lib_exports = {};
17
- module.exports = __toCommonJS(lib_exports);
18
- __reExport(lib_exports, require("./PopperId"), module.exports);
19
- // Annotate the CommonJS export names for ESM import in node:
20
- 0 && (module.exports = {
21
- ...require("./PopperId")
22
- });
23
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/favorite/lib/index.ts"],"sourcesContent":["export * from './PopperId'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,uBAAd;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/favorite/lib/PopperId.ts"],"sourcesContent":["export const popperId = 'favorite-popper'\n"],"mappings":";AAAO,IAAM,WAAW;","names":[]}