getlotui 0.1.0 โ†’ 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 (355) hide show
  1. package/ENHANCED_INPUTS.md +141 -0
  2. package/README.md +133 -52
  3. package/apps/expo-playground/App.tsx +428 -0
  4. package/apps/expo-playground/app.json +30 -0
  5. package/apps/expo-playground/assets/adaptive-icon.png +0 -0
  6. package/apps/expo-playground/assets/favicon.png +0 -0
  7. package/apps/expo-playground/assets/icon.png +0 -0
  8. package/apps/expo-playground/assets/splash.png +0 -0
  9. package/apps/expo-playground/babel.config.js +6 -0
  10. package/apps/expo-playground/index.js +8 -0
  11. package/apps/expo-playground/metro.config.js +20 -0
  12. package/apps/expo-playground/package.json +29 -0
  13. package/apps/expo-playground/tsconfig.json +6 -0
  14. package/apps/flutter-playground/README.md +31 -0
  15. package/apps/flutter-playground/analysis_options.yaml +8 -0
  16. package/apps/flutter-playground/lib/main.dart +282 -0
  17. package/apps/flutter-playground/pubspec.lock +404 -0
  18. package/apps/flutter-playground/pubspec.yaml +23 -0
  19. package/apps/getlotui-documentation-website/app/about/page.tsx +673 -0
  20. package/apps/getlotui-documentation-website/app/docs/cli/page.tsx +358 -0
  21. package/apps/getlotui-documentation-website/app/docs/components/accordion/page.tsx +392 -0
  22. package/apps/getlotui-documentation-website/app/docs/components/alert/page.tsx +282 -0
  23. package/apps/getlotui-documentation-website/app/docs/components/alert-dialog/page.tsx +437 -0
  24. package/apps/getlotui-documentation-website/app/docs/components/avatar/page.tsx +301 -0
  25. package/apps/getlotui-documentation-website/app/docs/components/badge/page.tsx +242 -0
  26. package/apps/getlotui-documentation-website/app/docs/components/button/page.tsx +390 -0
  27. package/apps/getlotui-documentation-website/app/docs/components/card/page.tsx +264 -0
  28. package/apps/getlotui-documentation-website/app/docs/components/dialog/page.tsx +270 -0
  29. package/apps/getlotui-documentation-website/app/docs/components/dropdown/page.tsx +268 -0
  30. package/apps/getlotui-documentation-website/app/docs/components/input/page.tsx +438 -0
  31. package/apps/getlotui-documentation-website/app/docs/components/page.tsx +190 -0
  32. package/apps/getlotui-documentation-website/app/docs/components/text/page.tsx +237 -0
  33. package/apps/getlotui-documentation-website/app/docs/components/toast/page.tsx +372 -0
  34. package/apps/getlotui-documentation-website/app/docs/installation/page.tsx +220 -0
  35. package/apps/getlotui-documentation-website/app/docs/layout.tsx +53 -0
  36. package/apps/getlotui-documentation-website/app/docs/page.tsx +558 -0
  37. package/apps/getlotui-documentation-website/app/docs/quick-start/page.tsx +230 -0
  38. package/apps/getlotui-documentation-website/app/docs/theming/animations/page.tsx +324 -0
  39. package/apps/getlotui-documentation-website/app/docs/theming/colors/page.tsx +841 -0
  40. package/apps/getlotui-documentation-website/app/docs/theming/dark-mode/page.tsx +172 -0
  41. package/apps/getlotui-documentation-website/app/docs/theming/generator/page.tsx +1050 -0
  42. package/apps/getlotui-documentation-website/app/docs/theming/page.tsx +368 -0
  43. package/apps/getlotui-documentation-website/app/docs/theming/radius/page.tsx +379 -0
  44. package/apps/getlotui-documentation-website/app/docs/theming/spacing/page.tsx +271 -0
  45. package/apps/getlotui-documentation-website/app/docs/theming/typography/page.tsx +405 -0
  46. package/apps/getlotui-documentation-website/app/globals.css +171 -0
  47. package/apps/getlotui-documentation-website/app/layout.tsx +53 -0
  48. package/apps/getlotui-documentation-website/app/page.tsx +825 -0
  49. package/apps/getlotui-documentation-website/components/MockFileExplorer.tsx +84 -0
  50. package/apps/getlotui-documentation-website/components/command-menu.tsx +221 -0
  51. package/apps/getlotui-documentation-website/components/component-preview.tsx +87 -0
  52. package/apps/getlotui-documentation-website/components/docs-sidebar.tsx +99 -0
  53. package/apps/getlotui-documentation-website/components/framework-selector.tsx +171 -0
  54. package/apps/getlotui-documentation-website/components/installation-command.tsx +91 -0
  55. package/apps/getlotui-documentation-website/components/logo.tsx +50 -0
  56. package/apps/getlotui-documentation-website/components/mobile-sidebar.tsx +83 -0
  57. package/apps/getlotui-documentation-website/components/package-manager-selector.tsx +45 -0
  58. package/apps/getlotui-documentation-website/components/site-header.tsx +149 -0
  59. package/apps/getlotui-documentation-website/components/table-of-contents.tsx +126 -0
  60. package/apps/getlotui-documentation-website/components/theme-provider.tsx +11 -0
  61. package/apps/getlotui-documentation-website/components/ui/accordion.tsx +66 -0
  62. package/apps/getlotui-documentation-website/components/ui/alert-dialog.tsx +157 -0
  63. package/apps/getlotui-documentation-website/components/ui/aspect-ratio.tsx +11 -0
  64. package/apps/getlotui-documentation-website/components/ui/avatar.tsx +53 -0
  65. package/apps/getlotui-documentation-website/components/ui/badge.tsx +46 -0
  66. package/apps/getlotui-documentation-website/components/ui/breadcrumb.tsx +109 -0
  67. package/apps/getlotui-documentation-website/components/ui/button-group.tsx +83 -0
  68. package/apps/getlotui-documentation-website/components/ui/button.tsx +61 -0
  69. package/apps/getlotui-documentation-website/components/ui/calendar.tsx +213 -0
  70. package/apps/getlotui-documentation-website/components/ui/carousel.tsx +241 -0
  71. package/apps/getlotui-documentation-website/components/ui/chart.tsx +353 -0
  72. package/apps/getlotui-documentation-website/components/ui/checkbox.tsx +32 -0
  73. package/apps/getlotui-documentation-website/components/ui/collapsible.tsx +33 -0
  74. package/apps/getlotui-documentation-website/components/ui/command.tsx +184 -0
  75. package/apps/getlotui-documentation-website/components/ui/context-menu.tsx +252 -0
  76. package/apps/getlotui-documentation-website/components/ui/dialog.tsx +143 -0
  77. package/apps/getlotui-documentation-website/components/ui/drawer.tsx +135 -0
  78. package/apps/getlotui-documentation-website/components/ui/dropdown-menu.tsx +257 -0
  79. package/apps/getlotui-documentation-website/components/ui/empty.tsx +104 -0
  80. package/apps/getlotui-documentation-website/components/ui/field.tsx +244 -0
  81. package/apps/getlotui-documentation-website/components/ui/form.tsx +167 -0
  82. package/apps/getlotui-documentation-website/components/ui/hover-card.tsx +44 -0
  83. package/apps/getlotui-documentation-website/components/ui/input-group.tsx +169 -0
  84. package/apps/getlotui-documentation-website/components/ui/input-otp.tsx +77 -0
  85. package/apps/getlotui-documentation-website/components/ui/item.tsx +193 -0
  86. package/apps/getlotui-documentation-website/components/ui/kbd.tsx +28 -0
  87. package/apps/getlotui-documentation-website/components/ui/label.tsx +24 -0
  88. package/apps/getlotui-documentation-website/components/ui/menubar.tsx +276 -0
  89. package/apps/getlotui-documentation-website/components/ui/navigation-menu.tsx +166 -0
  90. package/apps/getlotui-documentation-website/components/ui/pagination.tsx +127 -0
  91. package/apps/getlotui-documentation-website/components/ui/popover.tsx +48 -0
  92. package/apps/getlotui-documentation-website/components/ui/progress.tsx +31 -0
  93. package/apps/getlotui-documentation-website/components/ui/radio-group.tsx +45 -0
  94. package/apps/getlotui-documentation-website/components/ui/resizable.tsx +56 -0
  95. package/apps/getlotui-documentation-website/components/ui/scroll-area.tsx +58 -0
  96. package/apps/getlotui-documentation-website/components/ui/select.tsx +185 -0
  97. package/apps/getlotui-documentation-website/components/ui/separator.tsx +28 -0
  98. package/apps/getlotui-documentation-website/components/ui/sheet.tsx +139 -0
  99. package/apps/getlotui-documentation-website/components/ui/sidebar.tsx +726 -0
  100. package/apps/getlotui-documentation-website/components/ui/skeleton.tsx +13 -0
  101. package/apps/getlotui-documentation-website/components/ui/slider.tsx +63 -0
  102. package/apps/getlotui-documentation-website/components/ui/sonner.tsx +25 -0
  103. package/apps/getlotui-documentation-website/components/ui/spinner.tsx +16 -0
  104. package/apps/getlotui-documentation-website/components/ui/switch.tsx +31 -0
  105. package/apps/getlotui-documentation-website/components/ui/table.tsx +116 -0
  106. package/apps/getlotui-documentation-website/components/ui/textarea.tsx +18 -0
  107. package/apps/getlotui-documentation-website/components/ui/toast.tsx +129 -0
  108. package/apps/getlotui-documentation-website/components/ui/toaster.tsx +35 -0
  109. package/apps/getlotui-documentation-website/components/ui/toggle-group.tsx +73 -0
  110. package/apps/getlotui-documentation-website/components/ui/toggle.tsx +47 -0
  111. package/apps/getlotui-documentation-website/components/ui/tooltip.tsx +61 -0
  112. package/apps/getlotui-documentation-website/components/ui/use-mobile.tsx +19 -0
  113. package/apps/getlotui-documentation-website/components/ui/use-toast.ts +191 -0
  114. package/apps/getlotui-documentation-website/components.json +21 -0
  115. package/apps/getlotui-documentation-website/config/docs.ts +41 -0
  116. package/apps/getlotui-documentation-website/context/framework-context.tsx +67 -0
  117. package/apps/getlotui-documentation-website/hooks/use-mobile.ts +19 -0
  118. package/apps/getlotui-documentation-website/hooks/use-toast.ts +191 -0
  119. package/apps/getlotui-documentation-website/lib/utils.ts +6 -0
  120. package/apps/getlotui-documentation-website/next.config.mjs +11 -0
  121. package/apps/getlotui-documentation-website/package-lock.json +4046 -0
  122. package/apps/getlotui-documentation-website/package.json +75 -0
  123. package/apps/getlotui-documentation-website/postcss.config.mjs +8 -0
  124. package/apps/getlotui-documentation-website/public/apple-icon.png +0 -0
  125. package/apps/getlotui-documentation-website/public/chirag-singh.png +0 -0
  126. package/apps/getlotui-documentation-website/public/chirag.png +0 -0
  127. package/apps/getlotui-documentation-website/public/expo.svg +7 -0
  128. package/apps/getlotui-documentation-website/public/flutter.svg +16 -0
  129. package/apps/getlotui-documentation-website/public/icon-dark-32x32.png +0 -0
  130. package/apps/getlotui-documentation-website/public/icon-light-32x32.png +0 -0
  131. package/apps/getlotui-documentation-website/public/icon.svg +26 -0
  132. package/apps/getlotui-documentation-website/public/nextjs-icon.svg +25 -0
  133. package/apps/getlotui-documentation-website/public/placeholder-logo.png +0 -0
  134. package/apps/getlotui-documentation-website/public/placeholder-logo.svg +1 -0
  135. package/apps/getlotui-documentation-website/public/placeholder-user.jpg +0 -0
  136. package/apps/getlotui-documentation-website/public/placeholder.jpg +0 -0
  137. package/apps/getlotui-documentation-website/public/placeholder.svg +1 -0
  138. package/apps/getlotui-documentation-website/public/swift.svg +14 -0
  139. package/apps/getlotui-documentation-website/styles/globals.css +136 -0
  140. package/apps/getlotui-documentation-website/tsconfig.json +41 -0
  141. package/getlotui.config.json +1 -1
  142. package/package.json +18 -31
  143. package/packages/cli/README.md +79 -0
  144. package/packages/cli/dist/templates/templates/expo/Button.tsx +50 -0
  145. package/packages/cli/getlotui.config.json +4 -0
  146. package/packages/cli/package-lock.json +300 -0
  147. package/packages/cli/package.json +31 -0
  148. package/packages/cli/src/templates/expo/Input.tsx +67 -0
  149. package/packages/cli/src/templates/web/Alert.tsx +71 -0
  150. package/packages/cli/src/templates/web/Card.tsx +92 -0
  151. package/packages/cli/src/templates/web/Input.tsx +21 -0
  152. package/packages/cli/src/templates/web/Tabs.tsx +66 -0
  153. package/packages/core/animations/press.json +4 -0
  154. package/packages/core/components/accordion.json +22 -0
  155. package/packages/core/components/alert-dialog.json +31 -0
  156. package/packages/core/components/alert.json +40 -0
  157. package/packages/core/components/avatar.json +21 -0
  158. package/packages/core/components/badge.json +19 -0
  159. package/packages/core/components/button.json +37 -0
  160. package/packages/core/components/card.json +32 -0
  161. package/packages/core/components/checkbox.json +13 -0
  162. package/packages/core/components/dialog.json +21 -0
  163. package/packages/core/components/dropdown.json +21 -0
  164. package/packages/core/components/input.json +64 -0
  165. package/packages/core/components/otp-input.json +54 -0
  166. package/packages/core/components/radio.json +13 -0
  167. package/packages/core/components/switch.json +12 -0
  168. package/packages/core/components/text.json +19 -0
  169. package/packages/core/components/toast.json +20 -0
  170. package/packages/core/index.ts +47 -0
  171. package/packages/core/package.json +13 -0
  172. package/packages/core/tokens/colors.json +49 -0
  173. package/packages/core/tokens/radius.json +7 -0
  174. package/packages/core/tokens/spacing.json +11 -0
  175. package/packages/core/tokens/typography.json +36 -0
  176. package/packages/expo/package.json +23 -0
  177. package/packages/expo/src/components/Accordion.tsx +188 -0
  178. package/packages/expo/src/components/Alert/Alert.tsx +116 -0
  179. package/packages/expo/src/components/Alert/index.tsx +1 -0
  180. package/packages/expo/src/components/AlertDialog.tsx +274 -0
  181. package/packages/expo/src/components/Avatar.tsx +78 -0
  182. package/packages/expo/src/components/Badge.tsx +62 -0
  183. package/packages/expo/src/components/Button.tsx +122 -0
  184. package/packages/expo/src/components/Card/Card.tsx +173 -0
  185. package/packages/expo/src/components/Card/index.tsx +1 -0
  186. package/packages/expo/src/components/Checkbox.tsx +83 -0
  187. package/packages/expo/src/components/Dialog/Dialog.tsx +183 -0
  188. package/packages/expo/src/components/Dialog/index.tsx +1 -0
  189. package/packages/expo/src/components/Dropdown/Dropdown.tsx +196 -0
  190. package/packages/expo/src/components/Dropdown/index.tsx +1 -0
  191. package/packages/expo/src/components/Input.tsx +278 -0
  192. package/packages/expo/src/components/OTPInput.tsx +218 -0
  193. package/packages/expo/src/components/Radio.tsx +61 -0
  194. package/packages/expo/src/components/Switch.tsx +91 -0
  195. package/packages/expo/src/components/Text/Text.tsx +66 -0
  196. package/packages/expo/src/components/Text/index.tsx +1 -0
  197. package/packages/expo/src/components/Toast/Toast.tsx +124 -0
  198. package/packages/expo/src/components/Toast/ToastProvider.tsx +70 -0
  199. package/packages/expo/src/components/Toast/index.tsx +3 -0
  200. package/packages/expo/src/components/Toast/useToast.ts +10 -0
  201. package/packages/expo/src/index.ts +19 -0
  202. package/packages/expo/src/theme/ThemeProvider.tsx +16 -0
  203. package/packages/expo/src/utils.ts +10 -0
  204. package/packages/expo/tsconfig.json +12 -0
  205. package/packages/flutter/.dart_tool/extension_discovery/vs_code.json +1 -0
  206. package/packages/flutter/.dart_tool/package_config.json +316 -0
  207. package/packages/flutter/.dart_tool/package_graph.json +425 -0
  208. package/packages/flutter/.dart_tool/version +1 -0
  209. package/packages/flutter/.flutter-plugins-dependencies +1 -0
  210. package/packages/flutter/lib/getlotui_flutter.dart +16 -0
  211. package/packages/flutter/lib/src/components/accordion.dart +155 -0
  212. package/packages/flutter/lib/src/components/alert.dart +95 -0
  213. package/packages/flutter/lib/src/components/alert_dialog.dart +197 -0
  214. package/packages/flutter/lib/src/components/avatar.dart +85 -0
  215. package/packages/flutter/lib/src/components/badge.dart +92 -0
  216. package/packages/flutter/lib/src/components/button.dart +118 -0
  217. package/packages/flutter/lib/src/components/card.dart +84 -0
  218. package/packages/flutter/lib/src/components/dropdown.dart +72 -0
  219. package/packages/flutter/lib/src/components/input.dart +80 -0
  220. package/packages/flutter/lib/src/components/text.dart +100 -0
  221. package/packages/flutter/lib/src/components/toast.dart +203 -0
  222. package/packages/flutter/lib/src/theme/crossui_theme.dart +128 -0
  223. package/packages/flutter/lib/src/theme/tokens.dart +70 -0
  224. package/packages/flutter/lib/src/utils.dart +20 -0
  225. package/packages/flutter/pubspec.lock +397 -0
  226. package/packages/flutter/pubspec.yaml +22 -0
  227. package/packages/web/package.json +22 -0
  228. package/packages/web/src/index.ts +1 -0
  229. package/packages/web/src/utils.ts +6 -0
  230. package/pnpm-workspace.yaml +3 -0
  231. /package/{dist/templates/web/Alert.tsx โ†’ apps/getlotui-documentation-website/components/ui/alert.tsx} +0 -0
  232. /package/{dist/templates/web/Card.tsx โ†’ apps/getlotui-documentation-website/components/ui/card.tsx} +0 -0
  233. /package/{dist/templates/web/Input.tsx โ†’ apps/getlotui-documentation-website/components/ui/input.tsx} +0 -0
  234. /package/{dist/templates/web/Tabs.tsx โ†’ apps/getlotui-documentation-website/components/ui/tabs.tsx} +0 -0
  235. /package/{dist/templates/templates/expo โ†’ components/ui}/Button.tsx +0 -0
  236. /package/{dist/templates/expo โ†’ components/ui}/Input.tsx +0 -0
  237. /package/{dist โ†’ packages/cli/dist}/bin.d.ts +0 -0
  238. /package/{dist โ†’ packages/cli/dist}/bin.js +0 -0
  239. /package/{dist โ†’ packages/cli/dist}/commands/add.d.ts +0 -0
  240. /package/{dist โ†’ packages/cli/dist}/commands/add.js +0 -0
  241. /package/{dist โ†’ packages/cli/dist}/commands/init.d.ts +0 -0
  242. /package/{dist โ†’ packages/cli/dist}/commands/init.js +0 -0
  243. /package/{dist โ†’ packages/cli/dist}/index.d.ts +0 -0
  244. /package/{dist โ†’ packages/cli/dist}/index.js +0 -0
  245. /package/{dist โ†’ packages/cli/dist}/templates/expo/Accordion.d.ts +0 -0
  246. /package/{dist โ†’ packages/cli/dist}/templates/expo/Accordion.js +0 -0
  247. /package/{dist โ†’ packages/cli/dist}/templates/expo/Accordion.tsx +0 -0
  248. /package/{dist โ†’ packages/cli/dist}/templates/expo/AlertDialog.d.ts +0 -0
  249. /package/{dist โ†’ packages/cli/dist}/templates/expo/AlertDialog.js +0 -0
  250. /package/{dist โ†’ packages/cli/dist}/templates/expo/AlertDialog.tsx +0 -0
  251. /package/{dist โ†’ packages/cli/dist}/templates/expo/Avatar.d.ts +0 -0
  252. /package/{dist โ†’ packages/cli/dist}/templates/expo/Avatar.js +0 -0
  253. /package/{dist โ†’ packages/cli/dist}/templates/expo/Avatar.tsx +0 -0
  254. /package/{dist โ†’ packages/cli/dist}/templates/expo/Badge.d.ts +0 -0
  255. /package/{dist โ†’ packages/cli/dist}/templates/expo/Badge.js +0 -0
  256. /package/{dist โ†’ packages/cli/dist}/templates/expo/Badge.tsx +0 -0
  257. /package/{dist โ†’ packages/cli/dist}/templates/expo/Button.d.ts +0 -0
  258. /package/{dist โ†’ packages/cli/dist}/templates/expo/Button.js +0 -0
  259. /package/{dist โ†’ packages/cli/dist}/templates/expo/Button.tsx +0 -0
  260. /package/{dist โ†’ packages/cli/dist}/templates/expo/Dropdown.d.ts +0 -0
  261. /package/{dist โ†’ packages/cli/dist}/templates/expo/Dropdown.js +0 -0
  262. /package/{dist โ†’ packages/cli/dist}/templates/expo/Dropdown.tsx +0 -0
  263. /package/{dist โ†’ packages/cli/dist}/templates/expo/Input.d.ts +0 -0
  264. /package/{dist โ†’ packages/cli/dist}/templates/expo/Input.js +0 -0
  265. /package/{dist/templates โ†’ packages/cli/dist}/templates/expo/Input.tsx +0 -0
  266. /package/{dist โ†’ packages/cli/dist}/templates/expo/Toast.d.ts +0 -0
  267. /package/{dist โ†’ packages/cli/dist}/templates/expo/Toast.js +0 -0
  268. /package/{dist โ†’ packages/cli/dist}/templates/expo/Toast.tsx +0 -0
  269. /package/{dist โ†’ packages/cli/dist}/templates/expo/utils.d.ts +0 -0
  270. /package/{dist โ†’ packages/cli/dist}/templates/expo/utils.js +0 -0
  271. /package/{dist โ†’ packages/cli/dist}/templates/expo/utils.ts +0 -0
  272. /package/{dist โ†’ packages/cli/dist}/templates/flutter/Accordion.dart +0 -0
  273. /package/{dist โ†’ packages/cli/dist}/templates/flutter/Alert.dart +0 -0
  274. /package/{dist โ†’ packages/cli/dist}/templates/flutter/AlertDialog.dart +0 -0
  275. /package/{dist โ†’ packages/cli/dist}/templates/flutter/Avatar.dart +0 -0
  276. /package/{dist โ†’ packages/cli/dist}/templates/flutter/Badge.dart +0 -0
  277. /package/{dist โ†’ packages/cli/dist}/templates/flutter/Button.dart +0 -0
  278. /package/{dist โ†’ packages/cli/dist}/templates/flutter/Card.dart +0 -0
  279. /package/{dist โ†’ packages/cli/dist}/templates/flutter/Input.dart +0 -0
  280. /package/{dist โ†’ packages/cli/dist}/templates/flutter/Text.dart +0 -0
  281. /package/{dist โ†’ packages/cli/dist}/templates/flutter/utils.dart +0 -0
  282. /package/{src โ†’ packages/cli/dist/templates}/templates/expo/Input.tsx +0 -0
  283. /package/{dist โ†’ packages/cli/dist}/templates/web/Accordion.d.ts +0 -0
  284. /package/{dist โ†’ packages/cli/dist}/templates/web/Accordion.js +0 -0
  285. /package/{dist โ†’ packages/cli/dist}/templates/web/Accordion.tsx +0 -0
  286. /package/{dist โ†’ packages/cli/dist}/templates/web/Alert.d.ts +0 -0
  287. /package/{dist โ†’ packages/cli/dist}/templates/web/Alert.js +0 -0
  288. /package/{src โ†’ packages/cli/dist}/templates/web/Alert.tsx +0 -0
  289. /package/{dist โ†’ packages/cli/dist}/templates/web/AlertDialog.d.ts +0 -0
  290. /package/{dist โ†’ packages/cli/dist}/templates/web/AlertDialog.js +0 -0
  291. /package/{dist โ†’ packages/cli/dist}/templates/web/AlertDialog.tsx +0 -0
  292. /package/{dist โ†’ packages/cli/dist}/templates/web/Avatar.d.ts +0 -0
  293. /package/{dist โ†’ packages/cli/dist}/templates/web/Avatar.js +0 -0
  294. /package/{dist โ†’ packages/cli/dist}/templates/web/Avatar.tsx +0 -0
  295. /package/{dist โ†’ packages/cli/dist}/templates/web/Badge.d.ts +0 -0
  296. /package/{dist โ†’ packages/cli/dist}/templates/web/Badge.js +0 -0
  297. /package/{dist โ†’ packages/cli/dist}/templates/web/Badge.tsx +0 -0
  298. /package/{dist โ†’ packages/cli/dist}/templates/web/Button.d.ts +0 -0
  299. /package/{dist โ†’ packages/cli/dist}/templates/web/Button.js +0 -0
  300. /package/{dist โ†’ packages/cli/dist}/templates/web/Button.tsx +0 -0
  301. /package/{dist โ†’ packages/cli/dist}/templates/web/Card.d.ts +0 -0
  302. /package/{dist โ†’ packages/cli/dist}/templates/web/Card.js +0 -0
  303. /package/{src โ†’ packages/cli/dist}/templates/web/Card.tsx +0 -0
  304. /package/{dist โ†’ packages/cli/dist}/templates/web/Dropdown.d.ts +0 -0
  305. /package/{dist โ†’ packages/cli/dist}/templates/web/Dropdown.js +0 -0
  306. /package/{dist โ†’ packages/cli/dist}/templates/web/Dropdown.tsx +0 -0
  307. /package/{dist โ†’ packages/cli/dist}/templates/web/Input.d.ts +0 -0
  308. /package/{dist โ†’ packages/cli/dist}/templates/web/Input.js +0 -0
  309. /package/{src โ†’ packages/cli/dist}/templates/web/Input.tsx +0 -0
  310. /package/{dist โ†’ packages/cli/dist}/templates/web/Tabs.d.ts +0 -0
  311. /package/{dist โ†’ packages/cli/dist}/templates/web/Tabs.js +0 -0
  312. /package/{src โ†’ packages/cli/dist}/templates/web/Tabs.tsx +0 -0
  313. /package/{dist โ†’ packages/cli/dist}/templates/web/Toast.d.ts +0 -0
  314. /package/{dist โ†’ packages/cli/dist}/templates/web/Toast.js +0 -0
  315. /package/{dist โ†’ packages/cli/dist}/templates/web/Toast.tsx +0 -0
  316. /package/{dist โ†’ packages/cli/dist}/templates/web/utils.d.ts +0 -0
  317. /package/{dist โ†’ packages/cli/dist}/templates/web/utils.js +0 -0
  318. /package/{dist โ†’ packages/cli/dist}/templates/web/utils.ts +0 -0
  319. /package/{dist โ†’ packages/cli/dist}/utils/detect.d.ts +0 -0
  320. /package/{dist โ†’ packages/cli/dist}/utils/detect.js +0 -0
  321. /package/{dist โ†’ packages/cli/dist}/utils/fs.d.ts +0 -0
  322. /package/{dist โ†’ packages/cli/dist}/utils/fs.js +0 -0
  323. /package/{src โ†’ packages/cli/src}/bin.ts +0 -0
  324. /package/{src โ†’ packages/cli/src}/commands/add.ts +0 -0
  325. /package/{src โ†’ packages/cli/src}/commands/init.ts +0 -0
  326. /package/{src โ†’ packages/cli/src}/index.ts +0 -0
  327. /package/{src โ†’ packages/cli/src}/templates/expo/Accordion.tsx +0 -0
  328. /package/{src โ†’ packages/cli/src}/templates/expo/AlertDialog.tsx +0 -0
  329. /package/{src โ†’ packages/cli/src}/templates/expo/Avatar.tsx +0 -0
  330. /package/{src โ†’ packages/cli/src}/templates/expo/Badge.tsx +0 -0
  331. /package/{src โ†’ packages/cli/src}/templates/expo/Button.tsx +0 -0
  332. /package/{src โ†’ packages/cli/src}/templates/expo/Dropdown.tsx +0 -0
  333. /package/{src โ†’ packages/cli/src}/templates/expo/Toast.tsx +0 -0
  334. /package/{src โ†’ packages/cli/src}/templates/expo/utils.ts +0 -0
  335. /package/{src โ†’ packages/cli/src}/templates/flutter/Accordion.dart +0 -0
  336. /package/{src โ†’ packages/cli/src}/templates/flutter/Alert.dart +0 -0
  337. /package/{src โ†’ packages/cli/src}/templates/flutter/AlertDialog.dart +0 -0
  338. /package/{src โ†’ packages/cli/src}/templates/flutter/Avatar.dart +0 -0
  339. /package/{src โ†’ packages/cli/src}/templates/flutter/Badge.dart +0 -0
  340. /package/{src โ†’ packages/cli/src}/templates/flutter/Button.dart +0 -0
  341. /package/{src โ†’ packages/cli/src}/templates/flutter/Card.dart +0 -0
  342. /package/{src โ†’ packages/cli/src}/templates/flutter/Input.dart +0 -0
  343. /package/{src โ†’ packages/cli/src}/templates/flutter/Text.dart +0 -0
  344. /package/{src โ†’ packages/cli/src}/templates/flutter/utils.dart +0 -0
  345. /package/{src โ†’ packages/cli/src}/templates/web/Accordion.tsx +0 -0
  346. /package/{src โ†’ packages/cli/src}/templates/web/AlertDialog.tsx +0 -0
  347. /package/{src โ†’ packages/cli/src}/templates/web/Avatar.tsx +0 -0
  348. /package/{src โ†’ packages/cli/src}/templates/web/Badge.tsx +0 -0
  349. /package/{src โ†’ packages/cli/src}/templates/web/Button.tsx +0 -0
  350. /package/{src โ†’ packages/cli/src}/templates/web/Dropdown.tsx +0 -0
  351. /package/{src โ†’ packages/cli/src}/templates/web/Toast.tsx +0 -0
  352. /package/{src โ†’ packages/cli/src}/templates/web/utils.ts +0 -0
  353. /package/{src โ†’ packages/cli/src}/utils/detect.ts +0 -0
  354. /package/{src โ†’ packages/cli/src}/utils/fs.ts +0 -0
  355. /package/{tsconfig.json โ†’ packages/cli/tsconfig.json} +0 -0
@@ -0,0 +1,141 @@
1
+ # Enhanced Input Components
2
+
3
+ ## Overview
4
+ We've significantly enhanced the CrossUI input system with modern, production-ready components featuring animations, icons, and multiple input types.
5
+
6
+ ## New Components
7
+
8
+ ### 1. **OTPInput Component** ๐Ÿ”
9
+ A premium one-time password input component with:
10
+ - **Auto-focus**: Automatically focuses the first input
11
+ - **Smooth animations**: Scale animations on input
12
+ - **Auto-advance**: Moves to next field automatically
13
+ - **Backspace handling**: Smart navigation on delete
14
+ - **Secure mode**: Optional password masking
15
+ - **Customizable length**: Support for 4, 6, or any digit length
16
+ - **Multiple variants**: default, filled, error, success
17
+ - **Multiple sizes**: sm, md, lg
18
+ - **Completion callback**: Triggers when all digits are entered
19
+
20
+ **Usage:**
21
+ ```tsx
22
+ <OTPInput
23
+ length={6}
24
+ value={otp}
25
+ onChange={setOtp}
26
+ onComplete={(code) => Alert.alert("Complete!", code)}
27
+ size="md"
28
+ variant="default"
29
+ />
30
+ ```
31
+
32
+ ### 2. **Enhanced Input Component** โœจ
33
+ Upgraded the existing Input with:
34
+ - **Left/Right Icons**: Support for Ionicons on both sides
35
+ - **Focus Animations**: Smooth border color transitions
36
+ - **Helper Text**: Additional guidance below input
37
+ - **Improved Shadows**: Dynamic shadows based on focus state
38
+ - **Icon Callbacks**: Clickable right icons (e.g., clear button)
39
+ - **Better Visual Hierarchy**: Enhanced border widths and colors
40
+
41
+ **New Props:**
42
+ - `leftIcon`: Icon name from Ionicons
43
+ - `rightIcon`: Icon name from Ionicons
44
+ - `onRightIconPress`: Callback for right icon press
45
+ - `helperText`: Helper text displayed below input
46
+
47
+ **Usage:**
48
+ ```tsx
49
+ <Input
50
+ label="Email"
51
+ placeholder="john@example.com"
52
+ leftIcon="mail-outline"
53
+ rightIcon="close-circle"
54
+ onRightIconPress={() => setValue("")}
55
+ helperText="We'll never share your email"
56
+ />
57
+ ```
58
+
59
+ ## Enhanced JSON Configurations
60
+
61
+ ### Input Variants
62
+ Added new style variants to `input.json`:
63
+ - **filled**: Light background, no border
64
+ - **outlined**: Transparent background, visible border
65
+ - **underlined**: Transparent background, bottom border only
66
+ - **focused**: Enhanced border width (2px) for better visibility
67
+ - **error**: Improved border width (1.5px)
68
+
69
+ ### OTP Input Configuration
70
+ New `otp-input.json` with:
71
+ - **Variants**: default, filled, error, success
72
+ - **Sizes**: sm (40x48), md (50x56), lg (60x64)
73
+ - **Defaults**: 6-digit length, 12px gap between boxes
74
+
75
+ ## Visual Improvements
76
+
77
+ ### Animations
78
+ 1. **Focus Animation**: Border color smoothly transitions to primary color
79
+ 2. **OTP Scale Animation**: Each box scales on input for tactile feedback
80
+ 3. **Icon Color Transition**: Icons change color on focus
81
+
82
+ ### Shadows
83
+ - **Default State**: Subtle shadow (opacity: 0.05, radius: 4)
84
+ - **Focused State**: Enhanced shadow (opacity: 0.15, radius: 8, primary color)
85
+ - **OTP Boxes**: Individual shadows with focus enhancement
86
+
87
+ ### Typography & Spacing
88
+ - **Helper Text**: 13px, subtle color
89
+ - **Error Text**: 13px, danger color, with icon
90
+ - **Labels**: 14px, semibold, consistent spacing
91
+ - **Icon Sizing**: Responsive to input size (16-24px)
92
+
93
+ ## Demo Features in App.tsx
94
+
95
+ The playground now showcases:
96
+ 1. **OTP Input Section**:
97
+ - 6-digit verification code
98
+ - 4-digit secure PIN with masking
99
+
100
+ 2. **Enhanced Inputs Section**:
101
+ - Email with mail icon
102
+ - Password with lock icon
103
+ - Search with clear button
104
+ - Phone with call icon
105
+ - Location with navigation icon
106
+ - Multiline bio with helper text
107
+ - Error state with alert icon
108
+
109
+ ## File Structure
110
+
111
+ ```
112
+ packages/
113
+ โ”œโ”€โ”€ core/
114
+ โ”‚ โ””โ”€โ”€ components/
115
+ โ”‚ โ”œโ”€โ”€ input.json (enhanced)
116
+ โ”‚ โ””โ”€โ”€ otp-input.json (new)
117
+ โ””โ”€โ”€ expo/
118
+ โ””โ”€โ”€ src/
119
+ โ””โ”€โ”€ components/
120
+ โ”œโ”€โ”€ Input.tsx (enhanced)
121
+ โ””โ”€โ”€ OTPInput.tsx (new)
122
+ ```
123
+
124
+ ## Best Practices
125
+
126
+ 1. **Use helper text** for additional context
127
+ 2. **Add icons** for better visual hierarchy
128
+ 3. **Implement clear buttons** for better UX
129
+ 4. **Use OTP input** for verification codes
130
+ 5. **Leverage animations** for premium feel
131
+ 6. **Maintain consistent spacing** with design tokens
132
+
133
+ ## Next Steps
134
+
135
+ Potential enhancements:
136
+ - Floating label inputs
137
+ - Input masks (phone, credit card)
138
+ - Autocomplete support
139
+ - Voice input integration
140
+ - Custom keyboard types
141
+ - Input groups/compound inputs
package/README.md CHANGED
@@ -1,78 +1,159 @@
1
- # Getting Started with GetLotUI
1
+ # ๐Ÿ›ธ GetLotUI
2
+
3
+ > **The Unified, Token-Driven Design System for Every Platform.**
4
+
5
+ GetLotUI is a high-performance, platform-agnostic design system built on a **"Token-First"** architecture. It allows developers to define design intent once and deploy it across **Web**, **Expo (React Native)**, and **Flutter** with pixel-perfect consistency.
6
+
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
+ [![Build Status](https://img.shields.io/badge/build-passing-brightgreen.svg)]()
9
+ [![pnpm](https://img.shields.io/badge/maintained%20with-pnpm-cc00ff.svg)](https://pnpm.io/)
10
+
11
+ ---
12
+
13
+ ## ๐Ÿค” Why GetLotUI?
14
+
15
+ Maintaining a consistent design system across Web and Mobile is notoriously difficult. Developers often end up duplicating styles in CSS, React Native Stylesheets, and Dart, leading to **brand drift** and maintenance nightmares.
16
+
17
+ **GetLotUI solves this by:**
18
+ 1. **Centralizing Truth**: Every color, font size, and spacing unit lives in a single JSON source.
19
+ 2. **Native Performance**: No runtime translation layers. We generate native code for each platform.
20
+ 3. **Developer Experience**: Use a familiar CLI to "add" components just like shadcn/ui.
21
+
22
+ ---
23
+
24
+ ## ๐ŸŽจ Design Philosophy
25
+
26
+ - **Atomic Tokens**: Every design decision is a token.
27
+ - **Contract over Implementation**: Define *what* a component does before deciding *how* it's rendered.
28
+ - **Copy-Paste (Source-First)**: Components are copied into your repo. You own the code. No complex library dependencies.
29
+
30
+ ---
31
+
32
+ ## โœจ Features
33
+
34
+ - **๐ŸŒ Cross-Platform by Design**: First-class support for Web, Expo, and Flutter.
35
+ - **๐Ÿ’Ž Token-Driven Logic**: Change a color in your JSON tokens and watch it update across JS, Dart, and CSS.
36
+ - **๐Ÿ› ๏ธ Powerful CLI**: Scaffold components and initialize projects with a single command.
37
+ - **๐Ÿ“ฆ Monorepo powered by PNPM**: Seamlessly link core logic with platform implementations.
38
+ - **๐Ÿ“– Live Documentation**: Built-in Next.js documentation site generated from your components.
39
+
40
+ ---
41
+
42
+ ## ๐Ÿ“ Architecture
43
+
44
+ GetLotUI separates **Design Intent** from **Platform Implementation**. This ensures that your brand identity remains consistent even if you change your tech stack.
45
+
46
+ ```mermaid
47
+ graph TD
48
+ A[Core Tokens JSON/TS] --> B(CLI Engine)
49
+ B --> C[Web Styles]
50
+ B --> D[Expo Components]
51
+ B --> E[Flutter Widgets]
52
+
53
+ subgraph "Design Logic"
54
+ A
55
+ end
56
+
57
+ subgraph "Output Adapters"
58
+ C
59
+ D
60
+ E
61
+ end
62
+ ```
2
63
 
3
- GetLotUI is a component scaffolding tool that copies customizable, source-code components directly into your project. It is designed to work seamlessly with Expo and React Native applications.
64
+ ### The Layered Model
4
65
 
5
- ## Prerequisites
66
+ | Layer | Responsibility | Technology | Output |
67
+ | :--- | :--- | :--- | :--- |
68
+ | **01. Token Layer** | Colors, Spacing, Typography | JSON / TypeScript | Design Variables |
69
+ | **02. Contract Layer** | Component Interfaces & Logic | TypeScript Interfaces | Prop Definitions |
70
+ | **03. Render Layer** | Platform-specific Views | React Native / Swift / Dart | The Visual UI |
6
71
 
7
- - **Node.js** (v18 or higher)
8
- - An existing **Expo** project (managed or bare workflow)
72
+ ---
9
73
 
10
- ## Installation
74
+ ## ๐Ÿงฉ Available Components
11
75
 
12
- You don't need to install GetLotUI globally. You can use it directly via `npx`.
76
+ Scaffold these instantly using `npx getlotui add <name>`:
13
77
 
14
- However, if you prefer to install it as a dev dependency in your project:
78
+ | Component | Expo | Flutter | Web |
79
+ | :--- | :---: | :---: | :---: |
80
+ | **Button** | โœ… | โœ… | โœ… |
81
+ | **Input** | โœ… | โœ… | โœ… |
82
+ | **Toast** | โœ… | ๐Ÿšง | โœ… |
83
+ | **Badge** | โœ… | ๐Ÿšง | โœ… |
84
+ | **Avatar** | โœ… | ๐Ÿšง | โœ… |
85
+ | **Card** | โœ… | โœ… | โœ… |
86
+ | **Dropdown** | โœ… | ๐Ÿšง | โœ… |
15
87
 
16
- ```bash
17
- pnpm add -D getlotui
18
- # or
19
- npm install -D getlotui
20
- # or
21
- yarn add -D getlotui
22
- ```
88
+ ---
23
89
 
24
- ## Initialization
90
+ ## ๐Ÿ“ Repository Structure
25
91
 
26
- Run the `init` command to set up GetLotUI in your project. This will create a `getlotui.config.json` file in your root directory.
92
+ ### ๐Ÿ“ฆ Packages (`/packages`)
93
+ - **`@getlotui/core`**: The brain. Contains tokens, design system logic, and shared types.
94
+ - **`@getlotui/cli`**: The developer's Swiss Army knife. Used to manage the design system.
95
+ - **`@getlotui/expo`**: React Native (Expo) implementation of the GetLotUI components.
96
+ - **`@getlotui/flutter`**: Flutter implementation using Dart tokens.
97
+ - **`@getlotui/web`**: Web implementation (Tailwind CSS and React).
27
98
 
28
- ```bash
29
- npx getlotui init
30
- ```
99
+ ### ๐Ÿงช Apps (`/apps`)
100
+ - **`documentation`**: The official Next.js documentation website.
101
+ - **`expo-playground`**: Sandbox for testing Expo components.
102
+ - **`flutter-playground`**: Sandbox for testing Flutter components.
31
103
 
32
- The CLI will:
33
- 1. Detect your project type (e.g., Expo).
34
- 2. Create `getlotui.config.json` with default settings:
104
+ ---
35
105
 
36
- ```json
37
- {
38
- "adapter": "expo",
39
- "componentsDir": "components/ui"
40
- }
41
- ```
106
+ ## ๐Ÿš€ Getting Started
42
107
 
43
- ## Adding Components
108
+ ### 1. Prerequisites
109
+ Ensure you have [Node 20+](https://nodejs.org/) and [pnpm](https://pnpm.io/) installed.
110
+
111
+ ```bash
112
+ npm install -g pnpm
113
+ ```
44
114
 
45
- Once initialized, you can add components to your project. Use the `add` command followed by the component name.
115
+ ### 2. Installation
116
+ Install dependencies for all workspaces:
46
117
 
47
118
  ```bash
48
- npx getlotui add button
49
- npx getlotui add input
119
+ pnpm install
50
120
  ```
51
121
 
52
- This will:
53
- 1. Download/Copy the component source code to your configured `componentsDir` (default: `components/ui`).
54
- 2. Add any necessary utility files (if applicable in future updates).
122
+ ### 3. Development
123
+ - **Run Docs**: `pnpm --filter documentation dev`
124
+ - **Run Expo Sandbox**: `pnpm --filter expo-playground start`
125
+ - **Run Flutter Sandbox**: `cd apps/flutter-playground && flutter run`
126
+
127
+ ---
55
128
 
56
- Now you can import and use the component in your app:
129
+ ## ๐Ÿ› ๏ธ CLI Usage
57
130
 
58
- ```tsx
59
- import { Button } from '@/components/ui/Button';
131
+ The GetLotUI CLI allows you to easily integrate the design system into any project.
60
132
 
61
- export default function App() {
62
- return (
63
- <Button title="Click Me" onPress={() => console.log('Pressed')} variant="primary" />
64
- );
65
- }
133
+ ### Initialize a project
134
+ Automatically detects your framework (Expo, Flutter, or Web) and sets up the configuration.
135
+ ```bash
136
+ npx getlotui init
137
+ ```
138
+
139
+ ### Add a component
140
+ Fetch a pre-styled component from the GetLotUI library.
141
+ ```bash
142
+ npx getlotui add button
143
+ npx getlotui add card
66
144
  ```
67
145
 
68
- ## Customization
146
+ ---
69
147
 
70
- Since GetLotUI copies the **source code** into your project, you have full control.
71
- - Open `components/ui/Button.tsx`.
72
- - Modify styles, props, or behavior to match your design system.
73
- - No vendor lock-in; it's your code now!
148
+ ## โš™๏ธ Road Map
149
+ - [x] Expo Implementation
150
+ - [x] CLI Foundation
151
+ - [x] Flutter Support (Beta)
152
+ - [ ] Web Components (Alpha)
153
+ - [ ] Figma to Token Sync
154
+ - [ ] Automated Visual Regression Testing
74
155
 
75
- ## Troubleshooting
156
+ ---
76
157
 
77
- - **"getlotui.config.json not found"**: Run `npx getlotui init` first.
78
- - **"Component already exists"**: The CLI won't overwrite existing files to prevent data loss. Rename your existing file or delete it if you want to replace it.
158
+ ## ๐Ÿ“œ License
159
+ MIT ยฉ 2026 GetLotUI Team. Built with โค๏ธ for the community.