openuispec 0.2.10 → 0.2.12

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 (237) hide show
  1. package/README.md +3 -1
  2. package/check/index.ts +17 -0
  3. package/cli/index.ts +21 -3
  4. package/cli/init.ts +224 -10
  5. package/docs/cli.md +13 -8
  6. package/docs/file-formats.md +36 -0
  7. package/docs/implementation-notes.md +7 -0
  8. package/drift/index.ts +281 -40
  9. package/mcp-server/index.ts +179 -119
  10. package/mcp-server/screenshot.ts +19 -4
  11. package/package.json +5 -2
  12. package/prepare/index.ts +155 -18
  13. package/schema/openuispec.schema.json +59 -0
  14. package/schema/semantic-lint.ts +25 -1
  15. package/scripts/take-all-screenshots.ts +507 -0
  16. package/spec/openuispec-v0.1.md +13 -0
  17. package/status/index.ts +72 -2
  18. package/examples/social-app/.mcp.json +0 -10
  19. package/examples/social-app/AGENTS.md +0 -124
  20. package/examples/social-app/CLAUDE.md +0 -124
  21. package/examples/social-app/backend/.gitkeep +0 -1
  22. package/examples/social-app/generated/android/social-app/app/.paparazzi-hashes.json +0 -3
  23. package/examples/social-app/generated/android/social-app/app/build.gradle.kts +0 -94
  24. package/examples/social-app/generated/android/social-app/app/src/main/AndroidManifest.xml +0 -26
  25. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/AppContainer.kt +0 -20
  26. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/MainActivity.kt +0 -35
  27. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/SocialAppApplication.kt +0 -13
  28. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/data/MockData.kt +0 -98
  29. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/data/preferences/AppPreferences.kt +0 -19
  30. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/data/preferences/DataStorePreferencesRepository.kt +0 -68
  31. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/data/preferences/PreferencesRepository.kt +0 -15
  32. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/model/Models.kt +0 -34
  33. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/MainShell.kt +0 -390
  34. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/components/Components.kt +0 -234
  35. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/components/ContractPrimitives.kt +0 -641
  36. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/navigation/RootComponent.kt +0 -113
  37. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/screens/ChatDetailScreen.kt +0 -212
  38. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/screens/CreatePostScreen.kt +0 -113
  39. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/screens/DiscoverScreen.kt +0 -137
  40. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/screens/EditProfileScreen.kt +0 -180
  41. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/screens/HomeFeedScreen.kt +0 -169
  42. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/screens/MessagesInboxScreen.kt +0 -85
  43. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/screens/NotificationsScreen.kt +0 -74
  44. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/screens/PostDetailScreen.kt +0 -293
  45. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/screens/ProfileSelfScreen.kt +0 -116
  46. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/screens/SearchResultsScreen.kt +0 -161
  47. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/screens/SettingsScreen.kt +0 -164
  48. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/screens/SettingsStore.kt +0 -95
  49. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/screens/UserProfileScreen.kt +0 -123
  50. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/theme/Color.kt +0 -33
  51. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/theme/Shape.kt +0 -41
  52. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/theme/Spacing.kt +0 -20
  53. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/theme/Theme.kt +0 -82
  54. package/examples/social-app/generated/android/social-app/app/src/main/java/com/social/app/ui/theme/Type.kt +0 -60
  55. package/examples/social-app/generated/android/social-app/app/src/main/res/drawable/ic_launcher_foreground.xml +0 -9
  56. package/examples/social-app/generated/android/social-app/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +0 -5
  57. package/examples/social-app/generated/android/social-app/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +0 -5
  58. package/examples/social-app/generated/android/social-app/app/src/main/res/values/strings.xml +0 -91
  59. package/examples/social-app/generated/android/social-app/app/src/main/res/values/themes.xml +0 -10
  60. package/examples/social-app/generated/android/social-app/app/src/main/res/values-ru/strings.xml +0 -79
  61. package/examples/social-app/generated/android/social-app/app/src/main/res/values-uz/strings.xml +0 -79
  62. package/examples/social-app/generated/android/social-app/app/src/main/xml/AndroidManifest.xml +0 -23
  63. package/examples/social-app/generated/android/social-app/app/src/test/kotlin/com/social/app/screenshots/HomeFeedScreenshotTest.kt +0 -34
  64. package/examples/social-app/generated/android/social-app/build.gradle.kts +0 -7
  65. package/examples/social-app/generated/android/social-app/gradle/libs.versions.toml +0 -50
  66. package/examples/social-app/generated/android/social-app/gradle/wrapper/gradle-wrapper.jar +0 -0
  67. package/examples/social-app/generated/android/social-app/gradle/wrapper/gradle-wrapper.properties +0 -8
  68. package/examples/social-app/generated/android/social-app/gradle.properties +0 -11
  69. package/examples/social-app/generated/android/social-app/gradlew +0 -248
  70. package/examples/social-app/generated/android/social-app/settings.gradle.kts +0 -27
  71. package/examples/social-app/generated/web/social-app/index.html +0 -12
  72. package/examples/social-app/generated/web/social-app/package-lock.json +0 -2517
  73. package/examples/social-app/generated/web/social-app/package.json +0 -27
  74. package/examples/social-app/generated/web/social-app/src/app/App.tsx +0 -58
  75. package/examples/social-app/generated/web/social-app/src/components/Shell.tsx +0 -259
  76. package/examples/social-app/generated/web/social-app/src/components/cards.tsx +0 -317
  77. package/examples/social-app/generated/web/social-app/src/components/ui.tsx +0 -340
  78. package/examples/social-app/generated/web/social-app/src/flows/CreatePostFlow.tsx +0 -86
  79. package/examples/social-app/generated/web/social-app/src/i18n.tsx +0 -59
  80. package/examples/social-app/generated/web/social-app/src/lib/icons.tsx +0 -85
  81. package/examples/social-app/generated/web/social-app/src/lib/tokens.ts +0 -70
  82. package/examples/social-app/generated/web/social-app/src/lib/utils.ts +0 -97
  83. package/examples/social-app/generated/web/social-app/src/locales/en.json +0 -67
  84. package/examples/social-app/generated/web/social-app/src/locales/ru.json +0 -67
  85. package/examples/social-app/generated/web/social-app/src/locales/uz.json +0 -67
  86. package/examples/social-app/generated/web/social-app/src/main.tsx +0 -16
  87. package/examples/social-app/generated/web/social-app/src/screens/ChatDetailScreen.tsx +0 -90
  88. package/examples/social-app/generated/web/social-app/src/screens/DiscoverScreen.tsx +0 -86
  89. package/examples/social-app/generated/web/social-app/src/screens/EditProfileScreen.tsx +0 -57
  90. package/examples/social-app/generated/web/social-app/src/screens/HomeFeedScreen.tsx +0 -103
  91. package/examples/social-app/generated/web/social-app/src/screens/MessagesInboxScreen.tsx +0 -52
  92. package/examples/social-app/generated/web/social-app/src/screens/NotificationsScreen.tsx +0 -41
  93. package/examples/social-app/generated/web/social-app/src/screens/PostDetailScreen.tsx +0 -115
  94. package/examples/social-app/generated/web/social-app/src/screens/ProfileSelfScreen.tsx +0 -57
  95. package/examples/social-app/generated/web/social-app/src/screens/ProfileUserScreen.tsx +0 -76
  96. package/examples/social-app/generated/web/social-app/src/screens/SearchResultsScreen.tsx +0 -96
  97. package/examples/social-app/generated/web/social-app/src/screens/SettingsScreen.tsx +0 -79
  98. package/examples/social-app/generated/web/social-app/src/state/store.ts +0 -592
  99. package/examples/social-app/generated/web/social-app/src/styles.css +0 -125
  100. package/examples/social-app/generated/web/social-app/src/vite-env.d.ts +0 -1
  101. package/examples/social-app/generated/web/social-app/tsconfig.json +0 -22
  102. package/examples/social-app/generated/web/social-app/tsconfig.node.json +0 -13
  103. package/examples/social-app/generated/web/social-app/tsconfig.node.tsbuildinfo +0 -1
  104. package/examples/social-app/generated/web/social-app/tsconfig.tsbuildinfo +0 -1
  105. package/examples/social-app/generated/web/social-app/vite.config.d.ts +0 -2
  106. package/examples/social-app/generated/web/social-app/vite.config.js +0 -6
  107. package/examples/social-app/generated/web/social-app/vite.config.ts +0 -7
  108. package/examples/social-app/package.json +0 -13
  109. package/examples/social-app/take-web-screenshots.ts +0 -97
  110. package/examples/taskflow/.codex/config.toml +0 -4
  111. package/examples/taskflow/.mcp.json +0 -10
  112. package/examples/taskflow/AGENTS.md +0 -124
  113. package/examples/taskflow/CLAUDE.md +0 -124
  114. package/examples/taskflow/backend/.gitkeep +0 -1
  115. package/examples/taskflow/generated/android/TaskFlow/README.md +0 -43
  116. package/examples/taskflow/generated/android/TaskFlow/app/build.gradle.kts +0 -76
  117. package/examples/taskflow/generated/android/TaskFlow/app/proguard-rules.pro +0 -1
  118. package/examples/taskflow/generated/android/TaskFlow/app/src/main/AndroidManifest.xml +0 -21
  119. package/examples/taskflow/generated/android/TaskFlow/app/src/main/java/uz/rsteam/taskflow/MainActivity.kt +0 -19
  120. package/examples/taskflow/generated/android/TaskFlow/app/src/main/java/uz/rsteam/taskflow/TaskFlowApp.kt +0 -283
  121. package/examples/taskflow/generated/android/TaskFlow/app/src/main/java/uz/rsteam/taskflow/model/DomainModels.kt +0 -106
  122. package/examples/taskflow/generated/android/TaskFlow/app/src/main/java/uz/rsteam/taskflow/model/SampleData.kt +0 -57
  123. package/examples/taskflow/generated/android/TaskFlow/app/src/main/java/uz/rsteam/taskflow/ui/components/Common.kt +0 -109
  124. package/examples/taskflow/generated/android/TaskFlow/app/src/main/java/uz/rsteam/taskflow/ui/screens/HomeScreen.kt +0 -112
  125. package/examples/taskflow/generated/android/TaskFlow/app/src/main/java/uz/rsteam/taskflow/ui/screens/ProjectsScreen.kt +0 -61
  126. package/examples/taskflow/generated/android/TaskFlow/app/src/main/java/uz/rsteam/taskflow/ui/screens/SettingsScreen.kt +0 -82
  127. package/examples/taskflow/generated/android/TaskFlow/app/src/main/java/uz/rsteam/taskflow/ui/screens/TaskDetailScreen.kt +0 -111
  128. package/examples/taskflow/generated/android/TaskFlow/app/src/main/java/uz/rsteam/taskflow/ui/sheets/Sheets.kt +0 -77
  129. package/examples/taskflow/generated/android/TaskFlow/app/src/main/java/uz/rsteam/taskflow/ui/theme/Color.kt +0 -30
  130. package/examples/taskflow/generated/android/TaskFlow/app/src/main/java/uz/rsteam/taskflow/ui/theme/Theme.kt +0 -86
  131. package/examples/taskflow/generated/android/TaskFlow/app/src/main/java/uz/rsteam/taskflow/ui/theme/Type.kt +0 -57
  132. package/examples/taskflow/generated/android/TaskFlow/app/src/main/res/values/strings.xml +0 -155
  133. package/examples/taskflow/generated/android/TaskFlow/app/src/main/res/values/themes.xml +0 -4
  134. package/examples/taskflow/generated/android/TaskFlow/build.gradle.kts +0 -5
  135. package/examples/taskflow/generated/android/TaskFlow/gradle/gradle-daemon-jvm.properties +0 -12
  136. package/examples/taskflow/generated/android/TaskFlow/gradle/wrapper/gradle-wrapper.jar +0 -0
  137. package/examples/taskflow/generated/android/TaskFlow/gradle/wrapper/gradle-wrapper.properties +0 -7
  138. package/examples/taskflow/generated/android/TaskFlow/gradle.properties +0 -4
  139. package/examples/taskflow/generated/android/TaskFlow/gradlew +0 -18
  140. package/examples/taskflow/generated/android/TaskFlow/gradlew.bat +0 -12
  141. package/examples/taskflow/generated/android/TaskFlow/settings.gradle.kts +0 -18
  142. package/examples/taskflow/generated/ios/TaskFlow/README.md +0 -21
  143. package/examples/taskflow/generated/ios/TaskFlow/Resources/en.lproj/Localizable.strings +0 -115
  144. package/examples/taskflow/generated/ios/TaskFlow/Sources/TaskFlow/App/TaskFlowApp.swift +0 -24
  145. package/examples/taskflow/generated/ios/TaskFlow/Sources/TaskFlow/Components/AppChrome.swift +0 -150
  146. package/examples/taskflow/generated/ios/TaskFlow/Sources/TaskFlow/Flows/TaskEditorSheet.swift +0 -220
  147. package/examples/taskflow/generated/ios/TaskFlow/Sources/TaskFlow/Models/DomainModels.swift +0 -122
  148. package/examples/taskflow/generated/ios/TaskFlow/Sources/TaskFlow/Screens/CalendarView.swift +0 -21
  149. package/examples/taskflow/generated/ios/TaskFlow/Sources/TaskFlow/Screens/HomeView.swift +0 -201
  150. package/examples/taskflow/generated/ios/TaskFlow/Sources/TaskFlow/Screens/ProfileEditView.swift +0 -48
  151. package/examples/taskflow/generated/ios/TaskFlow/Sources/TaskFlow/Screens/ProjectDetailView.swift +0 -59
  152. package/examples/taskflow/generated/ios/TaskFlow/Sources/TaskFlow/Screens/ProjectsView.swift +0 -63
  153. package/examples/taskflow/generated/ios/TaskFlow/Sources/TaskFlow/Screens/SettingsView.swift +0 -85
  154. package/examples/taskflow/generated/ios/TaskFlow/Sources/TaskFlow/Screens/TaskDetailView.swift +0 -219
  155. package/examples/taskflow/generated/ios/TaskFlow/Sources/TaskFlow/Support/AppModel.swift +0 -320
  156. package/examples/taskflow/generated/ios/TaskFlow/Sources/TaskFlow/Support/AppSupport.swift +0 -41
  157. package/examples/taskflow/generated/ios/TaskFlow/project.yml +0 -31
  158. package/examples/taskflow/generated/web/TaskFlow/README.md +0 -19
  159. package/examples/taskflow/generated/web/TaskFlow/index.html +0 -12
  160. package/examples/taskflow/generated/web/TaskFlow/package-lock.json +0 -1908
  161. package/examples/taskflow/generated/web/TaskFlow/package.json +0 -24
  162. package/examples/taskflow/generated/web/TaskFlow/src/App.tsx +0 -58
  163. package/examples/taskflow/generated/web/TaskFlow/src/AppShell.tsx +0 -55
  164. package/examples/taskflow/generated/web/TaskFlow/src/components/Common.tsx +0 -82
  165. package/examples/taskflow/generated/web/TaskFlow/src/components/Modals.tsx +0 -191
  166. package/examples/taskflow/generated/web/TaskFlow/src/components/Nav.tsx +0 -41
  167. package/examples/taskflow/generated/web/TaskFlow/src/generated/messages.ts +0 -131
  168. package/examples/taskflow/generated/web/TaskFlow/src/hooks.ts +0 -25
  169. package/examples/taskflow/generated/web/TaskFlow/src/i18n.ts +0 -39
  170. package/examples/taskflow/generated/web/TaskFlow/src/locales.en.json +0 -111
  171. package/examples/taskflow/generated/web/TaskFlow/src/main.tsx +0 -13
  172. package/examples/taskflow/generated/web/TaskFlow/src/screens/HomeScreen.tsx +0 -111
  173. package/examples/taskflow/generated/web/TaskFlow/src/screens/ProjectsScreen.tsx +0 -82
  174. package/examples/taskflow/generated/web/TaskFlow/src/screens/SettingsScreens.tsx +0 -132
  175. package/examples/taskflow/generated/web/TaskFlow/src/screens/TaskDetail.tsx +0 -105
  176. package/examples/taskflow/generated/web/TaskFlow/src/store.ts +0 -216
  177. package/examples/taskflow/generated/web/TaskFlow/src/styles.css +0 -617
  178. package/examples/taskflow/generated/web/TaskFlow/src/types.ts +0 -64
  179. package/examples/taskflow/generated/web/TaskFlow/src/utils.ts +0 -78
  180. package/examples/taskflow/generated/web/TaskFlow/tsconfig.json +0 -21
  181. package/examples/taskflow/generated/web/TaskFlow/vite.config.ts +0 -6
  182. package/examples/todo-orbit/.codex/config.toml +0 -4
  183. package/examples/todo-orbit/.mcp.json +0 -10
  184. package/examples/todo-orbit/AGENTS.md +0 -124
  185. package/examples/todo-orbit/CLAUDE.md +0 -124
  186. package/examples/todo-orbit/backend/.gitkeep +0 -1
  187. package/examples/todo-orbit/generated/android/Todo Orbit/README.md +0 -14
  188. package/examples/todo-orbit/generated/android/Todo Orbit/app/build.gradle.kts +0 -58
  189. package/examples/todo-orbit/generated/android/Todo Orbit/app/proguard-rules.pro +0 -1
  190. package/examples/todo-orbit/generated/android/Todo Orbit/app/src/main/AndroidManifest.xml +0 -20
  191. package/examples/todo-orbit/generated/android/Todo Orbit/app/src/main/java/uz/rsteam/todoorbit/MainActivity.kt +0 -14
  192. package/examples/todo-orbit/generated/android/Todo Orbit/app/src/main/java/uz/rsteam/todoorbit/TodoOrbitApp.kt +0 -345
  193. package/examples/todo-orbit/generated/android/Todo Orbit/app/src/main/java/uz/rsteam/todoorbit/support/AppLogic.kt +0 -231
  194. package/examples/todo-orbit/generated/android/Todo Orbit/app/src/main/java/uz/rsteam/todoorbit/support/Models.kt +0 -169
  195. package/examples/todo-orbit/generated/android/Todo Orbit/app/src/main/java/uz/rsteam/todoorbit/support/Strings.kt +0 -8
  196. package/examples/todo-orbit/generated/android/Todo Orbit/app/src/main/java/uz/rsteam/todoorbit/ui/components/CommonComponents.kt +0 -236
  197. package/examples/todo-orbit/generated/android/Todo Orbit/app/src/main/java/uz/rsteam/todoorbit/ui/screens/AnalyticsScreen.kt +0 -193
  198. package/examples/todo-orbit/generated/android/Todo Orbit/app/src/main/java/uz/rsteam/todoorbit/ui/screens/SettingsScreen.kt +0 -102
  199. package/examples/todo-orbit/generated/android/Todo Orbit/app/src/main/java/uz/rsteam/todoorbit/ui/screens/TasksScreen.kt +0 -347
  200. package/examples/todo-orbit/generated/android/Todo Orbit/app/src/main/java/uz/rsteam/todoorbit/ui/sheets/EditorSheets.kt +0 -347
  201. package/examples/todo-orbit/generated/android/Todo Orbit/app/src/main/java/uz/rsteam/todoorbit/ui/theme/TodoOrbitTheme.kt +0 -59
  202. package/examples/todo-orbit/generated/android/Todo Orbit/app/src/main/res/values/strings.xml +0 -149
  203. package/examples/todo-orbit/generated/android/Todo Orbit/app/src/main/res/values-ru/strings.xml +0 -155
  204. package/examples/todo-orbit/generated/android/Todo Orbit/build.gradle.kts +0 -4
  205. package/examples/todo-orbit/generated/android/Todo Orbit/gradle/wrapper/gradle-wrapper.jar +0 -0
  206. package/examples/todo-orbit/generated/android/Todo Orbit/gradle/wrapper/gradle-wrapper.properties +0 -7
  207. package/examples/todo-orbit/generated/android/Todo Orbit/gradle.properties +0 -4
  208. package/examples/todo-orbit/generated/android/Todo Orbit/gradlew +0 -248
  209. package/examples/todo-orbit/generated/android/Todo Orbit/gradlew.bat +0 -93
  210. package/examples/todo-orbit/generated/android/Todo Orbit/settings.gradle.kts +0 -18
  211. package/examples/todo-orbit/generated/ios/Todo Orbit/.screenshot-uitest/Sources/ScreenshotUITest.swift +0 -36
  212. package/examples/todo-orbit/generated/ios/Todo Orbit/README.md +0 -29
  213. package/examples/todo-orbit/generated/ios/Todo Orbit/Resources/en.lproj/Localizable.strings +0 -119
  214. package/examples/todo-orbit/generated/ios/Todo Orbit/Resources/ru.lproj/Localizable.strings +0 -119
  215. package/examples/todo-orbit/generated/ios/Todo Orbit/Sources/TodoOrbit/App/TodoOrbitApp.swift +0 -50
  216. package/examples/todo-orbit/generated/ios/Todo Orbit/Sources/TodoOrbit/Components/OrbitChrome.swift +0 -204
  217. package/examples/todo-orbit/generated/ios/Todo Orbit/Sources/TodoOrbit/Components/SchedulePreviewView.swift +0 -126
  218. package/examples/todo-orbit/generated/ios/Todo Orbit/Sources/TodoOrbit/Components/TrendChartView.swift +0 -70
  219. package/examples/todo-orbit/generated/ios/Todo Orbit/Sources/TodoOrbit/Flows/RecurringRuleSheet.swift +0 -126
  220. package/examples/todo-orbit/generated/ios/Todo Orbit/Sources/TodoOrbit/Flows/TaskEditorSheet.swift +0 -61
  221. package/examples/todo-orbit/generated/ios/Todo Orbit/Sources/TodoOrbit/Models/DomainModels.swift +0 -238
  222. package/examples/todo-orbit/generated/ios/Todo Orbit/Sources/TodoOrbit/Screens/AnalyticsView.swift +0 -94
  223. package/examples/todo-orbit/generated/ios/Todo Orbit/Sources/TodoOrbit/Screens/SettingsView.swift +0 -76
  224. package/examples/todo-orbit/generated/ios/Todo Orbit/Sources/TodoOrbit/Screens/TasksHomeView.swift +0 -364
  225. package/examples/todo-orbit/generated/ios/Todo Orbit/Sources/TodoOrbit/Support/AppModel.swift +0 -324
  226. package/examples/todo-orbit/generated/ios/Todo Orbit/TodoOrbit.xcodeproj/project.pbxproj +0 -439
  227. package/examples/todo-orbit/generated/ios/Todo Orbit/TodoOrbit.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  228. package/examples/todo-orbit/generated/ios/Todo Orbit/TodoOrbit.xcodeproj/xcshareddata/xcschemes/TodoOrbit.xcscheme +0 -89
  229. package/examples/todo-orbit/generated/ios/Todo Orbit/project.yml +0 -32
  230. package/examples/todo-orbit/generated/web/Todo Orbit/index.html +0 -16
  231. package/examples/todo-orbit/generated/web/Todo Orbit/package-lock.json +0 -1087
  232. package/examples/todo-orbit/generated/web/Todo Orbit/package.json +0 -24
  233. package/examples/todo-orbit/generated/web/Todo Orbit/src/App.tsx +0 -2167
  234. package/examples/todo-orbit/generated/web/Todo Orbit/src/main.tsx +0 -13
  235. package/examples/todo-orbit/generated/web/Todo Orbit/src/styles.css +0 -926
  236. package/examples/todo-orbit/generated/web/Todo Orbit/tsconfig.json +0 -19
  237. package/examples/todo-orbit/generated/web/Todo Orbit/vite.config.ts +0 -6
@@ -1,617 +0,0 @@
1
- @import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap");
2
-
3
- :root {
4
- color-scheme: light;
5
- --bg: #ffffff;
6
- --bg-secondary: #f7f6f3;
7
- --bg-tertiary: #efeee8;
8
- --surface-warm: #f8f3ec;
9
- --text: #1c1b1a;
10
- --text-secondary: #6b6966;
11
- --text-tertiary: #9c9a94;
12
- --border: rgba(28, 27, 26, 0.12);
13
- --primary: #5b4fe8;
14
- --secondary: #e8634f;
15
- --success: #2d9d5e;
16
- --warning: #d4920e;
17
- --danger: #d43b3b;
18
- --info: #3b82d4;
19
- --shadow-lg: 0 22px 55px rgba(58, 44, 25, 0.12);
20
- --shadow-sm: 0 10px 28px rgba(58, 44, 25, 0.08);
21
- --radius-lg: 28px;
22
- --radius-md: 20px;
23
- --radius-sm: 14px;
24
- }
25
-
26
- :root[data-theme="dark"] {
27
- color-scheme: dark;
28
- --bg: #171513;
29
- --bg-secondary: #1f1c19;
30
- --bg-tertiary: #141210;
31
- --surface-warm: #241d19;
32
- --text: #f7f3ef;
33
- --text-secondary: #d0c4ba;
34
- --text-tertiary: #9f9287;
35
- --border: rgba(247, 243, 239, 0.14);
36
- --primary: #8a80ff;
37
- --secondary: #ff8a73;
38
- --success: #55c585;
39
- --warning: #f2b544;
40
- --danger: #ff7979;
41
- --info: #70a7ff;
42
- --shadow-lg: 0 22px 55px rgba(0, 0, 0, 0.28);
43
- --shadow-sm: 0 10px 28px rgba(0, 0, 0, 0.22);
44
- }
45
-
46
- :root[data-theme="warm"] {
47
- --bg: #fbf6ef;
48
- --bg-secondary: #f3ede2;
49
- --bg-tertiary: #ebe0d2;
50
- --surface-warm: #fff8ee;
51
- }
52
-
53
- * {
54
- box-sizing: border-box;
55
- }
56
-
57
- html,
58
- body,
59
- #root {
60
- min-height: 100%;
61
- }
62
-
63
- body {
64
- margin: 0;
65
- font-family: "DM Sans", sans-serif;
66
- color: var(--text);
67
- background:
68
- radial-gradient(circle at top left, rgba(91, 79, 232, 0.16), transparent 28%),
69
- radial-gradient(circle at bottom right, rgba(232, 99, 79, 0.18), transparent 24%),
70
- linear-gradient(180deg, var(--bg) 0%, var(--bg-tertiary) 100%);
71
- }
72
-
73
- button,
74
- input,
75
- select,
76
- textarea {
77
- font: inherit;
78
- }
79
-
80
- button {
81
- cursor: pointer;
82
- }
83
-
84
- input,
85
- select,
86
- textarea {
87
- width: 100%;
88
- border: 1px solid var(--border);
89
- background: rgba(255, 255, 255, 0.56);
90
- border-radius: 14px;
91
- color: var(--text);
92
- padding: 14px 16px;
93
- }
94
-
95
- textarea {
96
- resize: vertical;
97
- }
98
-
99
- .app-frame {
100
- min-height: 100vh;
101
- }
102
-
103
- .shell-layout {
104
- min-height: 100vh;
105
- }
106
-
107
- .size-regular,
108
- .size-expanded {
109
- display: grid;
110
- grid-template-columns: 260px minmax(0, 1fr);
111
- }
112
-
113
- .sidebar-shell {
114
- position: sticky;
115
- top: 0;
116
- height: 100vh;
117
- padding: 28px 20px;
118
- background: rgba(255, 255, 255, 0.38);
119
- backdrop-filter: blur(18px);
120
- border-right: 1px solid var(--border);
121
- }
122
-
123
- .brand-lockup {
124
- display: flex;
125
- gap: 14px;
126
- align-items: center;
127
- margin-bottom: 28px;
128
- }
129
-
130
- .brand-lockup h2,
131
- .brand-lockup p,
132
- .screen-header h1,
133
- .detail-hero h2,
134
- .profile-hero h1,
135
- .empty-card h3 {
136
- margin: 0;
137
- }
138
-
139
- .brand-mark,
140
- .avatar {
141
- display: grid;
142
- place-items: center;
143
- border-radius: 18px;
144
- background: linear-gradient(135deg, var(--primary), var(--secondary));
145
- color: white;
146
- font-weight: 700;
147
- }
148
-
149
- .brand-mark {
150
- width: 56px;
151
- height: 56px;
152
- }
153
-
154
- .avatar {
155
- width: 46px;
156
- height: 46px;
157
- }
158
-
159
- .avatar.large {
160
- width: 72px;
161
- height: 72px;
162
- border-radius: 24px;
163
- }
164
-
165
- .eyebrow,
166
- .section-tag {
167
- text-transform: uppercase;
168
- letter-spacing: 0.12em;
169
- font-size: 11px;
170
- font-weight: 700;
171
- color: var(--text-tertiary);
172
- }
173
-
174
- .nav-list {
175
- display: flex;
176
- flex-direction: column;
177
- gap: 10px;
178
- }
179
-
180
- .nav-item {
181
- text-decoration: none;
182
- color: var(--text-secondary);
183
- padding: 14px 16px;
184
- border-radius: 18px;
185
- transition: 180ms ease;
186
- }
187
-
188
- .nav-item.active,
189
- .nav-item:hover {
190
- background: rgba(91, 79, 232, 0.1);
191
- color: var(--text);
192
- }
193
-
194
- .screen-shell {
195
- padding: 24px;
196
- padding-bottom: 92px;
197
- }
198
-
199
- .screen {
200
- display: flex;
201
- flex-direction: column;
202
- gap: 22px;
203
- max-width: 1200px;
204
- margin: 0 auto;
205
- }
206
-
207
- .screen-header {
208
- display: flex;
209
- justify-content: space-between;
210
- gap: 16px;
211
- align-items: flex-start;
212
- }
213
-
214
- .screen-header h1 {
215
- font-size: 32px;
216
- letter-spacing: -0.02em;
217
- }
218
-
219
- .screen-subtitle,
220
- .field-block small,
221
- .detail-row span,
222
- .task-copy p,
223
- .profile-card p,
224
- .footnote,
225
- .empty-card p {
226
- margin: 0;
227
- color: var(--text-secondary);
228
- line-height: 1.5;
229
- }
230
-
231
- .search-panel,
232
- .settings-card,
233
- .detail-card,
234
- .empty-card,
235
- .modal-card,
236
- .project-card,
237
- .profile-card,
238
- .stat-card {
239
- background: rgba(255, 255, 255, 0.62);
240
- border: 1px solid var(--border);
241
- border-radius: var(--radius-lg);
242
- box-shadow: var(--shadow-sm);
243
- }
244
-
245
- .search-panel,
246
- .settings-card,
247
- .detail-card,
248
- .empty-card {
249
- padding: 20px;
250
- }
251
-
252
- .chip-row,
253
- .action-row,
254
- .two-up,
255
- .detail-hero,
256
- .profile-hero {
257
- display: flex;
258
- gap: 12px;
259
- }
260
-
261
- .chip-row {
262
- flex-wrap: wrap;
263
- }
264
-
265
- .chip {
266
- border: 1px solid var(--border);
267
- background: rgba(255, 255, 255, 0.46);
268
- color: var(--text-secondary);
269
- border-radius: 999px;
270
- padding: 10px 14px;
271
- }
272
-
273
- .chip.active {
274
- background: var(--primary);
275
- color: white;
276
- }
277
-
278
- .home-grid {
279
- display: block;
280
- }
281
-
282
- .home-grid.expanded {
283
- display: grid;
284
- grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.75fr);
285
- gap: 22px;
286
- }
287
-
288
- .card-stack {
289
- display: flex;
290
- flex-direction: column;
291
- gap: 14px;
292
- }
293
-
294
- .task-row,
295
- .detail-row,
296
- .profile-card,
297
- .project-card {
298
- display: flex;
299
- align-items: center;
300
- gap: 16px;
301
- text-align: left;
302
- width: 100%;
303
- padding: 16px 18px;
304
- border: 1px solid var(--border);
305
- background: rgba(255, 255, 255, 0.54);
306
- border-radius: 22px;
307
- }
308
-
309
- .task-row.selected {
310
- border-color: rgba(91, 79, 232, 0.35);
311
- background: linear-gradient(180deg, rgba(91, 79, 232, 0.1), rgba(255, 255, 255, 0.68));
312
- }
313
-
314
- .check-shell {
315
- display: flex;
316
- align-items: center;
317
- }
318
-
319
- .check-shell input {
320
- width: 18px;
321
- height: 18px;
322
- }
323
-
324
- .task-copy {
325
- flex: 1;
326
- }
327
-
328
- .task-copy strong,
329
- .profile-card strong,
330
- .detail-row strong,
331
- .stat-card strong {
332
- display: block;
333
- }
334
-
335
- .badge {
336
- display: inline-flex;
337
- align-items: center;
338
- justify-content: center;
339
- border-radius: 999px;
340
- padding: 8px 10px;
341
- font-size: 12px;
342
- font-weight: 700;
343
- }
344
-
345
- .badge-low,
346
- .badge-todo,
347
- .badge-neutral {
348
- background: rgba(156, 163, 175, 0.16);
349
- color: #61646e;
350
- }
351
-
352
- .badge-medium {
353
- background: rgba(59, 130, 212, 0.16);
354
- color: var(--info);
355
- }
356
-
357
- .badge-high,
358
- .badge-in_progress {
359
- background: rgba(212, 146, 14, 0.16);
360
- color: var(--warning);
361
- }
362
-
363
- .badge-urgent {
364
- background: rgba(212, 59, 59, 0.14);
365
- color: var(--danger);
366
- }
367
-
368
- .badge-done {
369
- background: rgba(45, 157, 94, 0.14);
370
- color: var(--success);
371
- }
372
-
373
- .detail-card {
374
- display: flex;
375
- flex-direction: column;
376
- gap: 18px;
377
- }
378
-
379
- .detail-hero {
380
- justify-content: space-between;
381
- align-items: flex-start;
382
- }
383
-
384
- .detail-hero h2 {
385
- font-size: 28px;
386
- letter-spacing: -0.02em;
387
- }
388
-
389
- .stat-grid {
390
- display: grid;
391
- grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
392
- gap: 12px;
393
- }
394
-
395
- .stat-card {
396
- padding: 16px;
397
- }
398
-
399
- .detail-section {
400
- display: flex;
401
- flex-direction: column;
402
- gap: 10px;
403
- }
404
-
405
- .media-player {
406
- display: flex;
407
- flex-direction: column;
408
- gap: 10px;
409
- padding: 14px;
410
- border-radius: 16px;
411
- border: 1px solid var(--border);
412
- background: rgba(255, 255, 255, 0.52);
413
- }
414
-
415
- .media-player video,
416
- .media-player audio {
417
- width: 100%;
418
- border-radius: 12px;
419
- }
420
-
421
- .detail-row {
422
- justify-content: space-between;
423
- }
424
-
425
- .project-grid {
426
- display: grid;
427
- grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
428
- gap: 16px;
429
- }
430
-
431
- .project-card {
432
- flex-direction: column;
433
- align-items: flex-start;
434
- }
435
-
436
- .project-chip {
437
- border-radius: 14px;
438
- padding: 10px 12px;
439
- font-size: 12px;
440
- font-weight: 700;
441
- }
442
-
443
- .field-block {
444
- display: flex;
445
- flex-direction: column;
446
- gap: 8px;
447
- }
448
-
449
- .field-label {
450
- font-size: 14px;
451
- font-weight: 600;
452
- }
453
-
454
- .toggle-row {
455
- display: flex;
456
- justify-content: space-between;
457
- align-items: center;
458
- gap: 14px;
459
- }
460
-
461
- .toggle-row input {
462
- width: auto;
463
- }
464
-
465
- .footnote {
466
- display: flex;
467
- flex-direction: column;
468
- gap: 6px;
469
- align-items: center;
470
- text-align: center;
471
- }
472
-
473
- .profile-hero {
474
- align-items: center;
475
- }
476
-
477
- .primary-button,
478
- .secondary-button,
479
- .danger-button,
480
- .ghost-button {
481
- border: 0;
482
- border-radius: 18px;
483
- padding: 12px 16px;
484
- }
485
-
486
- .primary-button {
487
- background: linear-gradient(135deg, var(--primary), #7b73ff);
488
- color: white;
489
- }
490
-
491
- .secondary-button {
492
- background: rgba(91, 79, 232, 0.12);
493
- color: var(--text);
494
- }
495
-
496
- .danger-button {
497
- background: rgba(212, 59, 59, 0.14);
498
- color: var(--danger);
499
- }
500
-
501
- .ghost-button {
502
- background: transparent;
503
- color: var(--text-secondary);
504
- }
505
-
506
- .wide {
507
- width: 100%;
508
- }
509
-
510
- .fab-button {
511
- position: fixed;
512
- right: 22px;
513
- bottom: 88px;
514
- border: 0;
515
- border-radius: 999px;
516
- background: linear-gradient(135deg, var(--primary), var(--secondary));
517
- color: white;
518
- padding: 14px 18px;
519
- box-shadow: var(--shadow-lg);
520
- }
521
-
522
- .floating-user-chip {
523
- position: fixed;
524
- top: 18px;
525
- right: 18px;
526
- padding: 8px 12px;
527
- border-radius: 999px;
528
- background: rgba(255, 255, 255, 0.72);
529
- border: 1px solid var(--border);
530
- color: var(--text-secondary);
531
- backdrop-filter: blur(12px);
532
- }
533
-
534
- .bottom-nav {
535
- position: fixed;
536
- left: 12px;
537
- right: 12px;
538
- bottom: 12px;
539
- display: grid;
540
- grid-template-columns: repeat(4, 1fr);
541
- gap: 8px;
542
- padding: 10px;
543
- border-radius: 24px;
544
- background: rgba(255, 255, 255, 0.78);
545
- border: 1px solid var(--border);
546
- backdrop-filter: blur(18px);
547
- }
548
-
549
- .bottom-nav .nav-item {
550
- text-align: center;
551
- padding: 10px 8px;
552
- }
553
-
554
- .modal {
555
- border: 0;
556
- padding: 0;
557
- background: transparent;
558
- }
559
-
560
- .modal::backdrop {
561
- background: rgba(20, 18, 16, 0.5);
562
- }
563
-
564
- .modal-card {
565
- width: min(720px, calc(100vw - 24px));
566
- margin: auto;
567
- padding: 20px;
568
- }
569
-
570
- .modal-card.compact {
571
- width: min(560px, calc(100vw - 24px));
572
- }
573
-
574
- .modal-header {
575
- display: flex;
576
- justify-content: space-between;
577
- gap: 12px;
578
- align-items: center;
579
- margin-bottom: 16px;
580
- }
581
-
582
- .modal-content {
583
- display: flex;
584
- flex-direction: column;
585
- gap: 14px;
586
- margin-bottom: 18px;
587
- }
588
-
589
- @media (max-width: 1024px) {
590
- .size-regular,
591
- .size-expanded {
592
- grid-template-columns: 88px minmax(0, 1fr);
593
- }
594
-
595
- .brand-lockup h2,
596
- .brand-lockup p {
597
- display: none;
598
- }
599
- }
600
-
601
- @media (max-width: 600px) {
602
- .screen-shell {
603
- padding: 18px 14px 88px;
604
- }
605
-
606
- .screen-header,
607
- .action-row,
608
- .two-up,
609
- .detail-hero {
610
- flex-direction: column;
611
- }
612
-
613
- .floating-user-chip {
614
- top: 12px;
615
- right: 12px;
616
- }
617
- }
@@ -1,64 +0,0 @@
1
- export type Priority = "low" | "medium" | "high" | "urgent";
2
- export type Status = "todo" | "in_progress" | "done";
3
- export type ThemeMode = "system" | "light" | "dark" | "warm";
4
- export type Filter = "all" | "today" | "upcoming" | "done";
5
- export type SizeClass = "compact" | "regular" | "expanded";
6
-
7
- export type User = {
8
- id: string;
9
- name: string;
10
- firstName: string;
11
- email: string;
12
- };
13
-
14
- export type Project = {
15
- id: string;
16
- name: string;
17
- color: string;
18
- icon: string;
19
- taskCount: number;
20
- };
21
-
22
- export type Attachment = {
23
- source: string;
24
- mediaType: "audio" | "video";
25
- title: string;
26
- };
27
-
28
- export type Task = {
29
- id: string;
30
- title: string;
31
- description?: string;
32
- status: Status;
33
- priority: Priority;
34
- dueDate?: string;
35
- projectId?: string;
36
- tags: string[];
37
- createdAt: string;
38
- updatedAt: string;
39
- assignee?: User;
40
- attachment?: Attachment;
41
- };
42
-
43
- export type Preferences = {
44
- theme: ThemeMode;
45
- defaultPriority: Priority;
46
- notificationsEnabled: boolean;
47
- remindersEnabled: boolean;
48
- };
49
-
50
- export type TaskDraft = {
51
- title: string;
52
- description: string;
53
- projectId: string;
54
- priority: Priority;
55
- dueDate: string;
56
- tags: string;
57
- assignToSelf: boolean;
58
- };
59
-
60
- export type ProjectDraft = {
61
- name: string;
62
- color: string;
63
- icon: string;
64
- };