@ikas/component-cli 0.133.0 → 1.2.0

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 (388) hide show
  1. package/dist/commands/create.d.ts +8 -3
  2. package/dist/commands/create.d.ts.map +1 -1
  3. package/dist/commands/create.js +8 -227
  4. package/dist/commands/create.js.map +1 -1
  5. package/dist/commands/dev.d.ts.map +1 -1
  6. package/dist/commands/dev.js +120 -31
  7. package/dist/commands/dev.js.map +1 -1
  8. package/dist/commands/proxy.d.ts.map +1 -1
  9. package/dist/commands/proxy.js +5 -1
  10. package/dist/commands/proxy.js.map +1 -1
  11. package/package.json +4 -5
  12. package/bin/create-ikas-component.js +0 -8
  13. package/templates/create/README.md +0 -50
  14. package/templates/create/claude-md +0 -275
  15. package/templates/create/cursorrules +0 -123
  16. package/templates/create/gitignore +0 -6
  17. package/templates/create/ikas.config.json +0 -95
  18. package/templates/create/mcp.json +0 -10
  19. package/templates/create/package.json +0 -22
  20. package/templates/create/src/components/ExampleComponent/index.tsx +0 -22
  21. package/templates/create/src/components/ExampleComponent/styles.css +0 -36
  22. package/templates/create/src/components/ExampleComponent/types.ts +0 -7
  23. package/templates/create/src/components/ExampleSection/index.tsx +0 -14
  24. package/templates/create/src/components/ExampleSection/styles.css +0 -29
  25. package/templates/create/src/components/ExampleSection/types.ts +0 -6
  26. package/templates/create/src/components/index.ts +0 -2
  27. package/templates/create/src/global-types.ts +0 -5
  28. package/templates/create/src/global.css +0 -29
  29. package/templates/create/src/ikas-component-utils.d.ts +0 -3
  30. package/templates/create/tsconfig.json +0 -30
  31. package/templates/create/vite.config.ts +0 -15
  32. package/templates/create-full/README.md +0 -78
  33. package/templates/create-full/claude-md +0 -752
  34. package/templates/create-full/cursorrules +0 -117
  35. package/templates/create-full/gitignore +0 -4
  36. package/templates/create-full/ikas.config.json +0 -5009
  37. package/templates/create-full/mcp.json +0 -10
  38. package/templates/create-full/package.json +0 -23
  39. package/templates/create-full/src/components/AccountAddresses/components/AddressCard/index.tsx +0 -55
  40. package/templates/create-full/src/components/AccountAddresses/components/AddressCard/styles.css +0 -46
  41. package/templates/create-full/src/components/AccountAddresses/components/AddressModal/index.tsx +0 -298
  42. package/templates/create-full/src/components/AccountAddresses/components/AddressModal/styles.css +0 -23
  43. package/templates/create-full/src/components/AccountAddresses/index.tsx +0 -127
  44. package/templates/create-full/src/components/AccountAddresses/styles.css +0 -41
  45. package/templates/create-full/src/components/AccountAddresses/types.ts +0 -15
  46. package/templates/create-full/src/components/AccountFavorites/index.tsx +0 -82
  47. package/templates/create-full/src/components/AccountFavorites/styles.css +0 -52
  48. package/templates/create-full/src/components/AccountFavorites/types.ts +0 -7
  49. package/templates/create-full/src/components/AccountInfo/components/AccountSidebar/index.tsx +0 -171
  50. package/templates/create-full/src/components/AccountInfo/components/AccountSidebar/styles.css +0 -144
  51. package/templates/create-full/src/components/AccountInfo/index.tsx +0 -91
  52. package/templates/create-full/src/components/AccountInfo/styles.css +0 -35
  53. package/templates/create-full/src/components/AccountInfo/types.ts +0 -9
  54. package/templates/create-full/src/components/AccountInfoContent/index.tsx +0 -134
  55. package/templates/create-full/src/components/AccountInfoContent/styles.css +0 -57
  56. package/templates/create-full/src/components/AccountInfoContent/types.ts +0 -8
  57. package/templates/create-full/src/components/AccountOrderDetail/components/OrderHeader/index.tsx +0 -78
  58. package/templates/create-full/src/components/AccountOrderDetail/components/OrderHeader/styles.css +0 -46
  59. package/templates/create-full/src/components/AccountOrderDetail/components/OrderItemRow/index.tsx +0 -20
  60. package/templates/create-full/src/components/AccountOrderDetail/components/OrderItemRow/styles.css +0 -16
  61. package/templates/create-full/src/components/AccountOrderDetail/components/OrderLineItemDisplay/index.tsx +0 -112
  62. package/templates/create-full/src/components/AccountOrderDetail/components/OrderLineItemDisplay/styles.css +0 -86
  63. package/templates/create-full/src/components/AccountOrderDetail/components/OrderSidebar/index.tsx +0 -195
  64. package/templates/create-full/src/components/AccountOrderDetail/components/OrderSidebar/styles.css +0 -93
  65. package/templates/create-full/src/components/AccountOrderDetail/components/PackageGroup/index.tsx +0 -156
  66. package/templates/create-full/src/components/AccountOrderDetail/components/PackageGroup/styles.css +0 -100
  67. package/templates/create-full/src/components/AccountOrderDetail/components/ReturnItemRow/index.tsx +0 -56
  68. package/templates/create-full/src/components/AccountOrderDetail/components/ReturnItemRow/styles.css +0 -57
  69. package/templates/create-full/src/components/AccountOrderDetail/components/ReturnView/index.tsx +0 -159
  70. package/templates/create-full/src/components/AccountOrderDetail/components/ReturnView/styles.css +0 -29
  71. package/templates/create-full/src/components/AccountOrderDetail/index.tsx +0 -244
  72. package/templates/create-full/src/components/AccountOrderDetail/styles.css +0 -125
  73. package/templates/create-full/src/components/AccountOrderDetail/types.ts +0 -32
  74. package/templates/create-full/src/components/AccountOrders/components/OrderCard/index.tsx +0 -122
  75. package/templates/create-full/src/components/AccountOrders/components/OrderCard/styles.css +0 -114
  76. package/templates/create-full/src/components/AccountOrders/index.tsx +0 -105
  77. package/templates/create-full/src/components/AccountOrders/styles.css +0 -36
  78. package/templates/create-full/src/components/AccountOrders/types.ts +0 -11
  79. package/templates/create-full/src/components/Announcement/index.tsx +0 -11
  80. package/templates/create-full/src/components/Announcement/styles.css +0 -4
  81. package/templates/create-full/src/components/Announcement/types.ts +0 -4
  82. package/templates/create-full/src/components/Announcements/index.tsx +0 -91
  83. package/templates/create-full/src/components/Announcements/styles.css +0 -46
  84. package/templates/create-full/src/components/Announcements/types.ts +0 -8
  85. package/templates/create-full/src/components/BlogHome/components/BlogCard/index.tsx +0 -89
  86. package/templates/create-full/src/components/BlogHome/components/BlogCard/styles.css +0 -121
  87. package/templates/create-full/src/components/BlogHome/index.tsx +0 -124
  88. package/templates/create-full/src/components/BlogHome/styles.css +0 -118
  89. package/templates/create-full/src/components/BlogHome/types.ts +0 -15
  90. package/templates/create-full/src/components/BlogPost/index.tsx +0 -128
  91. package/templates/create-full/src/components/BlogPost/styles.css +0 -120
  92. package/templates/create-full/src/components/BlogPost/types.ts +0 -12
  93. package/templates/create-full/src/components/CardProductName/index.tsx +0 -25
  94. package/templates/create-full/src/components/CardProductName/styles.css +0 -22
  95. package/templates/create-full/src/components/CardProductName/types.ts +0 -7
  96. package/templates/create-full/src/components/CardProductPrice/index.tsx +0 -30
  97. package/templates/create-full/src/components/CardProductPrice/styles.css +0 -13
  98. package/templates/create-full/src/components/CardProductPrice/types.ts +0 -6
  99. package/templates/create-full/src/components/CardProductVariants/index.tsx +0 -10
  100. package/templates/create-full/src/components/CardProductVariants/styles.css +0 -1
  101. package/templates/create-full/src/components/CardProductVariants/types.ts +0 -6
  102. package/templates/create-full/src/components/CartPage/components/CouponCode/index.tsx +0 -108
  103. package/templates/create-full/src/components/CartPage/components/CouponCode/styles.css +0 -68
  104. package/templates/create-full/src/components/CartPage/components/EmptyState/index.tsx +0 -31
  105. package/templates/create-full/src/components/CartPage/components/EmptyState/styles.css +0 -18
  106. package/templates/create-full/src/components/CartPage/components/OrderSummary/index.tsx +0 -106
  107. package/templates/create-full/src/components/CartPage/components/OrderSummary/styles.css +0 -70
  108. package/templates/create-full/src/components/CartPage/index.tsx +0 -107
  109. package/templates/create-full/src/components/CartPage/styles.css +0 -54
  110. package/templates/create-full/src/components/CartPage/types.ts +0 -16
  111. package/templates/create-full/src/components/CategoryImageItem/components/Card/index.tsx +0 -64
  112. package/templates/create-full/src/components/CategoryImageItem/components/Card/styles.css +0 -56
  113. package/templates/create-full/src/components/CategoryImageItem/index.tsx +0 -64
  114. package/templates/create-full/src/components/CategoryImageItem/styles.css +0 -10
  115. package/templates/create-full/src/components/CategoryImageItem/types.ts +0 -16
  116. package/templates/create-full/src/components/CategoryImages/index.tsx +0 -62
  117. package/templates/create-full/src/components/CategoryImages/styles.css +0 -38
  118. package/templates/create-full/src/components/CategoryImages/types.ts +0 -11
  119. package/templates/create-full/src/components/CategoryList/components/CategoryListControls/index.tsx +0 -129
  120. package/templates/create-full/src/components/CategoryList/components/CategoryListControls/styles.css +0 -99
  121. package/templates/create-full/src/components/CategoryList/components/FilterBoxValues/index.tsx +0 -42
  122. package/templates/create-full/src/components/CategoryList/components/FilterBoxValues/styles.css +0 -27
  123. package/templates/create-full/src/components/CategoryList/components/FilterCategoryList/index.tsx +0 -43
  124. package/templates/create-full/src/components/CategoryList/components/FilterCategoryList/styles.css +0 -20
  125. package/templates/create-full/src/components/CategoryList/components/FilterGroupValues/index.tsx +0 -114
  126. package/templates/create-full/src/components/CategoryList/components/FilterGroupValues/styles.css +0 -1
  127. package/templates/create-full/src/components/CategoryList/components/FilterListValues/index.tsx +0 -54
  128. package/templates/create-full/src/components/CategoryList/components/FilterListValues/styles.css +0 -22
  129. package/templates/create-full/src/components/CategoryList/components/FilterRangeListValues/index.tsx +0 -50
  130. package/templates/create-full/src/components/CategoryList/components/FilterRangeListValues/styles.css +0 -25
  131. package/templates/create-full/src/components/CategoryList/components/FilterRangeValues/index.tsx +0 -189
  132. package/templates/create-full/src/components/CategoryList/components/FilterRangeValues/styles.css +0 -89
  133. package/templates/create-full/src/components/CategoryList/components/FilterSidebar/index.tsx +0 -92
  134. package/templates/create-full/src/components/CategoryList/components/FilterSidebar/styles.css +0 -27
  135. package/templates/create-full/src/components/CategoryList/components/FilterSwatchValues/index.tsx +0 -63
  136. package/templates/create-full/src/components/CategoryList/components/FilterSwatchValues/styles.css +0 -48
  137. package/templates/create-full/src/components/CategoryList/components/MobileFilterModal/index.tsx +0 -146
  138. package/templates/create-full/src/components/CategoryList/components/MobileFilterModal/styles.css +0 -133
  139. package/templates/create-full/src/components/CategoryList/index.tsx +0 -333
  140. package/templates/create-full/src/components/CategoryList/styles.css +0 -110
  141. package/templates/create-full/src/components/CategoryList/types.ts +0 -30
  142. package/templates/create-full/src/components/CollapsibleContent/index.tsx +0 -23
  143. package/templates/create-full/src/components/CollapsibleContent/styles.css +0 -11
  144. package/templates/create-full/src/components/CollapsibleContent/types.ts +0 -6
  145. package/templates/create-full/src/components/CookieBar/index.tsx +0 -78
  146. package/templates/create-full/src/components/CookieBar/styles.css +0 -111
  147. package/templates/create-full/src/components/CookieBar/types.ts +0 -10
  148. package/templates/create-full/src/components/CustomerEmailVerification/index.tsx +0 -168
  149. package/templates/create-full/src/components/CustomerEmailVerification/styles.css +0 -118
  150. package/templates/create-full/src/components/CustomerEmailVerification/types.ts +0 -17
  151. package/templates/create-full/src/components/FeatureItem/index.tsx +0 -27
  152. package/templates/create-full/src/components/FeatureItem/styles.css +0 -19
  153. package/templates/create-full/src/components/FeatureItem/types.ts +0 -7
  154. package/templates/create-full/src/components/Features/index.tsx +0 -25
  155. package/templates/create-full/src/components/Features/styles.css +0 -39
  156. package/templates/create-full/src/components/Features/types.ts +0 -5
  157. package/templates/create-full/src/components/Footer/index.tsx +0 -154
  158. package/templates/create-full/src/components/Footer/styles.css +0 -175
  159. package/templates/create-full/src/components/Footer/types.ts +0 -15
  160. package/templates/create-full/src/components/ForgotPassword/components/ForgotPasswordForm/index.tsx +0 -129
  161. package/templates/create-full/src/components/ForgotPassword/components/ForgotPasswordForm/styles.css +0 -0
  162. package/templates/create-full/src/components/ForgotPassword/index.tsx +0 -30
  163. package/templates/create-full/src/components/ForgotPassword/styles.css +0 -85
  164. package/templates/create-full/src/components/ForgotPassword/types.ts +0 -13
  165. package/templates/create-full/src/components/Header/index.tsx +0 -46
  166. package/templates/create-full/src/components/Header/styles.css +0 -4
  167. package/templates/create-full/src/components/Header/types.ts +0 -4
  168. package/templates/create-full/src/components/HeroSlider/index.tsx +0 -110
  169. package/templates/create-full/src/components/HeroSlider/styles.css +0 -129
  170. package/templates/create-full/src/components/HeroSlider/types.ts +0 -9
  171. package/templates/create-full/src/components/HeroSliderItem/index.tsx +0 -231
  172. package/templates/create-full/src/components/HeroSliderItem/styles.css +0 -152
  173. package/templates/create-full/src/components/HeroSliderItem/types.ts +0 -34
  174. package/templates/create-full/src/components/Login/components/LoginForm/index.tsx +0 -181
  175. package/templates/create-full/src/components/Login/components/LoginForm/styles.css +0 -0
  176. package/templates/create-full/src/components/Login/index.tsx +0 -37
  177. package/templates/create-full/src/components/Login/styles.css +0 -129
  178. package/templates/create-full/src/components/Login/types.ts +0 -18
  179. package/templates/create-full/src/components/Navbar/components/CartSidebar/index.tsx +0 -203
  180. package/templates/create-full/src/components/Navbar/components/CartSidebar/styles.css +0 -175
  181. package/templates/create-full/src/components/Navbar/components/MobileMenu/index.tsx +0 -198
  182. package/templates/create-full/src/components/Navbar/components/MobileMenu/styles.css +0 -122
  183. package/templates/create-full/src/components/Navbar/components/NavItem/index.tsx +0 -65
  184. package/templates/create-full/src/components/Navbar/components/SearchModal/index.tsx +0 -339
  185. package/templates/create-full/src/components/Navbar/components/SearchModal/styles.css +0 -191
  186. package/templates/create-full/src/components/Navbar/index.tsx +0 -254
  187. package/templates/create-full/src/components/Navbar/styles.css +0 -254
  188. package/templates/create-full/src/components/Navbar/types.ts +0 -42
  189. package/templates/create-full/src/components/NotFound/index.tsx +0 -39
  190. package/templates/create-full/src/components/NotFound/styles.css +0 -46
  191. package/templates/create-full/src/components/NotFound/types.ts +0 -8
  192. package/templates/create-full/src/components/ProductDetail/components/ProductGallery/index.tsx +0 -316
  193. package/templates/create-full/src/components/ProductDetail/components/ProductGallery/styles.css +0 -213
  194. package/templates/create-full/src/components/ProductDetail/index.tsx +0 -92
  195. package/templates/create-full/src/components/ProductDetail/styles.css +0 -58
  196. package/templates/create-full/src/components/ProductDetail/types.ts +0 -12
  197. package/templates/create-full/src/components/ProductDetailAddToCart/components/PayWithIkas/index.tsx +0 -34
  198. package/templates/create-full/src/components/ProductDetailAddToCart/components/PayWithIkas/styles.css +0 -4
  199. package/templates/create-full/src/components/ProductDetailAddToCart/index.tsx +0 -146
  200. package/templates/create-full/src/components/ProductDetailAddToCart/styles.css +0 -27
  201. package/templates/create-full/src/components/ProductDetailAddToCart/types.ts +0 -18
  202. package/templates/create-full/src/components/ProductDetailBundleFurniture/components/BundleFurnitureRow/index.tsx +0 -164
  203. package/templates/create-full/src/components/ProductDetailBundleFurniture/components/BundleFurnitureSection/index.tsx +0 -134
  204. package/templates/create-full/src/components/ProductDetailBundleFurniture/components/BundleFurnitureSection/styles.css +0 -188
  205. package/templates/create-full/src/components/ProductDetailBundleFurniture/index.tsx +0 -61
  206. package/templates/create-full/src/components/ProductDetailBundleFurniture/styles.css +0 -12
  207. package/templates/create-full/src/components/ProductDetailBundleFurniture/types.ts +0 -21
  208. package/templates/create-full/src/components/ProductDetailBundleProduct/components/BundleProductItem/index.tsx +0 -169
  209. package/templates/create-full/src/components/ProductDetailBundleProduct/components/BundleProductItem/styles.css +0 -141
  210. package/templates/create-full/src/components/ProductDetailBundleProduct/components/BundleSkeletonLoading/index.tsx +0 -35
  211. package/templates/create-full/src/components/ProductDetailBundleProduct/components/BundleSkeletonLoading/styles.css +0 -85
  212. package/templates/create-full/src/components/ProductDetailBundleProduct/components/FurnitureRow/index.tsx +0 -51
  213. package/templates/create-full/src/components/ProductDetailBundleProduct/components/FurnitureRow/styles.css +0 -30
  214. package/templates/create-full/src/components/ProductDetailBundleProduct/components/FurnitureView/index.tsx +0 -54
  215. package/templates/create-full/src/components/ProductDetailBundleProduct/components/FurnitureView/styles.css +0 -22
  216. package/templates/create-full/src/components/ProductDetailBundleProduct/index.tsx +0 -101
  217. package/templates/create-full/src/components/ProductDetailBundleProduct/styles.css +0 -20
  218. package/templates/create-full/src/components/ProductDetailBundleProduct/types.ts +0 -18
  219. package/templates/create-full/src/components/ProductDetailDescription/index.tsx +0 -56
  220. package/templates/create-full/src/components/ProductDetailDescription/styles.css +0 -21
  221. package/templates/create-full/src/components/ProductDetailDescription/types.ts +0 -13
  222. package/templates/create-full/src/components/ProductDetailFeatureItem/index.tsx +0 -28
  223. package/templates/create-full/src/components/ProductDetailFeatureItem/styles.css +0 -22
  224. package/templates/create-full/src/components/ProductDetailFeatureItem/types.ts +0 -7
  225. package/templates/create-full/src/components/ProductDetailFeatures/index.tsx +0 -40
  226. package/templates/create-full/src/components/ProductDetailFeatures/styles.css +0 -17
  227. package/templates/create-full/src/components/ProductDetailFeatures/types.ts +0 -10
  228. package/templates/create-full/src/components/ProductDetailNameFavorite/index.tsx +0 -66
  229. package/templates/create-full/src/components/ProductDetailNameFavorite/styles.css +0 -45
  230. package/templates/create-full/src/components/ProductDetailNameFavorite/types.ts +0 -11
  231. package/templates/create-full/src/components/ProductDetailOffer/components/OfferCard/index.tsx +0 -209
  232. package/templates/create-full/src/components/ProductDetailOffer/components/OfferCard/styles.css +0 -146
  233. package/templates/create-full/src/components/ProductDetailOffer/components/OfferSummary/index.tsx +0 -175
  234. package/templates/create-full/src/components/ProductDetailOffer/index.tsx +0 -199
  235. package/templates/create-full/src/components/ProductDetailOffer/styles.css +0 -211
  236. package/templates/create-full/src/components/ProductDetailOffer/types.ts +0 -24
  237. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionCheckbox/index.tsx +0 -52
  238. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionCheckbox/styles.css +0 -19
  239. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionChoice/components/ChoiceBox/index.tsx +0 -60
  240. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionChoice/components/ChoiceBox/styles.css +0 -38
  241. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionChoice/components/ChoiceSelect/index.tsx +0 -102
  242. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionChoice/components/ChoiceSelect/styles.css +0 -34
  243. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionChoice/components/ChoiceSwatch/index.tsx +0 -121
  244. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionChoice/components/ChoiceSwatch/styles.css +0 -87
  245. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionChoice/index.tsx +0 -57
  246. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionColorPicker/index.tsx +0 -54
  247. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionColorPicker/styles.css +0 -0
  248. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionDatePicker/index.tsx +0 -124
  249. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionDatePicker/styles.css +0 -1
  250. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionFile/index.tsx +0 -217
  251. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionFile/styles.css +0 -87
  252. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionRenderer/index.tsx +0 -133
  253. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionText/index.tsx +0 -60
  254. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionText/styles.css +0 -1
  255. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionTextarea/index.tsx +0 -74
  256. package/templates/create-full/src/components/ProductDetailOptionSet/components/OptionTextarea/styles.css +0 -10
  257. package/templates/create-full/src/components/ProductDetailOptionSet/index.tsx +0 -99
  258. package/templates/create-full/src/components/ProductDetailOptionSet/styles.css +0 -30
  259. package/templates/create-full/src/components/ProductDetailOptionSet/types.ts +0 -21
  260. package/templates/create-full/src/components/ProductDetailPrices/index.tsx +0 -62
  261. package/templates/create-full/src/components/ProductDetailPrices/styles.css +0 -32
  262. package/templates/create-full/src/components/ProductDetailPrices/types.ts +0 -10
  263. package/templates/create-full/src/components/ProductDetailProductGroup/index.tsx +0 -74
  264. package/templates/create-full/src/components/ProductDetailProductGroup/styles.css +0 -33
  265. package/templates/create-full/src/components/ProductDetailProductGroup/types.ts +0 -10
  266. package/templates/create-full/src/components/ProductDetailReviews/index.tsx +0 -205
  267. package/templates/create-full/src/components/ProductDetailReviews/styles.css +0 -43
  268. package/templates/create-full/src/components/ProductDetailReviews/types.ts +0 -19
  269. package/templates/create-full/src/components/ProductDetailSku/index.tsx +0 -38
  270. package/templates/create-full/src/components/ProductDetailSku/styles.css +0 -16
  271. package/templates/create-full/src/components/ProductDetailSku/types.ts +0 -11
  272. package/templates/create-full/src/components/ProductDetailVariant/index.tsx +0 -38
  273. package/templates/create-full/src/components/ProductDetailVariant/styles.css +0 -14
  274. package/templates/create-full/src/components/ProductDetailVariant/types.ts +0 -12
  275. package/templates/create-full/src/components/ProductSlider/index.tsx +0 -151
  276. package/templates/create-full/src/components/ProductSlider/styles.css +0 -105
  277. package/templates/create-full/src/components/ProductSlider/types.ts +0 -17
  278. package/templates/create-full/src/components/RecoverPassword/components/RecoverPasswordForm/index.tsx +0 -133
  279. package/templates/create-full/src/components/RecoverPassword/components/RecoverPasswordForm/styles.css +0 -0
  280. package/templates/create-full/src/components/RecoverPassword/index.tsx +0 -30
  281. package/templates/create-full/src/components/RecoverPassword/styles.css +0 -93
  282. package/templates/create-full/src/components/RecoverPassword/types.ts +0 -13
  283. package/templates/create-full/src/components/Register/components/RegisterForm/index.tsx +0 -326
  284. package/templates/create-full/src/components/Register/components/RegisterForm/styles.css +0 -0
  285. package/templates/create-full/src/components/Register/index.tsx +0 -30
  286. package/templates/create-full/src/components/Register/styles.css +0 -152
  287. package/templates/create-full/src/components/Register/types.ts +0 -27
  288. package/templates/create-full/src/components/RichText/index.tsx +0 -25
  289. package/templates/create-full/src/components/RichText/styles.css +0 -51
  290. package/templates/create-full/src/components/RichText/types.ts +0 -5
  291. package/templates/create-full/src/components/SocialMediaIcon/index.tsx +0 -26
  292. package/templates/create-full/src/components/SocialMediaIcon/styles.css +0 -17
  293. package/templates/create-full/src/components/SocialMediaIcon/types.ts +0 -7
  294. package/templates/create-full/src/components/index.ts +0 -50
  295. package/templates/create-full/src/global-types.ts +0 -11
  296. package/templates/create-full/src/global.css +0 -598
  297. package/templates/create-full/src/hooks/useBundleProducts.ts +0 -75
  298. package/templates/create-full/src/hooks/useColumnPreference.ts +0 -26
  299. package/templates/create-full/src/hooks/useInfiniteScroll.ts +0 -49
  300. package/templates/create-full/src/hooks/usePageTracking.ts +0 -56
  301. package/templates/create-full/src/hooks/usePayWithIkas.ts +0 -114
  302. package/templates/create-full/src/hooks/useRedirectIfLoggedIn.ts +0 -35
  303. package/templates/create-full/src/hooks/useScrollLock.ts +0 -19
  304. package/templates/create-full/src/hooks/useToast.ts +0 -27
  305. package/templates/create-full/src/ikas-component-utils.d.ts +0 -3
  306. package/templates/create-full/src/sub-components/Badge/index.tsx +0 -208
  307. package/templates/create-full/src/sub-components/Badge/styles.css +0 -129
  308. package/templates/create-full/src/sub-components/Breadcrumb/index.tsx +0 -57
  309. package/templates/create-full/src/sub-components/Breadcrumb/styles.css +0 -49
  310. package/templates/create-full/src/sub-components/BundleMedia/index.tsx +0 -72
  311. package/templates/create-full/src/sub-components/BundleQuantityBox/index.tsx +0 -73
  312. package/templates/create-full/src/sub-components/BundleQuantityBox/styles.css +0 -43
  313. package/templates/create-full/src/sub-components/Button/index.tsx +0 -52
  314. package/templates/create-full/src/sub-components/Button/styles.css +0 -114
  315. package/templates/create-full/src/sub-components/CartItem/components/BundleProductItem/index.tsx +0 -59
  316. package/templates/create-full/src/sub-components/CartItem/components/BundleProductItem/styles.css +0 -24
  317. package/templates/create-full/src/sub-components/CartItem/components/BundleProducts/index.tsx +0 -55
  318. package/templates/create-full/src/sub-components/CartItem/components/BundleProducts/styles.css +0 -30
  319. package/templates/create-full/src/sub-components/CartItem/components/ItemOptions/index.tsx +0 -31
  320. package/templates/create-full/src/sub-components/CartItem/components/ItemOptions/styles.css +0 -6
  321. package/templates/create-full/src/sub-components/CartItem/components/OptionValueDisplay/index.tsx +0 -79
  322. package/templates/create-full/src/sub-components/CartItem/components/OptionValueDisplay/styles.css +0 -28
  323. package/templates/create-full/src/sub-components/CartItem/index.tsx +0 -216
  324. package/templates/create-full/src/sub-components/CartItem/styles.css +0 -170
  325. package/templates/create-full/src/sub-components/Checkbox/index.tsx +0 -42
  326. package/templates/create-full/src/sub-components/Checkbox/styles.css +0 -65
  327. package/templates/create-full/src/sub-components/CollapsibleGroup/index.tsx +0 -52
  328. package/templates/create-full/src/sub-components/CollapsibleGroup/styles.css +0 -51
  329. package/templates/create-full/src/sub-components/ColorInput/index.tsx +0 -33
  330. package/templates/create-full/src/sub-components/ColorInput/styles.css +0 -53
  331. package/templates/create-full/src/sub-components/ConfirmModal/index.tsx +0 -60
  332. package/templates/create-full/src/sub-components/ConfirmModal/styles.css +0 -20
  333. package/templates/create-full/src/sub-components/FormItem/index.tsx +0 -66
  334. package/templates/create-full/src/sub-components/FormItem/styles.css +0 -38
  335. package/templates/create-full/src/sub-components/ImagePreviewModal/index.tsx +0 -55
  336. package/templates/create-full/src/sub-components/ImagePreviewModal/styles.css +0 -50
  337. package/templates/create-full/src/sub-components/Input/index.tsx +0 -69
  338. package/templates/create-full/src/sub-components/Input/styles.css +0 -162
  339. package/templates/create-full/src/sub-components/Modal/index.tsx +0 -120
  340. package/templates/create-full/src/sub-components/Modal/styles.css +0 -70
  341. package/templates/create-full/src/sub-components/PageLoader/index.tsx +0 -14
  342. package/templates/create-full/src/sub-components/PageLoader/styles.css +0 -12
  343. package/templates/create-full/src/sub-components/Pagination/index.tsx +0 -107
  344. package/templates/create-full/src/sub-components/Pagination/styles.css +0 -88
  345. package/templates/create-full/src/sub-components/ProductCard/index.tsx +0 -276
  346. package/templates/create-full/src/sub-components/ProductCard/styles.css +0 -99
  347. package/templates/create-full/src/sub-components/QuantitySelector/index.tsx +0 -41
  348. package/templates/create-full/src/sub-components/QuantitySelector/styles.css +0 -51
  349. package/templates/create-full/src/sub-components/ReviewCard/index.tsx +0 -103
  350. package/templates/create-full/src/sub-components/ReviewCard/styles.css +0 -95
  351. package/templates/create-full/src/sub-components/ReviewForm/index.tsx +0 -115
  352. package/templates/create-full/src/sub-components/ReviewForm/styles.css +0 -11
  353. package/templates/create-full/src/sub-components/ReviewSummary/index.tsx +0 -65
  354. package/templates/create-full/src/sub-components/ReviewSummary/styles.css +0 -86
  355. package/templates/create-full/src/sub-components/Select/index.tsx +0 -86
  356. package/templates/create-full/src/sub-components/Select/styles.css +0 -110
  357. package/templates/create-full/src/sub-components/SkeletonField/index.tsx +0 -12
  358. package/templates/create-full/src/sub-components/SkeletonField/styles.css +0 -29
  359. package/templates/create-full/src/sub-components/SliderArrow/index.tsx +0 -26
  360. package/templates/create-full/src/sub-components/SliderArrow/styles.css +0 -24
  361. package/templates/create-full/src/sub-components/SocialLoginButton/index.tsx +0 -24
  362. package/templates/create-full/src/sub-components/SocialLoginButton/styles.css +0 -19
  363. package/templates/create-full/src/sub-components/SpinnerIcon/index.tsx +0 -10
  364. package/templates/create-full/src/sub-components/SpinnerIcon/styles.css +0 -8
  365. package/templates/create-full/src/sub-components/StarRating/index.tsx +0 -76
  366. package/templates/create-full/src/sub-components/StarRating/styles.css +0 -40
  367. package/templates/create-full/src/sub-components/Tag/index.tsx +0 -21
  368. package/templates/create-full/src/sub-components/Tag/styles.css +0 -30
  369. package/templates/create-full/src/sub-components/Textarea/index.tsx +0 -45
  370. package/templates/create-full/src/sub-components/Textarea/styles.css +0 -82
  371. package/templates/create-full/src/sub-components/Toast/index.tsx +0 -257
  372. package/templates/create-full/src/sub-components/Toast/styles.css +0 -3
  373. package/templates/create-full/src/sub-components/Toggle/index.tsx +0 -46
  374. package/templates/create-full/src/sub-components/Toggle/styles.css +0 -86
  375. package/templates/create-full/src/sub-components/VariantBadge/index.tsx +0 -153
  376. package/templates/create-full/src/sub-components/VariantBadge/styles.css +0 -47
  377. package/templates/create-full/src/sub-components/icons/index.tsx +0 -981
  378. package/templates/create-full/src/utils/bundle.ts +0 -70
  379. package/templates/create-full/src/utils/cx.ts +0 -4
  380. package/templates/create-full/src/utils/fullName.ts +0 -6
  381. package/templates/create-full/src/utils/media.ts +0 -36
  382. package/templates/create-full/src/utils/optionPrice.ts +0 -19
  383. package/templates/create-full/src/utils/optionSet.ts +0 -17
  384. package/templates/create-full/src/utils/orderStatus.ts +0 -28
  385. package/templates/create-full/src/utils/pagination.ts +0 -29
  386. package/templates/create-full/src/utils/toast.ts +0 -5
  387. package/templates/create-full/tsconfig.json +0 -30
  388. package/templates/create-full/vite.config.ts +0 -15
@@ -1,123 +0,0 @@
1
- # ikas Code Components
2
-
3
- You are building **Preact + TypeScript components for an e-commerce storefront**.
4
- **ALWAYS query MCP tools before writing code that uses storefront APIs.**
5
-
6
- ## CRITICAL: Auto-Generated Files
7
-
8
- **NEVER manually create or edit `ikas.config.json`, `types.ts` or `global-types.ts`** — they are auto-generated by CLI commands.
9
- Use `npx ikas-component config add-component --props '[...]'` or `npx ikas-component config add-prop` to manage props.
10
- These commands update `ikas.config.json`, `types.ts`, and `global-types.ts` automatically.
11
-
12
- **The CLI does NOT edit your component source.** `remove-prop` and `remove-enum` update `ikas.config.json` and the generated `types.ts` / `global-types.ts` only — `index.tsx`, sub-components, and `styles.css` are untouched. After removing a prop or enum, grep the source for the old identifier and clean up dead references yourself before building.
13
-
14
- ## MCP Tools (12 tools)
15
-
16
- ### Starting a New Section
17
- - get_section_template(sectionType) — **Start here** — production-ready starter template for common sections (header, footer, product-detail, product-list, cart, login, hero-banner, blog-post, faq, etc.)
18
- - get_framework_guide(topic) — Framework docs ("ai-workflow", "common-pitfalls", "prop-types", "css-scoping", "form-handling", "imports")
19
- - get_code_example(task) — Code examples ("add to cart", "variant selection", "image-handling")
20
-
21
- ### Looking Up APIs
22
- - search_docs(query) — Search all storefront API docs and framework guides
23
- - get_function_doc(name) — Full docs for a function (e.g. "addItemToCart", "Router.navigate")
24
- - list_functions(category?) — List functions by category (ProductDetail, Cart, ProductList, Navigation, Customer, Order, Image, Blog, Brand, Pricing, Form, Validation, Pagination, Filtering)
25
- - get_prop_types() — All available ikas.config.json prop types
26
-
27
- ### Exploring Types
28
- - get_model_guide(model) — **One-stop-shop** — type def + utility functions + examples for a model (e.g. "IkasProduct", "IkasOrder")
29
- - get_type_definition(name) — Full definition of a type or enum
30
- - get_functions_for_type(typeName) — All utility functions for a type
31
- - search_types(query) — Search types/enums by keyword ("price", "address", "status")
32
- - list_types(domain?, kind?) — List all types, filter by domain or kind ("type"/"enum")
33
-
34
- ## CLI Commands (never edit ikas.config.json or types.ts manually)
35
- - npx ikas-component config add-component --name "Name" --type section --props '[...]' — **Primary** — create with all props in one command
36
- - npx ikas-component config add-component --name "Name" --type section — Create component with no props
37
- - npx ikas-component config add-prop --component "Name" --name title --displayName "Title" --type TEXT --required [--group content] — Add a prop incrementally
38
- - npx ikas-component config update-prop --component "Name" --prop title --type RICH_TEXT [--group colors] — Update a prop or group
39
- - npx ikas-component config remove-prop --component "Name" --prop title — Remove a prop
40
- - npx ikas-component config remove-component --name "Name" — Remove a component
41
- - npx ikas-component config add-prop-group --component "Name" --id colors --name "Colors" [--parent style] — Create a prop group
42
- - npx ikas-component config update-prop-group --component "Name" --id colors [--name "..."] — Update a prop group
43
- - npx ikas-component config remove-prop-group --component "Name" --id colors — Remove a prop group
44
- - npx ikas-component config list — List all components and their props
45
- - npx ikas-component config add-enum --name "Size" --options '[{"name":"Small","value":"s"}]' — Create a custom ENUM type (returns enumTypeId)
46
- - npx ikas-component config update-enum --id <enumId> --name "..." [--options '[...]'] — Update enum name/options
47
- - npx ikas-component config remove-enum --id <enumId> — Remove enum (fails if any prop still references it)
48
- - npx ikas-component config list-enums — List all custom enums
49
- - npx ikas-component check --json — Type-check all components
50
- - npx ikas-component build — Compile server.js + client.js + styles.css per component
51
- - npx ikas-component dev — Start dev server (Vite 5200 + WebSocket 5201)
52
-
53
- ## Workflow: Building a New Section
54
- 1. get_section_template("product-detail-section") → get starter files + CLI command with --props
55
- 2. For any custom ENUM props the section needs: `config add-enum` FIRST (capture the returned enumTypeId), then reference it in `add-prop --type ENUM --enumTypeId <id>`. Order matters — an ENUM prop without a pre-existing enumTypeId is rejected.
56
- 3. Run the CLI command (creates component + props + types.ts in one step)
57
- 4. Write index.tsx and styles.css using the template (do NOT edit types.ts or global-types.ts — both are regenerated on every prop/enum mutation)
58
- 5. Look up APIs: get_model_guide("IkasProduct"), get_function_doc("addItemToCart")
59
- 6. npx ikas-component check --json → fix type errors
60
- 7. npx ikas-component build → verify clean build
61
-
62
- ### Custom ENUM lifecycle
63
- - **Create:** `add-enum` → `add-prop --type ENUM --enumTypeId <id>` (enum must exist before the prop is created).
64
- - **Rename options:** `update-enum --id <id> --options '[...]'` — types.ts regenerates automatically.
65
- - **Remove:** remove (or repoint) every prop that references the enum FIRST, then `remove-enum`. `remove-enum` blocks with an error while any prop still references the id.
66
- - `global-types.ts` is regenerated unconditionally on `add-enum` / `update-enum` / `remove-enum` / `remove-prop` — never hand-edit it.
67
- - Template snippets from `get_section_template` use `{{ENUM_ID:<EnumName>}}` placeholders (e.g. `{{ENUM_ID:AspectRatio}}`). Create the matching `add-enum` first, then substitute the returned id.
68
-
69
- ## Sub-Component Structure
70
- **ALWAYS create sub-components in `src/sub-components/` with their own folder containing `index.tsx` and `styles.css`.**
71
- - `src/components/` = registered in ikas.config.json. `src/sub-components/` = internal helpers (NOT in ikas.config.json)
72
- - Sub-components do NOT have `types.ts` — define `Props` inline in `index.tsx`
73
- - Custom enum types are exported from `src/global-types.ts` (auto-generated). Sub-components can import them: `import type { MyEnum } from "../../global-types";`
74
- - TSX: `import ProductCard from "../../sub-components/ProductCard";`
75
- - Sub-components should be wrapped with `observer()` from `@ikas/component-utils`
76
- - Sub-components can be shared across multiple parent sections
77
- - NEVER create flat .tsx files inside a component folder
78
-
79
- ## Key Patterns
80
- - Root components are automatically reactive (ikas runtime uses autorun). Do NOT use observer() on root exports.
81
- Pattern: `export function MySection({ title }: Props) { ... }` + `export default MySection;`
82
- Only use observer() on sub-components.
83
- - Null safety: storefront models can be null — always check before accessing
84
- - Mutations: addItemToCart() etc. mutate MobX observables in-place — no return capture needed
85
- - COMPONENT & COMPONENT_LIST props: slot-based child components rendered via `<IkasComponentRenderer>`
86
- `import { IkasComponentRenderer } from "@ikas/bp-storefront"`
87
- `<IkasComponentRenderer components={myList as any[]} parentProps={props} />`
88
- Always pass `parentProps={props}` so children can access parent data. Cast with `as any[]`.
89
- - CSS: write plain class names — auto-scoped with .cc_{componentId} at build time
90
- - Events: use onInput (not onChange) for text inputs (Preact behavior)
91
- - Imports: `import { addItemToCart, IkasProduct } from "@ikas/bp-storefront"`
92
-
93
- ## No Static Text Rule
94
- **CRITICAL: Never hardcode user-visible text in JSX.** All text strings (headings, button labels,
95
- empty states, loading messages, form labels) MUST be TEXT props with defaultValues.
96
- Wrong: `<h1>Sign In</h1>`
97
- Correct: `<h1>{title}</h1>` with `title` as TEXT prop (defaultValue: "Sign In")
98
- For button loading states, use two separate props (e.g., `submitButtonText` + `submittingButtonText`).
99
- Group text props under a "Texts" propGroup or another specific text group name.
100
-
101
- **Assistive strings (`aria-label`, `aria-describedby`, `alt`, sr-only text):** if the string is meaningful to end users (e.g. icon-only button label, product image alt), make it a TEXT prop. English literal defaults are acceptable for purely structural labels where a merchant would never want to change them (e.g. `role="dialog" aria-modal="true"`). When in doubt, make it a prop.
102
-
103
- ## Sections vs Components
104
- - Sections = page-level containers (Header, Hero, Product Grid, Footer)
105
- Set "type": "section" via CLI. Use <section> root element. Props interface: Props.
106
- **Sections MUST always include a `backgroundColor` COLOR prop** (default: `#ffffff`).
107
- Apply via inline style: `style={backgroundColor ? { backgroundColor } : undefined}`
108
- Consider also adding `textColor` COLOR props for text elements directly on the section background.
109
- - Components = child elements inside sections (buttons, cards, badges)
110
- Defaults to "component". Use <div> root element. Props interface: Props.
111
-
112
- ## Prop Groups
113
- Organize props that are related to each other into collapsible groups in editor sidebar.
114
- - Define groups in `propGroups` on component in ikas.config.json
115
- - Assign props via `groupId` on each prop
116
- - Nest 1 level deep with `children`
117
- - Group IDs must be unique within a component
118
- - CLI: add-prop-group, update-prop-group, remove-prop-group
119
- - Add prop to group: add-prop --group <groupId> or update-prop --group <groupId>
120
-
121
- ## Build Verification
122
- IMPORTANT: After completing any task, always run `npx ikas-component build` (or `npm run build`)
123
- to check for TypeScript and build errors. Fix any errors before considering the task done.
@@ -1,6 +0,0 @@
1
- node_modules/
2
- dist/
3
- .DS_Store
4
- *.log
5
- .ikas-dev-state.json
6
- asd
@@ -1,95 +0,0 @@
1
- {
2
- "name": "{{PROJECT_NAME}}",
3
- "version": "1.0.0",
4
- "projectId": "{{PROJECT_ID}}",
5
- "globalStyles": "./src/global.css",
6
- "components": [
7
- {
8
- "id": "{{EXAMPLE_COMPONENT_ID}}",
9
- "name": "Example Component",
10
- "entry": "./src/components/ExampleComponent/index.tsx",
11
- "styles": "./src/components/ExampleComponent/styles.css",
12
- "props": [
13
- {
14
- "name": "title",
15
- "displayName": "Title",
16
- "type": "TEXT",
17
- "required": true,
18
- "defaultValue": "Hello World",
19
- "description": "The main title text"
20
- },
21
- {
22
- "name": "description",
23
- "displayName": "Description",
24
- "type": "TEXT",
25
- "required": false,
26
- "defaultValue": "This is an example ikas code component built with Preact.",
27
- "description": "The description text below the title"
28
- },
29
- {
30
- "name": "showButton",
31
- "displayName": "Show Button",
32
- "type": "BOOLEAN",
33
- "required": false,
34
- "defaultValue": true,
35
- "description": "Whether to show the action button"
36
- },
37
- {
38
- "name": "buttonText",
39
- "displayName": "Button Text",
40
- "type": "TEXT",
41
- "required": false,
42
- "defaultValue": "Click Me",
43
- "description": "The text displayed on the button"
44
- }
45
- ]
46
- },
47
- {
48
- "id": "{{EXAMPLE_SECTION_ID}}",
49
- "name": "Example Section",
50
- "entry": "./src/components/ExampleSection/index.tsx",
51
- "styles": "./src/components/ExampleSection/styles.css",
52
- "type": "section",
53
- "props": [
54
- {
55
- "name": "heading",
56
- "displayName": "Heading",
57
- "type": "TEXT",
58
- "required": true,
59
- "defaultValue": "Welcome to Our Store",
60
- "description": "The section heading text",
61
- "groupId": "content"
62
- },
63
- {
64
- "name": "subtitle",
65
- "displayName": "Subtitle",
66
- "type": "TEXT",
67
- "required": false,
68
- "defaultValue": "Discover our latest products and collections.",
69
- "description": "The subtitle text below the heading",
70
- "groupId": "content"
71
- },
72
- {
73
- "name": "backgroundColor",
74
- "displayName": "Background Color",
75
- "type": "COLOR",
76
- "required": false,
77
- "description": "The section background color",
78
- "groupId": "appearance"
79
- }
80
- ],
81
- "propGroups": [
82
- {
83
- "id": "content",
84
- "name": "Content",
85
- "description": "Text and copy settings"
86
- },
87
- {
88
- "id": "appearance",
89
- "name": "Appearance",
90
- "description": "Colors and visual style"
91
- }
92
- ]
93
- }
94
- ]
95
- }
@@ -1,10 +0,0 @@
1
- {
2
- "mcpServers": {
3
- "ikas-code-components": {
4
- "command": "npx",
5
- "args": [
6
- "ikas-mcp"
7
- ]
8
- }
9
- }
10
- }
@@ -1,22 +0,0 @@
1
- {
2
- "name": "{{PROJECT_NAME}}",
3
- "version": "1.0.0",
4
- "type": "module",
5
- "scripts": {
6
- "dev": "ikas-component dev",
7
- "build": "ikas-component build",
8
- "add": "ikas-component add",
9
- "publish": "ikas-component publish"
10
- },
11
- "dependencies": {
12
- "preact": "^10.19.3"
13
- },
14
- "devDependencies": {
15
- "@ikas/component-cli": "*",
16
- "@ikas/bp-storefront": "*",
17
- "@ikas/code-components-mcp": "*",
18
- "@preact/preset-vite": "^2.10.3",
19
- "typescript": "^5.3.0",
20
- "vite": "^5.0.0"
21
- }
22
- }
@@ -1,22 +0,0 @@
1
- import { Props } from "./types";
2
-
3
- export function ExampleComponent({
4
- title,
5
- description = "This is an example ikas code component built with Preact.",
6
- showButton,
7
- buttonText = "Click Me",
8
- }: Props) {
9
- return (
10
- <div className="example-component">
11
- <h1 className="example-title">{title}</h1>
12
- <p className="example-description">{description}</p>
13
- {showButton && (
14
- <button className="example-button">
15
- {buttonText}
16
- </button>
17
- )}
18
- </div>
19
- );
20
- }
21
-
22
- export default ExampleComponent;
@@ -1,36 +0,0 @@
1
- .example-component {
2
- padding: 24px;
3
- border-radius: 8px;
4
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
5
- color: white;
6
- font-family: system-ui, -apple-system, sans-serif;
7
- }
8
-
9
- .example-title {
10
- margin: 0 0 12px 0;
11
- font-size: 28px;
12
- font-weight: 700;
13
- }
14
-
15
- .example-description {
16
- margin: 0 0 20px 0;
17
- font-size: 16px;
18
- opacity: 0.9;
19
- }
20
-
21
- .example-button {
22
- padding: 12px 24px;
23
- border: none;
24
- border-radius: 6px;
25
- background: white;
26
- color: #667eea;
27
- font-size: 16px;
28
- font-weight: 600;
29
- cursor: pointer;
30
- transition: transform 0.2s, box-shadow 0.2s;
31
- }
32
-
33
- .example-button:hover {
34
- transform: translateY(-2px);
35
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
36
- }
@@ -1,7 +0,0 @@
1
- // This file is auto-generated — do not edit manually.
2
- export interface Props {
3
- title: string;
4
- description?: string;
5
- showButton?: boolean;
6
- buttonText?: string;
7
- }
@@ -1,14 +0,0 @@
1
- import { Props } from "./types";
2
-
3
- export function ExampleSection({ heading, subtitle, backgroundColor }: Props) {
4
- return (
5
- <section className="example-section" style={backgroundColor ? { backgroundColor } : undefined}>
6
- <div className="example-section-inner">
7
- <h2 className="example-section-heading">{heading}</h2>
8
- {subtitle && <p className="example-section-subtitle">{subtitle}</p>}
9
- </div>
10
- </section>
11
- );
12
- }
13
-
14
- export default ExampleSection;
@@ -1,29 +0,0 @@
1
- .example-section {
2
- width: 100%;
3
- padding: 64px 24px;
4
- background: #f8f9fa;
5
- }
6
-
7
- .example-section-inner {
8
- max-width: 1200px;
9
- margin: 0 auto;
10
- text-align: center;
11
- }
12
-
13
- .example-section-heading {
14
- margin: 0 0 16px 0;
15
- font-size: 36px;
16
- font-weight: 700;
17
- color: #1a1a2e;
18
- font-family: system-ui, -apple-system, sans-serif;
19
- }
20
-
21
- .example-section-subtitle {
22
- margin: 0;
23
- font-size: 18px;
24
- color: #6b7280;
25
- font-family: system-ui, -apple-system, sans-serif;
26
- max-width: 600px;
27
- margin-left: auto;
28
- margin-right: auto;
29
- }
@@ -1,6 +0,0 @@
1
- // This file is auto-generated — do not edit manually.
2
- export interface Props {
3
- heading: string;
4
- subtitle?: string;
5
- backgroundColor?: string;
6
- }
@@ -1,2 +0,0 @@
1
- export { ExampleComponent } from "./ExampleComponent/index";
2
- export { ExampleSection } from "./ExampleSection/index";
@@ -1,5 +0,0 @@
1
- // Auto-generated global type definitions for ikas code components.
2
- // Custom enum types from the editor will appear here.
3
- // This file is regenerated automatically — do not edit manually.
4
-
5
- export {};
@@ -1,29 +0,0 @@
1
- /*
2
- * Global styles for your ikas code components project.
3
- *
4
- * Scoping: at build time every rule here is wrapped in a per-project scope
5
- * (`:where([data-cc-scope~="<projectId>"])`) so styles from one project cannot
6
- * leak into another project's components or the host page.
7
- *
8
- * What works:
9
- * - Class / tag / attribute selectors on elements you render (`.card`, `img`, `[data-x]`).
10
- * - `:root { --var: value }` — variables are rewritten onto the component wrapper
11
- * and inherit down its subtree. Use this for design tokens.
12
- * - `@media`, `@supports`, `@container`, `@layer` — walked recursively.
13
- * - `@keyframes`, `@font-face` — left untouched.
14
- *
15
- * What does NOT work (code components only style elements they own):
16
- * - Top-level `body { ... }` / `html { ... }` rules — dropped.
17
- * - Descendant selectors starting with `body` / `html` (e.g. `body .x`, `html.dark .y`) —
18
- * emitted but never match, because the component wrapper is INSIDE body, not
19
- * the other way around. Use a class on your own wrapper instead
20
- * (e.g. add `dark` via JS and write `.dark .x`).
21
- * - Document-wide resets, scrollbar tweaks, page backgrounds — belong to the theme.
22
- *
23
- * Loading order (all scoped to this project):
24
- * 1. Global CSS (this file) — lowest specificity
25
- * 2. Shared chunk CSS — multi-scope (.cc_a .sel, .cc_b .sel)
26
- * 3. Component CSS — single scope (.cc_id .sel) — highest specificity
27
- *
28
- * Component-scoped styles naturally override these globals.
29
- */
@@ -1,3 +0,0 @@
1
- declare module "@ikas/component-utils" {
2
- export function observer<T extends (props: any) => any>(component: T): T;
3
- }
@@ -1,30 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "lib": [
5
- "DOM",
6
- "DOM.Iterable",
7
- "ES2022"
8
- ],
9
- "module": "ESNext",
10
- "moduleResolution": "bundler",
11
- "jsx": "react-jsx",
12
- "jsxImportSource": "preact",
13
- "strict": true,
14
- "esModuleInterop": true,
15
- "skipLibCheck": true,
16
- "forceConsistentCasingInFileNames": true,
17
- "resolveJsonModule": true,
18
- "declaration": true,
19
- "declarationMap": true,
20
- "outDir": "./dist",
21
- "rootDir": "./src"
22
- },
23
- "include": [
24
- "src/**/*"
25
- ],
26
- "exclude": [
27
- "node_modules",
28
- "dist"
29
- ]
30
- }
@@ -1,15 +0,0 @@
1
- import { defineConfig } from "vite";
2
- import preact from "@preact/preset-vite";
3
-
4
- export default defineConfig({
5
- plugins: [preact()],
6
- build: {
7
- lib: {
8
- entry: "./src/components/index.ts",
9
- formats: ["es"]
10
- },
11
- rollupOptions: {
12
- external: ["preact", "preact/hooks", "@ikas/component-utils"]
13
- }
14
- }
15
- });
@@ -1,78 +0,0 @@
1
- # my-ikas-components
2
-
3
- An ikas code components project.
4
-
5
- ## Getting Started
6
-
7
- 1. Install dependencies:
8
- ```bash
9
- npm install
10
- ```
11
-
12
- 2. Start the development server:
13
- ```bash
14
- npm run dev
15
- ```
16
-
17
- 3. Open the ikas editor and connect to the dev server from the Dev Components panel.
18
-
19
- ## Commands
20
-
21
- - `npm run dev` - Start development server with live editor updates
22
- - `npm run build` - Build components for production
23
- - `npm run add` - Add a new component to the project
24
-
25
- ## Project Structure
26
-
27
- ```
28
- my-ikas-components/
29
- ├── src/
30
- │ └── components/
31
- │ ├── ExampleComponent/ # A child component (type: "component")
32
- │ │ ├── index.tsx
33
- │ │ ├── styles.css
34
- │ │ └── types.ts
35
- │ ├── ExampleSection/ # A page-level section (type: "section")
36
- │ │ ├── index.tsx
37
- │ │ ├── styles.css
38
- │ │ └── types.ts
39
- │ └── index.ts
40
- ├── ikas.config.json
41
- ├── package.json
42
- ├── tsconfig.json
43
- └── vite.config.ts
44
- ```
45
-
46
- ## Sections vs Components
47
-
48
- There are two types of code components:
49
-
50
- - **Sections** are page-level, full-width containers (e.g. Header, Hero Banner, Footer).
51
- Set `"type": "section"` on the component entry in `ikas.config.json`.
52
- - **Components** are child elements placed inside sections (e.g. buttons, cards, badges).
53
- No `type` field needed — it defaults to `"component"`.
54
-
55
- ## Adding Props
56
-
57
- Edit `ikas.config.json` to add props to your components. Available prop types:
58
-
59
- - `TEXT` - String input
60
- - `NUMBER` - Number input
61
- - `BOOLEAN` - Checkbox toggle
62
- - `IMAGE` - Image picker
63
- - `LINK` - Link/URL input
64
- - `LIST_OF_LINK` - List of navigation links
65
- - `COLOR` - Color picker
66
- - `SELECT` - Dropdown selection
67
- - `PRODUCT` - Single product selector
68
- - `PRODUCT_LIST` - Multiple products selector
69
- - `CATEGORY` - Single category selector
70
- - `CATEGORY_LIST` - Multiple categories selector
71
- - `BRAND` - Single brand selector
72
- - `BRAND_LIST` - Multiple brands selector
73
- - `BLOG` - Single blog post selector
74
- - `BLOG_LIST` - Multiple blog posts selector
75
-
76
- ## Building for Production
77
-
78
- Run `npm run build` to compile your components. The output will be ready to upload to the ikas editor.