create-disposabl-app 0.0.4 → 0.1.1

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 (399) hide show
  1. package/dist/index.js +490 -105
  2. package/dist/templates/default/LICENSE +21 -0
  3. package/dist/templates/default/apps/blog/package.json +1 -0
  4. package/dist/templates/default/apps/changelog/package.json +1 -0
  5. package/dist/templates/default/apps/desktop/.oxfmtrc.json +5 -0
  6. package/dist/templates/default/apps/desktop/.oxlintrc.json +6 -0
  7. package/dist/templates/default/apps/desktop/README.md +58 -0
  8. package/dist/templates/default/apps/desktop/forge.config.mts +90 -0
  9. package/dist/templates/default/apps/desktop/index.html +12 -0
  10. package/dist/templates/default/apps/desktop/package.json +55 -0
  11. package/dist/templates/default/apps/desktop/src/declarations.d.ts +2 -0
  12. package/dist/templates/default/apps/desktop/src/index.css +8 -0
  13. package/dist/templates/default/apps/desktop/src/main.ts +58 -0
  14. package/dist/templates/default/apps/desktop/src/preload.ts +3 -0
  15. package/dist/templates/default/apps/desktop/src/renderer.ts +19 -0
  16. package/dist/templates/default/apps/desktop/tsconfig.json +14 -0
  17. package/dist/templates/default/apps/desktop/vite.main.config.mts +4 -0
  18. package/dist/templates/default/apps/desktop/vite.preload.config.mts +4 -0
  19. package/dist/templates/default/apps/desktop/vite.renderer.config.mts +4 -0
  20. package/dist/templates/default/apps/docs/package.json +1 -0
  21. package/dist/templates/default/apps/mobile/.agents/skills/agent-device/SKILL.md +22 -0
  22. package/dist/templates/default/apps/mobile/.agents/skills/android-emulator/SKILL.md +32 -0
  23. package/dist/templates/default/apps/mobile/.agents/skills/dogfood/SKILL.md +27 -0
  24. package/dist/templates/default/apps/mobile/.agents/skills/eas-app-stores/SKILL.md +176 -0
  25. package/dist/templates/default/apps/mobile/.agents/skills/eas-app-stores/agents/openai.yaml +4 -0
  26. package/dist/templates/default/apps/mobile/.agents/skills/eas-app-stores/references/app-store-metadata.md +497 -0
  27. package/dist/templates/default/apps/mobile/.agents/skills/eas-app-stores/references/ios-app-store.md +376 -0
  28. package/dist/templates/default/apps/mobile/.agents/skills/eas-app-stores/references/native-ios.md +167 -0
  29. package/dist/templates/default/apps/mobile/.agents/skills/eas-app-stores/references/play-store.md +244 -0
  30. package/dist/templates/default/apps/mobile/.agents/skills/eas-app-stores/references/testflight.md +62 -0
  31. package/dist/templates/default/apps/mobile/.agents/skills/eas-app-stores/references/workflows.md +120 -0
  32. package/dist/templates/default/apps/mobile/.agents/skills/eas-hosting/SKILL.md +431 -0
  33. package/dist/templates/default/apps/mobile/.agents/skills/eas-hosting/agents/openai.yaml +4 -0
  34. package/dist/templates/default/apps/mobile/.agents/skills/eas-observe/SKILL.md +46 -0
  35. package/dist/templates/default/apps/mobile/.agents/skills/eas-observe/agents/openai.yaml +4 -0
  36. package/dist/templates/default/apps/mobile/.agents/skills/eas-observe/references/metrics.md +98 -0
  37. package/dist/templates/default/apps/mobile/.agents/skills/eas-observe/references/queries.md +444 -0
  38. package/dist/templates/default/apps/mobile/.agents/skills/eas-observe/references/setup.md +529 -0
  39. package/dist/templates/default/apps/mobile/.agents/skills/eas-observe/references/third-party.md +136 -0
  40. package/dist/templates/default/apps/mobile/.agents/skills/eas-simulator/SKILL.md +237 -0
  41. package/dist/templates/default/apps/mobile/.agents/skills/eas-simulator/agents/openai.yaml +4 -0
  42. package/dist/templates/default/apps/mobile/.agents/skills/eas-simulator/references/controllers.md +139 -0
  43. package/dist/templates/default/apps/mobile/.agents/skills/eas-simulator/references/logs-and-crashes.md +101 -0
  44. package/dist/templates/default/apps/mobile/.agents/skills/eas-simulator/references/run-your-app.md +256 -0
  45. package/dist/templates/default/apps/mobile/.agents/skills/eas-simulator/references/troubleshooting.md +56 -0
  46. package/dist/templates/default/apps/mobile/.agents/skills/eas-update/SKILL.md +146 -0
  47. package/dist/templates/default/apps/mobile/.agents/skills/eas-update/agents/openai.yaml +4 -0
  48. package/dist/templates/default/apps/mobile/.agents/skills/eas-update-insights/SKILL.md +238 -0
  49. package/dist/templates/default/apps/mobile/.agents/skills/eas-update-insights/agents/openai.yaml +4 -0
  50. package/dist/templates/default/apps/mobile/.agents/skills/eas-update-insights/references/channel-insights-schema.md +47 -0
  51. package/dist/templates/default/apps/mobile/.agents/skills/eas-update-insights/references/update-insights-schema.md +69 -0
  52. package/dist/templates/default/apps/mobile/.agents/skills/eas-workflows/SKILL.md +99 -0
  53. package/dist/templates/default/apps/mobile/.agents/skills/eas-workflows/agents/openai.yaml +4 -0
  54. package/dist/templates/default/apps/mobile/.agents/skills/eas-workflows/scripts/fetch.js +109 -0
  55. package/dist/templates/default/apps/mobile/.agents/skills/eas-workflows/scripts/package.json +6 -0
  56. package/dist/templates/default/apps/mobile/.agents/skills/expo-animation/LICENSE +21 -0
  57. package/dist/templates/default/apps/mobile/.agents/skills/expo-animation/RECIPES.md +385 -0
  58. package/dist/templates/default/apps/mobile/.agents/skills/expo-animation/SKILL.md +274 -0
  59. package/dist/templates/default/apps/mobile/.agents/skills/expo-animation/agents/openai.yaml +4 -0
  60. package/dist/templates/default/apps/mobile/.agents/skills/expo-app-clip/SKILL.md +290 -0
  61. package/dist/templates/default/apps/mobile/.agents/skills/expo-app-clip/agents/openai.yaml +4 -0
  62. package/dist/templates/default/apps/mobile/.agents/skills/expo-app-clip/references/native-module.md +96 -0
  63. package/dist/templates/default/apps/mobile/.agents/skills/expo-brownfield/SKILL.md +69 -0
  64. package/dist/templates/default/apps/mobile/.agents/skills/expo-brownfield/agents/openai.yaml +4 -0
  65. package/dist/templates/default/apps/mobile/.agents/skills/expo-brownfield/references/brownfield-integrated.md +551 -0
  66. package/dist/templates/default/apps/mobile/.agents/skills/expo-brownfield/references/brownfield-isolated.md +449 -0
  67. package/dist/templates/default/apps/mobile/.agents/skills/expo-brownfield/references/comparison.md +63 -0
  68. package/dist/templates/default/apps/mobile/.agents/skills/expo-brownfield/references/feature-integration.md +163 -0
  69. package/dist/templates/default/apps/mobile/.agents/skills/expo-brownfield/references/troubleshooting.md +88 -0
  70. package/dist/templates/default/apps/mobile/.agents/skills/expo-brownfield/references/version-compatibility.md +40 -0
  71. package/dist/templates/default/apps/mobile/.agents/skills/expo-data-fetching/SKILL.md +478 -0
  72. package/dist/templates/default/apps/mobile/.agents/skills/expo-data-fetching/agents/openai.yaml +4 -0
  73. package/dist/templates/default/apps/mobile/.agents/skills/expo-data-fetching/references/expo-router-loaders.md +341 -0
  74. package/dist/templates/default/apps/mobile/.agents/skills/expo-data-fetching/references/offline-and-cancellation.md +68 -0
  75. package/dist/templates/default/apps/mobile/.agents/skills/expo-design-system/SKILL.md +376 -0
  76. package/dist/templates/default/apps/mobile/.agents/skills/expo-design-system/agents/openai.yaml +4 -0
  77. package/dist/templates/default/apps/mobile/.agents/skills/expo-design-system/references/audit.md +190 -0
  78. package/dist/templates/default/apps/mobile/.agents/skills/expo-design-system/references/native-slop.md +74 -0
  79. package/dist/templates/default/apps/mobile/.agents/skills/expo-dev-client/SKILL.md +184 -0
  80. package/dist/templates/default/apps/mobile/.agents/skills/expo-dev-client/agents/openai.yaml +4 -0
  81. package/dist/templates/default/apps/mobile/.agents/skills/expo-dom/SKILL.md +425 -0
  82. package/dist/templates/default/apps/mobile/.agents/skills/expo-dom/agents/openai.yaml +4 -0
  83. package/dist/templates/default/apps/mobile/.agents/skills/expo-examples/SKILL.md +106 -0
  84. package/dist/templates/default/apps/mobile/.agents/skills/expo-examples/agents/openai.yaml +4 -0
  85. package/dist/templates/default/apps/mobile/.agents/skills/expo-examples/references/catalog.md +105 -0
  86. package/dist/templates/default/apps/mobile/.agents/skills/expo-migrate-module/SKILL.md +124 -0
  87. package/dist/templates/default/apps/mobile/.agents/skills/expo-migrate-module/agents/openai.yaml +4 -0
  88. package/dist/templates/default/apps/mobile/.agents/skills/expo-migrate-module/references/compatibility.md +130 -0
  89. package/dist/templates/default/apps/mobile/.agents/skills/expo-migrate-module/references/example.md +212 -0
  90. package/dist/templates/default/apps/mobile/.agents/skills/expo-migrate-module/references/migration-map.md +457 -0
  91. package/dist/templates/default/apps/mobile/.agents/skills/expo-module/SKILL.md +151 -0
  92. package/dist/templates/default/apps/mobile/.agents/skills/expo-module/agents/openai.yaml +4 -0
  93. package/dist/templates/default/apps/mobile/.agents/skills/expo-module/references/config-plugin.md +90 -0
  94. package/dist/templates/default/apps/mobile/.agents/skills/expo-module/references/create-expo-module.md +206 -0
  95. package/dist/templates/default/apps/mobile/.agents/skills/expo-module/references/lifecycle.md +127 -0
  96. package/dist/templates/default/apps/mobile/.agents/skills/expo-module/references/module-config.md +48 -0
  97. package/dist/templates/default/apps/mobile/.agents/skills/expo-module/references/native-module.md +286 -0
  98. package/dist/templates/default/apps/mobile/.agents/skills/expo-module/references/native-view.md +171 -0
  99. package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/SKILL.md +201 -0
  100. package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/agents/openai.yaml +4 -0
  101. package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/references/controls.md +231 -0
  102. package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/references/gradients.md +106 -0
  103. package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/references/icons.md +232 -0
  104. package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/references/media.md +193 -0
  105. package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/references/storage.md +121 -0
  106. package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/references/visual-effects.md +198 -0
  107. package/dist/templates/default/apps/mobile/.agents/skills/expo-native-ui/references/webgpu-three.md +605 -0
  108. package/dist/templates/default/apps/mobile/.agents/skills/expo-overview/SKILL.md +120 -0
  109. package/dist/templates/default/apps/mobile/.agents/skills/expo-overview/agents/openai.yaml +4 -0
  110. package/dist/templates/default/apps/mobile/.agents/skills/expo-overview/references/launch-without-dev-menu.md +24 -0
  111. package/dist/templates/default/apps/mobile/.agents/skills/expo-project-structure/SKILL.md +114 -0
  112. package/dist/templates/default/apps/mobile/.agents/skills/expo-project-structure/agents/openai.yaml +4 -0
  113. package/dist/templates/default/apps/mobile/.agents/skills/expo-router/SKILL.md +240 -0
  114. package/dist/templates/default/apps/mobile/.agents/skills/expo-router/agents/openai.yaml +4 -0
  115. package/dist/templates/default/apps/mobile/.agents/skills/expo-router/references/form-sheet.md +253 -0
  116. package/dist/templates/default/apps/mobile/.agents/skills/expo-router/references/route-structure.md +229 -0
  117. package/dist/templates/default/apps/mobile/.agents/skills/expo-router/references/search.md +248 -0
  118. package/dist/templates/default/apps/mobile/.agents/skills/expo-router/references/tabs.md +433 -0
  119. package/dist/templates/default/apps/mobile/.agents/skills/expo-router/references/toolbar-and-headers.md +284 -0
  120. package/dist/templates/default/apps/mobile/.agents/skills/expo-router/references/zoom-transitions.md +158 -0
  121. package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/SKILL.md +314 -0
  122. package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/agents/visual-grader.md +52 -0
  123. package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/references/design-rubric.md +45 -0
  124. package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/references/runtime-matrix.md +34 -0
  125. package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/check-static.sh +64 -0
  126. package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/clean-fixture.sh +56 -0
  127. package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/generate_viewer.py +450 -0
  128. package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/latest-sdk.sh +46 -0
  129. package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/make-fixture.sh +95 -0
  130. package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/make-workspace.sh +31 -0
  131. package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/snapshot-android.sh +284 -0
  132. package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/snapshot-ios.sh +132 -0
  133. package/dist/templates/default/apps/mobile/.agents/skills/expo-skill-eval/scripts/snapshot-web.sh +61 -0
  134. package/dist/templates/default/apps/mobile/.agents/skills/expo-ui/SKILL.md +101 -0
  135. package/dist/templates/default/apps/mobile/.agents/skills/expo-ui/agents/openai.yaml +4 -0
  136. package/dist/templates/default/apps/mobile/.agents/skills/expo-ui/references/drop-in-replacements.md +27 -0
  137. package/dist/templates/default/apps/mobile/.agents/skills/expo-ui/references/jetpack-compose.md +73 -0
  138. package/dist/templates/default/apps/mobile/.agents/skills/expo-ui/references/swift-ui.md +73 -0
  139. package/dist/templates/default/apps/mobile/.agents/skills/expo-ui/references/universal.md +104 -0
  140. package/dist/templates/default/apps/mobile/.agents/skills/expo-ui/scripts/list-components.js +193 -0
  141. package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/SKILL.md +150 -0
  142. package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/agents/openai.yaml +4 -0
  143. package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/references/expo-av-to-audio.md +132 -0
  144. package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/references/expo-av-to-video.md +160 -0
  145. package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/references/native-tabs.md +124 -0
  146. package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/references/new-architecture.md +79 -0
  147. package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/references/react-19.md +79 -0
  148. package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/references/react-compiler.md +59 -0
  149. package/dist/templates/default/apps/mobile/.agents/skills/expo-upgrade/references/react-navigation-to-expo-router.md +61 -0
  150. package/dist/templates/default/apps/mobile/.agents/skills/expo-web-to-native/SKILL.md +91 -0
  151. package/dist/templates/default/apps/mobile/.agents/skills/expo-web-to-native/agents/openai.yaml +4 -0
  152. package/dist/templates/default/apps/mobile/.agents/skills/expo-web-to-native/references/false-friends.md +119 -0
  153. package/dist/templates/default/apps/mobile/.agents/skills/expo-web-to-native/references/native-patterns.md +39 -0
  154. package/dist/templates/default/apps/mobile/.agents/skills/expo-web-to-native/references/run-as-goal.md +48 -0
  155. package/dist/templates/default/apps/mobile/.agents/skills/expo-web-to-native/references/verify-on-device.md +45 -0
  156. package/dist/templates/default/apps/mobile/.agents/skills/ios-simulator/SKILL.md +32 -0
  157. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/POWER.md +172 -0
  158. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/SKILL.md +238 -0
  159. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/agents/openai.yaml +4 -0
  160. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-analyze-app.md +208 -0
  161. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-analyze-js.md +264 -0
  162. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-barrel-exports.md +250 -0
  163. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-code-splitting.md +255 -0
  164. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-hermes-mmap.md +167 -0
  165. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-library-size.md +164 -0
  166. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-native-assets.md +208 -0
  167. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-r8-android.md +231 -0
  168. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/bundle-tree-shaking.md +215 -0
  169. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/bundle-treemap-source-map-explorer.png +0 -0
  170. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/controlled-textinput-pingpong.png +0 -0
  171. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/devtools-flamegraph.png +0 -0
  172. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/emerge-xray-ios.png +0 -0
  173. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/expo-atlas-treemap.png +0 -0
  174. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/flashlight-flatlist-vs-flashlist.png +0 -0
  175. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/fps-drop-graph.png +0 -0
  176. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/memory-heap-snapshot.png +0 -0
  177. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/tti-warm-start-diagram.png +0 -0
  178. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/view-hierarchy-flattening.png +0 -0
  179. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/xcode-instruments-templates.png +0 -0
  180. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/images/xcode-thread-view.png +0 -0
  181. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-animations-reanimated.md +273 -0
  182. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-atomic-state.md +190 -0
  183. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-bottomsheet.md +339 -0
  184. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-concurrent-react.md +238 -0
  185. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-lists-flatlist-flashlist.md +223 -0
  186. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-measure-fps.md +178 -0
  187. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-memory-leaks.md +168 -0
  188. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-profile-react.md +138 -0
  189. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-react-compiler.md +261 -0
  190. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/js-uncontrolled-components.md +219 -0
  191. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-android-16kb-alignment.md +114 -0
  192. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-measure-tti.md +221 -0
  193. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-memory-leaks.md +206 -0
  194. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-memory-patterns.md +240 -0
  195. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-platform-setup.md +112 -0
  196. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-profiling.md +140 -0
  197. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-sdks-over-polyfills.md +192 -0
  198. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-threading-model.md +230 -0
  199. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-turbo-modules.md +210 -0
  200. package/dist/templates/default/apps/mobile/.agents/skills/react-native-best-practices/references/native-view-flattening.md +180 -0
  201. package/dist/templates/default/apps/mobile/AGENTS.md +41 -0
  202. package/dist/templates/default/apps/mobile/app.json +38 -0
  203. package/dist/templates/default/apps/mobile/assets/expo.icon/Assets/expo-symbol 2.svg +3 -0
  204. package/dist/templates/default/apps/mobile/assets/expo.icon/Assets/grid.png +0 -0
  205. package/dist/templates/default/apps/mobile/assets/expo.icon/icon.json +40 -0
  206. package/dist/templates/default/apps/mobile/assets/images/android-icon-background.png +0 -0
  207. package/dist/templates/default/apps/mobile/assets/images/android-icon-foreground.png +0 -0
  208. package/dist/templates/default/apps/mobile/assets/images/android-icon-monochrome.png +0 -0
  209. package/dist/templates/default/apps/mobile/assets/images/icon.png +0 -0
  210. package/dist/templates/default/apps/mobile/assets/images/splash-icon.png +0 -0
  211. package/dist/templates/default/apps/mobile/eslint.config.js +10 -0
  212. package/dist/templates/default/apps/mobile/package.json +43 -0
  213. package/dist/templates/default/apps/mobile/skills-lock.json +185 -0
  214. package/dist/templates/default/apps/mobile/src/app/_layout.tsx +5 -0
  215. package/dist/templates/default/apps/mobile/src/app/index.tsx +17 -0
  216. package/dist/templates/default/apps/mobile/tsconfig.json +20 -0
  217. package/dist/templates/default/apps/web/.agents/skills/frontend-design/SKILL.md +71 -0
  218. package/dist/templates/default/apps/web/.agents/skills/web-design-guidelines/SKILL.md +39 -0
  219. package/dist/templates/default/apps/web/.env.example +3 -0
  220. package/dist/templates/default/apps/web/components.json +23 -0
  221. package/dist/templates/default/apps/web/eslint.config.ts +21 -0
  222. package/dist/templates/default/apps/web/package.json +39 -0
  223. package/dist/templates/default/apps/web/public/disposabl-logo.svg +8 -0
  224. package/dist/templates/default/apps/web/public/favicon.ico +0 -0
  225. package/dist/templates/default/apps/web/public/manifest.json +25 -0
  226. package/dist/templates/default/apps/web/skills-lock.json +17 -0
  227. package/dist/templates/default/apps/web/src/index.css +92 -0
  228. package/dist/templates/default/apps/web/src/routeTree.gen.ts +282 -0
  229. package/dist/templates/default/apps/web/src/router/__root.tsx +63 -0
  230. package/dist/templates/default/apps/web/src/router/_authenticated/dashboard.tsx +9 -0
  231. package/dist/templates/default/apps/web/src/router/_authenticated/todos/$id.tsx +27 -0
  232. package/dist/templates/default/apps/web/src/router/_authenticated/todos/index.tsx +33 -0
  233. package/dist/templates/default/apps/web/src/router/index.tsx +15 -0
  234. package/dist/templates/default/apps/web/src/router.tsx +20 -0
  235. package/dist/templates/default/apps/web/tsconfig.json +33 -0
  236. package/dist/templates/default/apps/web/tsr.config.json +6 -0
  237. package/dist/templates/default/apps/web/vite.config.ts +67 -0
  238. package/dist/templates/default/bun.lock +3932 -0
  239. package/dist/templates/default/bunfig.toml +5 -0
  240. package/dist/templates/default/disposabl.json +5 -0
  241. package/dist/templates/default/gitignore +10 -0
  242. package/dist/templates/default/package.json +31 -10
  243. package/dist/templates/default/packages/backend/.agents/skills/convex/SKILL.md +69 -0
  244. package/dist/templates/default/packages/backend/.agents/skills/convex-add/SKILL.md +26 -0
  245. package/dist/templates/default/packages/backend/.agents/skills/convex-advisor/SKILL.md +32 -0
  246. package/dist/templates/default/packages/backend/.agents/skills/convex-agent/SKILL.md +25 -0
  247. package/dist/templates/default/packages/backend/.agents/skills/convex-auth/SKILL.md +29 -0
  248. package/dist/templates/default/packages/backend/.agents/skills/convex-authz/SKILL.md +36 -0
  249. package/dist/templates/default/packages/backend/.agents/skills/convex-backup/SKILL.md +33 -0
  250. package/dist/templates/default/packages/backend/.agents/skills/convex-billing/SKILL.md +69 -0
  251. package/dist/templates/default/packages/backend/.agents/skills/convex-cost/SKILL.md +29 -0
  252. package/dist/templates/default/packages/backend/.agents/skills/convex-create-component/SKILL.md +325 -0
  253. package/dist/templates/default/packages/backend/.agents/skills/convex-create-component/agents/openai.yaml +14 -0
  254. package/dist/templates/default/packages/backend/.agents/skills/convex-create-component/assets/icon.svg +3 -0
  255. package/dist/templates/default/packages/backend/.agents/skills/convex-create-component/references/advanced-patterns.md +146 -0
  256. package/dist/templates/default/packages/backend/.agents/skills/convex-create-component/references/hybrid-components.md +38 -0
  257. package/dist/templates/default/packages/backend/.agents/skills/convex-create-component/references/local-components.md +39 -0
  258. package/dist/templates/default/packages/backend/.agents/skills/convex-create-component/references/packaged-components.md +54 -0
  259. package/dist/templates/default/packages/backend/.agents/skills/convex-crons/SKILL.md +23 -0
  260. package/dist/templates/default/packages/backend/.agents/skills/convex-deploy-guard/SKILL.md +29 -0
  261. package/dist/templates/default/packages/backend/.agents/skills/convex-design/SKILL.md +30 -0
  262. package/dist/templates/default/packages/backend/.agents/skills/convex-docs/SKILL.md +31 -0
  263. package/dist/templates/default/packages/backend/.agents/skills/convex-domains/SKILL.md +26 -0
  264. package/dist/templates/default/packages/backend/.agents/skills/convex-env/SKILL.md +24 -0
  265. package/dist/templates/default/packages/backend/.agents/skills/convex-expert/SKILL.md +38 -0
  266. package/dist/templates/default/packages/backend/.agents/skills/convex-explain-app/SKILL.md +29 -0
  267. package/dist/templates/default/packages/backend/.agents/skills/convex-improve-convex-plugin/SKILL.md +24 -0
  268. package/dist/templates/default/packages/backend/.agents/skills/convex-insights/SKILL.md +32 -0
  269. package/dist/templates/default/packages/backend/.agents/skills/convex-launch-readiness/SKILL.md +35 -0
  270. package/dist/templates/default/packages/backend/.agents/skills/convex-migrate/SKILL.md +23 -0
  271. package/dist/templates/default/packages/backend/.agents/skills/convex-migrate-rehearse/SKILL.md +31 -0
  272. package/dist/templates/default/packages/backend/.agents/skills/convex-monitor/SKILL.md +22 -0
  273. package/dist/templates/default/packages/backend/.agents/skills/convex-optimize/SKILL.md +26 -0
  274. package/dist/templates/default/packages/backend/.agents/skills/convex-quickstart/SKILL.md +29 -0
  275. package/dist/templates/default/packages/backend/.agents/skills/convex-quickstart/agents/openai.yaml +14 -0
  276. package/dist/templates/default/packages/backend/.agents/skills/convex-quickstart/assets/icon.svg +4 -0
  277. package/dist/templates/default/packages/backend/.agents/skills/convex-reviewer/SKILL.md +26 -0
  278. package/dist/templates/default/packages/backend/.agents/skills/convex-seed/SKILL.md +23 -0
  279. package/dist/templates/default/packages/backend/.agents/skills/convex-self-heal/SKILL.md +38 -0
  280. package/dist/templates/default/packages/backend/.agents/skills/convex-sentinel/SKILL.md +25 -0
  281. package/dist/templates/default/packages/backend/.agents/skills/convex-suggest/SKILL.md +27 -0
  282. package/dist/templates/default/packages/backend/.agents/skills/convex-test/SKILL.md +23 -0
  283. package/dist/templates/default/packages/backend/.agents/skills/convex-verify/SKILL.md +34 -0
  284. package/dist/templates/default/packages/backend/.prettierignore +4 -0
  285. package/dist/templates/default/packages/backend/AGENTS.md +18 -0
  286. package/dist/templates/default/packages/backend/CLAUDE.md +13 -0
  287. package/dist/templates/default/packages/backend/README.md +25 -0
  288. package/dist/templates/default/packages/backend/convex/_generated/ai/ai-files.state.json +6 -0
  289. package/dist/templates/default/packages/backend/convex/_generated/ai/guidelines.md +286 -0
  290. package/dist/templates/default/packages/backend/convex/_generated/api.d.ts +66 -0
  291. package/dist/templates/default/packages/backend/convex/_generated/api.js +23 -0
  292. package/dist/templates/default/packages/backend/convex/_generated/dataModel.d.ts +60 -0
  293. package/dist/templates/default/packages/backend/convex/_generated/server.d.ts +164 -0
  294. package/dist/templates/default/packages/backend/convex/_generated/server.js +101 -0
  295. package/dist/templates/default/packages/backend/convex/auth.config.ts +14 -0
  296. package/dist/templates/default/packages/backend/convex/auth.ts +15 -0
  297. package/dist/templates/default/packages/backend/convex/convex.config.ts +30 -0
  298. package/dist/templates/default/packages/backend/convex/http.ts +5 -0
  299. package/dist/templates/default/packages/backend/convex/mcp.ts +8 -0
  300. package/dist/templates/default/packages/backend/convex/schema.ts +10 -0
  301. package/dist/templates/default/packages/backend/convex/todos/index.ts +26 -0
  302. package/dist/templates/default/packages/backend/convex/todos/internal.ts +43 -0
  303. package/dist/templates/default/packages/backend/convex/tsconfig.json +27 -0
  304. package/dist/templates/default/packages/backend/convex/users.ts +20 -0
  305. package/dist/templates/default/packages/backend/eslint.config.mjs +62 -0
  306. package/dist/templates/default/packages/backend/package.json +36 -0
  307. package/dist/templates/default/packages/backend/skills-lock.json +203 -0
  308. package/dist/templates/default/packages/disposabl-kit/client/components/ui/accordion.tsx +77 -0
  309. package/dist/templates/default/packages/disposabl-kit/client/components/ui/alert-dialog.tsx +185 -0
  310. package/dist/templates/default/packages/disposabl-kit/client/components/ui/alert.tsx +75 -0
  311. package/dist/templates/default/packages/disposabl-kit/client/components/ui/aspect-ratio.tsx +22 -0
  312. package/dist/templates/default/packages/disposabl-kit/client/components/ui/attachment.tsx +207 -0
  313. package/dist/templates/default/packages/disposabl-kit/client/components/ui/avatar.tsx +106 -0
  314. package/dist/templates/default/packages/disposabl-kit/client/components/ui/badge.tsx +51 -0
  315. package/dist/templates/default/packages/disposabl-kit/client/components/ui/breadcrumb.tsx +121 -0
  316. package/dist/templates/default/packages/disposabl-kit/client/components/ui/bubble.tsx +127 -0
  317. package/dist/templates/default/packages/disposabl-kit/client/components/ui/button-group.tsx +87 -0
  318. package/dist/templates/default/packages/disposabl-kit/client/components/ui/button.tsx +57 -0
  319. package/dist/templates/default/packages/disposabl-kit/client/components/ui/calendar.tsx +241 -0
  320. package/dist/templates/default/packages/disposabl-kit/client/components/ui/card.tsx +102 -0
  321. package/dist/templates/default/packages/disposabl-kit/client/components/ui/carousel.tsx +239 -0
  322. package/dist/templates/default/packages/disposabl-kit/client/components/ui/chart.tsx +368 -0
  323. package/dist/templates/default/packages/disposabl-kit/client/components/ui/checkbox.tsx +27 -0
  324. package/dist/templates/default/packages/disposabl-kit/client/components/ui/code-block.tsx +243 -0
  325. package/dist/templates/default/packages/disposabl-kit/client/components/ui/collapsible.tsx +19 -0
  326. package/dist/templates/default/packages/disposabl-kit/client/components/ui/combobox.tsx +300 -0
  327. package/dist/templates/default/packages/disposabl-kit/client/components/ui/command.tsx +194 -0
  328. package/dist/templates/default/packages/disposabl-kit/client/components/ui/context-menu.tsx +271 -0
  329. package/dist/templates/default/packages/disposabl-kit/client/components/ui/dialog.tsx +156 -0
  330. package/dist/templates/default/packages/disposabl-kit/client/components/ui/direction.tsx +4 -0
  331. package/dist/templates/default/packages/disposabl-kit/client/components/ui/drawer.tsx +224 -0
  332. package/dist/templates/default/packages/disposabl-kit/client/components/ui/dropdown-menu.tsx +269 -0
  333. package/dist/templates/default/packages/disposabl-kit/client/components/ui/empty.tsx +103 -0
  334. package/dist/templates/default/packages/disposabl-kit/client/components/ui/field.tsx +236 -0
  335. package/dist/templates/default/packages/disposabl-kit/client/components/ui/hover-card.tsx +50 -0
  336. package/dist/templates/default/packages/disposabl-kit/client/components/ui/input-group.tsx +158 -0
  337. package/dist/templates/default/packages/disposabl-kit/client/components/ui/input-otp.tsx +83 -0
  338. package/dist/templates/default/packages/disposabl-kit/client/components/ui/input.tsx +19 -0
  339. package/dist/templates/default/packages/disposabl-kit/client/components/ui/item.tsx +201 -0
  340. package/dist/templates/default/packages/disposabl-kit/client/components/ui/kbd.tsx +26 -0
  341. package/dist/templates/default/packages/disposabl-kit/client/components/ui/label.tsx +19 -0
  342. package/dist/templates/default/packages/disposabl-kit/client/components/ui/marker.tsx +70 -0
  343. package/dist/templates/default/packages/disposabl-kit/client/components/ui/menubar.tsx +284 -0
  344. package/dist/templates/default/packages/disposabl-kit/client/components/ui/message-scroller.tsx +128 -0
  345. package/dist/templates/default/packages/disposabl-kit/client/components/ui/message.tsx +91 -0
  346. package/dist/templates/default/packages/disposabl-kit/client/components/ui/native-select.tsx +64 -0
  347. package/dist/templates/default/packages/disposabl-kit/client/components/ui/navigation-menu.tsx +170 -0
  348. package/dist/templates/default/packages/disposabl-kit/client/components/ui/pagination.tsx +133 -0
  349. package/dist/templates/default/packages/disposabl-kit/client/components/ui/popover.tsx +87 -0
  350. package/dist/templates/default/packages/disposabl-kit/client/components/ui/progress.tsx +82 -0
  351. package/dist/templates/default/packages/disposabl-kit/client/components/ui/questionnaire.tsx +330 -0
  352. package/dist/templates/default/packages/disposabl-kit/client/components/ui/radio-group.tsx +35 -0
  353. package/dist/templates/default/packages/disposabl-kit/client/components/ui/resizable.tsx +49 -0
  354. package/dist/templates/default/packages/disposabl-kit/client/components/ui/scroll-area.tsx +51 -0
  355. package/dist/templates/default/packages/disposabl-kit/client/components/ui/select.tsx +201 -0
  356. package/dist/templates/default/packages/disposabl-kit/client/components/ui/separator.tsx +22 -0
  357. package/dist/templates/default/packages/disposabl-kit/client/components/ui/sheet.tsx +132 -0
  358. package/dist/templates/default/packages/disposabl-kit/client/components/ui/sidebar.tsx +723 -0
  359. package/dist/templates/default/packages/disposabl-kit/client/components/ui/skeleton.tsx +13 -0
  360. package/dist/templates/default/packages/disposabl-kit/client/components/ui/slider.tsx +51 -0
  361. package/dist/templates/default/packages/disposabl-kit/client/components/ui/spinner.tsx +16 -0
  362. package/dist/templates/default/packages/disposabl-kit/client/components/ui/switch.tsx +31 -0
  363. package/dist/templates/default/packages/disposabl-kit/client/components/ui/table.tsx +113 -0
  364. package/dist/templates/default/packages/disposabl-kit/client/components/ui/tabs.tsx +81 -0
  365. package/dist/templates/default/packages/disposabl-kit/client/components/ui/textarea.tsx +17 -0
  366. package/dist/templates/default/packages/disposabl-kit/client/components/ui/toast.tsx +229 -0
  367. package/dist/templates/default/packages/disposabl-kit/client/components/ui/toggle-group.tsx +87 -0
  368. package/dist/templates/default/packages/disposabl-kit/client/components/ui/toggle.tsx +42 -0
  369. package/dist/templates/default/packages/disposabl-kit/client/components/ui/tooltip.tsx +65 -0
  370. package/dist/templates/default/packages/disposabl-kit/client/components/ui/trace.tsx +161 -0
  371. package/dist/templates/default/packages/disposabl-kit/client/hooks/use-mobile.ts +21 -0
  372. package/dist/templates/default/packages/disposabl-kit/client/lib/prerender.ts +89 -0
  373. package/dist/templates/default/packages/disposabl-kit/client/lib/return-to.ts +12 -0
  374. package/dist/templates/default/packages/disposabl-kit/client/lib/utils.ts +1 -0
  375. package/dist/templates/default/packages/disposabl-kit/client/routes/_auth-pages/login.tsx +114 -0
  376. package/dist/templates/default/packages/disposabl-kit/client/routes/_auth-pages/signUp.tsx +120 -0
  377. package/dist/templates/default/packages/disposabl-kit/client/routes/_authenticated/route.tsx +38 -0
  378. package/dist/templates/default/packages/disposabl-kit/client/routes/consent.tsx +137 -0
  379. package/dist/templates/default/packages/disposabl-kit/client/routes/route.tsx +30 -0
  380. package/dist/templates/default/packages/disposabl-kit/client/styles/globals.css +60 -0
  381. package/dist/templates/default/packages/disposabl-kit/client/vite.config.ts +32 -0
  382. package/dist/templates/default/packages/disposabl-kit/components.json +23 -0
  383. package/dist/templates/default/packages/disposabl-kit/eslint.config.js +21 -0
  384. package/dist/templates/default/packages/disposabl-kit/package.json +60 -0
  385. package/dist/templates/default/packages/disposabl-kit/server/http.ts +86 -0
  386. package/dist/templates/default/packages/disposabl-kit/server/lib/functions.ts +40 -0
  387. package/dist/templates/default/packages/disposabl-kit/server/lib/platforms.ts +20 -0
  388. package/dist/templates/default/packages/disposabl-kit/server/lib/static-routes.ts +56 -0
  389. package/dist/templates/default/packages/disposabl-kit/tsconfig.json +17 -0
  390. package/dist/templates/default/patches/@convex-dev%2Fauth@2.0.0-beta.0.patch +310 -0
  391. package/dist/templates/default/patches/@convex-dev%2Fstatic-hosting@0.2.1.patch +187 -0
  392. package/dist/templates/default/tsconfig.json +9 -0
  393. package/dist/templates/default/turbo.json +51 -0
  394. package/package.json +21 -5
  395. package/README.md +0 -34
  396. package/dist/templates/default/README.md +0 -12
  397. package/dist/templates/default/docs/index.html +0 -8
  398. package/dist/templates/default/eslint.config.js +0 -18
  399. package/dist/templates/default/index.ts +0 -14
@@ -0,0 +1,300 @@
1
+ "use client";
2
+
3
+ import * as React from "react";
4
+ import { Combobox as ComboboxPrimitive } from "@base-ui/react";
5
+ import { cn } from "@disposabl/disposabl-kit/client/lib/utils";
6
+
7
+ import { Button } from "@disposabl/disposabl-kit/client/components/ui/button";
8
+ import {
9
+ InputGroup,
10
+ InputGroupAddon,
11
+ InputGroupButton,
12
+ InputGroupInput,
13
+ } from "@disposabl/disposabl-kit/client/components/ui/input-group";
14
+ import { ChevronDownIcon, XIcon, CheckIcon } from "lucide-react";
15
+
16
+ const Combobox = ComboboxPrimitive.Root;
17
+
18
+ function ComboboxValue({ ...props }: ComboboxPrimitive.Value.Props) {
19
+ return <ComboboxPrimitive.Value data-slot="combobox-value" {...props} />;
20
+ }
21
+
22
+ function ComboboxTrigger({
23
+ className,
24
+ children,
25
+ ...props
26
+ }: ComboboxPrimitive.Trigger.Props) {
27
+ return (
28
+ <ComboboxPrimitive.Trigger
29
+ data-slot="combobox-trigger"
30
+ className={cn("[&_svg:not([class*='size-'])]:size-4", className)}
31
+ {...props}
32
+ >
33
+ {children}
34
+ <ChevronDownIcon className="pointer-events-none size-4 text-muted-foreground" />
35
+ </ComboboxPrimitive.Trigger>
36
+ );
37
+ }
38
+
39
+ function ComboboxClear({ className, ...props }: ComboboxPrimitive.Clear.Props) {
40
+ return (
41
+ <ComboboxPrimitive.Clear
42
+ data-slot="combobox-clear"
43
+ render={<InputGroupButton variant="ghost" size="icon-xs" />}
44
+ className={cn(className)}
45
+ {...props}
46
+ >
47
+ <XIcon className="pointer-events-none" />
48
+ </ComboboxPrimitive.Clear>
49
+ );
50
+ }
51
+
52
+ function ComboboxInput({
53
+ className,
54
+ children,
55
+ disabled = false,
56
+ showTrigger = true,
57
+ showClear = false,
58
+ ...props
59
+ }: ComboboxPrimitive.Input.Props & {
60
+ showTrigger?: boolean;
61
+ showClear?: boolean;
62
+ }) {
63
+ return (
64
+ <InputGroup className={cn("w-auto", className)}>
65
+ <ComboboxPrimitive.Input
66
+ render={<InputGroupInput disabled={disabled} />}
67
+ {...props}
68
+ />
69
+ <InputGroupAddon align="inline-end">
70
+ {showTrigger && (
71
+ <InputGroupButton
72
+ size="icon-xs"
73
+ variant="ghost"
74
+ render={<ComboboxTrigger />}
75
+ data-slot="input-group-button"
76
+ className="group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent"
77
+ disabled={disabled}
78
+ />
79
+ )}
80
+ {showClear && <ComboboxClear disabled={disabled} />}
81
+ </InputGroupAddon>
82
+ {children}
83
+ </InputGroup>
84
+ );
85
+ }
86
+
87
+ function ComboboxContent({
88
+ className,
89
+ side = "bottom",
90
+ sideOffset = 6,
91
+ align = "start",
92
+ alignOffset = 0,
93
+ anchor,
94
+ ...props
95
+ }: ComboboxPrimitive.Popup.Props &
96
+ Pick<
97
+ ComboboxPrimitive.Positioner.Props,
98
+ "side" | "align" | "sideOffset" | "alignOffset" | "anchor"
99
+ >) {
100
+ return (
101
+ <ComboboxPrimitive.Portal>
102
+ <ComboboxPrimitive.Positioner
103
+ side={side}
104
+ sideOffset={sideOffset}
105
+ align={align}
106
+ alignOffset={alignOffset}
107
+ anchor={anchor}
108
+ className="isolate z-50"
109
+ >
110
+ <ComboboxPrimitive.Popup
111
+ data-slot="combobox-content"
112
+ data-chips={!!anchor}
113
+ className={cn(
114
+ "group/combobox-content relative max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+--spacing(7))] origin-(--transform-origin) overflow-hidden rounded-md bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[chips=true]:min-w-(--anchor-width) data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:border-input/30 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:shadow-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
115
+ className,
116
+ )}
117
+ {...props}
118
+ />
119
+ </ComboboxPrimitive.Positioner>
120
+ </ComboboxPrimitive.Portal>
121
+ );
122
+ }
123
+
124
+ function ComboboxList({ className, ...props }: ComboboxPrimitive.List.Props) {
125
+ return (
126
+ <ComboboxPrimitive.List
127
+ data-slot="combobox-list"
128
+ className={cn(
129
+ "no-scrollbar max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 overflow-y-auto overscroll-contain p-1 data-empty:p-0",
130
+ className,
131
+ )}
132
+ {...props}
133
+ />
134
+ );
135
+ }
136
+
137
+ function ComboboxItem({
138
+ className,
139
+ children,
140
+ ...props
141
+ }: ComboboxPrimitive.Item.Props) {
142
+ return (
143
+ <ComboboxPrimitive.Item
144
+ data-slot="combobox-item"
145
+ className={cn(
146
+ "relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
147
+ className,
148
+ )}
149
+ {...props}
150
+ >
151
+ {children}
152
+ <ComboboxPrimitive.ItemIndicator
153
+ render={
154
+ <span className="pointer-events-none absolute right-2 flex size-4 items-center justify-center" />
155
+ }
156
+ >
157
+ <CheckIcon className="pointer-events-none" />
158
+ </ComboboxPrimitive.ItemIndicator>
159
+ </ComboboxPrimitive.Item>
160
+ );
161
+ }
162
+
163
+ function ComboboxGroup({ className, ...props }: ComboboxPrimitive.Group.Props) {
164
+ return (
165
+ <ComboboxPrimitive.Group
166
+ data-slot="combobox-group"
167
+ className={cn(className)}
168
+ {...props}
169
+ />
170
+ );
171
+ }
172
+
173
+ function ComboboxLabel({
174
+ className,
175
+ ...props
176
+ }: ComboboxPrimitive.GroupLabel.Props) {
177
+ return (
178
+ <ComboboxPrimitive.GroupLabel
179
+ data-slot="combobox-label"
180
+ className={cn("px-2 py-1.5 text-xs text-muted-foreground", className)}
181
+ {...props}
182
+ />
183
+ );
184
+ }
185
+
186
+ function ComboboxCollection({ ...props }: ComboboxPrimitive.Collection.Props) {
187
+ return (
188
+ <ComboboxPrimitive.Collection data-slot="combobox-collection" {...props} />
189
+ );
190
+ }
191
+
192
+ function ComboboxEmpty({ className, ...props }: ComboboxPrimitive.Empty.Props) {
193
+ return (
194
+ <ComboboxPrimitive.Empty
195
+ data-slot="combobox-empty"
196
+ className={cn(
197
+ "hidden w-full justify-center py-2 text-center text-sm text-muted-foreground group-data-empty/combobox-content:flex",
198
+ className,
199
+ )}
200
+ {...props}
201
+ />
202
+ );
203
+ }
204
+
205
+ function ComboboxSeparator({
206
+ className,
207
+ ...props
208
+ }: ComboboxPrimitive.Separator.Props) {
209
+ return (
210
+ <ComboboxPrimitive.Separator
211
+ data-slot="combobox-separator"
212
+ className={cn("-mx-1 my-1 h-px bg-border", className)}
213
+ {...props}
214
+ />
215
+ );
216
+ }
217
+
218
+ function ComboboxChips({
219
+ className,
220
+ ...props
221
+ }: React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> &
222
+ ComboboxPrimitive.Chips.Props) {
223
+ return (
224
+ <ComboboxPrimitive.Chips
225
+ data-slot="combobox-chips"
226
+ className={cn(
227
+ "flex min-h-9 flex-wrap items-center gap-1.5 rounded-md border border-input bg-transparent bg-clip-padding px-2.5 py-1.5 text-sm shadow-xs transition-[color,box-shadow] focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 has-data-[slot=combobox-chip]:px-1.5 dark:bg-input/30 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40",
228
+ className,
229
+ )}
230
+ {...props}
231
+ />
232
+ );
233
+ }
234
+
235
+ function ComboboxChip({
236
+ className,
237
+ children,
238
+ showRemove = true,
239
+ ...props
240
+ }: ComboboxPrimitive.Chip.Props & {
241
+ showRemove?: boolean;
242
+ }) {
243
+ return (
244
+ <ComboboxPrimitive.Chip
245
+ data-slot="combobox-chip"
246
+ className={cn(
247
+ "flex h-[calc(--spacing(5.5))] w-fit items-center justify-center gap-1 rounded-sm bg-muted px-1.5 text-xs font-medium whitespace-nowrap text-foreground has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pr-0",
248
+ className,
249
+ )}
250
+ {...props}
251
+ >
252
+ {children}
253
+ {showRemove && (
254
+ <ComboboxPrimitive.ChipRemove
255
+ render={<Button variant="ghost" size="icon-xs" />}
256
+ className="-ml-1 opacity-50 hover:opacity-100"
257
+ data-slot="combobox-chip-remove"
258
+ >
259
+ <XIcon className="pointer-events-none" />
260
+ </ComboboxPrimitive.ChipRemove>
261
+ )}
262
+ </ComboboxPrimitive.Chip>
263
+ );
264
+ }
265
+
266
+ function ComboboxChipsInput({
267
+ className,
268
+ ...props
269
+ }: ComboboxPrimitive.Input.Props) {
270
+ return (
271
+ <ComboboxPrimitive.Input
272
+ data-slot="combobox-chip-input"
273
+ className={cn("min-w-16 flex-1 outline-none", className)}
274
+ {...props}
275
+ />
276
+ );
277
+ }
278
+
279
+ function useComboboxAnchor() {
280
+ return React.useRef<HTMLDivElement | null>(null);
281
+ }
282
+
283
+ export {
284
+ Combobox,
285
+ ComboboxInput,
286
+ ComboboxContent,
287
+ ComboboxList,
288
+ ComboboxItem,
289
+ ComboboxGroup,
290
+ ComboboxLabel,
291
+ ComboboxCollection,
292
+ ComboboxEmpty,
293
+ ComboboxSeparator,
294
+ ComboboxChips,
295
+ ComboboxChip,
296
+ ComboboxChipsInput,
297
+ ComboboxTrigger,
298
+ ComboboxValue,
299
+ useComboboxAnchor,
300
+ };
@@ -0,0 +1,194 @@
1
+ import * as React from "react";
2
+ import { Command as CommandPrimitive } from "cmdk";
3
+ import { cn } from "@disposabl/disposabl-kit/client/lib/utils";
4
+
5
+ import {
6
+ Dialog,
7
+ DialogContent,
8
+ DialogDescription,
9
+ DialogHeader,
10
+ DialogTitle,
11
+ } from "@disposabl/disposabl-kit/client/components/ui/dialog";
12
+ import {
13
+ InputGroup,
14
+ InputGroupAddon,
15
+ } from "@disposabl/disposabl-kit/client/components/ui/input-group";
16
+ import { SearchIcon, CheckIcon } from "lucide-react";
17
+
18
+ function Command({
19
+ className,
20
+ ...props
21
+ }: React.ComponentProps<typeof CommandPrimitive>) {
22
+ return (
23
+ <CommandPrimitive
24
+ data-slot="command"
25
+ className={cn(
26
+ "flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground",
27
+ className,
28
+ )}
29
+ {...props}
30
+ />
31
+ );
32
+ }
33
+
34
+ function CommandDialog({
35
+ title = "Command Palette",
36
+ description = "Search for a command to run...",
37
+ children,
38
+ className,
39
+ showCloseButton = false,
40
+ ...props
41
+ }: Omit<React.ComponentProps<typeof Dialog>, "children"> & {
42
+ title?: string;
43
+ description?: string;
44
+ className?: string;
45
+ showCloseButton?: boolean;
46
+ children: React.ReactNode;
47
+ }) {
48
+ return (
49
+ <Dialog {...props}>
50
+ <DialogHeader className="sr-only">
51
+ <DialogTitle>{title}</DialogTitle>
52
+ <DialogDescription>{description}</DialogDescription>
53
+ </DialogHeader>
54
+ <DialogContent
55
+ className={cn(
56
+ "top-1/3 translate-y-0 overflow-hidden rounded-xl! p-0",
57
+ className,
58
+ )}
59
+ showCloseButton={showCloseButton}
60
+ >
61
+ {children}
62
+ </DialogContent>
63
+ </Dialog>
64
+ );
65
+ }
66
+
67
+ function CommandInput({
68
+ className,
69
+ ...props
70
+ }: React.ComponentProps<typeof CommandPrimitive.Input>) {
71
+ return (
72
+ <div data-slot="command-input-wrapper" className="p-1 pb-0">
73
+ <InputGroup className="h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!">
74
+ <CommandPrimitive.Input
75
+ data-slot="command-input"
76
+ className={cn(
77
+ "w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
78
+ className,
79
+ )}
80
+ {...props}
81
+ />
82
+ <InputGroupAddon>
83
+ <SearchIcon className="size-4 shrink-0 opacity-50" />
84
+ </InputGroupAddon>
85
+ </InputGroup>
86
+ </div>
87
+ );
88
+ }
89
+
90
+ function CommandList({
91
+ className,
92
+ ...props
93
+ }: React.ComponentProps<typeof CommandPrimitive.List>) {
94
+ return (
95
+ <CommandPrimitive.List
96
+ data-slot="command-list"
97
+ className={cn(
98
+ "no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none",
99
+ className,
100
+ )}
101
+ {...props}
102
+ />
103
+ );
104
+ }
105
+
106
+ function CommandEmpty({
107
+ className,
108
+ ...props
109
+ }: React.ComponentProps<typeof CommandPrimitive.Empty>) {
110
+ return (
111
+ <CommandPrimitive.Empty
112
+ data-slot="command-empty"
113
+ className={cn("py-6 text-center text-sm", className)}
114
+ {...props}
115
+ />
116
+ );
117
+ }
118
+
119
+ function CommandGroup({
120
+ className,
121
+ ...props
122
+ }: React.ComponentProps<typeof CommandPrimitive.Group>) {
123
+ return (
124
+ <CommandPrimitive.Group
125
+ data-slot="command-group"
126
+ className={cn(
127
+ "overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground",
128
+ className,
129
+ )}
130
+ {...props}
131
+ />
132
+ );
133
+ }
134
+
135
+ function CommandSeparator({
136
+ className,
137
+ ...props
138
+ }: React.ComponentProps<typeof CommandPrimitive.Separator>) {
139
+ return (
140
+ <CommandPrimitive.Separator
141
+ data-slot="command-separator"
142
+ className={cn("-mx-1 h-px w-auto bg-border", className)}
143
+ {...props}
144
+ />
145
+ );
146
+ }
147
+
148
+ function CommandItem({
149
+ className,
150
+ children,
151
+ ...props
152
+ }: React.ComponentProps<typeof CommandPrimitive.Item>) {
153
+ return (
154
+ <CommandPrimitive.Item
155
+ data-slot="command-item"
156
+ className={cn(
157
+ "group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:**:[svg]:text-foreground",
158
+ className,
159
+ )}
160
+ {...props}
161
+ >
162
+ {children}
163
+ <CheckIcon className="ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100" />
164
+ </CommandPrimitive.Item>
165
+ );
166
+ }
167
+
168
+ function CommandShortcut({
169
+ className,
170
+ ...props
171
+ }: React.ComponentProps<"span">) {
172
+ return (
173
+ <span
174
+ data-slot="command-shortcut"
175
+ className={cn(
176
+ "ml-auto text-xs tracking-widest text-muted-foreground group-data-selected/command-item:text-foreground",
177
+ className,
178
+ )}
179
+ {...props}
180
+ />
181
+ );
182
+ }
183
+
184
+ export {
185
+ Command,
186
+ CommandDialog,
187
+ CommandInput,
188
+ CommandList,
189
+ CommandEmpty,
190
+ CommandGroup,
191
+ CommandItem,
192
+ CommandShortcut,
193
+ CommandSeparator,
194
+ };