sunpeak 0.2.6 → 0.3.2

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 (79) hide show
  1. package/README.md +32 -17
  2. package/dist/chatgpt/chatgpt-simulator-types.d.ts +8 -0
  3. package/dist/chatgpt/chatgpt-simulator.d.ts +11 -0
  4. package/dist/chatgpt/conversation.d.ts +11 -0
  5. package/dist/chatgpt/index.d.ts +3 -0
  6. package/dist/chatgpt/mcp-provider.d.ts +25 -0
  7. package/dist/chatgpt/mock-openai.d.ts +61 -0
  8. package/dist/chatgpt/openai-provider.d.ts +19 -0
  9. package/dist/chatgpt/openai-types.d.ts +81 -0
  10. package/dist/chatgpt/simple-sidebar.d.ts +22 -0
  11. package/dist/chatgpt/theme-provider.d.ts +13 -0
  12. package/dist/hooks/index.d.ts +14 -0
  13. package/dist/hooks/use-display-mode.d.ts +2 -0
  14. package/dist/hooks/use-locale.d.ts +1 -0
  15. package/dist/hooks/use-max-height.d.ts +1 -0
  16. package/dist/hooks/use-mobile.d.ts +1 -0
  17. package/dist/hooks/use-safe-area.d.ts +2 -0
  18. package/dist/hooks/use-theme.d.ts +2 -0
  19. package/dist/hooks/use-tool-input.d.ts +2 -0
  20. package/dist/hooks/use-tool-response-metadata.d.ts +2 -0
  21. package/dist/hooks/use-user-agent.d.ts +2 -0
  22. package/dist/hooks/use-view.d.ts +2 -0
  23. package/dist/hooks/use-widget-api.d.ts +8 -0
  24. package/dist/hooks/use-widget-global.d.ts +9 -0
  25. package/dist/hooks/use-widget-props.d.ts +1 -0
  26. package/dist/hooks/use-widget-state.d.ts +4 -0
  27. package/dist/index.cjs +3310 -666
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.d.ts +5 -366
  30. package/dist/index.js +3325 -640
  31. package/dist/index.js.map +1 -1
  32. package/dist/lib/index.d.ts +2 -0
  33. package/dist/lib/media-queries.d.ts +3 -0
  34. package/dist/lib/utils.d.ts +2 -0
  35. package/dist/mcp/index.cjs +799 -64
  36. package/dist/mcp/index.cjs.map +1 -1
  37. package/dist/mcp/index.d.ts +1 -12
  38. package/dist/mcp/index.js +786 -44
  39. package/dist/mcp/index.js.map +1 -1
  40. package/dist/mcp/server.d.ts +10 -0
  41. package/dist/mcp/types.d.ts +74 -0
  42. package/dist/providers/index.d.ts +40 -0
  43. package/dist/providers/types.d.ts +71 -0
  44. package/dist/style.css +5014 -0
  45. package/dist/test/setup.d.ts +0 -0
  46. package/dist/types/index.d.ts +2 -0
  47. package/package.json +11 -19
  48. package/template/README.md +3 -6
  49. package/template/dev/main.tsx +0 -1
  50. package/template/mcp/server.ts +1 -1
  51. package/template/package.json +4 -14
  52. package/template/src/App.tsx +7 -8
  53. package/template/src/components/index.ts +2 -2
  54. package/template/src/components/openai-card.test.tsx +73 -0
  55. package/template/src/components/openai-card.tsx +126 -0
  56. package/template/src/components/openai-carousel.test.tsx +84 -0
  57. package/template/src/components/openai-carousel.tsx +178 -0
  58. package/template/src/styles/globals.css +5 -216
  59. package/template/vite.config.build.ts +61 -0
  60. package/template/vite.config.ts +0 -2
  61. package/dist/index.d.cts +0 -366
  62. package/dist/mcp/index.d.cts +0 -12
  63. package/dist/styles/chatgpt/index.css +0 -146
  64. package/dist/styles/globals.css +0 -219
  65. package/template/components.json +0 -21
  66. package/template/dev/styles.css +0 -6
  67. package/template/postcss.config.js +0 -5
  68. package/template/src/components/shadcn/button.tsx +0 -60
  69. package/template/src/components/shadcn/card.tsx +0 -76
  70. package/template/src/components/shadcn/carousel.tsx +0 -260
  71. package/template/src/components/shadcn/index.ts +0 -5
  72. package/template/src/components/shadcn/label.tsx +0 -24
  73. package/template/src/components/shadcn/select.tsx +0 -157
  74. package/template/src/components/sunpeak-card.test.tsx +0 -76
  75. package/template/src/components/sunpeak-card.tsx +0 -171
  76. package/template/src/components/sunpeak-carousel.test.tsx +0 -42
  77. package/template/src/components/sunpeak-carousel.tsx +0 -160
  78. package/template/src/styles/chatgpt.css +0 -146
  79. package/template/tsup.config.ts +0 -50
@@ -1,146 +0,0 @@
1
- /**
2
- * OpenAI ChatGPT Apps SDK Design System
3
- *
4
- * Implements Sunpeak base variables according to OpenAI ChatGPT Apps SDK design guidelines.
5
- * https://developers.openai.com/apps-sdk/concepts/design-guidelines
6
- *
7
- * Design Principles:
8
- * - "Always inherit the system font stack"
9
- * - "Use system colors for text, icons, and spatial elements"
10
- * - "Use system grid spacing"
11
- * - "Respect system specified corner rounds"
12
- *
13
- * ⚠️ These values should NOT be overridden unless you want to break
14
- * compliance with OpenAI ChatGPT Apps SDK design guidelines.
15
- */
16
-
17
- :root {
18
- /* ===================================
19
- * TYPOGRAPHY - System Fonts
20
- * ===================================
21
- * "Always inherit the system font stack"
22
- * Platform-native: SF Pro (iOS/macOS), Roboto (Android), Segoe UI (Windows)
23
- */
24
-
25
- --sp-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
26
-
27
- /* Font sizes - System-defined scale */
28
- --sp-font-size-xs: 0.75rem; /* 12px - metadata */
29
- --sp-font-size-sm: 0.875rem; /* 14px - descriptions */
30
- --sp-font-size-base: 1rem; /* 16px - headers */
31
- --sp-font-size-lg: 1.125rem; /* 18px */
32
- --sp-font-size-xl: 1.25rem; /* 20px */
33
-
34
- /* Font weights - System-defined */
35
- --sp-font-weight-normal: 400;
36
- --sp-font-weight-medium: 500;
37
- --sp-font-weight-semibold: 600;
38
- --sp-font-weight-bold: 700;
39
-
40
- /* Line heights - System-defined */
41
- --sp-line-height-tight: 1.25;
42
- --sp-line-height-normal: 1.5;
43
- --sp-line-height-relaxed: 1.75;
44
-
45
- /* ===================================
46
- * SYSTEM COLORS
47
- * ===================================
48
- * "Use system colors for text, icons, and spatial elements"
49
- */
50
-
51
- /* Light Mode - OpenAI ChatGPT System Colors */
52
- --sp-light-color-bg-primary: #ffffff;
53
- --sp-light-color-bg-secondary: #e8e8e8;
54
- --sp-light-color-bg-tertiary: #f3f3f3;
55
- --sp-light-color-text-primary: #0d0d0d;
56
- --sp-light-color-text-secondary: #5d5d5d;
57
- --sp-light-color-text-tertiary: #8f8f8f;
58
- --sp-light-color-text-inverted: #8f8f8f;
59
- --sp-light-color-border: rgba(0, 0, 0, 0.05);
60
- --sp-light-success: #008635;
61
- --sp-light-warning: #e25507;
62
- --sp-light-error: #e02e2a;
63
- --sp-light-info: #0285ff;
64
- --sp-light-sidebar: #f9f9f9;
65
- /* Customizable light styles */
66
- --sp-light-accent: #f46c21;
67
- --sp-light-accent-hover: rgba(244, 108, 33, 0.9);
68
- --sp-light-accent-active: #d45e1c;
69
- --sp-light-accent-foreground: #ffffff;
70
-
71
- /* Dark Mode - OpenAI ChatGPT System Colors */
72
- --sp-dark-color-bg-primary: #212121;
73
- --sp-dark-color-bg-secondary: #303030;
74
- --sp-dark-color-bg-tertiary: #414141;
75
- --sp-dark-color-text-primary: #ffffff;
76
- --sp-dark-color-text-secondary: #cdcdcd;
77
- --sp-dark-color-text-tertiary: #afafaf;
78
- --sp-dark-color-text-inverted: #afafaf;
79
- --sp-dark-color-border: #ffffff0d;
80
- --sp-dark-success: #40c977;
81
- --sp-dark-warning: #ff9e6c;
82
- --sp-dark-error: #ff8583;
83
- --sp-dark-info: #0285ff;
84
- --sp-dark-sidebar: #181818;
85
- /* Customizable dark styles */
86
- --sp-dark-accent: #f46c21;
87
- --sp-dark-accent-hover: rgba(244, 108, 33, 0.9);
88
- --sp-dark-accent-active: #d45e1c;
89
- --sp-dark-accent-foreground: #ffffff;
90
-
91
- /* ===================================
92
- * SPACING - System Grid
93
- * ===================================
94
- * "Use system grid spacing"
95
- * 4px base grid system
96
- */
97
-
98
- --sp-spacing-1: 0.25rem; /* 4px */
99
- --sp-spacing-2: 0.5rem; /* 8px */
100
- --sp-spacing-3: 0.75rem; /* 12px */
101
- --sp-spacing-4: 1rem; /* 16px */
102
- --sp-spacing-5: 1.25rem; /* 20px */
103
- --sp-spacing-6: 1.5rem; /* 24px */
104
- --sp-spacing-8: 2rem; /* 32px */
105
-
106
- /* ===================================
107
- * BORDER RADIUS
108
- * ===================================
109
- * "Respect system specified corner rounds"
110
- */
111
-
112
- --sp-radius-sm: 0.375rem; /* 6px */
113
- --sp-radius-md: 0.5rem; /* 8px */
114
- --sp-radius-lg: 0.75rem; /* 12px */
115
- --sp-radius-xl: 1rem; /* 16px */
116
- --sp-radius-2xl: 1.5rem; /* 24px */
117
- --sp-radius-full: 9999px;
118
-
119
- /* ===================================
120
- * SHADOWS - System Elevation
121
- * ===================================
122
- */
123
-
124
- --sp-shadow-sm: 0px 1px 2px rgba(0, 0, 0, 0.05);
125
- --sp-shadow-md: 0px 2px 6px rgba(0, 0, 0, 0.06);
126
- --sp-shadow-lg: 0px 4px 12px rgba(0, 0, 0, 0.1);
127
- --sp-shadow-xl: 0px 8px 24px rgba(0, 0, 0, 0.12);
128
-
129
- /* ===================================
130
- * COMPONENT DIMENSIONS
131
- * ===================================
132
- * Standard component sizing from OpenAI ChatGPT examples
133
- */
134
-
135
- /* Card width - 220px (OpenAI ChatGPT standard) */
136
- --sp-card-width: 220px;
137
-
138
- /* Card gap - 16px (OpenAI ChatGPT standard) */
139
- --sp-card-gap: 1rem;
140
-
141
- /* Button padding */
142
- --sp-button-padding-x: 1rem; /* 16px */
143
- --sp-button-padding-y: 0.375rem; /* 6px */
144
- --sp-button-padding-x-sm: 0.75rem; /* 12px */
145
- --sp-button-padding-y-sm: 0.25rem; /* 4px */
146
- }
@@ -1,50 +0,0 @@
1
- import { defineConfig } from 'tsup';
2
- import postcss from 'postcss';
3
- import tailwindcss from '@tailwindcss/postcss';
4
- import type { Plugin } from 'esbuild';
5
- import fs from 'fs';
6
-
7
- function postcssPlugin(): Plugin {
8
- return {
9
- name: 'postcss',
10
- setup(build) {
11
- build.onLoad({ filter: /\.css$/ }, async (args) => {
12
- const css = fs.readFileSync(args.path, 'utf8');
13
- const result = await postcss([tailwindcss()]).process(css, {
14
- from: args.path,
15
- });
16
- return {
17
- contents: result.css,
18
- loader: 'css',
19
- };
20
- });
21
- },
22
- };
23
- }
24
-
25
- export default defineConfig({
26
- entry: {
27
- 'chatgpt/index': 'src/index.chatgpt.tsx',
28
- },
29
- format: ['iife'],
30
- dts: false,
31
- sourcemap: false,
32
- clean: true,
33
- external: [],
34
- noExternal: [/.*/],
35
- treeshake: true,
36
- splitting: false,
37
- minify: true,
38
- outDir: 'dist',
39
- injectStyle: true,
40
- globalName: 'SunpeakApp',
41
- esbuildPlugins: [postcssPlugin()],
42
- esbuildOptions(options) {
43
- options.bundle = true;
44
- options.platform = 'browser';
45
- options.target = 'es2020';
46
- options.jsx = 'automatic';
47
- // Enable "style" condition for CSS-only packages like tw-animate-css
48
- options.conditions = ['style', 'import', 'module', 'browser', 'default'];
49
- },
50
- });