sunpeak 0.5.34 → 0.5.36

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 (66) hide show
  1. package/README.md +1 -1
  2. package/bin/commands/build.mjs +10 -0
  3. package/bin/commands/dev.mjs +13 -1
  4. package/bin/sunpeak.js +1 -1
  5. package/dist/index.cjs +2 -2
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.js +2 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/style.css +8 -4
  10. package/package.json +2 -2
  11. package/template/dist/chatgpt/albums.js +14 -54
  12. package/template/dist/chatgpt/carousel.js +14 -54
  13. package/template/dist/chatgpt/counter.js +14 -54
  14. package/template/index.html +1 -1
  15. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Button.js +13 -858
  16. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Button.js.map +4 -4
  17. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Checkbox.js +33 -0
  18. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Checkbox.js.map +7 -0
  19. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Icon.js +4 -4
  20. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Input.js +13 -0
  21. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_SegmentedControl.js +103 -0
  22. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_SegmentedControl.js.map +7 -0
  23. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Select.js +1019 -0
  24. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Select.js.map +7 -0
  25. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Textarea.js +95 -0
  26. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Textarea.js.map +7 -0
  27. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_theme.js +45 -0
  28. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_theme.js.map +7 -0
  29. package/template/node_modules/.vite/deps/_metadata.json +81 -24
  30. package/template/node_modules/.vite/deps/{chunk-TNWQ7JGO.js → chunk-4TLBUCVB.js} +2 -2
  31. package/template/node_modules/.vite/deps/chunk-675LFNY2.js +628 -0
  32. package/template/node_modules/.vite/deps/chunk-675LFNY2.js.map +7 -0
  33. package/template/node_modules/.vite/deps/chunk-BAG6OO6S.js +115 -0
  34. package/template/node_modules/.vite/deps/chunk-BAG6OO6S.js.map +7 -0
  35. package/template/node_modules/.vite/deps/chunk-CQ3GYAYB.js +112 -0
  36. package/template/node_modules/.vite/deps/chunk-CQ3GYAYB.js.map +7 -0
  37. package/template/node_modules/.vite/deps/chunk-EGRHWZRV.js +1 -0
  38. package/template/node_modules/.vite/deps/chunk-EGRHWZRV.js.map +7 -0
  39. package/template/node_modules/.vite/deps/{chunk-5WRI5ZAA.js → chunk-ILHRZGIS.js} +17 -2
  40. package/template/node_modules/.vite/deps/chunk-ILHRZGIS.js.map +7 -0
  41. package/template/node_modules/.vite/deps/{chunk-DUV225XW.js → chunk-KFGKZMLK.js} +3 -3
  42. package/template/node_modules/.vite/deps/{chunk-7IRBE5E4.js → chunk-PTVT3RFX.js} +3 -3
  43. package/template/node_modules/.vite/deps/chunk-QPJAV452.js +13 -0
  44. package/template/node_modules/.vite/deps/chunk-QPJAV452.js.map +7 -0
  45. package/template/node_modules/.vite/deps/chunk-SGWD4VEU.js +15195 -0
  46. package/template/node_modules/.vite/deps/chunk-SGWD4VEU.js.map +7 -0
  47. package/template/node_modules/.vite/deps/{chunk-D3BYX6F4.js → chunk-XB525PXG.js} +3 -3
  48. package/template/node_modules/.vite/deps/chunk-YOJ6QPGS.js +231 -0
  49. package/template/node_modules/.vite/deps/chunk-YOJ6QPGS.js.map +7 -0
  50. package/template/node_modules/.vite/deps/clsx.js +1 -1
  51. package/template/node_modules/.vite/deps/embla-carousel-react.js +2 -2
  52. package/template/node_modules/.vite/deps/embla-carousel-wheel-gestures.js +1 -1
  53. package/template/node_modules/.vite/deps/react-dom.js +3 -3
  54. package/template/node_modules/.vite/deps/react-dom_client.js +3 -3
  55. package/template/node_modules/.vite/deps/react.js +2 -2
  56. package/template/node_modules/.vite/deps/react_jsx-dev-runtime.js +2 -2
  57. package/template/node_modules/.vite/deps/react_jsx-runtime.js +3 -3
  58. package/template/node_modules/.vite/deps/tailwind-merge.js +1 -1
  59. package/template/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  60. package/template/src/components/resources/counter-resource.test.tsx +4 -4
  61. package/template/src/components/resources/counter-resource.tsx +5 -5
  62. /package/template/node_modules/.vite/deps/{chunk-5WRI5ZAA.js.map → @openai_apps-sdk-ui_components_Input.js.map} +0 -0
  63. /package/template/node_modules/.vite/deps/{chunk-TNWQ7JGO.js.map → chunk-4TLBUCVB.js.map} +0 -0
  64. /package/template/node_modules/.vite/deps/{chunk-DUV225XW.js.map → chunk-KFGKZMLK.js.map} +0 -0
  65. /package/template/node_modules/.vite/deps/{chunk-7IRBE5E4.js.map → chunk-PTVT3RFX.js.map} +0 -0
  66. /package/template/node_modules/.vite/deps/{chunk-D3BYX6F4.js.map → chunk-XB525PXG.js.map} +0 -0
@@ -1,862 +1,17 @@
1
1
  import {
2
- Check_default,
3
- Copy_default
4
- } from "./chunk-D3BYX6F4.js";
5
- import {
6
- require_jsx_runtime
7
- } from "./chunk-7IRBE5E4.js";
8
- import {
9
- clsx_default
10
- } from "./chunk-CNYJBM5F.js";
11
- import {
12
- require_react
13
- } from "./chunk-TNWQ7JGO.js";
14
- import {
15
- __commonJS,
16
- __toESM
17
- } from "./chunk-5WRI5ZAA.js";
18
-
19
- // ../node_modules/.pnpm/lodash.debounce@4.0.8/node_modules/lodash.debounce/index.js
20
- var require_lodash = __commonJS({
21
- "../node_modules/.pnpm/lodash.debounce@4.0.8/node_modules/lodash.debounce/index.js"(exports, module) {
22
- var FUNC_ERROR_TEXT = "Expected a function";
23
- var NAN = 0 / 0;
24
- var symbolTag = "[object Symbol]";
25
- var reTrim = /^\s+|\s+$/g;
26
- var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
27
- var reIsBinary = /^0b[01]+$/i;
28
- var reIsOctal = /^0o[0-7]+$/i;
29
- var freeParseInt = parseInt;
30
- var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
31
- var freeSelf = typeof self == "object" && self && self.Object === Object && self;
32
- var root = freeGlobal || freeSelf || Function("return this")();
33
- var objectProto = Object.prototype;
34
- var objectToString = objectProto.toString;
35
- var nativeMax = Math.max;
36
- var nativeMin = Math.min;
37
- var now = function() {
38
- return root.Date.now();
39
- };
40
- function debounce2(func, wait, options) {
41
- var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
42
- if (typeof func != "function") {
43
- throw new TypeError(FUNC_ERROR_TEXT);
44
- }
45
- wait = toNumber(wait) || 0;
46
- if (isObject(options)) {
47
- leading = !!options.leading;
48
- maxing = "maxWait" in options;
49
- maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
50
- trailing = "trailing" in options ? !!options.trailing : trailing;
51
- }
52
- function invokeFunc(time) {
53
- var args = lastArgs, thisArg = lastThis;
54
- lastArgs = lastThis = void 0;
55
- lastInvokeTime = time;
56
- result = func.apply(thisArg, args);
57
- return result;
58
- }
59
- function leadingEdge(time) {
60
- lastInvokeTime = time;
61
- timerId = setTimeout(timerExpired, wait);
62
- return leading ? invokeFunc(time) : result;
63
- }
64
- function remainingWait(time) {
65
- var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, result2 = wait - timeSinceLastCall;
66
- return maxing ? nativeMin(result2, maxWait - timeSinceLastInvoke) : result2;
67
- }
68
- function shouldInvoke(time) {
69
- var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
70
- return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
71
- }
72
- function timerExpired() {
73
- var time = now();
74
- if (shouldInvoke(time)) {
75
- return trailingEdge(time);
76
- }
77
- timerId = setTimeout(timerExpired, remainingWait(time));
78
- }
79
- function trailingEdge(time) {
80
- timerId = void 0;
81
- if (trailing && lastArgs) {
82
- return invokeFunc(time);
83
- }
84
- lastArgs = lastThis = void 0;
85
- return result;
86
- }
87
- function cancel() {
88
- if (timerId !== void 0) {
89
- clearTimeout(timerId);
90
- }
91
- lastInvokeTime = 0;
92
- lastArgs = lastCallTime = lastThis = timerId = void 0;
93
- }
94
- function flush() {
95
- return timerId === void 0 ? result : trailingEdge(now());
96
- }
97
- function debounced() {
98
- var time = now(), isInvoking = shouldInvoke(time);
99
- lastArgs = arguments;
100
- lastThis = this;
101
- lastCallTime = time;
102
- if (isInvoking) {
103
- if (timerId === void 0) {
104
- return leadingEdge(lastCallTime);
105
- }
106
- if (maxing) {
107
- timerId = setTimeout(timerExpired, wait);
108
- return invokeFunc(lastCallTime);
109
- }
110
- }
111
- if (timerId === void 0) {
112
- timerId = setTimeout(timerExpired, wait);
113
- }
114
- return result;
115
- }
116
- debounced.cancel = cancel;
117
- debounced.flush = flush;
118
- return debounced;
119
- }
120
- function isObject(value) {
121
- var type = typeof value;
122
- return !!value && (type == "object" || type == "function");
123
- }
124
- function isObjectLike(value) {
125
- return !!value && typeof value == "object";
126
- }
127
- function isSymbol(value) {
128
- return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag;
129
- }
130
- function toNumber(value) {
131
- if (typeof value == "number") {
132
- return value;
133
- }
134
- if (isSymbol(value)) {
135
- return NAN;
136
- }
137
- if (isObject(value)) {
138
- var other = typeof value.valueOf == "function" ? value.valueOf() : value;
139
- value = isObject(other) ? other + "" : other;
140
- }
141
- if (typeof value != "string") {
142
- return value === 0 ? value : +value;
143
- }
144
- value = value.replace(reTrim, "");
145
- var isBinary = reIsBinary.test(value);
146
- return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
147
- }
148
- module.exports = debounce2;
149
- }
150
- });
151
-
152
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Button/Button.js
153
- var import_jsx_runtime6 = __toESM(require_jsx_runtime());
154
- var import_react10 = __toESM(require_react());
155
-
156
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/lib/helpers.js
157
- var import_react = __toESM(require_react());
158
-
159
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/lib/environment.js
160
- var META_ENV = typeof import.meta !== "undefined" ? import.meta.env : void 0;
161
- var NODE_ENV = typeof process !== "undefined" && "development" ? "development" : "production";
162
- var isDev = NODE_ENV === "development" || !!(META_ENV == null ? void 0 : META_ENV.DEV);
163
- var isJSDomLike = typeof navigator !== "undefined" && /(jsdom|happy-dom)/i.test(navigator.userAgent) || typeof globalThis.happyDOM === "object";
164
- var isTest = NODE_ENV === "test" || (META_ENV == null ? void 0 : META_ENV.MODE) === "test" || isJSDomLike;
165
- var hasWindow = typeof window !== "undefined";
166
- var hasDocument = typeof document !== "undefined";
167
- var canUseDOM = hasWindow && hasDocument;
168
-
169
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/lib/helpers.js
170
- var handlePressableMouseEnter = (evt) => {
171
- const target = evt.currentTarget;
172
- if (!(target instanceof HTMLElement)) {
173
- return;
174
- }
175
- const elementWidth = target.offsetWidth;
176
- let scale = 0.985;
177
- if (elementWidth <= 80) {
178
- scale = 0.96;
179
- } else if (elementWidth <= 150) {
180
- scale = 0.97;
181
- } else if (elementWidth <= 220) {
182
- scale = 0.98;
183
- } else if (elementWidth > 600) {
184
- scale = 0.995;
185
- }
186
- target.style.setProperty("--scale", scale.toString());
187
- };
188
- var waitForAnimationFrame = (cb, options) => {
189
- const runAfterTick = () => {
190
- const id = setTimeout(cb);
191
- return () => {
192
- clearTimeout(id);
193
- };
194
- };
195
- if (!canUseDOM || typeof window.requestAnimationFrame !== "function") {
196
- return runAfterTick();
197
- }
198
- const visibilityHidden = hasDocument && document.visibilityState === "hidden";
199
- if (visibilityHidden) {
200
- return runAfterTick();
201
- }
202
- let frames = (options == null ? void 0 : options.frames) ?? 2;
203
- let animationFrame = window.requestAnimationFrame(function recurse() {
204
- frames -= 1;
205
- if (frames === 0) {
206
- cb();
207
- } else {
208
- animationFrame = window.requestAnimationFrame(recurse);
209
- }
210
- });
211
- return () => {
212
- if (typeof window.cancelAnimationFrame === "function") {
213
- window.cancelAnimationFrame(animationFrame);
214
- }
215
- };
216
- };
217
- var toCssVariables = (variables) => {
218
- const formattedVariables = Object.keys(variables).reduce((acc, variable) => {
219
- const value = variables[variable];
220
- if (value || value === 0) {
221
- const prefix = variable.startsWith("--") ? "" : "--";
222
- const formattedValue = typeof value === "number" ? `${value}px` : value;
223
- acc[`${prefix}${variable}`] = formattedValue;
224
- }
225
- return acc;
226
- }, {});
227
- return formattedVariables;
228
- };
229
- var toAngle = (value) => typeof value === "number" ? `${value}deg` : value;
230
- var toOpacityProperty = (opacity) => String(opacity);
231
- var toMsDurationProperty = (duration) => `${duration}ms`;
232
- var toTransformProperty = ({ x, y, scale, rotate, skewX, skewY } = {}) => {
233
- const transforms = [
234
- x == null ? null : `translateX(${x}px)`,
235
- y == null ? null : `translateY(${y}px)`,
236
- scale == null ? null : `scale(${scale})`,
237
- rotate == null ? null : `rotate(${toAngle(rotate)})`,
238
- skewX == null ? null : `skewX(${toAngle(skewX)})`,
239
- skewY == null ? null : `skewY(${toAngle(skewY)})`
240
- ].filter(Boolean);
241
- return transforms.length ? transforms.join(" ") : "none";
242
- };
243
- var toFilterProperty = ({ blur } = {}) => {
244
- const filters = [blur == null ? null : `blur(${blur}px)`].filter(Boolean);
245
- return filters.length ? filters.join(" ") : "none";
246
- };
247
-
248
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/lib/renderHelpers.js
249
- var import_jsx_runtime = __toESM(require_jsx_runtime());
250
- var import_react2 = __toESM(require_react());
251
- var flattenTextNodes = (children) => {
252
- const nodes = import_react2.Children.toArray(children);
253
- const result = [];
254
- let buffer = "";
255
- const flush = () => {
256
- if (buffer !== "") {
257
- result.push(buffer);
258
- buffer = "";
259
- }
260
- };
261
- for (const node of nodes) {
262
- if (node == null || typeof node === "boolean") {
263
- continue;
264
- }
265
- if (typeof node === "string" || typeof node === "number") {
266
- buffer += String(node);
267
- continue;
268
- }
269
- flush();
270
- result.push(node);
271
- }
272
- flush();
273
- return result;
274
- };
275
- var wrapTextNodeSiblings = (children) => {
276
- const flattenedChildren = flattenTextNodes(children);
277
- const childrenCount = import_react2.Children.count(flattenedChildren);
278
- return import_react2.Children.map(flattenedChildren, (child) => {
279
- if (typeof child === "string" && !!child.trim()) {
280
- if (childrenCount <= 1) {
281
- return child;
282
- }
283
- return (0, import_jsx_runtime.jsx)("span", { children: child });
284
- }
285
- if ((0, import_react2.isValidElement)(child)) {
286
- const element = child;
287
- const { children: innerChildren, ...restProps } = element.props;
288
- if (innerChildren != null) {
289
- return (0, import_react2.cloneElement)(element, restProps, wrapTextNodeSiblings(innerChildren));
290
- }
291
- return element;
292
- }
293
- return child;
294
- });
295
- };
296
-
297
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/AppsSDKUIProvider/internal.js
298
- var import_react4 = __toESM(require_react());
299
-
300
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/AppsSDKUIProvider/AppsSDKUIContext.js
301
- var import_react3 = __toESM(require_react());
302
- var AppsSDKUIContext = (0, import_react3.createContext)(null);
303
-
304
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/AppsSDKUIProvider/internal.js
305
- function useLinkComponent() {
306
- const context = (0, import_react4.useContext)(AppsSDKUIContext);
307
- return (context == null ? void 0 : context.linkComponent) ?? "a";
308
- }
309
-
310
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Indicator/CircularProgress.js
311
- var import_jsx_runtime2 = __toESM(require_jsx_runtime());
312
- var import_react7 = __toESM(require_react());
313
-
314
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/hooks/useSimulatedProgress.js
315
- var import_react6 = __toESM(require_react());
316
-
317
- // ../node_modules/.pnpm/usehooks-ts@3.1.1_react@19.2.0/node_modules/usehooks-ts/dist/index.js
318
- var import_react5 = __toESM(require_react());
319
- var import_lodash = __toESM(require_lodash());
320
- var useIsomorphicLayoutEffect = typeof window !== "undefined" ? import_react5.useLayoutEffect : import_react5.useEffect;
321
- function useTimeout(callback, delay) {
322
- const savedCallback = (0, import_react5.useRef)(callback);
323
- useIsomorphicLayoutEffect(() => {
324
- savedCallback.current = callback;
325
- }, [callback]);
326
- (0, import_react5.useEffect)(() => {
327
- if (!delay && delay !== 0) {
328
- return;
329
- }
330
- const id = setTimeout(() => {
331
- savedCallback.current();
332
- }, delay);
333
- return () => {
334
- clearTimeout(id);
335
- };
336
- }, [delay]);
337
- }
338
-
339
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Indicator/CircularProgress.js
340
- import s from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Indicator/CircularProgress.module.css";
341
-
342
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Indicator/LoadingDots.js
343
- var import_jsx_runtime3 = __toESM(require_jsx_runtime());
344
- import s2 from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Indicator/LoadingDots.module.css";
345
-
346
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Indicator/LoadingIndicator.js
347
- var import_jsx_runtime4 = __toESM(require_jsx_runtime());
348
- import s3 from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Indicator/LoadingIndicator.module.css";
349
- var LoadingIndicator = ({ className, size, strokeWidth, style, ...restProps }) => {
350
- return (0, import_jsx_runtime4.jsx)("div", { ...restProps, className: clsx_default(s3.LoadingIndicator, className), style: style || toCssVariables({
351
- "indicator-size": size,
352
- "indicator-stroke": strokeWidth
353
- }) });
354
- };
355
-
356
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Transition/TransitionGroup.js
357
- var import_jsx_runtime5 = __toESM(require_jsx_runtime());
358
- var import_react9 = __toESM(require_react());
359
-
360
- // ../node_modules/.pnpm/react-merge-refs@2.1.1/node_modules/react-merge-refs/dist/index.mjs
361
- function o(f) {
362
- return (r) => {
363
- f.forEach((n) => {
364
- typeof n == "function" ? n(r) : n != null && (n.current = r);
365
- });
366
- };
367
- }
368
-
369
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Transition/getDisableAnimations.js
370
- var getDisableAnimations_default = () => isTest;
371
-
372
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Transition/shared.js
373
- var import_react8 = __toESM(require_react());
374
- var ChildrenWithKeys = (children, shouldThrow = false, componentName = "TransitionGroup") => {
375
- const validChildren = [];
376
- import_react8.Children.forEach(children, (child) => {
377
- if (child && typeof child === "object" && "key" in child && !!child.key) {
378
- validChildren.push(child);
379
- } else if (shouldThrow) {
380
- throw new Error(`Child elements of <${componentName} /> must include a \`key\``);
381
- }
382
- });
383
- return validChildren;
384
- };
385
- var noop = () => {
386
- };
387
- var useChildCallback = (cb) => {
388
- const ref = (0, import_react8.useRef)(cb);
389
- ref.current = cb;
390
- return (0, import_react8.useCallback)((element) => ref.current(element), []);
391
- };
392
- function computeNextRenderChildren(propChildrenArray, currentRenderChildren, createDefaultRenderChildProps, insertMethod) {
393
- const propChildKeyMap = propChildrenArray.reduce((acc, child) => ({ ...acc, [child.key]: 1 }), {});
394
- const currentRenderChildKeyMap = currentRenderChildren.reduce((acc, child) => ({ ...acc, [child.component.key]: 1 }), {});
395
- const newRenderChildren = propChildrenArray.filter((propChild) => !currentRenderChildKeyMap[propChild.key]).map(createDefaultRenderChildProps);
396
- const updatedCurrentChildren = currentRenderChildren.map((childProps) => ({
397
- ...childProps,
398
- component: propChildrenArray.find(({ key }) => key === childProps.component.key) || childProps.component,
399
- shouldRender: !!propChildKeyMap[childProps.component.key]
400
- }));
401
- return insertMethod === "append" ? updatedCurrentChildren.concat(newRenderChildren) : newRenderChildren.concat(updatedCurrentChildren);
402
- }
403
- function assertSingleChildWhenRef(componentName, ref, childrenCount) {
404
- if ((isTest || isDev) && ref && childrenCount > 1) {
405
- throw new Error(`Cannot use forwardRef with multiple children in <${componentName} />`);
406
- }
407
- }
408
-
409
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Transition/TransitionGroup.js
410
- import s4 from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Transition/TransitionGroup.module.css";
411
-
412
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Transition/transitionReducer.js
413
- var RESTING_TRANSITION_STATE = {
414
- enter: false,
415
- enterActive: false,
416
- exit: false,
417
- exitActive: false,
418
- interrupted: false
419
- };
420
- var getInitialTransitionState = (preventMountTransition) => ({
421
- ...RESTING_TRANSITION_STATE,
422
- enter: !preventMountTransition
423
- });
424
- var transitionReducer = (state, action) => {
425
- switch (action.type) {
426
- case "enter-before":
427
- return {
428
- enter: true,
429
- enterActive: false,
430
- exit: false,
431
- exitActive: false,
432
- interrupted: state.interrupted || state.exit
433
- };
434
- case "enter-active":
435
- return {
436
- enter: true,
437
- enterActive: true,
438
- exit: false,
439
- exitActive: false,
440
- interrupted: false
441
- };
442
- case "exit-before":
443
- return {
444
- enter: false,
445
- enterActive: false,
446
- exit: true,
447
- exitActive: false,
448
- interrupted: state.interrupted || state.enter
449
- };
450
- case "exit-active":
451
- return {
452
- enter: false,
453
- enterActive: false,
454
- exit: true,
455
- exitActive: true,
456
- interrupted: false
457
- };
458
- case "done":
459
- default:
460
- return RESTING_TRANSITION_STATE;
461
- }
462
- };
463
-
464
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Transition/TransitionGroup.js
465
- var TransitionGroupChildInner = ({ ref: forwardedRef, as: TagName, children, className, transitionId, style, preventMountTransition, shouldRender, enterDuration, exitDuration, removeChild, onEnter, onEnterActive, onEnterComplete, onExit, onExitActive, onExitComplete }) => {
466
- const [state, dispatch] = (0, import_react9.useReducer)(transitionReducer, getInitialTransitionState(preventMountTransition || false));
467
- const preventedMountTransition = (0, import_react9.useRef)(false);
468
- const elementRef = (0, import_react9.useRef)(null);
469
- const enterDurationRef = (0, import_react9.useRef)(enterDuration);
470
- enterDurationRef.current = enterDuration;
471
- const exitDurationRef = (0, import_react9.useRef)(exitDuration);
472
- exitDurationRef.current = exitDuration;
473
- const lastCallbackRef = (0, import_react9.useRef)(null);
474
- const triggerCallback = (0, import_react9.useCallback)((callbackType) => {
475
- const element = elementRef.current;
476
- if (!element || callbackType === lastCallbackRef.current) {
477
- return;
478
- }
479
- lastCallbackRef.current = callbackType;
480
- switch (callbackType) {
481
- case "enter":
482
- onEnter(element);
483
- break;
484
- case "enter-active":
485
- onEnterActive(element);
486
- break;
487
- case "enter-complete":
488
- onEnterComplete(element);
489
- break;
490
- case "exit":
491
- onExit(element);
492
- break;
493
- case "exit-active":
494
- onExitActive(element);
495
- break;
496
- case "exit-complete":
497
- onExitComplete(element);
498
- break;
499
- default:
500
- callbackType;
501
- break;
502
- }
503
- }, [onEnter, onEnterActive, onEnterComplete, onExit, onExitActive, onExitComplete]);
504
- import_react9.default.useLayoutEffect(() => {
505
- if (!shouldRender) {
506
- let exitTimeout;
507
- dispatch({ type: "exit-before" });
508
- triggerCallback("exit");
509
- const cancelAnimationFrame2 = waitForAnimationFrame(() => {
510
- dispatch({ type: "exit-active" });
511
- triggerCallback("exit-active");
512
- exitTimeout = window.setTimeout(() => {
513
- triggerCallback("exit-complete");
514
- removeChild();
515
- }, exitDurationRef.current);
516
- });
517
- return () => {
518
- cancelAnimationFrame2();
519
- if (exitTimeout !== void 0)
520
- clearTimeout(exitTimeout);
521
- };
522
- }
523
- if (preventMountTransition && !preventedMountTransition.current) {
524
- preventedMountTransition.current = true;
525
- return;
526
- }
527
- let enterTimeout;
528
- dispatch({ type: "enter-before" });
529
- triggerCallback("enter");
530
- const cancelAnimationFrame = waitForAnimationFrame(() => {
531
- dispatch({ type: "enter-active" });
532
- triggerCallback("enter-active");
533
- enterTimeout = window.setTimeout(() => {
534
- dispatch({ type: "done" });
535
- triggerCallback("enter-complete");
536
- }, enterDurationRef.current);
537
- });
538
- return () => {
539
- cancelAnimationFrame();
540
- if (enterTimeout !== void 0)
541
- clearTimeout(enterTimeout);
542
- };
543
- }, [
544
- shouldRender,
545
- // This value is immutable after <TransitionGroup> is created, and does not change on re-renders.
546
- preventMountTransition,
547
- removeChild,
548
- triggerCallback
549
- ]);
550
- (0, import_react9.useEffect)(() => {
551
- return () => {
552
- preventedMountTransition.current = false;
553
- };
554
- }, []);
555
- return (0, import_jsx_runtime5.jsx)(TagName, { ref: o([elementRef, forwardedRef]), className: clsx_default(className, s4.TransitionGroupChild), "data-transition-id": transitionId, style, "data-entering": state.enter ? "" : void 0, "data-entering-active": state.enterActive ? "" : void 0, "data-exiting": state.exit ? "" : void 0, "data-exiting-active": state.exitActive ? "" : void 0, "data-interrupted": state.interrupted ? "" : void 0, children });
556
- };
557
- var TransitionGroupChild = (props) => {
558
- const { enterMountDelay, preventMountTransition } = props;
559
- const mountDelay = !preventMountTransition && enterMountDelay != null ? enterMountDelay : null;
560
- const [mounted, setMounted] = (0, import_react9.useState)(mountDelay == null);
561
- useTimeout(() => setMounted(true), mounted ? null : mountDelay);
562
- return mounted ? (0, import_jsx_runtime5.jsx)(TransitionGroupChildInner, { ...props }) : null;
563
- };
564
- var TransitionGroup = (props) => {
565
- const { ref: forwardedRef, as: TagName = "span", children, className, transitionId, style, enterDuration = 0, exitDuration = 0, preventInitialTransition = true, enterMountDelay, insertMethod = "append", disableAnimations = getDisableAnimations_default() } = props;
566
- const onEnter = useChildCallback(props.onEnter ?? noop);
567
- const onEnterActive = useChildCallback(props.onEnterActive ?? noop);
568
- const onEnterComplete = useChildCallback(props.onEnterComplete ?? noop);
569
- const onExit = useChildCallback(props.onExit ?? noop);
570
- const onExitActive = useChildCallback(props.onExitActive ?? noop);
571
- const onExitComplete = useChildCallback(props.onExitComplete ?? noop);
572
- import_react9.Children.forEach(children, (child) => {
573
- if (child && !child.key) {
574
- throw new Error("Child elements of <TransitionGroup /> must include a `key`");
575
- }
576
- });
577
- const createDefaultRenderChildProps = (0, import_react9.useCallback)((child) => ({
578
- component: child,
579
- shouldRender: true,
580
- removeChild: () => {
581
- setRenderChildren((currentRenderChildren) => currentRenderChildren.filter((c) => child.key !== c.component.key));
582
- },
583
- onEnter,
584
- onEnterActive,
585
- onEnterComplete,
586
- onExit,
587
- onExitActive,
588
- onExitComplete
589
- }), [onEnter, onEnterActive, onEnterComplete, onExit, onExitActive, onExitComplete]);
590
- const [renderChildren, setRenderChildren] = (0, import_react9.useState)(() => {
591
- return ChildrenWithKeys(children).map((child) => ({
592
- ...createDefaultRenderChildProps(child),
593
- // Lock this value to whatever the value was on initial render of the TransitionGroup.
594
- // It doesn't make sense to change this once it is mounted.
595
- preventMountTransition: preventInitialTransition
596
- }));
597
- });
598
- (0, import_react9.useLayoutEffect)(() => {
599
- setRenderChildren((currentRenderChildren) => {
600
- const propChildrenArray = ChildrenWithKeys(children);
601
- return computeNextRenderChildren(propChildrenArray, currentRenderChildren, createDefaultRenderChildProps, insertMethod);
602
- });
603
- }, [children, insertMethod, createDefaultRenderChildProps]);
604
- assertSingleChildWhenRef("TransitionGroup", forwardedRef, import_react9.Children.count(children));
605
- if (disableAnimations) {
606
- return (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: import_react9.Children.map(children, (child) => (0, import_jsx_runtime5.jsx)(
607
- TagName,
608
- {
609
- // @ts-expect-error -- TS is not happy about this forwardedRef, but it's fine.
610
- ref: forwardedRef,
611
- className,
612
- style,
613
- "data-transition-id": transitionId,
614
- children: child
615
- }
616
- )) });
617
- }
618
- return (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: renderChildren.map(({ component, ...restProps }) => (0, import_jsx_runtime5.jsx)(TransitionGroupChild, { ...restProps, as: TagName, className, transitionId, enterDuration, exitDuration, enterMountDelay, style, ref: forwardedRef, children: component }, component.key)) });
619
- };
620
-
621
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Button/Button.js
622
- import s5 from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Button/Button.module.css";
623
- var Button = (props) => {
624
- const {
625
- type = "button",
626
- color = "primary",
627
- variant = "solid",
628
- pill = true,
629
- uniform = false,
630
- size = "md",
631
- iconSize,
632
- gutterSize,
633
- loading,
634
- selected,
635
- block,
636
- opticallyAlign,
637
- children,
638
- className,
639
- onClick,
640
- disabled,
641
- disabledTone,
642
- // Defaults to `loading` state
643
- inert = loading,
644
- ...restProps
645
- } = props;
646
- const isInert = disabled || inert;
647
- const handleClick = (0, import_react10.useCallback)((e) => {
648
- if (disabled) {
649
- return;
650
- }
651
- onClick == null ? void 0 : onClick(e);
652
- }, [onClick, disabled]);
653
- return (0, import_jsx_runtime6.jsxs)("button", {
654
- type,
655
- className: clsx_default(s5.Button, className),
656
- "data-color": color,
657
- "data-variant": variant,
658
- "data-pill": pill ? "" : void 0,
659
- "data-uniform": uniform ? "" : void 0,
660
- "data-size": size,
661
- "data-gutter-size": gutterSize,
662
- "data-icon-size": iconSize,
663
- "data-loading": loading ? "" : void 0,
664
- "data-selected": selected ? "" : void 0,
665
- "data-block": block ? "" : void 0,
666
- "data-optically-align": opticallyAlign,
667
- onPointerEnter: handlePressableMouseEnter,
668
- // Non-visual, accessible disablement
669
- // NOTE: Do not use literal `inert` because that is incorrect semantically
670
- disabled: isInert,
671
- "aria-disabled": isInert,
672
- tabIndex: isInert ? -1 : void 0,
673
- "data-disabled": disabled ? "" : void 0,
674
- "data-disabled-tone": disabled ? disabledTone : void 0,
675
- onClick: handleClick,
676
- ...restProps,
677
- children: [(0, import_jsx_runtime6.jsx)(TransitionGroup, { className: s5.ButtonLoader, enterDuration: 250, exitDuration: 150, children: loading && (0, import_jsx_runtime6.jsx)(LoadingIndicator, {}, "loader") }), (0, import_jsx_runtime6.jsx)("span", { className: s5.ButtonInner, children: wrapTextNodeSiblings(children) })]
678
- });
679
- };
680
- var ButtonLink = (props) => {
681
- const { color = "primary", variant = "solid", pill = true, size = "md", gutterSize, iconSize, external, block, opticallyAlign, children, className, disabled, disabledTone, onClick, onPointerEnter, as: OverrideComponent, href, to, ...restProps } = props;
682
- const isExternal = external ?? /^https?:\/\//.test(href ?? to ?? "");
683
- const DefaultComponent = useLinkComponent();
684
- const LinkComponent = OverrideComponent || (isExternal ? "a" : DefaultComponent);
685
- const sharedProps = {
686
- "className": clsx_default(s5.Button, className),
687
- disabled,
688
- "aria-disabled": disabled,
689
- "tabIndex": disabled ? -1 : void 0,
690
- // Visual disablement (inert not supported in links, always applied)
691
- "data-disabled": disabled ? "" : void 0,
692
- "data-disabled-tone": disabled ? disabledTone : void 0,
693
- "data-color": color,
694
- "data-variant": variant,
695
- "data-pill": pill ? "" : void 0,
696
- "data-block": block ? "" : void 0,
697
- "data-optically-align": opticallyAlign,
698
- "data-size": size,
699
- "data-gutter-size": gutterSize,
700
- "data-icon-size": iconSize,
701
- "onClick": disabled ? void 0 : onClick,
702
- "onPointerEnter": (evt) => {
703
- handlePressableMouseEnter(evt);
704
- onPointerEnter == null ? void 0 : onPointerEnter(evt);
705
- }
706
- };
707
- if (disabled) {
708
- const eventProps = Object.fromEntries(Object.entries(restProps).filter(([key, value]) => key.startsWith("on") && typeof value === "function"));
709
- return (0, import_jsx_runtime6.jsx)("span", { role: "link", ...sharedProps, ...eventProps, children: (0, import_jsx_runtime6.jsx)("span", { className: s5.ButtonInner, children: wrapTextNodeSiblings(children) }) });
710
- }
711
- const linkProps = {
712
- ...isExternal ? { target: "_blank", rel: "noopener noreferrer", href: href ?? to } : { href, to },
713
- ...sharedProps,
714
- ...restProps
715
- };
716
- return (0, import_jsx_runtime6.jsx)(LinkComponent, { ...linkProps, children: (0, import_jsx_runtime6.jsx)("span", { className: s5.ButtonInner, children: wrapTextNodeSiblings(children) }) });
717
- };
718
-
719
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Button/CopyButton.js
720
- var import_jsx_runtime11 = __toESM(require_jsx_runtime());
721
- var import_react15 = __toESM(require_react());
722
-
723
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/lib/copyToClipboard.js
724
- var supportsRichClipboard = () => {
725
- var _a;
726
- return typeof ClipboardItem !== "undefined" && !!((_a = navigator.clipboard) == null ? void 0 : _a.write);
727
- };
728
- function toClipboardItem(content) {
729
- const { "text/plain": text, ...rest } = content;
730
- return new ClipboardItem({
731
- ...rest,
732
- ...text ? { "text/plain": new Blob([text], { type: "text/plain" }) } : null
733
- });
734
- }
735
- async function copyToClipboard(content, container = document.body) {
736
- if (typeof content === "string") {
737
- return copyText(content, container);
738
- }
739
- try {
740
- if (supportsRichClipboard()) {
741
- await navigator.clipboard.write([toClipboardItem(content)]);
742
- return true;
743
- }
744
- if (content["text/plain"]) {
745
- return copyText(content["text/plain"], container);
746
- }
747
- return false;
748
- } catch (error) {
749
- return false;
750
- }
751
- }
752
- async function copyText(text, container = document.body) {
753
- if (navigator.clipboard) {
754
- try {
755
- await navigator.clipboard.writeText(text);
756
- return true;
757
- } catch (error) {
758
- }
759
- }
760
- const textArea = document.createElement("textarea");
761
- textArea.value = text;
762
- textArea.style.position = "fixed";
763
- textArea.style.top = "0";
764
- textArea.style.left = "0";
765
- textArea.style.opacity = "0";
766
- container.appendChild(textArea);
767
- textArea.focus();
768
- textArea.select();
769
- let succeeded = false;
770
- try {
771
- succeeded = document.execCommand("copy");
772
- } catch (error) {
773
- }
774
- container.removeChild(textArea);
775
- return succeeded;
776
- }
777
-
778
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Transition/Animate.js
779
- var import_jsx_runtime7 = __toESM(require_jsx_runtime());
780
- var import_react11 = __toESM(require_react());
781
- import s6 from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Transition/Animate.module.css";
782
- var Animate = (props) => {
783
- const { as: TagName = "span", className, children, preventInitialTransition, insertMethod, transitionClassName, transitionPosition = "absolute" } = props;
784
- const { enterTotalDuration, exitTotalDuration, variables } = getAnimationProperties(props);
785
- return (0, import_jsx_runtime7.jsx)(TagName, { className: clsx_default("block", transitionPosition === "absolute" && "relative", className), "data-transition-position": transitionPosition, style: variables, children: (0, import_jsx_runtime7.jsx)(TransitionGroup, { as: TagName, className: clsx_default(s6.TransitionItem, transitionClassName), enterDuration: enterTotalDuration, exitDuration: exitTotalDuration, insertMethod, preventInitialTransition, children }) });
786
- };
787
- var DEFAULT_ENTER_DURATION_MS_EASE = 400;
788
- var DEFAULT_ENTER_DURATION_MS_CUBIC = 500;
789
- var DEFAULT_EXIT_DURATION_MS_EASE = 200;
790
- var DEFAULT_EXIT_DURATION_MS_CUBIC = 300;
791
- function getAnimationProperties({ initial, enter, exit, forceCompositeLayer }) {
792
- const initialTransform = toTransformProperty(initial);
793
- const enterTransform = toTransformProperty(enter);
794
- const exitTransform = toTransformProperty(exit);
795
- const isCubicTransition = [initialTransform, exitTransform, enterTransform].some((t) => t !== "none");
796
- const enterDuration = (enter == null ? void 0 : enter.duration) ?? (isCubicTransition ? DEFAULT_ENTER_DURATION_MS_CUBIC : DEFAULT_ENTER_DURATION_MS_EASE);
797
- const enterTimingFunction = (enter == null ? void 0 : enter.timingFunction) ?? (isCubicTransition ? "var(--cubic-enter)" : "ease");
798
- const exitDuration = (exit == null ? void 0 : exit.duration) ?? (isCubicTransition ? DEFAULT_EXIT_DURATION_MS_CUBIC : DEFAULT_EXIT_DURATION_MS_EASE);
799
- const exitTimingFunction = (exit == null ? void 0 : exit.timingFunction) ?? (isCubicTransition ? "var(--cubic-exit)" : "ease");
800
- const variables = toCssVariables({
801
- "tg-will-change": forceCompositeLayer ? "transform, opacity" : "auto",
802
- "tg-enter-opacity": toOpacityProperty((enter == null ? void 0 : enter.opacity) ?? 1),
803
- "tg-enter-transform": enterTransform,
804
- "tg-enter-filter": toFilterProperty(enter),
805
- "tg-enter-duration": toMsDurationProperty(enterDuration),
806
- "tg-enter-delay": toMsDurationProperty((enter == null ? void 0 : enter.delay) ?? 0),
807
- "tg-enter-timing-function": enterTimingFunction,
808
- "tg-exit-opacity": toOpacityProperty((exit == null ? void 0 : exit.opacity) ?? 0),
809
- "tg-exit-transform": exitTransform,
810
- "tg-exit-filter": toFilterProperty(exit),
811
- "tg-exit-duration": toMsDurationProperty(exitDuration),
812
- "tg-exit-delay": toMsDurationProperty((exit == null ? void 0 : exit.delay) ?? 0),
813
- "tg-exit-timing-function": exitTimingFunction,
814
- "tg-initial-opacity": toOpacityProperty((initial == null ? void 0 : initial.opacity) ?? (exit == null ? void 0 : exit.opacity) ?? 0),
815
- "tg-initial-transform": initialTransform === "none" ? exitTransform : initialTransform,
816
- "tg-initial-filter": toFilterProperty(initial ?? exit ?? {})
817
- });
818
- const enterTotalDuration = ((enter == null ? void 0 : enter.delay) ?? 0) + enterDuration;
819
- const exitTotalDuration = ((exit == null ? void 0 : exit.delay) ?? 0) + exitDuration;
820
- return { enterTotalDuration, exitTotalDuration, variables };
821
- }
822
-
823
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Transition/AnimateLayout.js
824
- var import_jsx_runtime8 = __toESM(require_jsx_runtime());
825
- var import_react12 = __toESM(require_react());
826
- import s7 from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Transition/AnimateLayout.module.css";
827
-
828
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Transition/AnimateLayoutGroup.js
829
- var import_jsx_runtime9 = __toESM(require_jsx_runtime());
830
- var import_react13 = __toESM(require_react());
831
- import s8 from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Transition/AnimateLayoutGroup.module.css";
832
-
833
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Transition/SlotTransitionGroup.js
834
- var import_jsx_runtime10 = __toESM(require_jsx_runtime());
835
- var import_react14 = __toESM(require_react());
836
-
837
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Button/CopyButton.js
838
- var CopyButton = ({ children, copyValue, onClick, ...restProps }) => {
839
- const [copied, setCopied] = (0, import_react15.useState)(false);
840
- const copiedTimeout = (0, import_react15.useRef)(null);
841
- const handleClick = (evt) => {
842
- if (copied) {
843
- return;
844
- }
845
- setCopied(true);
846
- onClick == null ? void 0 : onClick(evt);
847
- copyToClipboard(typeof copyValue === "function" ? copyValue() : copyValue);
848
- copiedTimeout.current = window.setTimeout(() => {
849
- setCopied(false);
850
- }, 1300);
851
- };
852
- (0, import_react15.useEffect)(() => {
853
- return () => {
854
- if (copiedTimeout.current)
855
- clearTimeout(copiedTimeout.current);
856
- };
857
- }, []);
858
- return (0, import_jsx_runtime11.jsxs)(Button, { ...restProps, onClick: handleClick, children: [(0, import_jsx_runtime11.jsx)(Animate, { className: "w-[var(--button-icon-size)] h-[var(--button-icon-size)]", initial: { scale: 0.6 }, enter: { scale: 1, delay: 150, duration: 300 }, exit: { scale: 0.6, duration: 150 }, forceCompositeLayer: true, children: copied ? (0, import_jsx_runtime11.jsx)(Check_default, {}, "copied-icon") : (0, import_jsx_runtime11.jsx)(Copy_default, {}, "copy-icon") }), typeof children === "function" ? children({ copied }) : children] });
859
- };
2
+ Button,
3
+ ButtonLink,
4
+ CopyButton
5
+ } from "./chunk-675LFNY2.js";
6
+ import "./chunk-QPJAV452.js";
7
+ import "./chunk-XB525PXG.js";
8
+ import "./chunk-YOJ6QPGS.js";
9
+ import "./chunk-BAG6OO6S.js";
10
+ import "./chunk-EGRHWZRV.js";
11
+ import "./chunk-CNYJBM5F.js";
12
+ import "./chunk-PTVT3RFX.js";
13
+ import "./chunk-4TLBUCVB.js";
14
+ import "./chunk-ILHRZGIS.js";
860
15
  export {
861
16
  Button,
862
17
  ButtonLink,