@nikkory/vibe-engine 4.0.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 (333) hide show
  1. package/PUBLISH-GUIDE.md +250 -0
  2. package/README.md +1267 -0
  3. package/bin/vibe.js +22 -0
  4. package/dist/adapters/index.d.ts +19 -0
  5. package/dist/browser.d.ts +25 -0
  6. package/dist/browser.js +15083 -0
  7. package/dist/browser.mjs +15000 -0
  8. package/dist/cli/batch-command.d.ts +142 -0
  9. package/dist/cli/generate-command.d.ts +119 -0
  10. package/dist/cli/index.d.ts +34 -0
  11. package/dist/constants/ComponentTypes.d.ts +65 -0
  12. package/dist/constants/DesignSystems.d.ts +64 -0
  13. package/dist/constants/Frameworks.d.ts +71 -0
  14. package/dist/constants/Tiers.d.ts +72 -0
  15. package/dist/constants/index.d.ts +10 -0
  16. package/dist/converters/index.d.ts +12 -0
  17. package/dist/converters/section-converter.d.ts +176 -0
  18. package/dist/index.d.ts +58 -0
  19. package/dist/index.js +19819 -0
  20. package/dist/index.mjs +19496 -0
  21. package/dist/resolution/basic/groups-basic.d.ts +80 -0
  22. package/dist/resolution/basic/index.d.ts +21 -0
  23. package/dist/resolution/basic/intents-basic.d.ts +195 -0
  24. package/dist/resolution/basic/presets-basic.d.ts +96 -0
  25. package/dist/resolution/basic/resolver-basic.d.ts +127 -0
  26. package/dist/resolution/basic/shorthands-basic.d.ts +88 -0
  27. package/dist/resolution/core/groups-core.d.ts +160 -0
  28. package/dist/resolution/core/index.d.ts +21 -0
  29. package/dist/resolution/core/intents-core.d.ts +355 -0
  30. package/dist/resolution/core/presets-core.d.ts +160 -0
  31. package/dist/resolution/core/resolver-core.d.ts +207 -0
  32. package/dist/resolution/core/shorthands-core.d.ts +144 -0
  33. package/dist/resolution/core/types-core.d.ts +167 -0
  34. package/dist/resolution/debugger.d.ts +183 -0
  35. package/dist/resolution/demo.d.ts +57 -0
  36. package/dist/resolution/enterprise/index.d.ts +22 -0
  37. package/dist/resolution/enterprise/metrics.d.ts +152 -0
  38. package/dist/resolution/enterprise/resolver-enterprise.d.ts +108 -0
  39. package/dist/resolution/examples.d.ts +486 -0
  40. package/dist/resolution/groups/experience-group.d.ts +197 -0
  41. package/dist/resolution/groups/index.d.ts +196 -0
  42. package/dist/resolution/groups/layout-group.d.ts +192 -0
  43. package/dist/resolution/groups/motion-group.d.ts +127 -0
  44. package/dist/resolution/groups/visual-group.d.ts +146 -0
  45. package/dist/resolution/index.d.ts +41 -0
  46. package/dist/resolution/intents/button-intents.d.ts +231 -0
  47. package/dist/resolution/intents/card-intents.d.ts +177 -0
  48. package/dist/resolution/intents/feedback-intents.d.ts +222 -0
  49. package/dist/resolution/intents/index.d.ts +189 -0
  50. package/dist/resolution/intents/input-intents.d.ts +231 -0
  51. package/dist/resolution/intents/mood-modifiers.d.ts +154 -0
  52. package/dist/resolution/performance.d.ts +264 -0
  53. package/dist/resolution/presets/button-presets.d.ts +243 -0
  54. package/dist/resolution/presets/card-presets.d.ts +216 -0
  55. package/dist/resolution/presets/data-display-presets.d.ts +290 -0
  56. package/dist/resolution/presets/feedback-presets.d.ts +335 -0
  57. package/dist/resolution/presets/form-presets.d.ts +308 -0
  58. package/dist/resolution/presets/index.d.ts +22 -0
  59. package/dist/resolution/presets/input-presets.d.ts +207 -0
  60. package/dist/resolution/presets/nav-presets.d.ts +235 -0
  61. package/dist/resolution/presets/overlay-presets.d.ts +216 -0
  62. package/dist/resolution/presets/preset-registry.d.ts +212 -0
  63. package/dist/resolution/resolveProps.d.ts +235 -0
  64. package/dist/resolution/shorthand/feel-mappings.d.ts +140 -0
  65. package/dist/resolution/shorthand/index.d.ts +172 -0
  66. package/dist/resolution/shorthand/look-mappings.d.ts +107 -0
  67. package/dist/resolution/shorthand/spacing-mappings.d.ts +164 -0
  68. package/dist/resolution/shorthand/surface-mappings.d.ts +139 -0
  69. package/dist/resolution/standard/groups-standard.d.ts +98 -0
  70. package/dist/resolution/standard/index.d.ts +28 -0
  71. package/dist/resolution/standard/intents-standard.d.ts +232 -0
  72. package/dist/resolution/standard/presets-standard.d.ts +123 -0
  73. package/dist/resolution/standard/resolver-standard.d.ts +204 -0
  74. package/dist/resolution/standard/shorthands-standard.d.ts +98 -0
  75. package/dist/resolution/standard/validators.d.ts +141 -0
  76. package/dist/resolution/types.d.ts +461 -0
  77. package/dist/resolution/validators/factor24-validator.d.ts +418 -0
  78. package/dist/resolution/validators/index.d.ts +14 -0
  79. package/dist/scripts/generate-react-library.d.ts +15 -0
  80. package/dist/scripts/write-react-library.d.ts +18 -0
  81. package/dist/storage/cloud-sync.d.ts +182 -0
  82. package/dist/storage/index.d.ts +69 -0
  83. package/dist/storage/local-storage.d.ts +131 -0
  84. package/dist/storage/section-storage.d.ts +191 -0
  85. package/dist/styling/StyleGenerator.d.ts +76 -0
  86. package/dist/styling/TokenStyleResolver.d.ts +163 -0
  87. package/dist/styling/factor-migration.d.ts +192 -0
  88. package/dist/styling/factor-validators.d.ts +327 -0
  89. package/dist/styling/factors-1-6.d.ts +674 -0
  90. package/dist/styling/factors-12-16.d.ts +700 -0
  91. package/dist/styling/factors-17-24.d.ts +668 -0
  92. package/dist/styling/factors-all.d.ts +348 -0
  93. package/dist/styling/factors.d.ts +291 -0
  94. package/dist/styling/index.d.ts +31 -0
  95. package/dist/styling/types.d.ts +400 -0
  96. package/dist/tokens/schema.d.ts +486 -0
  97. package/dist/types/Option.d.ts +178 -0
  98. package/dist/types/Result.d.ts +148 -0
  99. package/dist/types/algorithm-engine.types.d.ts +298 -0
  100. package/dist/types/granularity/base.types.d.ts +268 -0
  101. package/dist/types/granularity/config.types.d.ts +177 -0
  102. package/dist/types/granularity/factors.types.d.ts +194 -0
  103. package/dist/types/granularity/index.d.ts +57 -0
  104. package/dist/types/granularity/slot.types.d.ts +128 -0
  105. package/dist/types/granularity/template.types.d.ts +179 -0
  106. package/dist/types/granularity-levels/atom.config.d.ts +151 -0
  107. package/dist/types/granularity-levels/component.config.d.ts +175 -0
  108. package/dist/types/granularity-levels/index.d.ts +47 -0
  109. package/dist/types/granularity-levels/layout.config.d.ts +278 -0
  110. package/dist/types/granularity-levels/page.config.d.ts +210 -0
  111. package/dist/types/granularity-levels/section.config.d.ts +188 -0
  112. package/dist/types/granularity-levels/template.config.d.ts +340 -0
  113. package/dist/types/index.d.ts +152 -0
  114. package/dist/types/section-slot.types.d.ts +169 -0
  115. package/dist/types/section-storage.types.d.ts +298 -0
  116. package/dist/types/section-template.types.d.ts +170 -0
  117. package/dist/types/section.types.d.ts +326 -0
  118. package/dist/ui-studio/ComponentGenerator.d.ts +219 -0
  119. package/dist/ui-studio/composition/FactorPropagator.d.ts +268 -0
  120. package/dist/ui-studio/composition/PageGenerator.d.ts +176 -0
  121. package/dist/ui-studio/composition/SectionGenerator.d.ts +312 -0
  122. package/dist/ui-studio/composition/SlotResolver.d.ts +295 -0
  123. package/dist/ui-studio/composition/section-orchestrator.d.ts +306 -0
  124. package/dist/ui-studio/granularity/FactorCascade.d.ts +328 -0
  125. package/dist/ui-studio/granularity/GranularityGenerator.d.ts +266 -0
  126. package/dist/ui-studio/granularity/RecursiveGenerator.d.ts +328 -0
  127. package/dist/ui-studio/index.d.ts +94 -0
  128. package/dist/ui-studio/matrix/ClassMapper.d.ts +128 -0
  129. package/dist/ui-studio/matrix/MatrixResolver.d.ts +203 -0
  130. package/dist/ui-studio/matrix/types.d.ts +96 -0
  131. package/dist/ui-studio/presets/IndustryDetector.d.ts +183 -0
  132. package/dist/ui-studio/presets/component-registry.d.ts +213 -0
  133. package/dist/ui-studio/presets/factor-registry.d.ts +364 -0
  134. package/dist/ui-studio/presets/granularity-registry.d.ts +252 -0
  135. package/dist/ui-studio/presets/index.d.ts +32 -0
  136. package/dist/ui-studio/presets/industries.d.ts +143 -0
  137. package/dist/ui-studio/presets/layout-registry.d.ts +21 -0
  138. package/dist/ui-studio/presets/matrix-groups.d.ts +195 -0
  139. package/dist/ui-studio/presets/page-registry.d.ts +24 -0
  140. package/dist/ui-studio/presets/registry.constants.d.ts +69 -0
  141. package/dist/ui-studio/presets/registry.types.d.ts +166 -0
  142. package/dist/ui-studio/presets/section-defaults.d.ts +175 -0
  143. package/dist/ui-studio/presets/section-registry.d.ts +83 -0
  144. package/dist/ui-studio/presets/section-registry.defaults.d.ts +106 -0
  145. package/dist/ui-studio/presets/section-registry.helpers.d.ts +112 -0
  146. package/dist/ui-studio/presets/section-registry.types.d.ts +181 -0
  147. package/dist/ui-studio/presets/template-registry.d.ts +23 -0
  148. package/dist/ui-studio/presets/variants.d.ts +1038 -0
  149. package/dist/ui-studio/registries/components-registry.d.ts +193 -0
  150. package/dist/ui-studio/registries/design-systems-registry.d.ts +153 -0
  151. package/dist/ui-studio/registries/factors-registry.d.ts +145 -0
  152. package/dist/ui-studio/registries/tiers-registry.d.ts +150 -0
  153. package/dist/ui-studio/resolution/FactorResolver.d.ts +201 -0
  154. package/dist/ui-studio/templates/TestGenerator.d.ts +55 -0
  155. package/dist/ui-studio/templates/TierGenerator.d.ts +153 -0
  156. package/dist/ui-studio/templates/TypesGenerator.d.ts +51 -0
  157. package/dist/ui-studio/types/granularity/base.types.d.ts +268 -0
  158. package/dist/ui-studio/types/granularity/config.types.d.ts +177 -0
  159. package/dist/ui-studio/types/granularity/factors.types.d.ts +194 -0
  160. package/dist/ui-studio/types/granularity/index.d.ts +57 -0
  161. package/dist/ui-studio/types/granularity/slot.types.d.ts +128 -0
  162. package/dist/ui-studio/types/granularity/template.types.d.ts +179 -0
  163. package/dist/ui-studio/types/granularity-levels/atom.config.d.ts +151 -0
  164. package/dist/ui-studio/types/granularity-levels/component.config.d.ts +175 -0
  165. package/dist/ui-studio/types/granularity-levels/index.d.ts +47 -0
  166. package/dist/ui-studio/types/granularity-levels/layout.config.d.ts +278 -0
  167. package/dist/ui-studio/types/granularity-levels/page.config.d.ts +210 -0
  168. package/dist/ui-studio/types/granularity-levels/section.config.d.ts +188 -0
  169. package/dist/ui-studio/types/granularity-levels/template.config.d.ts +340 -0
  170. package/dist/ui-studio/types.d.ts +323 -0
  171. package/dist/utils/CodeUtils.d.ts +103 -0
  172. package/dist/utils/GenerateComponentValidator.d.ts +35 -0
  173. package/dist/utils/Logger.d.ts +101 -0
  174. package/dist/utils/StringUtils.d.ts +120 -0
  175. package/dist/utils/ValidationUtils.d.ts +71 -0
  176. package/dist/utils/errors/BaseError.d.ts +23 -0
  177. package/dist/utils/errors/GenerationError.d.ts +14 -0
  178. package/dist/utils/errors/TemplateNotFoundError.d.ts +13 -0
  179. package/dist/utils/errors/ValidationError.d.ts +13 -0
  180. package/dist/utils/errors/index.d.ts +12 -0
  181. package/dist/utils/factor-resolver.d.ts +294 -0
  182. package/dist/utils/granularity-helpers.d.ts +359 -0
  183. package/dist/utils/index.d.ts +20 -0
  184. package/dist/utils/performance.d.ts +26 -0
  185. package/dist/utils/stringify.d.ts +28 -0
  186. package/dist/validators/component-validator.d.ts +86 -0
  187. package/dist/validators/design-system-validator.d.ts +95 -0
  188. package/dist/validators/factor-validator.d.ts +101 -0
  189. package/dist/validators/index.d.ts +263 -0
  190. package/dist/validators/section-validator.d.ts +120 -0
  191. package/dist/validators/slot-validator.d.ts +161 -0
  192. package/dist/validators/tier-validator.d.ts +102 -0
  193. package/package.json +67 -0
  194. package/tests/16-factor-integration.test.d.ts +14 -0
  195. package/tests/16-factor-visual.test.d.ts +14 -0
  196. package/tests/5-level-integration.test.d.ts +14 -0
  197. package/tests/CodeUtils.test.d.ts +7 -0
  198. package/tests/DesignSystems.test.d.ts +7 -0
  199. package/tests/GenerateComponentValidator.test.d.ts +7 -0
  200. package/tests/Logger.test.d.ts +7 -0
  201. package/tests/StringUtils.test.d.ts +7 -0
  202. package/tests/StyleGenerator.test.d.ts +13 -0
  203. package/tests/Tiers.test.d.ts +7 -0
  204. package/tests/TokenRegistry.test.d.ts +14 -0
  205. package/tests/TokenStyleResolver.test.d.ts +13 -0
  206. package/tests/ValidationUtils.test.d.ts +7 -0
  207. package/tests/_pending_fix/Accordion.test.d.ts +13 -0
  208. package/tests/_pending_fix/Alert.test.d.ts +13 -0
  209. package/tests/_pending_fix/AlertDialog.test.d.ts +13 -0
  210. package/tests/_pending_fix/AspectRatio.test.d.ts +13 -0
  211. package/tests/_pending_fix/Autocomplete.test.d.ts +13 -0
  212. package/tests/_pending_fix/Avatar.test.d.ts +13 -0
  213. package/tests/_pending_fix/Badge.test.d.ts +13 -0
  214. package/tests/_pending_fix/Banner.test.d.ts +13 -0
  215. package/tests/_pending_fix/Box.test.d.ts +13 -0
  216. package/tests/_pending_fix/Breadcrumb.test.d.ts +13 -0
  217. package/tests/_pending_fix/Callout.test.d.ts +13 -0
  218. package/tests/_pending_fix/Card.test.d.ts +13 -0
  219. package/tests/_pending_fix/Center.test.d.ts +13 -0
  220. package/tests/_pending_fix/Checkbox.test.d.ts +13 -0
  221. package/tests/_pending_fix/Chip.test.d.ts +13 -0
  222. package/tests/_pending_fix/ColorPicker.test.d.ts +13 -0
  223. package/tests/_pending_fix/Combobox.test.d.ts +13 -0
  224. package/tests/_pending_fix/CommandPalette.test.d.ts +13 -0
  225. package/tests/_pending_fix/ConfirmationModal.test.d.ts +13 -0
  226. package/tests/_pending_fix/Container.test.d.ts +13 -0
  227. package/tests/_pending_fix/DataTable.test.d.ts +13 -0
  228. package/tests/_pending_fix/DatePicker.test.d.ts +13 -0
  229. package/tests/_pending_fix/DateRangePicker.test.d.ts +13 -0
  230. package/tests/_pending_fix/DateTimePicker.test.d.ts +13 -0
  231. package/tests/_pending_fix/Divider.test.d.ts +13 -0
  232. package/tests/_pending_fix/Drawer.test.d.ts +13 -0
  233. package/tests/_pending_fix/Dropdown.test.d.ts +13 -0
  234. package/tests/_pending_fix/EmptyState.test.d.ts +13 -0
  235. package/tests/_pending_fix/ErrorState.test.d.ts +13 -0
  236. package/tests/_pending_fix/FileDropzone.test.d.ts +13 -0
  237. package/tests/_pending_fix/FileUpload.test.d.ts +13 -0
  238. package/tests/_pending_fix/Flex.test.d.ts +13 -0
  239. package/tests/_pending_fix/Grid.test.d.ts +13 -0
  240. package/tests/_pending_fix/GridItem.test.d.ts +13 -0
  241. package/tests/_pending_fix/HStack.test.d.ts +13 -0
  242. package/tests/_pending_fix/Input.test.d.ts +13 -0
  243. package/tests/_pending_fix/InputCurrency.test.d.ts +13 -0
  244. package/tests/_pending_fix/InputGroup.test.d.ts +13 -0
  245. package/tests/_pending_fix/InputOTP.test.d.ts +13 -0
  246. package/tests/_pending_fix/InputPassword.test.d.ts +13 -0
  247. package/tests/_pending_fix/InputPhone.test.d.ts +13 -0
  248. package/tests/_pending_fix/InputSearch.test.d.ts +13 -0
  249. package/tests/_pending_fix/Link.test.d.ts +13 -0
  250. package/tests/_pending_fix/List.test.d.ts +13 -0
  251. package/tests/_pending_fix/LoadingOverlay.test.d.ts +13 -0
  252. package/tests/_pending_fix/Menu.test.d.ts +13 -0
  253. package/tests/_pending_fix/Modal.test.d.ts +13 -0
  254. package/tests/_pending_fix/MultiSelect.test.d.ts +13 -0
  255. package/tests/_pending_fix/NavGroup.test.d.ts +13 -0
  256. package/tests/_pending_fix/NavItem.test.d.ts +13 -0
  257. package/tests/_pending_fix/NavLink.test.d.ts +13 -0
  258. package/tests/_pending_fix/Navbar.test.d.ts +13 -0
  259. package/tests/_pending_fix/Notification.test.d.ts +13 -0
  260. package/tests/_pending_fix/NotificationBadge.test.d.ts +13 -0
  261. package/tests/_pending_fix/NumberInput.test.d.ts +13 -0
  262. package/tests/_pending_fix/Pagination.test.d.ts +13 -0
  263. package/tests/_pending_fix/Popover.test.d.ts +13 -0
  264. package/tests/_pending_fix/Progress.test.d.ts +13 -0
  265. package/tests/_pending_fix/ProgressCircle.test.d.ts +13 -0
  266. package/tests/_pending_fix/ProgressSteps.test.d.ts +13 -0
  267. package/tests/_pending_fix/Radio.test.d.ts +13 -0
  268. package/tests/_pending_fix/RangeSlider.test.d.ts +13 -0
  269. package/tests/_pending_fix/ResizablePanel.test.d.ts +13 -0
  270. package/tests/_pending_fix/ResultState.test.d.ts +13 -0
  271. package/tests/_pending_fix/ScrollArea.test.d.ts +13 -0
  272. package/tests/_pending_fix/Select.test.d.ts +14 -0
  273. package/tests/_pending_fix/Sheet.test.d.ts +13 -0
  274. package/tests/_pending_fix/Sidebar.test.d.ts +13 -0
  275. package/tests/_pending_fix/SimpleGrid.test.d.ts +13 -0
  276. package/tests/_pending_fix/Skeleton.test.d.ts +13 -0
  277. package/tests/_pending_fix/Slider.test.d.ts +13 -0
  278. package/tests/_pending_fix/Spacer.test.d.ts +13 -0
  279. package/tests/_pending_fix/Spinner.test.d.ts +13 -0
  280. package/tests/_pending_fix/Stack.test.d.ts +13 -0
  281. package/tests/_pending_fix/Stat.test.d.ts +13 -0
  282. package/tests/_pending_fix/Stepper.test.d.ts +14 -0
  283. package/tests/_pending_fix/Switch.test.d.ts +13 -0
  284. package/tests/_pending_fix/Table.test.d.ts +13 -0
  285. package/tests/_pending_fix/Tabs.test.d.ts +13 -0
  286. package/tests/_pending_fix/Textarea.test.d.ts +13 -0
  287. package/tests/_pending_fix/Timeline.test.d.ts +13 -0
  288. package/tests/_pending_fix/Toast.test.d.ts +14 -0
  289. package/tests/_pending_fix/Tooltip.test.d.ts +14 -0
  290. package/tests/_pending_fix/VStack.test.d.ts +13 -0
  291. package/tests/alert.test.d.ts +13 -0
  292. package/tests/badge.test.d.ts +13 -0
  293. package/tests/benchmarks/factor-resolution.bench.d.ts +41 -0
  294. package/tests/button.test.d.ts +16 -0
  295. package/tests/card.test.d.ts +19 -0
  296. package/tests/checkbox.test.d.ts +13 -0
  297. package/tests/component-16-factor-types.test.d.ts +13 -0
  298. package/tests/component-5level-integration.test.d.ts +14 -0
  299. package/tests/component-registry-ui.test.d.ts +13 -0
  300. package/tests/e2e/16-factor-visual.test.d.ts +14 -0
  301. package/tests/edge-cases.test.d.ts +14 -0
  302. package/tests/factor-17-24-integration.test.d.ts +14 -0
  303. package/tests/factor-17-24-performance.test.d.ts +14 -0
  304. package/tests/factor-validators.test.d.ts +13 -0
  305. package/tests/factors-1-6.test.d.ts +13 -0
  306. package/tests/factors-12-16.test.d.ts +13 -0
  307. package/tests/factors-17-24.test.d.ts +21 -0
  308. package/tests/factors-all.test.d.ts +13 -0
  309. package/tests/factors-registry.test.d.ts +11 -0
  310. package/tests/factors.test.d.ts +13 -0
  311. package/tests/granularity-types.test.d.ts +18 -0
  312. package/tests/groups.test.d.ts +14 -0
  313. package/tests/input.test.d.ts +16 -0
  314. package/tests/intents.test.d.ts +14 -0
  315. package/tests/memory-leak.test.d.ts +14 -0
  316. package/tests/modal.test.d.ts +19 -0
  317. package/tests/presets.test.d.ts +14 -0
  318. package/tests/radio.test.d.ts +13 -0
  319. package/tests/resolution-intents.test.d.ts +13 -0
  320. package/tests/resolution-presets.test.d.ts +13 -0
  321. package/tests/resolveProps.test.d.ts +14 -0
  322. package/tests/section-integration.test.d.ts +16 -0
  323. package/tests/section-types.test.d.ts +11 -0
  324. package/tests/setup.d.ts +13 -0
  325. package/tests/shorthands.test.d.ts +14 -0
  326. package/tests/switch.test.d.ts +13 -0
  327. package/tests/tabs.test.d.ts +13 -0
  328. package/tests/tiers-registry.test.d.ts +11 -0
  329. package/tests/useComponentStyles.test.d.ts +11 -0
  330. package/tests/useFactors.test.d.ts +13 -0
  331. package/tests/validators-invalid-input.test.d.ts +13 -0
  332. package/tsup.config.d.ts +11 -0
  333. package/vitest.config.d.ts +3 -0
@@ -0,0 +1,340 @@
1
+ /**
2
+ * Template Configuration Types
3
+ *
4
+ * Template-level configuration for complete applications like Admin, E-commerce.
5
+ * Templates are the highest granularity level, containing layouts, pages, and
6
+ * shared components that form a complete application.
7
+ *
8
+ * @packageDocumentation
9
+ * @module types/granularity-levels
10
+ * @since 4.0.0
11
+ *
12
+ * Powered by Nikkory
13
+ */
14
+ import type { GranularityLevel, GranularityFactorValues, GranularityStyleOverrides, GranularityLayoutConfig, GranularityTemplateVisibility } from '../granularity/base.types';
15
+ import type { GranularityConfig, ChildReference } from '../granularity/config.types';
16
+ import type { GranularitySlotPosition, GranularitySlotConfig } from '../granularity/slot.types';
17
+ import type { GranularityTemplateMetadata, GranularityTemplate } from '../granularity/template.types';
18
+ import type { DesignSystem, Tier } from '../../../types';
19
+ /**
20
+ * Template slot positions - pages, shared, assets
21
+ *
22
+ * @category types
23
+ * @since 4.0.0
24
+ *
25
+ * Powered by Nikkory
26
+ */
27
+ export type TemplateSlotPosition = GranularitySlotPosition<'template'>;
28
+ /**
29
+ * Template slot configuration
30
+ *
31
+ * @category types
32
+ * @since 4.0.0
33
+ *
34
+ * Powered by Nikkory
35
+ */
36
+ export type TemplateSlotConfig = GranularitySlotConfig<'template'>;
37
+ /**
38
+ * Template type categories - 20+ types organized by purpose
39
+ *
40
+ * @category types
41
+ * @since 4.0.0
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * const category: TemplateCategory = 'admin';
46
+ * ```
47
+ *
48
+ * Powered by Nikkory
49
+ */
50
+ export type TemplateCategory = 'admin' | 'ecommerce' | 'saas' | 'portfolio' | 'blog' | 'landing' | 'documentation' | 'social' | 'marketplace' | 'booking';
51
+ /**
52
+ * Template type identifiers (20+ types)
53
+ *
54
+ * @category types
55
+ * @since 4.0.0
56
+ *
57
+ * Powered by Nikkory
58
+ */
59
+ export type TemplateType = 'admin-dashboard' | 'cms-admin' | 'analytics-dashboard' | 'ecommerce-store' | 'marketplace-vendor' | 'digital-products' | 'saas-landing' | 'saas-dashboard' | 'saas-onboarding' | 'portfolio-minimal' | 'portfolio-creative' | 'resume-cv' | 'blog-personal' | 'blog-magazine' | 'blog-technical' | 'landing-product' | 'landing-startup' | 'landing-agency' | 'docs-technical' | 'docs-api' | 'knowledge-base';
60
+ /**
61
+ * Technology stack configuration
62
+ *
63
+ * @category types
64
+ * @since 4.0.0
65
+ *
66
+ * Powered by Nikkory
67
+ */
68
+ export interface TechStack {
69
+ /** Frontend framework */
70
+ readonly framework: 'react' | 'vue' | 'angular' | 'svelte' | 'solid';
71
+ /** UI library */
72
+ readonly uiLibrary?: 'tailwind' | 'styled-components' | 'emotion' | 'vanilla';
73
+ /** State management */
74
+ readonly stateManagement?: 'zustand' | 'redux' | 'jotai' | 'mobx' | 'none';
75
+ /** Form handling */
76
+ readonly formLibrary?: 'react-hook-form' | 'formik' | 'final-form' | 'none';
77
+ /** API layer */
78
+ readonly apiLayer?: 'trpc' | 'graphql' | 'rest' | 'none';
79
+ /** Authentication */
80
+ readonly auth?: 'next-auth' | 'clerk' | 'supabase' | 'firebase' | 'custom';
81
+ /** Database */
82
+ readonly database?: 'prisma' | 'drizzle' | 'mongoose' | 'none';
83
+ /** Testing framework */
84
+ readonly testing?: 'vitest' | 'jest' | 'playwright' | 'cypress';
85
+ }
86
+ /**
87
+ * Pages configuration for template
88
+ *
89
+ * @category types
90
+ * @since 4.0.0
91
+ *
92
+ * Powered by Nikkory
93
+ */
94
+ export interface TemplatePages {
95
+ /** All page IDs included in template */
96
+ readonly included: readonly string[];
97
+ /** Default/home page ID */
98
+ readonly homePage: string;
99
+ /** 404 page ID */
100
+ readonly notFoundPage?: string;
101
+ /** Error page ID */
102
+ readonly errorPage?: string;
103
+ /** Page groups for navigation */
104
+ readonly groups?: readonly PageGroup[];
105
+ }
106
+ /**
107
+ * Page group for navigation organization
108
+ *
109
+ * @category types
110
+ * @since 4.0.0
111
+ *
112
+ * Powered by Nikkory
113
+ */
114
+ export interface PageGroup {
115
+ /** Group identifier */
116
+ readonly id: string;
117
+ /** Group display name */
118
+ readonly name: string;
119
+ /** Page IDs in this group */
120
+ readonly pages: readonly string[];
121
+ /** Group icon */
122
+ readonly icon?: string;
123
+ /** Whether group is collapsible */
124
+ readonly collapsible?: boolean;
125
+ }
126
+ /**
127
+ * Shared assets configuration
128
+ *
129
+ * @category types
130
+ * @since 4.0.0
131
+ *
132
+ * Powered by Nikkory
133
+ */
134
+ export interface TemplateAssets {
135
+ /** Shared components IDs */
136
+ readonly components?: readonly string[];
137
+ /** Shared layouts IDs */
138
+ readonly layouts?: readonly string[];
139
+ /** Image assets */
140
+ readonly images?: readonly AssetReference[];
141
+ /** Icon set */
142
+ readonly icons?: 'lucide' | 'heroicons' | 'phosphor' | 'custom';
143
+ /** Font configuration */
144
+ readonly fonts?: FontConfig;
145
+ }
146
+ /**
147
+ * Asset reference
148
+ *
149
+ * @category types
150
+ * @since 4.0.0
151
+ *
152
+ * Powered by Nikkory
153
+ */
154
+ export interface AssetReference {
155
+ /** Asset identifier */
156
+ readonly id: string;
157
+ /** Asset path or URL */
158
+ readonly path: string;
159
+ /** Asset type */
160
+ readonly type: 'image' | 'svg' | 'video' | 'font';
161
+ /** Asset alt text */
162
+ readonly alt?: string;
163
+ }
164
+ /**
165
+ * Font configuration
166
+ *
167
+ * @category types
168
+ * @since 4.0.0
169
+ *
170
+ * Powered by Nikkory
171
+ */
172
+ export interface FontConfig {
173
+ /** Primary font family */
174
+ readonly primary: string;
175
+ /** Secondary font family */
176
+ readonly secondary?: string;
177
+ /** Monospace font family */
178
+ readonly mono?: string;
179
+ /** Font weights to include */
180
+ readonly weights?: readonly number[];
181
+ }
182
+ /**
183
+ * Template-specific extension fields beyond GranularityConfig
184
+ *
185
+ * @category types
186
+ * @since 4.0.0
187
+ *
188
+ * Powered by Nikkory
189
+ */
190
+ export interface TemplateExtensions {
191
+ /** Template type identifier */
192
+ readonly templateType: TemplateType;
193
+ /** Template category for organization */
194
+ readonly templateCategory: TemplateCategory;
195
+ /** Technology stack */
196
+ readonly stack: TechStack;
197
+ /** Pages configuration */
198
+ readonly pages: TemplatePages;
199
+ /** Shared assets */
200
+ readonly assets?: TemplateAssets;
201
+ /** Template version */
202
+ readonly version: string;
203
+ /** Template visibility */
204
+ readonly visibility: GranularityTemplateVisibility;
205
+ /** License type */
206
+ readonly license?: 'mit' | 'apache-2.0' | 'proprietary' | 'custom';
207
+ /** Pricing tier (if applicable) */
208
+ readonly pricingTier?: 'free' | 'starter' | 'pro' | 'enterprise';
209
+ /** Preview URL */
210
+ readonly previewUrl?: string;
211
+ /** Repository URL */
212
+ readonly repositoryUrl?: string;
213
+ /** Documentation URL */
214
+ readonly docsUrl?: string;
215
+ /** Whether template is featured */
216
+ readonly featured?: boolean;
217
+ /** Download count */
218
+ readonly downloads?: number;
219
+ /** Rating (1-5) */
220
+ readonly rating?: number;
221
+ }
222
+ /**
223
+ * TemplateLevelConfig - Full configuration for template-level elements
224
+ *
225
+ * Extends GranularityConfig<'template'> with template-specific fields.
226
+ *
227
+ * @category types
228
+ * @since 4.0.0
229
+ *
230
+ * @example
231
+ * ```typescript
232
+ * const adminTemplate: TemplateLevelConfig = {
233
+ * id: 'admin-dashboard-template',
234
+ * granularity: 'template',
235
+ * designSystem: 'material-design',
236
+ * tier: 'enterprise',
237
+ * title: 'Admin Dashboard',
238
+ * subtitle: 'Complete admin panel with analytics',
239
+ * templateType: 'admin-dashboard',
240
+ * templateCategory: 'admin',
241
+ * version: '1.0.0',
242
+ * visibility: 'public',
243
+ * stack: {
244
+ * framework: 'react',
245
+ * uiLibrary: 'tailwind',
246
+ * stateManagement: 'zustand',
247
+ * apiLayer: 'trpc'
248
+ * },
249
+ * pages: {
250
+ * included: ['dashboard', 'users', 'settings'],
251
+ * homePage: 'dashboard',
252
+ * notFoundPage: '404',
253
+ * groups: [
254
+ * { id: 'main', name: 'Main', pages: ['dashboard'] },
255
+ * { id: 'admin', name: 'Admin', pages: ['users', 'settings'] }
256
+ * ]
257
+ * }
258
+ * };
259
+ * ```
260
+ *
261
+ * Powered by Nikkory
262
+ */
263
+ export interface TemplateLevelConfig extends TemplateExtensions {
264
+ /** Unique identifier */
265
+ readonly id: string;
266
+ /** Granularity level - always 'template' */
267
+ readonly granularity: 'template';
268
+ /** Design system */
269
+ readonly designSystem: DesignSystem;
270
+ /** Quality tier */
271
+ readonly tier: Tier;
272
+ /** Display title */
273
+ readonly title: string;
274
+ /** Optional subtitle/description */
275
+ readonly subtitle?: string;
276
+ /** Layout configuration */
277
+ readonly layout?: GranularityLayoutConfig;
278
+ /** Slots for template organization */
279
+ readonly slots?: readonly TemplateSlotConfig[];
280
+ /** Factor values */
281
+ readonly factors?: GranularityFactorValues;
282
+ /** Children references (layouts and pages) */
283
+ readonly children?: readonly ChildReference<'template'>[];
284
+ /** Style overrides */
285
+ readonly styleOverrides?: GranularityStyleOverrides;
286
+ }
287
+ /**
288
+ * Default slot configurations for templates
289
+ *
290
+ * @category constants
291
+ * @since 4.0.0
292
+ *
293
+ * Powered by Nikkory
294
+ */
295
+ export declare const DEFAULT_TEMPLATE_SLOTS: readonly TemplateSlotConfig[];
296
+ /**
297
+ * FullTemplate - Complete template with metadata for marketplace
298
+ *
299
+ * Combines TemplateLevelConfig with TemplateMetadata for full template definition.
300
+ *
301
+ * @category types
302
+ * @since 4.0.0
303
+ *
304
+ * Powered by Nikkory
305
+ */
306
+ export interface FullTemplate extends TemplateLevelConfig, GranularityTemplateMetadata {
307
+ }
308
+ /**
309
+ * Type guard to check if a config is a TemplateLevelConfig
310
+ *
311
+ * @category utils
312
+ * @since 4.0.0
313
+ *
314
+ * @param config - The config to check
315
+ * @returns True if config is a TemplateLevelConfig
316
+ *
317
+ * Powered by Nikkory
318
+ */
319
+ export declare function isTemplateLevelConfig(config: GranularityConfig<GranularityLevel>): config is TemplateLevelConfig & GranularityConfig<'template'>;
320
+ /**
321
+ * TemplateGranularityConfig - Alias to GranularityConfig<'template'>
322
+ *
323
+ * Use TemplateLevelConfig for the full extended version with template-specific fields.
324
+ *
325
+ * @category types
326
+ * @since 4.0.0
327
+ *
328
+ * Powered by Nikkory
329
+ */
330
+ export type TemplateGranularityConfig = GranularityConfig<'template'>;
331
+ /**
332
+ * Re-export GranularityTemplate for convenience
333
+ *
334
+ * @category types
335
+ * @since 4.0.0
336
+ *
337
+ * Powered by Nikkory
338
+ */
339
+ export type { GranularityTemplate, GranularityTemplateMetadata as TemplateMetadata };
340
+ //# sourceMappingURL=template.config.d.ts.map
@@ -0,0 +1,323 @@
1
+ /**
2
+ * Generator Types - Shared type definitions for TierGenerator and CompositionGenerator
3
+ * @packageDocumentation
4
+ * @module generators/generator-types
5
+ * @since 4.0.0
6
+ *
7
+ * Powered by Nikkory
8
+ */
9
+ import type { BaseRegistryDefinition, RegistrySectionDefinition, RegistryPageDefinition, RegistryLayoutDefinition, RegistryTemplateDefinition } from './presets/registry.types';
10
+ import type { DesignSystem, Tier, ComponentType } from '../types';
11
+ import type { SectionCategory, SlotConfig, SlotPosition, SectionConfig, SectionFactors, SectionWithFactors, LayoutType, SpacingLevel, AlignmentType, StoredComponentInSlot, StyleOverrides } from '../types/section.types';
12
+ export type { DesignSystem, Tier, ComponentType };
13
+ export type { SectionCategory, SlotConfig, SlotPosition, SectionConfig, SectionFactors, SectionWithFactors, LayoutType, SpacingLevel, AlignmentType, StoredComponentInSlot, StyleOverrides, };
14
+ /**
15
+ * Options for component generation
16
+ */
17
+ export interface GenerationOptions {
18
+ /**
19
+ * Whether to include TypeScript types file
20
+ * @default true
21
+ */
22
+ readonly includeTypes?: boolean;
23
+ /**
24
+ * Whether to include test file
25
+ * @default true
26
+ */
27
+ readonly includeTests?: boolean;
28
+ /**
29
+ * Whether to include Storybook stories
30
+ * @default false
31
+ */
32
+ readonly includeStories?: boolean;
33
+ /**
34
+ * Custom template overrides
35
+ */
36
+ readonly templateOverrides?: Record<string, string>;
37
+ /**
38
+ * Additional props to inject into component
39
+ */
40
+ readonly additionalProps?: Record<string, string>;
41
+ /**
42
+ * Whether to use CSS Modules instead of Tailwind
43
+ * @default false
44
+ */
45
+ readonly useCSSModules?: boolean;
46
+ }
47
+ /**
48
+ * Configuration for generating a single component (TierGenerator)
49
+ */
50
+ export interface TierGenerationConfig {
51
+ /**
52
+ * Registry definition to generate from
53
+ */
54
+ readonly definition: BaseRegistryDefinition;
55
+ /**
56
+ * Design system to apply
57
+ */
58
+ readonly designSystem: DesignSystem;
59
+ /**
60
+ * Quality tier to generate
61
+ */
62
+ readonly tier: Tier;
63
+ /**
64
+ * Output directory for generated files
65
+ */
66
+ readonly outputDir: string;
67
+ /**
68
+ * Optional generation settings
69
+ */
70
+ readonly options?: GenerationOptions;
71
+ }
72
+ /**
73
+ * Result of a single component generation
74
+ */
75
+ export interface GenerationResult {
76
+ /**
77
+ * File path of generated component
78
+ */
79
+ readonly componentPath: string;
80
+ /**
81
+ * File path of generated types (if includeTypes=true)
82
+ */
83
+ readonly typesPath?: string;
84
+ /**
85
+ * File path of generated test (if includeTests=true)
86
+ */
87
+ readonly testPath?: string;
88
+ /**
89
+ * File path of generated story (if includeStories=true)
90
+ */
91
+ readonly storyPath?: string;
92
+ /**
93
+ * Lines of code in component file
94
+ */
95
+ readonly linesOfCode: number;
96
+ /**
97
+ * Generated component display name
98
+ */
99
+ readonly displayName: string;
100
+ /**
101
+ * Whether generation succeeded
102
+ */
103
+ readonly success: boolean;
104
+ /**
105
+ * Error message if generation failed
106
+ */
107
+ readonly error?: string;
108
+ }
109
+ /**
110
+ * Configuration for batch generation
111
+ */
112
+ export interface BatchGenerationConfig {
113
+ /**
114
+ * Registry definitions to generate from
115
+ */
116
+ readonly definitions: BaseRegistryDefinition[];
117
+ /**
118
+ * Design systems to generate for each definition
119
+ * @default All design systems from definition
120
+ */
121
+ readonly designSystems?: DesignSystem[];
122
+ /**
123
+ * Tiers to generate for each definition
124
+ * @default All tiers from definition
125
+ */
126
+ readonly tiers?: Tier[];
127
+ /**
128
+ * Base output directory
129
+ */
130
+ readonly outputDir: string;
131
+ /**
132
+ * Optional generation settings
133
+ */
134
+ readonly options?: GenerationOptions;
135
+ /**
136
+ * Maximum parallel generations
137
+ * @default 4
138
+ */
139
+ readonly maxParallel?: number;
140
+ }
141
+ /**
142
+ * Result of batch generation
143
+ */
144
+ export interface BatchGenerationResult {
145
+ /**
146
+ * Total number of components attempted
147
+ */
148
+ readonly total: number;
149
+ /**
150
+ * Number of successful generations
151
+ */
152
+ readonly successful: number;
153
+ /**
154
+ * Number of failed generations
155
+ */
156
+ readonly failed: number;
157
+ /**
158
+ * Individual generation results
159
+ */
160
+ readonly results: GenerationResult[];
161
+ /**
162
+ * Total lines of code generated
163
+ */
164
+ readonly totalLinesOfCode: number;
165
+ /**
166
+ * Generation duration in milliseconds
167
+ */
168
+ readonly durationMs: number;
169
+ }
170
+ /**
171
+ * Component template data for rendering
172
+ */
173
+ export interface ComponentTemplateData {
174
+ /**
175
+ * Component name in PascalCase
176
+ */
177
+ readonly componentName: string;
178
+ /**
179
+ * Display name for React DevTools
180
+ */
181
+ readonly displayName: string;
182
+ /**
183
+ * Component description
184
+ */
185
+ readonly description: string;
186
+ /**
187
+ * Design system identifier
188
+ */
189
+ readonly designSystem: DesignSystem;
190
+ /**
191
+ * Quality tier
192
+ */
193
+ readonly tier: Tier;
194
+ /**
195
+ * Props interface name
196
+ */
197
+ readonly propsInterface: string;
198
+ /**
199
+ * HTML element type for ref
200
+ */
201
+ readonly elementType: string;
202
+ /**
203
+ * Base CSS classes
204
+ */
205
+ readonly baseClasses: string;
206
+ /**
207
+ * Variant definitions
208
+ */
209
+ readonly variants?: Record<string, Record<string, string>>;
210
+ /**
211
+ * Default prop values
212
+ */
213
+ readonly defaults?: Record<string, string>;
214
+ /**
215
+ * Additional imports
216
+ */
217
+ readonly imports?: string[];
218
+ /**
219
+ * Analytics event name (Enterprise tier)
220
+ */
221
+ readonly analyticsEvent?: string;
222
+ /**
223
+ * ARIA attributes (Enterprise tier)
224
+ */
225
+ readonly ariaAttributes?: Record<string, string>;
226
+ }
227
+ /**
228
+ * Section generation configuration (for CompositionGenerator)
229
+ */
230
+ export interface SectionGenerationConfig extends TierGenerationConfig {
231
+ readonly definition: RegistrySectionDefinition;
232
+ }
233
+ /**
234
+ * Page generation configuration (for CompositionGenerator)
235
+ */
236
+ export interface PageGenerationConfig extends TierGenerationConfig {
237
+ readonly definition: RegistryPageDefinition;
238
+ }
239
+ /**
240
+ * Layout generation configuration (for CompositionGenerator)
241
+ */
242
+ export interface LayoutGenerationConfig extends TierGenerationConfig {
243
+ readonly definition: RegistryLayoutDefinition;
244
+ }
245
+ /**
246
+ * Template generation configuration (for CompositionGenerator)
247
+ */
248
+ export interface TemplateGenerationConfig extends TierGenerationConfig {
249
+ readonly definition: RegistryTemplateDefinition;
250
+ }
251
+ /**
252
+ * Tier-specific features to include in generated component
253
+ */
254
+ export interface TierFeatures {
255
+ /**
256
+ * Use React.memo wrapper
257
+ */
258
+ readonly useMemo: boolean;
259
+ /**
260
+ * Use forwardRef
261
+ */
262
+ readonly useForwardRef: boolean;
263
+ /**
264
+ * Set displayName
265
+ */
266
+ readonly setDisplayName: boolean;
267
+ /**
268
+ * Include analytics tracking
269
+ */
270
+ readonly includeAnalytics: boolean;
271
+ /**
272
+ * Include ARIA attributes
273
+ */
274
+ readonly includeAria: boolean;
275
+ /**
276
+ * Use useCallback for event handlers
277
+ */
278
+ readonly useCallback: boolean;
279
+ /**
280
+ * Include variants system
281
+ */
282
+ readonly includeVariants: boolean;
283
+ /**
284
+ * Include size variants
285
+ */
286
+ readonly includeSizes: boolean;
287
+ }
288
+ /**
289
+ * Get tier-specific features based on tier level
290
+ * @param tier - Quality tier
291
+ * @returns Tier features configuration
292
+ */
293
+ export declare function getTierFeatures(tier: Tier): TierFeatures;
294
+ /**
295
+ * Generator statistics
296
+ */
297
+ export interface GeneratorStats {
298
+ /**
299
+ * Total components generated
300
+ */
301
+ readonly totalGenerated: number;
302
+ /**
303
+ * Components by tier
304
+ */
305
+ readonly byTier: Record<Tier, number>;
306
+ /**
307
+ * Components by design system
308
+ */
309
+ readonly byDesignSystem: Record<DesignSystem, number>;
310
+ /**
311
+ * Total lines of code
312
+ */
313
+ readonly totalLOC: number;
314
+ /**
315
+ * Average LOC per tier
316
+ */
317
+ readonly avgLOCByTier: Record<Tier, number>;
318
+ /**
319
+ * Total generation time (ms)
320
+ */
321
+ readonly totalTimeMs: number;
322
+ }
323
+ //# sourceMappingURL=types.d.ts.map