@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,177 @@
1
+ /**
2
+ * Granularity Configuration Types
3
+ *
4
+ * This file defines the GranularityConfig<G> generic interface that replaces
5
+ * separate SectionConfig, PageConfig, LayoutConfig, and TemplateConfig types.
6
+ *
7
+ * @packageDocumentation
8
+ * @module types/granularity
9
+ * @since 4.0.0
10
+ *
11
+ * Powered by Nikkory
12
+ */
13
+ import type { GranularityLevel, GranularityBaseFields, GranularityLayoutConfig, GranularityStyleOverrides, GranularityFactorValues } from './base.types';
14
+ import type { GranularitySlotConfig } from './slot.types';
15
+ /**
16
+ * Child reference for recursive generation
17
+ *
18
+ * Allows a parent granularity to reference child granularities,
19
+ * enabling recursive generation: Page → Sections → Components.
20
+ *
21
+ * @category types
22
+ * @since 4.0.0
23
+ *
24
+ * @typeParam _G - The parent granularity level (prefixed with _ as intentionally unused)
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * // Page referencing sections
29
+ * const child: ChildReference<'page'> = {
30
+ * childGranularity: 'section',
31
+ * ref: 'hero-section-id',
32
+ * slot: 'main',
33
+ * factorOverrides: { spacing: 'lg' }
34
+ * };
35
+ *
36
+ * // Inline config instead of reference
37
+ * const inlineChild: ChildReference<'page'> = {
38
+ * childGranularity: 'section',
39
+ * ref: {
40
+ * id: 'inline-section',
41
+ * granularity: 'section',
42
+ * designSystem: 'material-design',
43
+ * tier: 'standard',
44
+ * title: 'Inline Section'
45
+ * },
46
+ * slot: 'main'
47
+ * };
48
+ * ```
49
+ *
50
+ * Powered by Nikkory
51
+ */
52
+ export interface ChildReference<_G extends GranularityLevel> {
53
+ /** Child granularity level */
54
+ readonly childGranularity: GranularityLevel;
55
+ /** Child ID (string) or inline config */
56
+ readonly ref: string | GranularityConfig<GranularityLevel>;
57
+ /** Slot to place child in */
58
+ readonly slot: string;
59
+ /** Factor overrides for this child (highest priority) */
60
+ readonly factorOverrides?: GranularityFactorValues;
61
+ }
62
+ /**
63
+ * GranularityConfig<G> - THE unified generic config interface
64
+ *
65
+ * This interface replaces separate SectionConfig, PageConfig, LayoutConfig,
66
+ * and TemplateConfig types with a single generic that works for all 6
67
+ * granularity levels.
68
+ *
69
+ * @category types
70
+ * @since 4.0.0
71
+ *
72
+ * @typeParam G - The granularity level this config is for
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * // Section configuration
77
+ * const sectionConfig: GranularityConfig<'section'> = {
78
+ * id: 'hero-section',
79
+ * granularity: 'section',
80
+ * designSystem: 'material-design',
81
+ * tier: 'enterprise',
82
+ * title: 'Hero Section',
83
+ * subtitle: 'Main landing hero with CTA',
84
+ * layout: { type: 'flex', alignment: 'center' },
85
+ * factors: { spacing: 'lg', colorPrimary: '#3B82F6' }
86
+ * };
87
+ *
88
+ * // Page configuration with children
89
+ * const pageConfig: GranularityConfig<'page'> = {
90
+ * id: 'landing-page',
91
+ * granularity: 'page',
92
+ * designSystem: 'material-design',
93
+ * tier: 'enterprise',
94
+ * title: 'Landing Page',
95
+ * children: [
96
+ * { childGranularity: 'section', ref: 'hero-section', slot: 'main' },
97
+ * { childGranularity: 'section', ref: 'features-section', slot: 'main' }
98
+ * ]
99
+ * };
100
+ * ```
101
+ *
102
+ * Powered by Nikkory
103
+ */
104
+ export interface GranularityConfig<G extends GranularityLevel> extends GranularityBaseFields<G> {
105
+ /** Layout configuration for arranging children */
106
+ readonly layout?: GranularityLayoutConfig;
107
+ /** Slots for child granularities (level-specific positions) */
108
+ readonly slots?: readonly GranularitySlotConfig<G>[];
109
+ /** Factors applicable at this level (resolved dynamically) */
110
+ readonly factors?: GranularityFactorValues;
111
+ /** Children references (for recursive generation) */
112
+ readonly children?: readonly ChildReference<G>[];
113
+ /** Style overrides for customization */
114
+ readonly styleOverrides?: GranularityStyleOverrides;
115
+ }
116
+ /**
117
+ * AtomConfig - Configuration for atom-level components
118
+ *
119
+ * @category types
120
+ * @since 4.0.0
121
+ *
122
+ * Powered by Nikkory
123
+ */
124
+ export type AtomConfig = GranularityConfig<'atom'>;
125
+ /**
126
+ * ComponentConfig - Configuration for component-level elements
127
+ *
128
+ * @category types
129
+ * @since 4.0.0
130
+ *
131
+ * Powered by Nikkory
132
+ */
133
+ export type ComponentConfig = GranularityConfig<'component'>;
134
+ /**
135
+ * SectionGranularityConfig - Configuration for section-level elements
136
+ *
137
+ * Note: Named SectionGranularityConfig to avoid conflict with
138
+ * existing SectionConfig in section.types.ts. Use GranularityConfig<'section'>
139
+ * for the unified approach.
140
+ *
141
+ * @category types
142
+ * @since 4.0.0
143
+ *
144
+ * Powered by Nikkory
145
+ */
146
+ export type SectionGranularityConfig = GranularityConfig<'section'>;
147
+ /**
148
+ * PageConfig - Configuration for page-level elements
149
+ *
150
+ * @category types
151
+ * @since 4.0.0
152
+ *
153
+ * Powered by Nikkory
154
+ */
155
+ export type PageConfig = GranularityConfig<'page'>;
156
+ /**
157
+ * LayoutGranularityConfig - Configuration for layout-level elements
158
+ *
159
+ * Note: Named LayoutGranularityConfig to avoid conflict with
160
+ * existing LayoutConfig in base.types.ts.
161
+ *
162
+ * @category types
163
+ * @since 4.0.0
164
+ *
165
+ * Powered by Nikkory
166
+ */
167
+ export type LayoutGranularityConfig = GranularityConfig<'layout'>;
168
+ /**
169
+ * TemplateConfig - Configuration for template-level elements
170
+ *
171
+ * @category types
172
+ * @since 4.0.0
173
+ *
174
+ * Powered by Nikkory
175
+ */
176
+ export type TemplateConfig = GranularityConfig<'template'>;
177
+ //# sourceMappingURL=config.types.d.ts.map
@@ -0,0 +1,194 @@
1
+ /**
2
+ * Factor Types for Unified Granularity Architecture
3
+ *
4
+ * This file defines additional factor-related types that support
5
+ * the dynamic factor resolution and cascade system.
6
+ *
7
+ * @packageDocumentation
8
+ * @module types/granularity
9
+ * @since 4.0.0
10
+ *
11
+ * Powered by Nikkory
12
+ */
13
+ import type { GranularityLevel, GranularityFactorCategory, GranularityFactorDefinition } from './base.types';
14
+ import type { DesignSystem } from '../index';
15
+ /**
16
+ * Factor resolution result from getFactorsForLevel()
17
+ *
18
+ * Contains both the factor definitions and resolved values
19
+ * for a specific granularity level.
20
+ *
21
+ * @category types
22
+ * @since 4.0.0
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * const result: FactorResolutionResult = {
27
+ * level: 'section',
28
+ * factors: [spacingFactor, colorFactor, ...],
29
+ * resolvedValues: {
30
+ * spacing: 'md',
31
+ * colorPrimary: '#3B82F6'
32
+ * },
33
+ * cascadedFrom: ['template', 'page']
34
+ * };
35
+ * ```
36
+ *
37
+ * Powered by Nikkory
38
+ */
39
+ export interface GranularityFactorResolutionResult {
40
+ /** The granularity level these factors are for */
41
+ readonly level: GranularityLevel;
42
+ /** All applicable factor definitions */
43
+ readonly factors: readonly GranularityFactorDefinition[];
44
+ /** Resolved factor values */
45
+ readonly resolvedValues: Record<string, unknown>;
46
+ /** Levels from which factors were cascaded */
47
+ readonly cascadedFrom: readonly GranularityLevel[];
48
+ }
49
+ /**
50
+ * Factor override configuration
51
+ *
52
+ * Allows specifying overrides that take priority over
53
+ * cascaded or default factor values.
54
+ *
55
+ * @category types
56
+ * @since 4.0.0
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * const override: FactorOverride = {
61
+ * factorId: 'spacing',
62
+ * value: 'xl',
63
+ * priority: 100,
64
+ * source: 'user'
65
+ * };
66
+ * ```
67
+ *
68
+ * Powered by Nikkory
69
+ */
70
+ export interface GranularityFactorOverride {
71
+ /** Factor identifier */
72
+ readonly factorId: string;
73
+ /** Override value */
74
+ readonly value: unknown;
75
+ /** Priority (higher wins) */
76
+ readonly priority: number;
77
+ /** Source of override */
78
+ readonly source: 'default' | 'cascade' | 'config' | 'user';
79
+ }
80
+ /**
81
+ * Options for querying factors
82
+ *
83
+ * @category types
84
+ * @since 4.0.0
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * const options: FactorQueryOptions = {
89
+ * level: 'section',
90
+ * designSystem: 'material-design',
91
+ * includeInherited: true,
92
+ * categories: ['visual', 'layout']
93
+ * };
94
+ * ```
95
+ *
96
+ * Powered by Nikkory
97
+ */
98
+ export interface GranularityFactorQueryOptions {
99
+ /** Target granularity level */
100
+ readonly level: GranularityLevel;
101
+ /** Design system for default values */
102
+ readonly designSystem?: DesignSystem;
103
+ /** Whether to include inherited factors from higher levels */
104
+ readonly includeInherited?: boolean;
105
+ /** Filter by specific categories */
106
+ readonly categories?: readonly GranularityFactorCategory[];
107
+ /** Filter by specific factor IDs */
108
+ readonly factorIds?: readonly string[];
109
+ }
110
+ /**
111
+ * Factor cascade configuration
112
+ *
113
+ * Controls how factors cascade from parent to child levels.
114
+ *
115
+ * @category types
116
+ * @since 4.0.0
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * const cascade: FactorCascadeConfig = {
121
+ * parentLevel: 'page',
122
+ * childLevel: 'section',
123
+ * parentFactors: { spacing: 'lg', theme: 'dark' },
124
+ * overrides: { spacing: 'md' }
125
+ * };
126
+ * ```
127
+ *
128
+ * Powered by Nikkory
129
+ */
130
+ export interface GranularityFactorCascadeConfig {
131
+ /** Parent granularity level */
132
+ readonly parentLevel: GranularityLevel;
133
+ /** Child granularity level */
134
+ readonly childLevel: GranularityLevel;
135
+ /** Factor values from parent */
136
+ readonly parentFactors: Record<string, unknown>;
137
+ /** Child-specific overrides (highest priority) */
138
+ readonly overrides?: Record<string, unknown>;
139
+ }
140
+ /**
141
+ * Create a factor definition with type safety
142
+ *
143
+ * @category utils
144
+ * @since 4.0.0
145
+ *
146
+ * @param definition - Partial factor definition
147
+ * @returns Complete factor definition with defaults
148
+ *
149
+ * @example
150
+ * ```typescript
151
+ * const factor = createFactorDefinition({
152
+ * id: 'spacing',
153
+ * name: 'Spacing',
154
+ * category: 'layout',
155
+ * level: 'template',
156
+ * cascadeDown: true,
157
+ * options: ['xs', 'sm', 'md', 'lg', 'xl'],
158
+ * description: 'Controls spacing between elements'
159
+ * });
160
+ * ```
161
+ *
162
+ * Powered by Nikkory
163
+ */
164
+ export declare function createGranularityFactorDefinition(definition: Omit<GranularityFactorDefinition, 'defaults'> & {
165
+ defaults?: Partial<Record<DesignSystem, unknown>>;
166
+ }): GranularityFactorDefinition;
167
+ /**
168
+ * Standard priority levels for factor resolution
169
+ *
170
+ * @category constants
171
+ * @since 4.0.0
172
+ *
173
+ * Powered by Nikkory
174
+ */
175
+ export declare const FACTOR_PRIORITY: {
176
+ /** Default values from design system */
177
+ readonly DEFAULT: 0;
178
+ /** Values cascaded from parent levels */
179
+ readonly CASCADE: 25;
180
+ /** Values from config/template */
181
+ readonly CONFIG: 50;
182
+ /** Values explicitly set by user */
183
+ readonly USER: 100;
184
+ };
185
+ /**
186
+ * Factor priority type
187
+ *
188
+ * @category types
189
+ * @since 4.0.0
190
+ *
191
+ * Powered by Nikkory
192
+ */
193
+ export type GranularityFactorPriority = (typeof FACTOR_PRIORITY)[keyof typeof FACTOR_PRIORITY];
194
+ //# sourceMappingURL=factors.types.d.ts.map
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Unified Granularity Architecture Types
3
+ *
4
+ * This module exports all types for the 6-level granularity system:
5
+ * - GranularityLevel: atom, component, section, page, layout, template
6
+ * - GranularityConfig<G>: Generic config for any level
7
+ * - GranularityTemplate<G>: Config + 8 metadata fields
8
+ * - GranularitySlotConfig<G>: Child placement configuration
9
+ * - GranularityFactorDefinition: Factor with level and cascadeDown
10
+ *
11
+ * @packageDocumentation
12
+ * @module types/granularity
13
+ * @since 4.0.0
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * import type {
18
+ * GranularityLevel,
19
+ * GranularityConfig,
20
+ * GranularityTemplate,
21
+ * GranularitySlotConfig,
22
+ * GranularityFactorDefinition
23
+ * } from '@nikkory/engine';
24
+ *
25
+ * // Create a section config
26
+ * const section: GranularityConfig<'section'> = {
27
+ * id: 'hero',
28
+ * granularity: 'section',
29
+ * designSystem: 'material-design',
30
+ * tier: 'enterprise',
31
+ * title: 'Hero Section'
32
+ * };
33
+ *
34
+ * // Create a page template
35
+ * const template: GranularityTemplate<'page'> = {
36
+ * ...pageConfig,
37
+ * templateId: 'landing-v1',
38
+ * templateName: 'Landing Page',
39
+ * description: 'Modern landing page template',
40
+ * author: 'Nikkory',
41
+ * version: '1.0.0',
42
+ * tags: ['landing', 'marketing'],
43
+ * visibility: 'public'
44
+ * };
45
+ * ```
46
+ *
47
+ * Powered by Nikkory
48
+ */
49
+ export type { GranularityLevel, GranularityFactorCategory, GranularityFactorDefinition, GranularityBaseFields, GranularityTemplateVisibility, GranularityLayoutConfig, GranularitySpacingLevel, GranularityAlignmentType, GranularityStyleOverrides, GranularityFactorValues, } from './base.types';
50
+ export { GRANULARITY_HIERARCHY, getGranularityRank } from './base.types';
51
+ export type { ChildReference, GranularityConfig, AtomConfig, ComponentConfig, SectionGranularityConfig, PageConfig, LayoutGranularityConfig, TemplateConfig, } from './config.types';
52
+ export type { GranularityTemplateMetadata, GranularityTemplate, AtomTemplate, ComponentTemplate, SectionGranularityTemplate, PageTemplate, LayoutTemplate, TemplateGranularityTemplate, } from './template.types';
53
+ export type { GranularitySlotPosition, GranularitySlotConfig } from './slot.types';
54
+ export { DEFAULT_PAGE_SLOTS, DEFAULT_SECTION_SLOTS, getDefaultSlots } from './slot.types';
55
+ export type { GranularityFactorResolutionResult, GranularityFactorOverride, GranularityFactorQueryOptions, GranularityFactorCascadeConfig, GranularityFactorPriority, } from './factors.types';
56
+ export { FACTOR_PRIORITY, createGranularityFactorDefinition } from './factors.types';
57
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Granularity Slot Types
3
+ *
4
+ * This file defines the SlotConfig<G> and SlotPosition<G> generic types
5
+ * for managing component placement within parent granularities.
6
+ *
7
+ * @packageDocumentation
8
+ * @module types/granularity
9
+ * @since 4.0.0
10
+ *
11
+ * Powered by Nikkory
12
+ */
13
+ import type { GranularityLevel } from './base.types';
14
+ /**
15
+ * SlotPosition<G> - Level-specific slot positions
16
+ *
17
+ * Different granularity levels have different slot positions available.
18
+ * This conditional type ensures type safety when placing children.
19
+ *
20
+ * @category types
21
+ * @since 4.0.0
22
+ *
23
+ * @typeParam G - The granularity level
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * // Page has 6 slot positions
28
+ * type PageSlots = SlotPosition<'page'>;
29
+ * // = 'header' | 'main' | 'sidebar' | 'footer' | 'overlay' | 'floating'
30
+ *
31
+ * // Section has 5 slot positions
32
+ * type SectionSlots = SlotPosition<'section'>;
33
+ * // = 'header' | 'content' | 'footer' | 'sidebar' | 'overlay'
34
+ *
35
+ * // Layout has 4 slot positions
36
+ * type LayoutSlots = SlotPosition<'layout'>;
37
+ * // = 'header' | 'main' | 'sidebar' | 'footer'
38
+ *
39
+ * // Template has 3 slot positions
40
+ * type TemplateSlots = SlotPosition<'template'>;
41
+ * // = 'pages' | 'shared' | 'assets'
42
+ * ```
43
+ *
44
+ * Powered by Nikkory
45
+ */
46
+ export type GranularitySlotPosition<G extends GranularityLevel> = G extends 'page' ? 'header' | 'main' | 'sidebar' | 'footer' | 'overlay' | 'floating' : G extends 'section' ? 'header' | 'content' | 'footer' | 'sidebar' | 'overlay' : G extends 'layout' ? 'header' | 'main' | 'sidebar' | 'footer' : G extends 'template' ? 'pages' | 'shared' | 'assets' : G extends 'component' ? 'content' | 'prefix' | 'suffix' : G extends 'atom' ? 'content' : string;
47
+ /**
48
+ * SlotConfig<G> - Configuration for a slot in a granularity
49
+ *
50
+ * Defines how children can be placed in a specific slot position,
51
+ * including allowed child types, maximum count, and defaults.
52
+ *
53
+ * @category types
54
+ * @since 4.0.0
55
+ *
56
+ * @typeParam G - The parent granularity level
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * // Page main slot accepting sections
61
+ * const mainSlot: SlotConfig<'page'> = {
62
+ * slotId: 'main-content',
63
+ * position: 'main',
64
+ * allowedChildren: ['section', 'component'],
65
+ * maxChildren: 10,
66
+ * defaultChildren: ['hero-section', 'features-section']
67
+ * };
68
+ *
69
+ * // Section content slot accepting components
70
+ * const contentSlot: SlotConfig<'section'> = {
71
+ * slotId: 'section-content',
72
+ * position: 'content',
73
+ * allowedChildren: ['component', 'atom'],
74
+ * maxChildren: 20
75
+ * };
76
+ * ```
77
+ *
78
+ * Powered by Nikkory
79
+ */
80
+ export interface GranularitySlotConfig<G extends GranularityLevel> {
81
+ /** Slot identifier */
82
+ readonly slotId: string;
83
+ /** Position within parent (level-specific) */
84
+ readonly position: GranularitySlotPosition<G>;
85
+ /** Allowed child granularities */
86
+ readonly allowedChildren: readonly GranularityLevel[];
87
+ /** Maximum children in slot (-1 for unlimited) */
88
+ readonly maxChildren: number;
89
+ /** Default children to place (IDs or inline configs) */
90
+ readonly defaultChildren?: readonly string[];
91
+ /** Whether slot is required (must have at least one child) */
92
+ readonly required?: boolean;
93
+ /** Slot display name for UI */
94
+ readonly displayName?: string;
95
+ /** Slot description for documentation */
96
+ readonly description?: string;
97
+ }
98
+ /**
99
+ * Default slot configurations for each granularity level
100
+ *
101
+ * @category constants
102
+ * @since 4.0.0
103
+ *
104
+ * Powered by Nikkory
105
+ */
106
+ export declare const DEFAULT_PAGE_SLOTS: readonly GranularitySlotConfig<'page'>[];
107
+ /**
108
+ * Default slot configurations for sections
109
+ *
110
+ * @category constants
111
+ * @since 4.0.0
112
+ *
113
+ * Powered by Nikkory
114
+ */
115
+ export declare const DEFAULT_SECTION_SLOTS: readonly GranularitySlotConfig<'section'>[];
116
+ /**
117
+ * Get default slots for a granularity level
118
+ *
119
+ * @category utils
120
+ * @since 4.0.0
121
+ *
122
+ * @param level - The granularity level
123
+ * @returns Default slot configurations for the level
124
+ *
125
+ * Powered by Nikkory
126
+ */
127
+ export declare function getDefaultSlots<G extends GranularityLevel>(level: G): readonly GranularitySlotConfig<G>[];
128
+ //# sourceMappingURL=slot.types.d.ts.map