@goldencomm/create-baseline 0.0.1 → 0.1.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 (756) hide show
  1. package/README.md +18 -79
  2. package/index.mjs +175 -283
  3. package/package.json +13 -30
  4. package/templates/ci/bitbucket-pipelines.yml +29 -0
  5. package/templates/code-connect/accordion-item.figma.ts +45 -0
  6. package/templates/code-connect/accordion.figma.ts +40 -0
  7. package/templates/code-connect/alert.figma.ts +378 -0
  8. package/templates/code-connect/avatar-badge.figma.ts +14 -0
  9. package/templates/code-connect/avatar-group-count.figma.ts +16 -0
  10. package/templates/code-connect/avatar-group.figma.ts +30 -0
  11. package/templates/code-connect/avatar.figma.ts +34 -0
  12. package/templates/code-connect/badge.figma.ts +383 -0
  13. package/templates/code-connect/breadcrumb-item.figma.ts +23 -0
  14. package/templates/code-connect/breadcrumb-separator.figma.ts +12 -0
  15. package/templates/code-connect/breadcrumb.figma.ts +32 -0
  16. package/templates/code-connect/button-group.figma.ts +28 -0
  17. package/templates/code-connect/button.figma.ts +408 -0
  18. package/templates/code-connect/card.figma.ts +74 -0
  19. package/templates/code-connect/carousel.figma.ts +27 -0
  20. package/templates/code-connect/checkbox.figma.ts +34 -0
  21. package/templates/code-connect/columns-1.figma.ts +43 -0
  22. package/templates/code-connect/columns-2.figma.ts +49 -0
  23. package/templates/code-connect/columns-3.figma.ts +45 -0
  24. package/templates/code-connect/columns-4.figma.ts +46 -0
  25. package/templates/code-connect/container.figma.ts +42 -0
  26. package/templates/code-connect/dialog.figma.ts +72 -0
  27. package/templates/code-connect/drawer.figma.ts +69 -0
  28. package/templates/code-connect/dropdown-menu-checkbox-item.figma.ts +19 -0
  29. package/templates/code-connect/dropdown-menu-item.figma.ts +25 -0
  30. package/templates/code-connect/dropdown-menu-label.figma.ts +16 -0
  31. package/templates/code-connect/dropdown-menu-radio-item.figma.ts +19 -0
  32. package/templates/code-connect/dropdown-menu-separator.figma.ts +12 -0
  33. package/templates/code-connect/dropdown-menu-sub-trigger.figma.ts +22 -0
  34. package/templates/code-connect/dropdown-menu.figma.ts +44 -0
  35. package/templates/code-connect/field-horizontal.figma.ts +73 -0
  36. package/templates/code-connect/field.figma.ts +68 -0
  37. package/templates/code-connect/hover-card.figma.ts +41 -0
  38. package/templates/code-connect/icon-button.figma.ts +382 -0
  39. package/templates/code-connect/input-group.figma.ts +51 -0
  40. package/templates/code-connect/input-otp.figma.ts +40 -0
  41. package/templates/code-connect/input.figma.ts +42 -0
  42. package/templates/code-connect/item-group.figma.ts +30 -0
  43. package/templates/code-connect/item.figma.ts +50 -0
  44. package/templates/code-connect/kbd.figma.ts +16 -0
  45. package/templates/code-connect/media.figma.ts +35 -0
  46. package/templates/code-connect/meter.figma.ts +31 -0
  47. package/templates/code-connect/native-select.figma.ts +36 -0
  48. package/templates/code-connect/navigation-menu-link.figma.ts +33 -0
  49. package/templates/code-connect/navigation-menu-trigger.figma.ts +28 -0
  50. package/templates/code-connect/navigation-menu.figma.ts +30 -0
  51. package/templates/code-connect/pagination-ellipsis.figma.ts +11 -0
  52. package/templates/code-connect/pagination-link.figma.ts +24 -0
  53. package/templates/code-connect/pagination-next.figma.ts +17 -0
  54. package/templates/code-connect/pagination-previous.figma.ts +17 -0
  55. package/templates/code-connect/pagination.figma.ts +33 -0
  56. package/templates/code-connect/panel.figma.ts +40 -0
  57. package/templates/code-connect/popover.figma.ts +58 -0
  58. package/templates/code-connect/progress.figma.ts +34 -0
  59. package/templates/code-connect/radio.figma.ts +29 -0
  60. package/templates/code-connect/section.figma.ts +42 -0
  61. package/templates/code-connect/select.figma.ts +30 -0
  62. package/templates/code-connect/sheet.figma.ts +70 -0
  63. package/templates/code-connect/sidebar-menu-button.figma.ts +36 -0
  64. package/templates/code-connect/sidebar.figma.ts +44 -0
  65. package/templates/code-connect/spinner.figma.ts +13 -0
  66. package/templates/code-connect/switch.figma.ts +32 -0
  67. package/templates/code-connect/table-cell.figma.ts +21 -0
  68. package/templates/code-connect/table.figma.ts +62 -0
  69. package/templates/code-connect/tabs-trigger.figma.ts +369 -0
  70. package/templates/code-connect/tabs.figma.ts +28 -0
  71. package/templates/code-connect/textarea.figma.ts +32 -0
  72. package/templates/code-connect/toggle-group.figma.ts +24 -0
  73. package/templates/code-connect/toggle.figma.ts +385 -0
  74. package/templates/code-connect/tooltip.figma.ts +29 -0
  75. package/templates/next/app/globals.css +13 -12
  76. package/templates/next/app/page.tsx +38 -26
  77. package/templates/next/public/placeholder.svg +1 -0
  78. package/templates/shopify/.gitattributes +1 -0
  79. package/templates/shopify/.shopifyignore +23 -0
  80. package/templates/shopify/.theme-check.yml +1 -0
  81. package/templates/shopify/CODE_OF_CONDUCT.md +132 -0
  82. package/templates/shopify/CONTRIBUTING.md +24 -0
  83. package/templates/shopify/LICENSE.md +9 -0
  84. package/templates/shopify/README.md +160 -0
  85. package/templates/shopify/assets/carousel.js +2 -0
  86. package/templates/shopify/assets/critical.css +117 -0
  87. package/templates/shopify/assets/icon-account.svg +6 -0
  88. package/templates/shopify/assets/icon-cart.svg +5 -0
  89. package/templates/shopify/assets/predictive-search.js +65 -0
  90. package/templates/shopify/assets/shoppy-x-ray.svg +1 -0
  91. package/templates/shopify/blocks/_accordion-item.liquid +44 -0
  92. package/templates/shopify/blocks/_card-footer.liquid +26 -0
  93. package/templates/shopify/blocks/_carousel-slide.liquid +21 -0
  94. package/templates/shopify/blocks/_column.liquid +30 -0
  95. package/templates/shopify/blocks/_dialog-footer.liquid +28 -0
  96. package/templates/shopify/blocks/_sheet-footer.liquid +28 -0
  97. package/templates/shopify/blocks/_tab.liquid +21 -0
  98. package/templates/shopify/blocks/accordion.liquid +40 -0
  99. package/templates/shopify/blocks/blog-posts.liquid +70 -0
  100. package/templates/shopify/blocks/button.figma.ts +359 -0
  101. package/templates/shopify/blocks/button.liquid +477 -0
  102. package/templates/shopify/blocks/card.liquid +73 -0
  103. package/templates/shopify/blocks/carousel.liquid +47 -0
  104. package/templates/shopify/blocks/columns.liquid +73 -0
  105. package/templates/shopify/blocks/contact-form.liquid +69 -0
  106. package/templates/shopify/blocks/container.liquid +29 -0
  107. package/templates/shopify/blocks/dialog.liquid +77 -0
  108. package/templates/shopify/blocks/group.liquid +105 -0
  109. package/templates/shopify/blocks/heading.liquid +57 -0
  110. package/templates/shopify/blocks/icon-button.figma.ts +358 -0
  111. package/templates/shopify/blocks/media.liquid +80 -0
  112. package/templates/shopify/blocks/navigation-menu.liquid +23 -0
  113. package/templates/shopify/blocks/panel.liquid +64 -0
  114. package/templates/shopify/blocks/popover.liquid +88 -0
  115. package/templates/shopify/blocks/section-heading.liquid +68 -0
  116. package/templates/shopify/blocks/sheet.liquid +90 -0
  117. package/templates/shopify/blocks/tabs.liquid +58 -0
  118. package/templates/shopify/blocks/text.liquid +59 -0
  119. package/templates/shopify/build-js.mjs +22 -0
  120. package/templates/shopify/config/settings_data.json +182 -0
  121. package/templates/shopify/config/settings_schema.json +365 -0
  122. package/templates/shopify/layout/password.liquid +19 -0
  123. package/templates/shopify/layout/theme.liquid +57 -0
  124. package/templates/shopify/locales/en.default.json +58 -0
  125. package/templates/shopify/locales/en.default.schema.json +303 -0
  126. package/templates/shopify/package-lock.json +521 -0
  127. package/templates/shopify/package.json +17 -0
  128. package/templates/shopify/sections/404.liquid +23 -0
  129. package/templates/shopify/sections/article.liquid +81 -0
  130. package/templates/shopify/sections/baseline-header.liquid +236 -0
  131. package/templates/shopify/sections/baseline-kitchen-sink.liquid +988 -0
  132. package/templates/shopify/sections/baseline-section.liquid +661 -0
  133. package/templates/shopify/sections/blog.liquid +36 -0
  134. package/templates/shopify/sections/cart.liquid +65 -0
  135. package/templates/shopify/sections/collection.liquid +54 -0
  136. package/templates/shopify/sections/collections.liquid +83 -0
  137. package/templates/shopify/sections/custom-section.liquid +60 -0
  138. package/templates/shopify/sections/footer-group.json +25 -0
  139. package/templates/shopify/sections/footer.liquid +57 -0
  140. package/templates/shopify/sections/header-group.json +22 -0
  141. package/templates/shopify/sections/page.liquid +18 -0
  142. package/templates/shopify/sections/password.liquid +36 -0
  143. package/templates/shopify/sections/product.liquid +60 -0
  144. package/templates/shopify/sections/search.liquid +73 -0
  145. package/templates/shopify/snippets/accordion-item.figma.ts +34 -0
  146. package/templates/shopify/snippets/accordion-item.liquid +36 -0
  147. package/templates/shopify/snippets/accordion.figma.ts +37 -0
  148. package/templates/shopify/snippets/accordion.liquid +169 -0
  149. package/templates/shopify/snippets/alert.figma.ts +31 -0
  150. package/templates/shopify/snippets/alert.liquid +104 -0
  151. package/templates/shopify/snippets/avatar-group.figma.ts +17 -0
  152. package/templates/shopify/snippets/avatar-group.liquid +66 -0
  153. package/templates/shopify/snippets/avatar.figma.ts +24 -0
  154. package/templates/shopify/snippets/avatar.liquid +143 -0
  155. package/templates/shopify/snippets/badge.figma.ts +355 -0
  156. package/templates/shopify/snippets/badge.liquid +111 -0
  157. package/templates/shopify/snippets/baseline-schemes.liquid +44 -0
  158. package/templates/shopify/snippets/baseline-tokens.liquid +712 -0
  159. package/templates/shopify/snippets/breadcrumb.figma.ts +12 -0
  160. package/templates/shopify/snippets/breadcrumb.liquid +124 -0
  161. package/templates/shopify/snippets/button-group.liquid +148 -0
  162. package/templates/shopify/snippets/button.liquid +144 -0
  163. package/templates/shopify/snippets/card.figma.ts +43 -0
  164. package/templates/shopify/snippets/card.liquid +196 -0
  165. package/templates/shopify/snippets/carousel-item.liquid +18 -0
  166. package/templates/shopify/snippets/carousel.figma.ts +28 -0
  167. package/templates/shopify/snippets/carousel.liquid +121 -0
  168. package/templates/shopify/snippets/checkbox.liquid +147 -0
  169. package/templates/shopify/snippets/container.liquid +52 -0
  170. package/templates/shopify/snippets/css-variables.liquid +18 -0
  171. package/templates/shopify/snippets/dialog.figma.ts +36 -0
  172. package/templates/shopify/snippets/dialog.liquid +217 -0
  173. package/templates/shopify/snippets/field-separator.liquid +68 -0
  174. package/templates/shopify/snippets/field.liquid +187 -0
  175. package/templates/shopify/snippets/icon.liquid +101 -0
  176. package/templates/shopify/snippets/image.liquid +64 -0
  177. package/templates/shopify/snippets/input-group.liquid +196 -0
  178. package/templates/shopify/snippets/input.liquid +126 -0
  179. package/templates/shopify/snippets/item-group.liquid +31 -0
  180. package/templates/shopify/snippets/item.figma.ts +40 -0
  181. package/templates/shopify/snippets/item.liquid +162 -0
  182. package/templates/shopify/snippets/media.figma.ts +33 -0
  183. package/templates/shopify/snippets/media.liquid +273 -0
  184. package/templates/shopify/snippets/meta-tags.liquid +105 -0
  185. package/templates/shopify/snippets/meter.figma.ts +24 -0
  186. package/templates/shopify/snippets/meter.liquid +118 -0
  187. package/templates/shopify/snippets/native-select.liquid +141 -0
  188. package/templates/shopify/snippets/navigation-menu-item.figma.ts +23 -0
  189. package/templates/shopify/snippets/navigation-menu-item.liquid +40 -0
  190. package/templates/shopify/snippets/navigation-menu-link.figma.ts +27 -0
  191. package/templates/shopify/snippets/navigation-menu-link.liquid +31 -0
  192. package/templates/shopify/snippets/navigation-menu.figma.ts +12 -0
  193. package/templates/shopify/snippets/navigation-menu.liquid +300 -0
  194. package/templates/shopify/snippets/pagination.figma.ts +13 -0
  195. package/templates/shopify/snippets/pagination.liquid +208 -0
  196. package/templates/shopify/snippets/popover.figma.ts +41 -0
  197. package/templates/shopify/snippets/popover.liquid +203 -0
  198. package/templates/shopify/snippets/progress.figma.ts +26 -0
  199. package/templates/shopify/snippets/progress.liquid +114 -0
  200. package/templates/shopify/snippets/radio.liquid +145 -0
  201. package/templates/shopify/snippets/sheet.figma.ts +37 -0
  202. package/templates/shopify/snippets/sheet.liquid +197 -0
  203. package/templates/shopify/snippets/sidebar-menu-item.liquid +34 -0
  204. package/templates/shopify/snippets/sidebar-menu-sub-link.liquid +17 -0
  205. package/templates/shopify/snippets/sidebar-menu.liquid +139 -0
  206. package/templates/shopify/snippets/spinner.liquid +42 -0
  207. package/templates/shopify/snippets/switch.liquid +180 -0
  208. package/templates/shopify/snippets/tab.figma.ts +353 -0
  209. package/templates/shopify/snippets/tab.liquid +33 -0
  210. package/templates/shopify/snippets/tabs.figma.ts +21 -0
  211. package/templates/shopify/snippets/tabs.liquid +260 -0
  212. package/templates/shopify/snippets/text-styles.liquid +45 -0
  213. package/templates/shopify/snippets/textarea.liquid +103 -0
  214. package/templates/shopify/snippets/toggle-group.figma.ts +30 -0
  215. package/templates/shopify/snippets/toggle-group.liquid +46 -0
  216. package/templates/shopify/snippets/toggle.figma.ts +357 -0
  217. package/templates/shopify/snippets/toggle.liquid +104 -0
  218. package/templates/shopify/snippets/typeset.liquid +498 -0
  219. package/templates/shopify/src/carousel.js +94 -0
  220. package/templates/shopify/templates/404.json +20 -0
  221. package/templates/shopify/templates/article.json +20 -0
  222. package/templates/shopify/templates/blog.json +20 -0
  223. package/templates/shopify/templates/cart.json +20 -0
  224. package/templates/shopify/templates/collection.json +20 -0
  225. package/templates/shopify/templates/gift_card.liquid +73 -0
  226. package/templates/shopify/templates/index.json +18 -0
  227. package/templates/shopify/templates/list-collections.json +20 -0
  228. package/templates/shopify/templates/page.json +20 -0
  229. package/templates/shopify/templates/password.json +21 -0
  230. package/templates/shopify/templates/product.json +20 -0
  231. package/templates/shopify/templates/search.json +20 -0
  232. package/templates/skills/baseline-client-tokens/SKILL.md +74 -0
  233. package/templates/wordpress/.ddev/commands/web/seed +258 -3
  234. package/templates/wordpress/.ddev/config.yaml +10 -7
  235. package/templates/wordpress/.ddev/seed/gravityforms-contact.json +1 -0
  236. package/templates/wordpress/README.md +37 -39
  237. package/templates/wordpress/auth.json.example +1 -1
  238. package/templates/wordpress/composer.json +88 -84
  239. package/templates/wordpress/theme/README.md +3 -0
  240. package/templates/wordpress/theme/acf-json/.gitkeep +0 -0
  241. package/templates/wordpress/theme/acf-json/group_baseline_alert.json +83 -0
  242. package/templates/wordpress/theme/acf-json/group_baseline_avatar.json +82 -0
  243. package/templates/wordpress/theme/acf-json/group_baseline_avatar_group.json +35 -0
  244. package/templates/wordpress/theme/acf-json/group_baseline_badge.json +93 -0
  245. package/templates/wordpress/theme/acf-json/group_baseline_carousel.json +21 -0
  246. package/templates/wordpress/theme/acf-json/group_baseline_carousel_slide.json +16 -0
  247. package/templates/wordpress/theme/acf-json/group_baseline_dialog.json +68 -0
  248. package/templates/wordpress/theme/acf-json/group_baseline_dialog_footer.json +23 -0
  249. package/templates/wordpress/theme/acf-json/group_baseline_item.json +101 -0
  250. package/templates/wordpress/theme/acf-json/group_baseline_item_group.json +26 -0
  251. package/templates/wordpress/theme/acf-json/group_baseline_sheet.json +104 -0
  252. package/templates/wordpress/theme/acf-json/group_baseline_sheet_footer.json +31 -0
  253. package/templates/wordpress/theme/assets/app.css +2 -0
  254. package/templates/wordpress/theme/assets/editor.css +2 -0
  255. package/templates/wordpress/theme/assets/images/placeholder.svg +1 -0
  256. package/templates/wordpress/theme/assets/js/carousel-editor.js +85 -0
  257. package/templates/wordpress/theme/assets/js/carousel.js +2 -0
  258. package/templates/wordpress/theme/assets/js/core-button-editor.js +243 -0
  259. package/templates/wordpress/theme/assets/js/core-layout-editor.js +144 -0
  260. package/templates/wordpress/theme/assets/js/core-navigation.js +11 -0
  261. package/templates/wordpress/theme/assets/js/media-editor.js +52 -0
  262. package/templates/wordpress/theme/assets/js/media.js +38 -0
  263. package/templates/wordpress/theme/assets/tokens.css +1030 -0
  264. package/templates/wordpress/theme/blocks/alert/alert.figma.ts +32 -0
  265. package/templates/wordpress/theme/blocks/alert/block.json +24 -0
  266. package/templates/wordpress/theme/blocks/alert/render.php +30 -0
  267. package/templates/wordpress/theme/blocks/avatar/block.json +24 -0
  268. package/templates/wordpress/theme/blocks/avatar/render.php +35 -0
  269. package/templates/wordpress/theme/blocks/avatar-group/avatar-group.figma.ts +16 -0
  270. package/templates/wordpress/theme/blocks/avatar-group/block.json +25 -0
  271. package/templates/wordpress/theme/blocks/avatar-group/render.php +27 -0
  272. package/templates/wordpress/theme/blocks/badge/badge.figma.ts +349 -0
  273. package/templates/wordpress/theme/blocks/badge/block.json +23 -0
  274. package/templates/wordpress/theme/blocks/badge/render.php +28 -0
  275. package/templates/wordpress/theme/blocks/carousel/block.json +25 -0
  276. package/templates/wordpress/theme/blocks/carousel/carousel.figma.ts +22 -0
  277. package/templates/wordpress/theme/blocks/carousel/render.php +54 -0
  278. package/templates/wordpress/theme/blocks/carousel-slide/block.json +24 -0
  279. package/templates/wordpress/theme/blocks/carousel-slide/render.php +13 -0
  280. package/templates/wordpress/theme/blocks/dialog/block.json +24 -0
  281. package/templates/wordpress/theme/blocks/dialog/dialog.figma.ts +36 -0
  282. package/templates/wordpress/theme/blocks/dialog/render.php +41 -0
  283. package/templates/wordpress/theme/blocks/dialog-footer/block.json +25 -0
  284. package/templates/wordpress/theme/blocks/dialog-footer/render.php +18 -0
  285. package/templates/wordpress/theme/blocks/item/block.json +25 -0
  286. package/templates/wordpress/theme/blocks/item/item.figma.ts +43 -0
  287. package/templates/wordpress/theme/blocks/item/render.php +38 -0
  288. package/templates/wordpress/theme/blocks/item-group/block.json +25 -0
  289. package/templates/wordpress/theme/blocks/item-group/item-group.figma.ts +28 -0
  290. package/templates/wordpress/theme/blocks/item-group/render.php +22 -0
  291. package/templates/wordpress/theme/blocks/sheet/block.json +24 -0
  292. package/templates/wordpress/theme/blocks/sheet/render.php +39 -0
  293. package/templates/wordpress/theme/blocks/sheet/sheet.figma.ts +38 -0
  294. package/templates/wordpress/theme/blocks/sheet-footer/block.json +25 -0
  295. package/templates/wordpress/theme/blocks/sheet-footer/render.php +18 -0
  296. package/templates/wordpress/theme/build-js.mjs +22 -0
  297. package/templates/wordpress/theme/code-connect/accordion-item.figma.ts +47 -0
  298. package/templates/wordpress/theme/code-connect/accordion.figma.ts +37 -0
  299. package/templates/wordpress/theme/code-connect/avatar.figma.ts +25 -0
  300. package/templates/wordpress/theme/code-connect/breadcrumb.figma.ts +12 -0
  301. package/templates/wordpress/theme/code-connect/button.figma.ts +360 -0
  302. package/templates/wordpress/theme/code-connect/card.figma.ts +45 -0
  303. package/templates/wordpress/theme/code-connect/icon-button.figma.ts +359 -0
  304. package/templates/wordpress/theme/code-connect/navigation-menu.figma.ts +20 -0
  305. package/templates/wordpress/theme/code-connect/pagination.figma.ts +17 -0
  306. package/templates/wordpress/theme/code-connect/popover.figma.ts +42 -0
  307. package/templates/wordpress/theme/code-connect/tabs.figma.ts +32 -0
  308. package/templates/wordpress/theme/code-connect/toggle-group.figma.ts +34 -0
  309. package/templates/wordpress/theme/code-connect/toggle.figma.ts +356 -0
  310. package/templates/wordpress/theme/composer.json +7 -0
  311. package/templates/wordpress/theme/footer.php +4 -0
  312. package/templates/wordpress/theme/functions.php +86 -0
  313. package/templates/wordpress/theme/header.php +17 -0
  314. package/templates/wordpress/theme/inc/acf.php +13 -0
  315. package/templates/wordpress/theme/inc/blocks.php +41 -0
  316. package/templates/wordpress/theme/inc/carousel.php +36 -0
  317. package/templates/wordpress/theme/inc/components/alert.php +83 -0
  318. package/templates/wordpress/theme/inc/components/avatar.php +111 -0
  319. package/templates/wordpress/theme/inc/components/badge.php +96 -0
  320. package/templates/wordpress/theme/inc/components/button.php +77 -0
  321. package/templates/wordpress/theme/inc/components/dialog.php +98 -0
  322. package/templates/wordpress/theme/inc/components/item.php +111 -0
  323. package/templates/wordpress/theme/inc/components/popover.php +125 -0
  324. package/templates/wordpress/theme/inc/components/sheet.php +88 -0
  325. package/templates/wordpress/theme/inc/components/toggle.php +127 -0
  326. package/templates/wordpress/theme/inc/core-button.php +96 -0
  327. package/templates/wordpress/theme/inc/core-card.php +30 -0
  328. package/templates/wordpress/theme/inc/core-layout.php +76 -0
  329. package/templates/wordpress/theme/inc/core-navigation.php +31 -0
  330. package/templates/wordpress/theme/inc/core-pagination.php +87 -0
  331. package/templates/wordpress/theme/inc/header.php +39 -0
  332. package/templates/wordpress/theme/inc/icons.generated.php +94 -0
  333. package/templates/wordpress/theme/inc/icons.php +70 -0
  334. package/templates/wordpress/theme/inc/looks.generated.php +18 -0
  335. package/templates/wordpress/theme/inc/media.php +183 -0
  336. package/templates/wordpress/theme/inc/sections.php +16 -0
  337. package/templates/wordpress/theme/index.php +24 -0
  338. package/templates/wordpress/theme/package-lock.json +1637 -0
  339. package/templates/wordpress/theme/package.json +23 -0
  340. package/templates/wordpress/theme/parts/header.html +23 -0
  341. package/templates/wordpress/theme/patterns/blog-card-grid.php +41 -0
  342. package/templates/wordpress/theme/patterns/card.php +46 -0
  343. package/templates/wordpress/theme/patterns/contact-centered.php +22 -0
  344. package/templates/wordpress/theme/patterns/cta-left.php +25 -0
  345. package/templates/wordpress/theme/patterns/faq-centered.php +36 -0
  346. package/templates/wordpress/theme/patterns/header-inline.php +33 -0
  347. package/templates/wordpress/theme/patterns/header-stacked.php +25 -0
  348. package/templates/wordpress/theme/patterns/hero-centered.php +28 -0
  349. package/templates/wordpress/theme/patterns/hero-split.php +41 -0
  350. package/templates/wordpress/theme/patterns/section.php +28 -0
  351. package/templates/wordpress/theme/src/app.css +45 -0
  352. package/templates/wordpress/theme/src/carousel.css +93 -0
  353. package/templates/wordpress/theme/src/carousel.js +94 -0
  354. package/templates/wordpress/theme/src/checkbox.css +102 -0
  355. package/templates/wordpress/theme/src/core-accordion.css +158 -0
  356. package/templates/wordpress/theme/src/core-avatar.css +68 -0
  357. package/templates/wordpress/theme/src/core-breadcrumbs.css +124 -0
  358. package/templates/wordpress/theme/src/core-button-editor.css +45 -0
  359. package/templates/wordpress/theme/src/core-button.css +155 -0
  360. package/templates/wordpress/theme/src/core-card.css +157 -0
  361. package/templates/wordpress/theme/src/core-layout.css +73 -0
  362. package/templates/wordpress/theme/src/core-navigation.css +290 -0
  363. package/templates/wordpress/theme/src/core-pagination.css +112 -0
  364. package/templates/wordpress/theme/src/core-table.css +88 -0
  365. package/templates/wordpress/theme/src/core-tabs.css +86 -0
  366. package/templates/wordpress/theme/src/dialog.css +29 -0
  367. package/templates/wordpress/theme/src/editor.css +65 -0
  368. package/templates/wordpress/theme/src/field.css +95 -0
  369. package/templates/wordpress/theme/src/fonts.css +3 -0
  370. package/templates/wordpress/theme/src/gravityforms.css +919 -0
  371. package/templates/wordpress/theme/src/header.css +80 -0
  372. package/templates/wordpress/theme/src/icons.generated.css +16 -0
  373. package/templates/wordpress/theme/src/input-group.css +105 -0
  374. package/templates/wordpress/theme/src/input.css +116 -0
  375. package/templates/wordpress/theme/src/item.css +7 -0
  376. package/templates/wordpress/theme/src/looks.generated.css +358 -0
  377. package/templates/wordpress/theme/src/media.css +160 -0
  378. package/templates/wordpress/theme/src/radio.css +88 -0
  379. package/templates/wordpress/theme/src/sections.css +80 -0
  380. package/templates/wordpress/theme/src/sheet.css +24 -0
  381. package/templates/wordpress/theme/src/switch.css +120 -0
  382. package/templates/wordpress/theme/src/text-styles.css +44 -0
  383. package/templates/wordpress/theme/src/textarea.css +61 -0
  384. package/templates/wordpress/theme/src/toggle-group.css +28 -0
  385. package/templates/wordpress/theme/src/typeset.css +510 -0
  386. package/templates/wordpress/theme/style.css +13 -0
  387. package/templates/wordpress/theme/theme.json +362 -0
  388. package/templates/wordpress/web/wp-config.php +38 -0
  389. package/templates/wordpress/wp-cli.yml +1 -0
  390. package/templates/next/.claude/skills/ai-elements/SKILL.md +0 -160
  391. package/templates/next/.claude/skills/ai-elements/references/agent.md +0 -134
  392. package/templates/next/.claude/skills/ai-elements/references/artifact.md +0 -84
  393. package/templates/next/.claude/skills/ai-elements/references/attachments.md +0 -190
  394. package/templates/next/.claude/skills/ai-elements/references/audio-player.md +0 -134
  395. package/templates/next/.claude/skills/ai-elements/references/canvas.md +0 -34
  396. package/templates/next/.claude/skills/ai-elements/references/chain-of-thought.md +0 -81
  397. package/templates/next/.claude/skills/ai-elements/references/checkpoint.md +0 -183
  398. package/templates/next/.claude/skills/ai-elements/references/code-block.md +0 -170
  399. package/templates/next/.claude/skills/ai-elements/references/commit.md +0 -177
  400. package/templates/next/.claude/skills/ai-elements/references/confirmation.md +0 -262
  401. package/templates/next/.claude/skills/ai-elements/references/connection.md +0 -34
  402. package/templates/next/.claude/skills/ai-elements/references/context.md +0 -126
  403. package/templates/next/.claude/skills/ai-elements/references/controls.md +0 -32
  404. package/templates/next/.claude/skills/ai-elements/references/conversation.md +0 -224
  405. package/templates/next/.claude/skills/ai-elements/references/edge.md +0 -52
  406. package/templates/next/.claude/skills/ai-elements/references/environment-variables.md +0 -102
  407. package/templates/next/.claude/skills/ai-elements/references/file-tree.md +0 -72
  408. package/templates/next/.claude/skills/ai-elements/references/image.md +0 -146
  409. package/templates/next/.claude/skills/ai-elements/references/inline-citation.md +0 -299
  410. package/templates/next/.claude/skills/ai-elements/references/jsx-preview.md +0 -104
  411. package/templates/next/.claude/skills/ai-elements/references/message.md +0 -237
  412. package/templates/next/.claude/skills/ai-elements/references/mic-selector.md +0 -189
  413. package/templates/next/.claude/skills/ai-elements/references/model-selector.md +0 -112
  414. package/templates/next/.claude/skills/ai-elements/references/node.md +0 -73
  415. package/templates/next/.claude/skills/ai-elements/references/open-in-chat.md +0 -67
  416. package/templates/next/.claude/skills/ai-elements/references/package-info.md +0 -95
  417. package/templates/next/.claude/skills/ai-elements/references/panel.md +0 -33
  418. package/templates/next/.claude/skills/ai-elements/references/persona.md +0 -166
  419. package/templates/next/.claude/skills/ai-elements/references/plan.md +0 -79
  420. package/templates/next/.claude/skills/ai-elements/references/prompt-input.md +0 -579
  421. package/templates/next/.claude/skills/ai-elements/references/queue.md +0 -172
  422. package/templates/next/.claude/skills/ai-elements/references/reasoning.md +0 -238
  423. package/templates/next/.claude/skills/ai-elements/references/sandbox.md +0 -129
  424. package/templates/next/.claude/skills/ai-elements/references/schema-display.md +0 -102
  425. package/templates/next/.claude/skills/ai-elements/references/shimmer.md +0 -48
  426. package/templates/next/.claude/skills/ai-elements/references/snippet.md +0 -64
  427. package/templates/next/.claude/skills/ai-elements/references/sources.md +0 -209
  428. package/templates/next/.claude/skills/ai-elements/references/speech-input.md +0 -163
  429. package/templates/next/.claude/skills/ai-elements/references/stack-trace.md +0 -224
  430. package/templates/next/.claude/skills/ai-elements/references/suggestion.md +0 -124
  431. package/templates/next/.claude/skills/ai-elements/references/task.md +0 -222
  432. package/templates/next/.claude/skills/ai-elements/references/terminal.md +0 -103
  433. package/templates/next/.claude/skills/ai-elements/references/test-results.md +0 -157
  434. package/templates/next/.claude/skills/ai-elements/references/tool.md +0 -285
  435. package/templates/next/.claude/skills/ai-elements/references/toolbar.md +0 -32
  436. package/templates/next/.claude/skills/ai-elements/references/transcription.md +0 -120
  437. package/templates/next/.claude/skills/ai-elements/references/voice-selector.md +0 -241
  438. package/templates/next/.claude/skills/ai-elements/references/web-preview.md +0 -200
  439. package/templates/next/.claude/skills/ai-elements/scripts/agent.tsx +0 -61
  440. package/templates/next/.claude/skills/ai-elements/scripts/artifact.tsx +0 -127
  441. package/templates/next/.claude/skills/ai-elements/scripts/attachments-inline.tsx +0 -128
  442. package/templates/next/.claude/skills/ai-elements/scripts/attachments-list.tsx +0 -95
  443. package/templates/next/.claude/skills/ai-elements/scripts/attachments.tsx +0 -85
  444. package/templates/next/.claude/skills/ai-elements/scripts/audio-player-remote.tsx +0 -35
  445. package/templates/next/.claude/skills/ai-elements/scripts/audio-player.tsx +0 -68
  446. package/templates/next/.claude/skills/ai-elements/scripts/chain-of-thought.tsx +0 -82
  447. package/templates/next/.claude/skills/ai-elements/scripts/checkpoint.tsx +0 -110
  448. package/templates/next/.claude/skills/ai-elements/scripts/code-block-dark.tsx +0 -46
  449. package/templates/next/.claude/skills/ai-elements/scripts/code-block.tsx +0 -120
  450. package/templates/next/.claude/skills/ai-elements/scripts/commit.tsx +0 -94
  451. package/templates/next/.claude/skills/ai-elements/scripts/confirmation-accepted.tsx +0 -40
  452. package/templates/next/.claude/skills/ai-elements/scripts/confirmation-rejected.tsx +0 -40
  453. package/templates/next/.claude/skills/ai-elements/scripts/confirmation-request.tsx +0 -54
  454. package/templates/next/.claude/skills/ai-elements/scripts/confirmation.tsx +0 -55
  455. package/templates/next/.claude/skills/ai-elements/scripts/context.tsx +0 -45
  456. package/templates/next/.claude/skills/ai-elements/scripts/conversation.tsx +0 -177
  457. package/templates/next/.claude/skills/ai-elements/scripts/environment-variables.tsx +0 -62
  458. package/templates/next/.claude/skills/ai-elements/scripts/file-tree-basic.tsx +0 -18
  459. package/templates/next/.claude/skills/ai-elements/scripts/file-tree-expanded.tsx +0 -21
  460. package/templates/next/.claude/skills/ai-elements/scripts/file-tree-selection.tsx +0 -24
  461. package/templates/next/.claude/skills/ai-elements/scripts/file-tree.tsx +0 -42
  462. package/templates/next/.claude/skills/ai-elements/scripts/image.tsx +0 -20
  463. package/templates/next/.claude/skills/ai-elements/scripts/inline-citation.tsx +0 -97
  464. package/templates/next/.claude/skills/ai-elements/scripts/jsx-preview.tsx +0 -104
  465. package/templates/next/.claude/skills/ai-elements/scripts/message.tsx +0 -365
  466. package/templates/next/.claude/skills/ai-elements/scripts/mic-selector.tsx +0 -49
  467. package/templates/next/.claude/skills/ai-elements/scripts/model-selector.tsx +0 -365
  468. package/templates/next/.claude/skills/ai-elements/scripts/open-in-chat.tsx +0 -33
  469. package/templates/next/.claude/skills/ai-elements/scripts/package-info.tsx +0 -51
  470. package/templates/next/.claude/skills/ai-elements/scripts/persona-command.tsx +0 -110
  471. package/templates/next/.claude/skills/ai-elements/scripts/persona-glint.tsx +0 -110
  472. package/templates/next/.claude/skills/ai-elements/scripts/persona-halo.tsx +0 -110
  473. package/templates/next/.claude/skills/ai-elements/scripts/persona-mana.tsx +0 -110
  474. package/templates/next/.claude/skills/ai-elements/scripts/persona-obsidian.tsx +0 -110
  475. package/templates/next/.claude/skills/ai-elements/scripts/persona-opal.tsx +0 -110
  476. package/templates/next/.claude/skills/ai-elements/scripts/plan.tsx +0 -65
  477. package/templates/next/.claude/skills/ai-elements/scripts/prompt-input-cursor.tsx +0 -502
  478. package/templates/next/.claude/skills/ai-elements/scripts/prompt-input-tooltip.tsx +0 -44
  479. package/templates/next/.claude/skills/ai-elements/scripts/prompt-input.tsx +0 -267
  480. package/templates/next/.claude/skills/ai-elements/scripts/queue-prompt-input.tsx +0 -394
  481. package/templates/next/.claude/skills/ai-elements/scripts/queue.tsx +0 -295
  482. package/templates/next/.claude/skills/ai-elements/scripts/reasoning.tsx +0 -71
  483. package/templates/next/.claude/skills/ai-elements/scripts/sandbox.tsx +0 -178
  484. package/templates/next/.claude/skills/ai-elements/scripts/schema-display-basic.tsx +0 -9
  485. package/templates/next/.claude/skills/ai-elements/scripts/schema-display-body.tsx +0 -20
  486. package/templates/next/.claude/skills/ai-elements/scripts/schema-display-nested.tsx +0 -23
  487. package/templates/next/.claude/skills/ai-elements/scripts/schema-display-params.tsx +0 -16
  488. package/templates/next/.claude/skills/ai-elements/scripts/schema-display.tsx +0 -110
  489. package/templates/next/.claude/skills/ai-elements/scripts/shimmer-duration.tsx +0 -31
  490. package/templates/next/.claude/skills/ai-elements/scripts/shimmer-elements.tsx +0 -43
  491. package/templates/next/.claude/skills/ai-elements/scripts/shimmer.tsx +0 -17
  492. package/templates/next/.claude/skills/ai-elements/scripts/snippet-plain.tsx +0 -19
  493. package/templates/next/.claude/skills/ai-elements/scripts/snippet.tsx +0 -25
  494. package/templates/next/.claude/skills/ai-elements/scripts/sources-custom.tsx +0 -39
  495. package/templates/next/.claude/skills/ai-elements/scripts/sources.tsx +0 -32
  496. package/templates/next/.claude/skills/ai-elements/scripts/speech-input.tsx +0 -84
  497. package/templates/next/.claude/skills/ai-elements/scripts/stack-trace-collapsed.tsx +0 -39
  498. package/templates/next/.claude/skills/ai-elements/scripts/stack-trace-no-internal.tsx +0 -41
  499. package/templates/next/.claude/skills/ai-elements/scripts/stack-trace.tsx +0 -58
  500. package/templates/next/.claude/skills/ai-elements/scripts/suggestion-input.tsx +0 -144
  501. package/templates/next/.claude/skills/ai-elements/scripts/suggestion.tsx +0 -32
  502. package/templates/next/.claude/skills/ai-elements/scripts/task.tsx +0 -59
  503. package/templates/next/.claude/skills/ai-elements/scripts/terminal-basic.tsx +0 -7
  504. package/templates/next/.claude/skills/ai-elements/scripts/terminal-clear.tsx +0 -19
  505. package/templates/next/.claude/skills/ai-elements/scripts/terminal-streaming.tsx +0 -38
  506. package/templates/next/.claude/skills/ai-elements/scripts/terminal.tsx +0 -82
  507. package/templates/next/.claude/skills/ai-elements/scripts/test-results-basic.tsx +0 -27
  508. package/templates/next/.claude/skills/ai-elements/scripts/test-results-errors.tsx +0 -51
  509. package/templates/next/.claude/skills/ai-elements/scripts/test-results-suites.tsx +0 -40
  510. package/templates/next/.claude/skills/ai-elements/scripts/test-results.tsx +0 -102
  511. package/templates/next/.claude/skills/ai-elements/scripts/tool-input-available.tsx +0 -31
  512. package/templates/next/.claude/skills/ai-elements/scripts/tool-input-streaming.tsx +0 -30
  513. package/templates/next/.claude/skills/ai-elements/scripts/tool-output-available.tsx +0 -80
  514. package/templates/next/.claude/skills/ai-elements/scripts/tool-output-error.tsx +0 -44
  515. package/templates/next/.claude/skills/ai-elements/scripts/tool.tsx +0 -222
  516. package/templates/next/.claude/skills/ai-elements/scripts/transcription.tsx +0 -290
  517. package/templates/next/.claude/skills/ai-elements/scripts/voice-selector.tsx +0 -245
  518. package/templates/next/.claude/skills/ai-elements/scripts/web-preview.tsx +0 -115
  519. package/templates/next/.claude/skills/ai-sdk/SKILL.md +0 -78
  520. package/templates/next/.claude/skills/frontend-design/LICENSE.txt +0 -177
  521. package/templates/next/.claude/skills/frontend-design/SKILL.md +0 -55
  522. package/templates/next/.claude/skills/gc-implement-figma-page/SKILL.md +0 -93
  523. package/templates/next/.claude/skills/migrate-ai-sdk-v6-to-v7/SKILL.md +0 -108
  524. package/templates/next/.claude/skills/vercel-composition-patterns/AGENTS.md +0 -946
  525. package/templates/next/.claude/skills/vercel-composition-patterns/README.md +0 -60
  526. package/templates/next/.claude/skills/vercel-composition-patterns/SKILL.md +0 -89
  527. package/templates/next/.claude/skills/vercel-composition-patterns/metadata.json +0 -11
  528. package/templates/next/.claude/skills/vercel-composition-patterns/rules/_sections.md +0 -29
  529. package/templates/next/.claude/skills/vercel-composition-patterns/rules/_template.md +0 -24
  530. package/templates/next/.claude/skills/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +0 -100
  531. package/templates/next/.claude/skills/vercel-composition-patterns/rules/architecture-compound-components.md +0 -112
  532. package/templates/next/.claude/skills/vercel-composition-patterns/rules/patterns-children-over-render-props.md +0 -87
  533. package/templates/next/.claude/skills/vercel-composition-patterns/rules/patterns-explicit-variants.md +0 -100
  534. package/templates/next/.claude/skills/vercel-composition-patterns/rules/react19-no-forwardref.md +0 -42
  535. package/templates/next/.claude/skills/vercel-composition-patterns/rules/state-context-interface.md +0 -191
  536. package/templates/next/.claude/skills/vercel-composition-patterns/rules/state-decouple-implementation.md +0 -113
  537. package/templates/next/.claude/skills/vercel-composition-patterns/rules/state-lift-state.md +0 -125
  538. package/templates/next/.claude/skills/vercel-react-best-practices/AGENTS.md +0 -3810
  539. package/templates/next/.claude/skills/vercel-react-best-practices/README.md +0 -123
  540. package/templates/next/.claude/skills/vercel-react-best-practices/SKILL.md +0 -149
  541. package/templates/next/.claude/skills/vercel-react-best-practices/metadata.json +0 -15
  542. package/templates/next/.claude/skills/vercel-react-best-practices/rules/_sections.md +0 -46
  543. package/templates/next/.claude/skills/vercel-react-best-practices/rules/_template.md +0 -28
  544. package/templates/next/.claude/skills/vercel-react-best-practices/rules/advanced-effect-event-deps.md +0 -56
  545. package/templates/next/.claude/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  546. package/templates/next/.claude/skills/vercel-react-best-practices/rules/advanced-init-once.md +0 -42
  547. package/templates/next/.claude/skills/vercel-react-best-practices/rules/advanced-use-latest.md +0 -39
  548. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-api-routes.md +0 -38
  549. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md +0 -37
  550. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-defer-await.md +0 -82
  551. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-dependencies.md +0 -51
  552. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-parallel.md +0 -28
  553. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +0 -99
  554. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-analyzable-paths.md +0 -63
  555. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +0 -60
  556. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-conditional.md +0 -31
  557. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +0 -49
  558. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  559. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-preload.md +0 -50
  560. package/templates/next/.claude/skills/vercel-react-best-practices/rules/client-event-listeners.md +0 -74
  561. package/templates/next/.claude/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +0 -71
  562. package/templates/next/.claude/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +0 -48
  563. package/templates/next/.claude/skills/vercel-react-best-practices/rules/client-swr-dedup.md +0 -56
  564. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +0 -107
  565. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-cache-function-results.md +0 -80
  566. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-cache-property-access.md +0 -28
  567. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-cache-storage.md +0 -70
  568. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-combine-iterations.md +0 -32
  569. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-early-exit.md +0 -50
  570. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-flatmap-filter.md +0 -60
  571. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +0 -45
  572. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-index-maps.md +0 -37
  573. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-length-check-first.md +0 -49
  574. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-min-max-loop.md +0 -82
  575. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-request-idle-callback.md +0 -105
  576. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +0 -24
  577. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +0 -57
  578. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-activity.md +0 -26
  579. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  580. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +0 -40
  581. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +0 -38
  582. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  583. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  584. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +0 -30
  585. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-resource-hints.md +0 -85
  586. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +0 -68
  587. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +0 -28
  588. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +0 -75
  589. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +0 -39
  590. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-dependencies.md +0 -45
  591. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
  592. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-derived-state.md +0 -29
  593. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +0 -74
  594. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  595. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +0 -38
  596. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-memo.md +0 -44
  597. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +0 -45
  598. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +0 -82
  599. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
  600. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +0 -64
  601. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-transitions.md +0 -40
  602. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md +0 -59
  603. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
  604. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +0 -73
  605. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-auth-actions.md +0 -96
  606. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-cache-lru.md +0 -41
  607. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-cache-react.md +0 -76
  608. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-dedup-props.md +0 -65
  609. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-hoist-static-io.md +0 -149
  610. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md +0 -50
  611. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +0 -83
  612. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md +0 -34
  613. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-serialization.md +0 -38
  614. package/templates/next/.claude/skills/web-design-guidelines/SKILL.md +0 -39
  615. package/templates/next/CLAUDE.md +0 -42
  616. package/templates/next/README.md +0 -30
  617. package/templates/next/_gitignore +0 -4
  618. package/templates/next/app/layout.tsx +0 -44
  619. package/templates/next/globals.d.ts +0 -8
  620. package/templates/next/next.config.mjs +0 -6
  621. package/templates/next/package.json +0 -38
  622. package/templates/next/postcss.config.mjs +0 -5
  623. package/templates/next/skills-lock.json +0 -47
  624. package/templates/next/tsconfig.json +0 -36
  625. package/templates/shopify-theme/.claude/skills/gc-shopify-block/SKILL.md +0 -44
  626. package/templates/shopify-theme/.claude/skills/shopify-dev/SKILL.md +0 -51
  627. package/templates/shopify-theme/.claude/skills/shopify-dev/scripts/log_skill_use.mjs +0 -205
  628. package/templates/shopify-theme/.claude/skills/shopify-dev/scripts/search_docs.mjs +0 -272
  629. package/templates/shopify-theme/.claude/skills/shopify-dev/scripts/track-telemetry.ps1 +0 -361
  630. package/templates/shopify-theme/.claude/skills/shopify-dev/scripts/track-telemetry.sh +0 -527
  631. package/templates/shopify-theme/.claude/skills/shopify-liquid/SKILL.md +0 -343
  632. package/templates/shopify-theme/.claude/skills/shopify-liquid/blocks/hero-slide.liquid +0 -342
  633. package/templates/shopify-theme/.claude/skills/shopify-liquid/config/settings_schema.json +0 -1
  634. package/templates/shopify-theme/.claude/skills/shopify-liquid/featured-collection.liquid +0 -457
  635. package/templates/shopify-theme/.claude/skills/shopify-liquid/locales/en.default.json +0 -10
  636. package/templates/shopify-theme/.claude/skills/shopify-liquid/locales/en.default.schema.json +0 -103
  637. package/templates/shopify-theme/.claude/skills/shopify-liquid/package.json +0 -10
  638. package/templates/shopify-theme/.claude/skills/shopify-liquid/scripts/search_docs.mjs +0 -759
  639. package/templates/shopify-theme/.claude/skills/shopify-liquid/scripts/track-telemetry.ps1 +0 -361
  640. package/templates/shopify-theme/.claude/skills/shopify-liquid/scripts/track-telemetry.sh +0 -527
  641. package/templates/shopify-theme/.claude/skills/shopify-liquid/scripts/validate.mjs +0 -654
  642. package/templates/shopify-theme/.claude/skills/shopify-liquid/sections/hero-banner.liquid +0 -329
  643. package/templates/shopify-theme/.claude/skills/shopify-use-shopify-cli/SKILL.md +0 -165
  644. package/templates/shopify-theme/.claude/skills/shopify-use-shopify-cli/scripts/log_skill_use.mjs +0 -205
  645. package/templates/shopify-theme/.claude/skills/shopify-use-shopify-cli/scripts/track-telemetry.ps1 +0 -361
  646. package/templates/shopify-theme/.claude/skills/shopify-use-shopify-cli/scripts/track-telemetry.sh +0 -527
  647. package/templates/shopify-theme/.shopifyignore +0 -9
  648. package/templates/shopify-theme/CLAUDE.md +0 -51
  649. package/templates/shopify-theme/README.md +0 -92
  650. package/templates/shopify-theme/assets/baseline.css +0 -8390
  651. package/templates/shopify-theme/assets/swiper-element-bundle.min.js +0 -14
  652. package/templates/shopify-theme/blocks/_accordion.liquid +0 -59
  653. package/templates/shopify-theme/blocks/_carousel-slide.liquid +0 -24
  654. package/templates/shopify-theme/blocks/_modal-body.liquid +0 -18
  655. package/templates/shopify-theme/blocks/_modal-footer.liquid +0 -36
  656. package/templates/shopify-theme/blocks/_modal-header.liquid +0 -19
  657. package/templates/shopify-theme/blocks/_modal-media.liquid +0 -37
  658. package/templates/shopify-theme/blocks/accordion-group.liquid +0 -53
  659. package/templates/shopify-theme/blocks/alert.liquid +0 -92
  660. package/templates/shopify-theme/blocks/avatar-group.liquid +0 -51
  661. package/templates/shopify-theme/blocks/avatar.liquid +0 -56
  662. package/templates/shopify-theme/blocks/badge.liquid +0 -33
  663. package/templates/shopify-theme/blocks/breadcrumb.liquid +0 -45
  664. package/templates/shopify-theme/blocks/button.liquid +0 -51
  665. package/templates/shopify-theme/blocks/buttons.liquid +0 -41
  666. package/templates/shopify-theme/blocks/card.liquid +0 -67
  667. package/templates/shopify-theme/blocks/carousel.liquid +0 -55
  668. package/templates/shopify-theme/blocks/column.liquid +0 -33
  669. package/templates/shopify-theme/blocks/image.liquid +0 -37
  670. package/templates/shopify-theme/blocks/modal.liquid +0 -52
  671. package/templates/shopify-theme/blocks/popover.liquid +0 -24
  672. package/templates/shopify-theme/blocks/skeleton.liquid +0 -22
  673. package/templates/shopify-theme/blocks/spinner.liquid +0 -22
  674. package/templates/shopify-theme/blocks/split.liquid +0 -39
  675. package/templates/shopify-theme/blocks/tab.liquid +0 -19
  676. package/templates/shopify-theme/blocks/tabs.liquid +0 -78
  677. package/templates/shopify-theme/blocks/tags.liquid +0 -55
  678. package/templates/shopify-theme/blocks/text.liquid +0 -55
  679. package/templates/shopify-theme/blocks/tooltip.liquid +0 -50
  680. package/templates/shopify-theme/blocks/typography.liquid +0 -90
  681. package/templates/shopify-theme/config/settings_data.json +0 -4
  682. package/templates/shopify-theme/config/settings_schema.json +0 -10
  683. package/templates/shopify-theme/layout/theme.liquid +0 -21
  684. package/templates/shopify-theme/locales/en.default.json +0 -5
  685. package/templates/shopify-theme/locales/en.default.schema.json +0 -131
  686. package/templates/shopify-theme/package.json +0 -21
  687. package/templates/shopify-theme/scripts/sync-tokens.mjs +0 -32
  688. package/templates/shopify-theme/sections/baseline-components.liquid +0 -81
  689. package/templates/shopify-theme/skills-lock.json +0 -23
  690. package/templates/shopify-theme/snippets/lucide.liquid +0 -34
  691. package/templates/shopify-theme/snippets/pagination.liquid +0 -44
  692. package/templates/shopify-theme/templates/collection.json +0 -13
  693. package/templates/shopify-theme/templates/gift_card.liquid +0 -5
  694. package/templates/shopify-theme/templates/index.json +0 -135
  695. package/templates/shopify-theme/templates/list-collections.json +0 -13
  696. package/templates/shopify-theme/templates/product.json +0 -13
  697. package/templates/wordpress/.claude/CLAUDE.md +0 -37
  698. package/templates/wordpress/.claude/skills/wp-block-development/SKILL.md +0 -174
  699. package/templates/wordpress/.claude/skills/wp-block-development/references/attributes-and-serialization.md +0 -22
  700. package/templates/wordpress/.claude/skills/wp-block-development/references/block-json.md +0 -49
  701. package/templates/wordpress/.claude/skills/wp-block-development/references/creating-new-blocks.md +0 -46
  702. package/templates/wordpress/.claude/skills/wp-block-development/references/debugging.md +0 -36
  703. package/templates/wordpress/.claude/skills/wp-block-development/references/deprecations.md +0 -24
  704. package/templates/wordpress/.claude/skills/wp-block-development/references/dynamic-rendering.md +0 -23
  705. package/templates/wordpress/.claude/skills/wp-block-development/references/inner-blocks.md +0 -25
  706. package/templates/wordpress/.claude/skills/wp-block-development/references/registration.md +0 -30
  707. package/templates/wordpress/.claude/skills/wp-block-development/references/supports-and-wrappers.md +0 -18
  708. package/templates/wordpress/.claude/skills/wp-block-development/references/tooling-and-testing.md +0 -21
  709. package/templates/wordpress/.claude/skills/wp-block-development/scripts/list_blocks.mjs +0 -121
  710. package/templates/wordpress/.claude/skills/wp-block-themes/SKILL.md +0 -116
  711. package/templates/wordpress/.claude/skills/wp-block-themes/references/creating-new-block-theme.md +0 -37
  712. package/templates/wordpress/.claude/skills/wp-block-themes/references/debugging.md +0 -24
  713. package/templates/wordpress/.claude/skills/wp-block-themes/references/patterns.md +0 -18
  714. package/templates/wordpress/.claude/skills/wp-block-themes/references/style-variations.md +0 -14
  715. package/templates/wordpress/.claude/skills/wp-block-themes/references/templates-and-parts.md +0 -16
  716. package/templates/wordpress/.claude/skills/wp-block-themes/references/theme-json.md +0 -59
  717. package/templates/wordpress/.claude/skills/wp-block-themes/scripts/detect_block_themes.mjs +0 -117
  718. package/templates/wordpress/.claude/skills/wp-performance/SKILL.md +0 -146
  719. package/templates/wordpress/.claude/skills/wp-performance/references/autoload-options.md +0 -24
  720. package/templates/wordpress/.claude/skills/wp-performance/references/cron.md +0 -20
  721. package/templates/wordpress/.claude/skills/wp-performance/references/database.md +0 -20
  722. package/templates/wordpress/.claude/skills/wp-performance/references/http-api.md +0 -15
  723. package/templates/wordpress/.claude/skills/wp-performance/references/measurement.md +0 -21
  724. package/templates/wordpress/.claude/skills/wp-performance/references/object-cache.md +0 -24
  725. package/templates/wordpress/.claude/skills/wp-performance/references/query-monitor-headless.md +0 -38
  726. package/templates/wordpress/.claude/skills/wp-performance/references/server-timing.md +0 -22
  727. package/templates/wordpress/.claude/skills/wp-performance/references/wp-cli-doctor.md +0 -24
  728. package/templates/wordpress/.claude/skills/wp-performance/references/wp-cli-profile.md +0 -32
  729. package/templates/wordpress/.claude/skills/wp-performance/scripts/perf_inspect.mjs +0 -128
  730. package/templates/wordpress/.claude/skills/wp-plugin-development/SKILL.md +0 -112
  731. package/templates/wordpress/.claude/skills/wp-plugin-development/references/data-and-cron.md +0 -19
  732. package/templates/wordpress/.claude/skills/wp-plugin-development/references/debugging.md +0 -19
  733. package/templates/wordpress/.claude/skills/wp-plugin-development/references/lifecycle.md +0 -33
  734. package/templates/wordpress/.claude/skills/wp-plugin-development/references/security.md +0 -29
  735. package/templates/wordpress/.claude/skills/wp-plugin-development/references/settings-api.md +0 -22
  736. package/templates/wordpress/.claude/skills/wp-plugin-development/references/structure.md +0 -16
  737. package/templates/wordpress/.claude/skills/wp-plugin-development/scripts/detect_plugins.mjs +0 -122
  738. package/templates/wordpress/.claude/skills/wp-rest-api/SKILL.md +0 -114
  739. package/templates/wordpress/.claude/skills/wp-rest-api/references/authentication.md +0 -18
  740. package/templates/wordpress/.claude/skills/wp-rest-api/references/custom-content-types.md +0 -20
  741. package/templates/wordpress/.claude/skills/wp-rest-api/references/discovery-and-params.md +0 -20
  742. package/templates/wordpress/.claude/skills/wp-rest-api/references/responses-and-fields.md +0 -30
  743. package/templates/wordpress/.claude/skills/wp-rest-api/references/routes-and-endpoints.md +0 -36
  744. package/templates/wordpress/.claude/skills/wp-rest-api/references/schema.md +0 -22
  745. package/templates/wordpress/.ddev/docker-compose.packages.yaml +0 -14
  746. package/templates/wordpress/.ddev/docker-compose.redis.yaml +0 -11
  747. package/templates/wordpress/.env.example +0 -33
  748. package/templates/wordpress/CLAUDE.md +0 -34
  749. package/templates/wordpress/_gitignore +0 -33
  750. package/templates/wordpress/composer.lock +0 -1594
  751. package/templates/wordpress/package.json +0 -13
  752. package/templates/wordpress/scripts/seed.sh +0 -64
  753. package/templates/wordpress/skills-lock.json +0 -35
  754. package/templates/wordpress/wp-config.php +0 -89
  755. package/templates/wordpress/wp-content/index.php +0 -2
  756. package/templates/wordpress/wp-content/mu-plugins/baseline-bootstrap.php +0 -26
@@ -1,579 +0,0 @@
1
- # Prompt Input
2
-
3
- Allows a user to send a message with file attachments to a large language model. It includes a textarea, file upload capabilities, a submit button, and a dropdown for selecting the model.
4
-
5
- The `PromptInput` component allows a user to send a message with file attachments to a large language model. It includes a textarea, file upload capabilities, a submit button, and a dropdown for selecting the model.
6
-
7
- See `scripts/prompt-input.tsx` for this example.
8
-
9
- ## Installation
10
-
11
- ```bash
12
- npx ai-elements@latest add prompt-input
13
- ```
14
-
15
- ## Usage with AI SDK
16
-
17
- Build a fully functional chat app using `PromptInput`, [`Conversation`](/components/conversation) with a model picker:
18
-
19
- Add the following component to your frontend:
20
-
21
- ```tsx title="app/page.tsx"
22
- "use client";
23
-
24
- import {
25
- Attachment,
26
- AttachmentPreview,
27
- AttachmentRemove,
28
- Attachments,
29
- } from "@/components/ai-elements/attachments";
30
- import {
31
- PromptInput,
32
- PromptInputActionAddAttachments,
33
- PromptInputActionAddScreenshot,
34
- PromptInputActionMenu,
35
- PromptInputActionMenuContent,
36
- PromptInputActionMenuTrigger,
37
- PromptInputBody,
38
- PromptInputButton,
39
- PromptInputHeader,
40
- type PromptInputMessage,
41
- PromptInputSelect,
42
- PromptInputSelectContent,
43
- PromptInputSelectItem,
44
- PromptInputSelectTrigger,
45
- PromptInputSelectValue,
46
- PromptInputSubmit,
47
- PromptInputTextarea,
48
- PromptInputFooter,
49
- PromptInputTools,
50
- usePromptInputAttachments,
51
- } from "@/components/ai-elements/prompt-input";
52
- import { GlobeIcon } from "lucide-react";
53
- import { useState } from "react";
54
- import { useChat } from "@ai-sdk/react";
55
- import {
56
- Conversation,
57
- ConversationContent,
58
- ConversationScrollButton,
59
- } from "@/components/ai-elements/conversation";
60
- import {
61
- Message,
62
- MessageContent,
63
- MessageResponse,
64
- } from "@/components/ai-elements/message";
65
-
66
- const PromptInputAttachmentsDisplay = () => {
67
- const attachments = usePromptInputAttachments();
68
-
69
- if (attachments.files.length === 0) {
70
- return null;
71
- }
72
-
73
- return (
74
- <Attachments variant="inline">
75
- {attachments.files.map((attachment) => (
76
- <Attachment
77
- data={attachment}
78
- key={attachment.id}
79
- onRemove={() => attachments.remove(attachment.id)}
80
- >
81
- <AttachmentPreview />
82
- <AttachmentRemove />
83
- </Attachment>
84
- ))}
85
- </Attachments>
86
- );
87
- };
88
-
89
- const models = [
90
- { id: "gpt-4o", name: "GPT-4o" },
91
- { id: "claude-opus-4-20250514", name: "Claude 4 Opus" },
92
- ];
93
-
94
- const InputDemo = () => {
95
- const [text, setText] = useState<string>("");
96
- const [model, setModel] = useState<string>(models[0].id);
97
- const [useWebSearch, setUseWebSearch] = useState<boolean>(false);
98
-
99
- const { messages, status, sendMessage } = useChat();
100
-
101
- const handleSubmit = (message: PromptInputMessage) => {
102
- const hasText = Boolean(message.text);
103
- const hasAttachments = Boolean(message.files?.length);
104
-
105
- if (!(hasText || hasAttachments)) {
106
- return;
107
- }
108
-
109
- sendMessage(
110
- {
111
- text: message.text || "Sent with attachments",
112
- files: message.files,
113
- },
114
- {
115
- body: {
116
- model: model,
117
- webSearch: useWebSearch,
118
- },
119
- }
120
- );
121
- setText("");
122
- };
123
-
124
- return (
125
- <div className="max-w-4xl mx-auto p-6 relative size-full rounded-lg border h-[600px]">
126
- <div className="flex flex-col h-full">
127
- <Conversation>
128
- <ConversationContent>
129
- {messages.map((message) => (
130
- <Message from={message.role} key={message.id}>
131
- <MessageContent>
132
- {message.parts.map((part, i) => {
133
- switch (part.type) {
134
- case "text":
135
- return (
136
- <MessageResponse key={`${message.id}-${i}`}>
137
- {part.text}
138
- </MessageResponse>
139
- );
140
- default:
141
- return null;
142
- }
143
- })}
144
- </MessageContent>
145
- </Message>
146
- ))}
147
- </ConversationContent>
148
- <ConversationScrollButton />
149
- </Conversation>
150
-
151
- <PromptInput
152
- onSubmit={handleSubmit}
153
- className="mt-4"
154
- globalDrop
155
- multiple
156
- >
157
- <PromptInputHeader>
158
- <PromptInputAttachmentsDisplay />
159
- </PromptInputHeader>
160
- <PromptInputBody>
161
- <PromptInputTextarea
162
- onChange={(e) => setText(e.target.value)}
163
- value={text}
164
- />
165
- </PromptInputBody>
166
- <PromptInputFooter>
167
- <PromptInputTools>
168
- <PromptInputActionMenu>
169
- <PromptInputActionMenuTrigger />
170
- <PromptInputActionMenuContent>
171
- <PromptInputActionAddAttachments />
172
- <PromptInputActionAddScreenshot />
173
- </PromptInputActionMenuContent>
174
- </PromptInputActionMenu>
175
- <PromptInputButton
176
- onClick={() => setUseWebSearch(!useWebSearch)}
177
- tooltip={{ content: "Search the web", shortcut: "⌘K" }}
178
- variant={useWebSearch ? "default" : "ghost"}
179
- >
180
- <GlobeIcon size={16} />
181
- <span>Search</span>
182
- </PromptInputButton>
183
- <PromptInputSelect
184
- onValueChange={(value) => {
185
- setModel(value);
186
- }}
187
- value={model}
188
- >
189
- <PromptInputSelectTrigger>
190
- <PromptInputSelectValue />
191
- </PromptInputSelectTrigger>
192
- <PromptInputSelectContent>
193
- {models.map((model) => (
194
- <PromptInputSelectItem key={model.id} value={model.id}>
195
- {model.name}
196
- </PromptInputSelectItem>
197
- ))}
198
- </PromptInputSelectContent>
199
- </PromptInputSelect>
200
- </PromptInputTools>
201
- <PromptInputSubmit disabled={!text && !status} status={status} />
202
- </PromptInputFooter>
203
- </PromptInput>
204
- </div>
205
- </div>
206
- );
207
- };
208
-
209
- export default InputDemo;
210
- ```
211
-
212
- Add the following route to your backend:
213
-
214
- ```ts title="app/api/chat/route.ts"
215
- import { streamText, UIMessage, convertToModelMessages } from "ai";
216
-
217
- // Allow streaming responses up to 30 seconds
218
- export const maxDuration = 30;
219
-
220
- export async function POST(req: Request) {
221
- const {
222
- model,
223
- messages,
224
- webSearch,
225
- }: {
226
- messages: UIMessage[];
227
- model: string;
228
- webSearch?: boolean;
229
- } = await req.json();
230
-
231
- const result = streamText({
232
- model: webSearch ? "perplexity/sonar" : model,
233
- messages: await convertToModelMessages(messages),
234
- });
235
-
236
- return result.toUIMessageStreamResponse();
237
- }
238
- ```
239
-
240
- ## Features
241
-
242
- - Auto-resizing textarea that adjusts height based on content
243
- - File attachment support with drag-and-drop
244
- - Built-in screenshot capture action
245
- - Image preview for image attachments
246
- - Configurable file constraints (max files, max size, accepted types)
247
- - Automatic submit button icons based on status
248
- - Support for keyboard shortcuts (Enter to submit, Shift+Enter for new line)
249
- - Customizable min/max height for the textarea
250
- - Flexible toolbar with support for custom actions and tools
251
- - Built-in model selection dropdown
252
- - Built-in native speech recognition button (Web Speech API)
253
- - Optional provider for lifted state management
254
- - Form automatically resets on submit
255
- - Responsive design with mobile-friendly controls
256
- - Clean, modern styling with customizable themes
257
- - Form-based submission handling
258
- - Hidden file input sync for native form posts
259
- - Global document drop support (opt-in)
260
-
261
- ## Examples
262
-
263
- ### Cursor style
264
-
265
- See `scripts/prompt-input-cursor.tsx` for this example.
266
-
267
- ### Button tooltips
268
-
269
- Buttons can display tooltips with optional keyboard shortcut hints. Hover over the buttons below to see the tooltips.
270
-
271
- See `scripts/prompt-input-tooltip.tsx` for this example.
272
-
273
- ## Props
274
-
275
- ### `<PromptInput />`
276
-
277
- | Prop | Type | Default | Description |
278
- |------|------|---------|-------------|
279
- | `onSubmit` | `(message: PromptInputMessage, event: FormEvent) => void` | - | Handler called when the form is submitted with message text and files. |
280
- | `accept` | `string` | - | File types to accept (e.g., |
281
- | `multiple` | `boolean` | - | Whether to allow multiple file selection. |
282
- | `globalDrop` | `boolean` | - | When true, accepts file drops anywhere on the document. |
283
- | `syncHiddenInput` | `boolean` | - | Render a hidden input with given name for native form posts. |
284
- | `maxFiles` | `number` | - | Maximum number of files allowed. |
285
- | `maxFileSize` | `number` | - | Maximum file size in bytes. |
286
- | `onError` | `(err: { code: ` | - | Handler for file validation errors. |
287
- | `...props` | `React.HTMLAttributes<HTMLFormElement>` | - | Any other props are spread to the root form element. |
288
-
289
- ### `<PromptInputTextarea />`
290
-
291
- | Prop | Type | Default | Description |
292
- |------|------|---------|-------------|
293
- | `...props` | `React.ComponentProps<typeof Textarea>` | - | Any other props are spread to the underlying Textarea component. |
294
-
295
- ### `<PromptInputFooter />`
296
-
297
- | Prop | Type | Default | Description |
298
- |------|------|---------|-------------|
299
- | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Any other props are spread to the toolbar div. |
300
-
301
- ### `<PromptInputTools />`
302
-
303
- | Prop | Type | Default | Description |
304
- |------|------|---------|-------------|
305
- | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Any other props are spread to the tools div. |
306
-
307
- ### `<PromptInputButton />`
308
-
309
- | Prop | Type | Default | Description |
310
- |------|------|---------|-------------|
311
- | `tooltip` | `string | { content: ReactNode; shortcut?: string; side?: ` | - | Optional tooltip to display on hover. Can be a string or an object with content, shortcut, and side properties. |
312
- | `...props` | `React.ComponentProps<typeof Button>` | - | Any other props are spread to the underlying shadcn/ui Button component. |
313
-
314
- #### Tooltip Examples
315
-
316
- ```tsx
317
- // Simple string tooltip
318
- <PromptInputButton tooltip="Search the web">
319
- <GlobeIcon size={16} />
320
- </PromptInputButton>
321
-
322
- // Tooltip with keyboard shortcut hint
323
- <PromptInputButton tooltip={{ content: "Search", shortcut: "⌘K" }}>
324
- <GlobeIcon size={16} />
325
- </PromptInputButton>
326
-
327
- // Tooltip with custom position
328
- <PromptInputButton tooltip={{ content: "Search", side: "bottom" }}>
329
- <GlobeIcon size={16} />
330
- </PromptInputButton>
331
- ```
332
-
333
- ### `<PromptInputSubmit />`
334
-
335
- | Prop | Type | Default | Description |
336
- |------|------|---------|-------------|
337
- | `status` | `ChatStatus` | - | Current chat status to determine button icon (submitted, streaming, error). |
338
- | `...props` | `React.ComponentProps<typeof Button>` | - | Any other props are spread to the underlying shadcn/ui Button component. |
339
-
340
- ### `<PromptInputSelect />`
341
-
342
- | Prop | Type | Default | Description |
343
- |------|------|---------|-------------|
344
- | `...props` | `React.ComponentProps<typeof Select>` | - | Any other props are spread to the underlying Select component. |
345
-
346
- ### `<PromptInputSelectTrigger />`
347
-
348
- | Prop | Type | Default | Description |
349
- |------|------|---------|-------------|
350
- | `...props` | `React.ComponentProps<typeof SelectTrigger>` | - | Any other props are spread to the underlying SelectTrigger component. |
351
-
352
- ### `<PromptInputSelectContent />`
353
-
354
- | Prop | Type | Default | Description |
355
- |------|------|---------|-------------|
356
- | `...props` | `React.ComponentProps<typeof SelectContent>` | - | Any other props are spread to the underlying SelectContent component. |
357
-
358
- ### `<PromptInputSelectItem />`
359
-
360
- | Prop | Type | Default | Description |
361
- |------|------|---------|-------------|
362
- | `...props` | `React.ComponentProps<typeof SelectItem>` | - | Any other props are spread to the underlying SelectItem component. |
363
-
364
- ### `<PromptInputSelectValue />`
365
-
366
- | Prop | Type | Default | Description |
367
- |------|------|---------|-------------|
368
- | `...props` | `React.ComponentProps<typeof SelectValue>` | - | Any other props are spread to the underlying SelectValue component. |
369
-
370
- ### `<PromptInputBody />`
371
-
372
- | Prop | Type | Default | Description |
373
- |------|------|---------|-------------|
374
- | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Any other props are spread to the body div. |
375
-
376
- ### Attachments
377
-
378
- Attachment components have been moved to a separate module. See the [Attachment](/components/attachment) component documentation for details on `<Attachments />`, `<Attachment />`, `<AttachmentPreview />`, `<AttachmentInfo />`, and `<AttachmentRemove />`.
379
-
380
- ### `<PromptInputActionMenu />`
381
-
382
- | Prop | Type | Default | Description |
383
- |------|------|---------|-------------|
384
- | `...props` | `React.ComponentProps<typeof DropdownMenu>` | - | Any other props are spread to the underlying DropdownMenu component. |
385
-
386
- ### `<PromptInputActionMenuTrigger />`
387
-
388
- | Prop | Type | Default | Description |
389
- |------|------|---------|-------------|
390
- | `...props` | `React.ComponentProps<typeof Button>` | - | Any other props are spread to the underlying Button component. |
391
-
392
- ### `<PromptInputActionMenuContent />`
393
-
394
- | Prop | Type | Default | Description |
395
- |------|------|---------|-------------|
396
- | `...props` | `React.ComponentProps<typeof DropdownMenuContent>` | - | Any other props are spread to the underlying DropdownMenuContent component. |
397
-
398
- ### `<PromptInputActionMenuItem />`
399
-
400
- | Prop | Type | Default | Description |
401
- |------|------|---------|-------------|
402
- | `...props` | `React.ComponentProps<typeof DropdownMenuItem>` | - | Any other props are spread to the underlying DropdownMenuItem component. |
403
-
404
- ### `<PromptInputActionAddAttachments />`
405
-
406
- | Prop | Type | Default | Description |
407
- |------|------|---------|-------------|
408
- | `label` | `string` | - | Label for the menu item. |
409
- | `...props` | `React.ComponentProps<typeof DropdownMenuItem>` | - | Any other props are spread to the underlying DropdownMenuItem component. |
410
-
411
- ### `<PromptInputActionAddScreenshot />`
412
-
413
- | Prop | Type | Default | Description |
414
- |------|------|---------|-------------|
415
- | `label` | `string` | - | Label for the menu item. |
416
- | `...props` | `React.ComponentProps<typeof DropdownMenuItem>` | - | Any other props are spread to the underlying DropdownMenuItem component. |
417
-
418
- ### `<PromptInputProvider />`
419
-
420
- | Prop | Type | Default | Description |
421
- |------|------|---------|-------------|
422
- | `initialInput` | `string` | - | Initial text input value. |
423
- | `children` | `React.ReactNode` | - | Child components that will have access to the provider context. |
424
-
425
- Optional global provider that lifts PromptInput state outside of PromptInput. When used, it allows you to access and control the input state from anywhere within the provider tree. If not used, PromptInput stays fully self-managed.
426
-
427
- ### `<PromptInputHeader />`
428
-
429
- | Prop | Type | Default | Description |
430
- |------|------|---------|-------------|
431
- | `...props` | `Omit<React.ComponentProps<typeof InputGroupAddon>, ` | - | Any other props (except align) are spread to the InputGroupAddon component. |
432
-
433
- ### `<PromptInputHoverCard />`
434
-
435
- | Prop | Type | Default | Description |
436
- |------|------|---------|-------------|
437
- | `openDelay` | `number` | `0` | Delay in milliseconds before opening. |
438
- | `closeDelay` | `number` | `0` | Delay in milliseconds before closing. |
439
- | `...props` | `React.ComponentProps<typeof HoverCard>` | - | Any other props are spread to the HoverCard component. |
440
-
441
- ### `<PromptInputHoverCardTrigger />`
442
-
443
- | Prop | Type | Default | Description |
444
- |------|------|---------|-------------|
445
- | `...props` | `React.ComponentProps<typeof HoverCardTrigger>` | - | Any other props are spread to the HoverCardTrigger component. |
446
-
447
- ### `<PromptInputHoverCardContent />`
448
-
449
- | Prop | Type | Default | Description |
450
- |------|------|---------|-------------|
451
- | `align` | `unknown` | - | Alignment of the hover card content. |
452
- | `...props` | `React.ComponentProps<typeof HoverCardContent>` | - | Any other props are spread to the HoverCardContent component. |
453
-
454
- ### `<PromptInputTabsList />`
455
-
456
- | Prop | Type | Default | Description |
457
- |------|------|---------|-------------|
458
- | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Any other props are spread to the div element. |
459
-
460
- ### `<PromptInputTab />`
461
-
462
- | Prop | Type | Default | Description |
463
- |------|------|---------|-------------|
464
- | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Any other props are spread to the div element. |
465
-
466
- ### `<PromptInputTabLabel />`
467
-
468
- | Prop | Type | Default | Description |
469
- |------|------|---------|-------------|
470
- | `...props` | `React.HTMLAttributes<HTMLHeadingElement>` | - | Any other props are spread to the h3 element. |
471
-
472
- ### `<PromptInputTabBody />`
473
-
474
- | Prop | Type | Default | Description |
475
- |------|------|---------|-------------|
476
- | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Any other props are spread to the div element. |
477
-
478
- ### `<PromptInputTabItem />`
479
-
480
- | Prop | Type | Default | Description |
481
- |------|------|---------|-------------|
482
- | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Any other props are spread to the div element. |
483
-
484
- ### `<PromptInputCommand />`
485
-
486
- | Prop | Type | Default | Description |
487
- |------|------|---------|-------------|
488
- | `...props` | `React.ComponentProps<typeof Command>` | - | Any other props are spread to the Command component. |
489
-
490
- ### `<PromptInputCommandInput />`
491
-
492
- | Prop | Type | Default | Description |
493
- |------|------|---------|-------------|
494
- | `...props` | `React.ComponentProps<typeof CommandInput>` | - | Any other props are spread to the CommandInput component. |
495
-
496
- ### `<PromptInputCommandList />`
497
-
498
- | Prop | Type | Default | Description |
499
- |------|------|---------|-------------|
500
- | `...props` | `React.ComponentProps<typeof CommandList>` | - | Any other props are spread to the CommandList component. |
501
-
502
- ### `<PromptInputCommandEmpty />`
503
-
504
- | Prop | Type | Default | Description |
505
- |------|------|---------|-------------|
506
- | `...props` | `React.ComponentProps<typeof CommandEmpty>` | - | Any other props are spread to the CommandEmpty component. |
507
-
508
- ### `<PromptInputCommandGroup />`
509
-
510
- | Prop | Type | Default | Description |
511
- |------|------|---------|-------------|
512
- | `...props` | `React.ComponentProps<typeof CommandGroup>` | - | Any other props are spread to the CommandGroup component. |
513
-
514
- ### `<PromptInputCommandItem />`
515
-
516
- | Prop | Type | Default | Description |
517
- |------|------|---------|-------------|
518
- | `...props` | `React.ComponentProps<typeof CommandItem>` | - | Any other props are spread to the CommandItem component. |
519
-
520
- ### `<PromptInputCommandSeparator />`
521
-
522
- | Prop | Type | Default | Description |
523
- |------|------|---------|-------------|
524
- | `...props` | `React.ComponentProps<typeof CommandSeparator>` | - | Any other props are spread to the CommandSeparator component. |
525
-
526
- ## Hooks
527
-
528
- ### `usePromptInputAttachments`
529
-
530
- Access and manage file attachments within a PromptInput context.
531
-
532
- ```tsx
533
- const attachments = usePromptInputAttachments();
534
-
535
- // Available methods:
536
- attachments.files; // Array of current attachments
537
- attachments.add(files); // Add new files
538
- attachments.remove(id); // Remove an attachment by ID
539
- attachments.clear(); // Clear all attachments
540
- attachments.openFileDialog(); // Open file selection dialog
541
- ```
542
-
543
- ### `usePromptInputController`
544
-
545
- Access the full PromptInput controller from a PromptInputProvider. Only available when using the provider.
546
-
547
- ```tsx
548
- const controller = usePromptInputController();
549
-
550
- // Available methods:
551
- controller.textInput.value; // Current text input value
552
- controller.textInput.setInput(value); // Set text input value
553
- controller.textInput.clear(); // Clear text input
554
- controller.attachments; // Same as usePromptInputAttachments
555
- ```
556
-
557
- ### `useProviderAttachments`
558
-
559
- Access attachments context from a PromptInputProvider. Only available when using the provider.
560
-
561
- ```tsx
562
- const attachments = useProviderAttachments();
563
-
564
- // Same interface as usePromptInputAttachments
565
- ```
566
-
567
- ### `usePromptInputReferencedSources`
568
-
569
- Access referenced sources context within a PromptInput.
570
-
571
- ```tsx
572
- const sources = usePromptInputReferencedSources();
573
-
574
- // Available methods:
575
- sources.sources; // Array of current referenced sources
576
- sources.add(sources); // Add new source(s)
577
- sources.remove(id); // Remove a source by ID
578
- sources.clear(); // Clear all sources
579
- ```