@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.
- package/PUBLISH-GUIDE.md +250 -0
- package/README.md +1267 -0
- package/bin/vibe.js +22 -0
- package/dist/adapters/index.d.ts +19 -0
- package/dist/browser.d.ts +25 -0
- package/dist/browser.js +15083 -0
- package/dist/browser.mjs +15000 -0
- package/dist/cli/batch-command.d.ts +142 -0
- package/dist/cli/generate-command.d.ts +119 -0
- package/dist/cli/index.d.ts +34 -0
- package/dist/constants/ComponentTypes.d.ts +65 -0
- package/dist/constants/DesignSystems.d.ts +64 -0
- package/dist/constants/Frameworks.d.ts +71 -0
- package/dist/constants/Tiers.d.ts +72 -0
- package/dist/constants/index.d.ts +10 -0
- package/dist/converters/index.d.ts +12 -0
- package/dist/converters/section-converter.d.ts +176 -0
- package/dist/index.d.ts +58 -0
- package/dist/index.js +19819 -0
- package/dist/index.mjs +19496 -0
- package/dist/resolution/basic/groups-basic.d.ts +80 -0
- package/dist/resolution/basic/index.d.ts +21 -0
- package/dist/resolution/basic/intents-basic.d.ts +195 -0
- package/dist/resolution/basic/presets-basic.d.ts +96 -0
- package/dist/resolution/basic/resolver-basic.d.ts +127 -0
- package/dist/resolution/basic/shorthands-basic.d.ts +88 -0
- package/dist/resolution/core/groups-core.d.ts +160 -0
- package/dist/resolution/core/index.d.ts +21 -0
- package/dist/resolution/core/intents-core.d.ts +355 -0
- package/dist/resolution/core/presets-core.d.ts +160 -0
- package/dist/resolution/core/resolver-core.d.ts +207 -0
- package/dist/resolution/core/shorthands-core.d.ts +144 -0
- package/dist/resolution/core/types-core.d.ts +167 -0
- package/dist/resolution/debugger.d.ts +183 -0
- package/dist/resolution/demo.d.ts +57 -0
- package/dist/resolution/enterprise/index.d.ts +22 -0
- package/dist/resolution/enterprise/metrics.d.ts +152 -0
- package/dist/resolution/enterprise/resolver-enterprise.d.ts +108 -0
- package/dist/resolution/examples.d.ts +486 -0
- package/dist/resolution/groups/experience-group.d.ts +197 -0
- package/dist/resolution/groups/index.d.ts +196 -0
- package/dist/resolution/groups/layout-group.d.ts +192 -0
- package/dist/resolution/groups/motion-group.d.ts +127 -0
- package/dist/resolution/groups/visual-group.d.ts +146 -0
- package/dist/resolution/index.d.ts +41 -0
- package/dist/resolution/intents/button-intents.d.ts +231 -0
- package/dist/resolution/intents/card-intents.d.ts +177 -0
- package/dist/resolution/intents/feedback-intents.d.ts +222 -0
- package/dist/resolution/intents/index.d.ts +189 -0
- package/dist/resolution/intents/input-intents.d.ts +231 -0
- package/dist/resolution/intents/mood-modifiers.d.ts +154 -0
- package/dist/resolution/performance.d.ts +264 -0
- package/dist/resolution/presets/button-presets.d.ts +243 -0
- package/dist/resolution/presets/card-presets.d.ts +216 -0
- package/dist/resolution/presets/data-display-presets.d.ts +290 -0
- package/dist/resolution/presets/feedback-presets.d.ts +335 -0
- package/dist/resolution/presets/form-presets.d.ts +308 -0
- package/dist/resolution/presets/index.d.ts +22 -0
- package/dist/resolution/presets/input-presets.d.ts +207 -0
- package/dist/resolution/presets/nav-presets.d.ts +235 -0
- package/dist/resolution/presets/overlay-presets.d.ts +216 -0
- package/dist/resolution/presets/preset-registry.d.ts +212 -0
- package/dist/resolution/resolveProps.d.ts +235 -0
- package/dist/resolution/shorthand/feel-mappings.d.ts +140 -0
- package/dist/resolution/shorthand/index.d.ts +172 -0
- package/dist/resolution/shorthand/look-mappings.d.ts +107 -0
- package/dist/resolution/shorthand/spacing-mappings.d.ts +164 -0
- package/dist/resolution/shorthand/surface-mappings.d.ts +139 -0
- package/dist/resolution/standard/groups-standard.d.ts +98 -0
- package/dist/resolution/standard/index.d.ts +28 -0
- package/dist/resolution/standard/intents-standard.d.ts +232 -0
- package/dist/resolution/standard/presets-standard.d.ts +123 -0
- package/dist/resolution/standard/resolver-standard.d.ts +204 -0
- package/dist/resolution/standard/shorthands-standard.d.ts +98 -0
- package/dist/resolution/standard/validators.d.ts +141 -0
- package/dist/resolution/types.d.ts +461 -0
- package/dist/resolution/validators/factor24-validator.d.ts +418 -0
- package/dist/resolution/validators/index.d.ts +14 -0
- package/dist/scripts/generate-react-library.d.ts +15 -0
- package/dist/scripts/write-react-library.d.ts +18 -0
- package/dist/storage/cloud-sync.d.ts +182 -0
- package/dist/storage/index.d.ts +69 -0
- package/dist/storage/local-storage.d.ts +131 -0
- package/dist/storage/section-storage.d.ts +191 -0
- package/dist/styling/StyleGenerator.d.ts +76 -0
- package/dist/styling/TokenStyleResolver.d.ts +163 -0
- package/dist/styling/factor-migration.d.ts +192 -0
- package/dist/styling/factor-validators.d.ts +327 -0
- package/dist/styling/factors-1-6.d.ts +674 -0
- package/dist/styling/factors-12-16.d.ts +700 -0
- package/dist/styling/factors-17-24.d.ts +668 -0
- package/dist/styling/factors-all.d.ts +348 -0
- package/dist/styling/factors.d.ts +291 -0
- package/dist/styling/index.d.ts +31 -0
- package/dist/styling/types.d.ts +400 -0
- package/dist/tokens/schema.d.ts +486 -0
- package/dist/types/Option.d.ts +178 -0
- package/dist/types/Result.d.ts +148 -0
- package/dist/types/algorithm-engine.types.d.ts +298 -0
- package/dist/types/granularity/base.types.d.ts +268 -0
- package/dist/types/granularity/config.types.d.ts +177 -0
- package/dist/types/granularity/factors.types.d.ts +194 -0
- package/dist/types/granularity/index.d.ts +57 -0
- package/dist/types/granularity/slot.types.d.ts +128 -0
- package/dist/types/granularity/template.types.d.ts +179 -0
- package/dist/types/granularity-levels/atom.config.d.ts +151 -0
- package/dist/types/granularity-levels/component.config.d.ts +175 -0
- package/dist/types/granularity-levels/index.d.ts +47 -0
- package/dist/types/granularity-levels/layout.config.d.ts +278 -0
- package/dist/types/granularity-levels/page.config.d.ts +210 -0
- package/dist/types/granularity-levels/section.config.d.ts +188 -0
- package/dist/types/granularity-levels/template.config.d.ts +340 -0
- package/dist/types/index.d.ts +152 -0
- package/dist/types/section-slot.types.d.ts +169 -0
- package/dist/types/section-storage.types.d.ts +298 -0
- package/dist/types/section-template.types.d.ts +170 -0
- package/dist/types/section.types.d.ts +326 -0
- package/dist/ui-studio/ComponentGenerator.d.ts +219 -0
- package/dist/ui-studio/composition/FactorPropagator.d.ts +268 -0
- package/dist/ui-studio/composition/PageGenerator.d.ts +176 -0
- package/dist/ui-studio/composition/SectionGenerator.d.ts +312 -0
- package/dist/ui-studio/composition/SlotResolver.d.ts +295 -0
- package/dist/ui-studio/composition/section-orchestrator.d.ts +306 -0
- package/dist/ui-studio/granularity/FactorCascade.d.ts +328 -0
- package/dist/ui-studio/granularity/GranularityGenerator.d.ts +266 -0
- package/dist/ui-studio/granularity/RecursiveGenerator.d.ts +328 -0
- package/dist/ui-studio/index.d.ts +94 -0
- package/dist/ui-studio/matrix/ClassMapper.d.ts +128 -0
- package/dist/ui-studio/matrix/MatrixResolver.d.ts +203 -0
- package/dist/ui-studio/matrix/types.d.ts +96 -0
- package/dist/ui-studio/presets/IndustryDetector.d.ts +183 -0
- package/dist/ui-studio/presets/component-registry.d.ts +213 -0
- package/dist/ui-studio/presets/factor-registry.d.ts +364 -0
- package/dist/ui-studio/presets/granularity-registry.d.ts +252 -0
- package/dist/ui-studio/presets/index.d.ts +32 -0
- package/dist/ui-studio/presets/industries.d.ts +143 -0
- package/dist/ui-studio/presets/layout-registry.d.ts +21 -0
- package/dist/ui-studio/presets/matrix-groups.d.ts +195 -0
- package/dist/ui-studio/presets/page-registry.d.ts +24 -0
- package/dist/ui-studio/presets/registry.constants.d.ts +69 -0
- package/dist/ui-studio/presets/registry.types.d.ts +166 -0
- package/dist/ui-studio/presets/section-defaults.d.ts +175 -0
- package/dist/ui-studio/presets/section-registry.d.ts +83 -0
- package/dist/ui-studio/presets/section-registry.defaults.d.ts +106 -0
- package/dist/ui-studio/presets/section-registry.helpers.d.ts +112 -0
- package/dist/ui-studio/presets/section-registry.types.d.ts +181 -0
- package/dist/ui-studio/presets/template-registry.d.ts +23 -0
- package/dist/ui-studio/presets/variants.d.ts +1038 -0
- package/dist/ui-studio/registries/components-registry.d.ts +193 -0
- package/dist/ui-studio/registries/design-systems-registry.d.ts +153 -0
- package/dist/ui-studio/registries/factors-registry.d.ts +145 -0
- package/dist/ui-studio/registries/tiers-registry.d.ts +150 -0
- package/dist/ui-studio/resolution/FactorResolver.d.ts +201 -0
- package/dist/ui-studio/templates/TestGenerator.d.ts +55 -0
- package/dist/ui-studio/templates/TierGenerator.d.ts +153 -0
- package/dist/ui-studio/templates/TypesGenerator.d.ts +51 -0
- package/dist/ui-studio/types/granularity/base.types.d.ts +268 -0
- package/dist/ui-studio/types/granularity/config.types.d.ts +177 -0
- package/dist/ui-studio/types/granularity/factors.types.d.ts +194 -0
- package/dist/ui-studio/types/granularity/index.d.ts +57 -0
- package/dist/ui-studio/types/granularity/slot.types.d.ts +128 -0
- package/dist/ui-studio/types/granularity/template.types.d.ts +179 -0
- package/dist/ui-studio/types/granularity-levels/atom.config.d.ts +151 -0
- package/dist/ui-studio/types/granularity-levels/component.config.d.ts +175 -0
- package/dist/ui-studio/types/granularity-levels/index.d.ts +47 -0
- package/dist/ui-studio/types/granularity-levels/layout.config.d.ts +278 -0
- package/dist/ui-studio/types/granularity-levels/page.config.d.ts +210 -0
- package/dist/ui-studio/types/granularity-levels/section.config.d.ts +188 -0
- package/dist/ui-studio/types/granularity-levels/template.config.d.ts +340 -0
- package/dist/ui-studio/types.d.ts +323 -0
- package/dist/utils/CodeUtils.d.ts +103 -0
- package/dist/utils/GenerateComponentValidator.d.ts +35 -0
- package/dist/utils/Logger.d.ts +101 -0
- package/dist/utils/StringUtils.d.ts +120 -0
- package/dist/utils/ValidationUtils.d.ts +71 -0
- package/dist/utils/errors/BaseError.d.ts +23 -0
- package/dist/utils/errors/GenerationError.d.ts +14 -0
- package/dist/utils/errors/TemplateNotFoundError.d.ts +13 -0
- package/dist/utils/errors/ValidationError.d.ts +13 -0
- package/dist/utils/errors/index.d.ts +12 -0
- package/dist/utils/factor-resolver.d.ts +294 -0
- package/dist/utils/granularity-helpers.d.ts +359 -0
- package/dist/utils/index.d.ts +20 -0
- package/dist/utils/performance.d.ts +26 -0
- package/dist/utils/stringify.d.ts +28 -0
- package/dist/validators/component-validator.d.ts +86 -0
- package/dist/validators/design-system-validator.d.ts +95 -0
- package/dist/validators/factor-validator.d.ts +101 -0
- package/dist/validators/index.d.ts +263 -0
- package/dist/validators/section-validator.d.ts +120 -0
- package/dist/validators/slot-validator.d.ts +161 -0
- package/dist/validators/tier-validator.d.ts +102 -0
- package/package.json +67 -0
- package/tests/16-factor-integration.test.d.ts +14 -0
- package/tests/16-factor-visual.test.d.ts +14 -0
- package/tests/5-level-integration.test.d.ts +14 -0
- package/tests/CodeUtils.test.d.ts +7 -0
- package/tests/DesignSystems.test.d.ts +7 -0
- package/tests/GenerateComponentValidator.test.d.ts +7 -0
- package/tests/Logger.test.d.ts +7 -0
- package/tests/StringUtils.test.d.ts +7 -0
- package/tests/StyleGenerator.test.d.ts +13 -0
- package/tests/Tiers.test.d.ts +7 -0
- package/tests/TokenRegistry.test.d.ts +14 -0
- package/tests/TokenStyleResolver.test.d.ts +13 -0
- package/tests/ValidationUtils.test.d.ts +7 -0
- package/tests/_pending_fix/Accordion.test.d.ts +13 -0
- package/tests/_pending_fix/Alert.test.d.ts +13 -0
- package/tests/_pending_fix/AlertDialog.test.d.ts +13 -0
- package/tests/_pending_fix/AspectRatio.test.d.ts +13 -0
- package/tests/_pending_fix/Autocomplete.test.d.ts +13 -0
- package/tests/_pending_fix/Avatar.test.d.ts +13 -0
- package/tests/_pending_fix/Badge.test.d.ts +13 -0
- package/tests/_pending_fix/Banner.test.d.ts +13 -0
- package/tests/_pending_fix/Box.test.d.ts +13 -0
- package/tests/_pending_fix/Breadcrumb.test.d.ts +13 -0
- package/tests/_pending_fix/Callout.test.d.ts +13 -0
- package/tests/_pending_fix/Card.test.d.ts +13 -0
- package/tests/_pending_fix/Center.test.d.ts +13 -0
- package/tests/_pending_fix/Checkbox.test.d.ts +13 -0
- package/tests/_pending_fix/Chip.test.d.ts +13 -0
- package/tests/_pending_fix/ColorPicker.test.d.ts +13 -0
- package/tests/_pending_fix/Combobox.test.d.ts +13 -0
- package/tests/_pending_fix/CommandPalette.test.d.ts +13 -0
- package/tests/_pending_fix/ConfirmationModal.test.d.ts +13 -0
- package/tests/_pending_fix/Container.test.d.ts +13 -0
- package/tests/_pending_fix/DataTable.test.d.ts +13 -0
- package/tests/_pending_fix/DatePicker.test.d.ts +13 -0
- package/tests/_pending_fix/DateRangePicker.test.d.ts +13 -0
- package/tests/_pending_fix/DateTimePicker.test.d.ts +13 -0
- package/tests/_pending_fix/Divider.test.d.ts +13 -0
- package/tests/_pending_fix/Drawer.test.d.ts +13 -0
- package/tests/_pending_fix/Dropdown.test.d.ts +13 -0
- package/tests/_pending_fix/EmptyState.test.d.ts +13 -0
- package/tests/_pending_fix/ErrorState.test.d.ts +13 -0
- package/tests/_pending_fix/FileDropzone.test.d.ts +13 -0
- package/tests/_pending_fix/FileUpload.test.d.ts +13 -0
- package/tests/_pending_fix/Flex.test.d.ts +13 -0
- package/tests/_pending_fix/Grid.test.d.ts +13 -0
- package/tests/_pending_fix/GridItem.test.d.ts +13 -0
- package/tests/_pending_fix/HStack.test.d.ts +13 -0
- package/tests/_pending_fix/Input.test.d.ts +13 -0
- package/tests/_pending_fix/InputCurrency.test.d.ts +13 -0
- package/tests/_pending_fix/InputGroup.test.d.ts +13 -0
- package/tests/_pending_fix/InputOTP.test.d.ts +13 -0
- package/tests/_pending_fix/InputPassword.test.d.ts +13 -0
- package/tests/_pending_fix/InputPhone.test.d.ts +13 -0
- package/tests/_pending_fix/InputSearch.test.d.ts +13 -0
- package/tests/_pending_fix/Link.test.d.ts +13 -0
- package/tests/_pending_fix/List.test.d.ts +13 -0
- package/tests/_pending_fix/LoadingOverlay.test.d.ts +13 -0
- package/tests/_pending_fix/Menu.test.d.ts +13 -0
- package/tests/_pending_fix/Modal.test.d.ts +13 -0
- package/tests/_pending_fix/MultiSelect.test.d.ts +13 -0
- package/tests/_pending_fix/NavGroup.test.d.ts +13 -0
- package/tests/_pending_fix/NavItem.test.d.ts +13 -0
- package/tests/_pending_fix/NavLink.test.d.ts +13 -0
- package/tests/_pending_fix/Navbar.test.d.ts +13 -0
- package/tests/_pending_fix/Notification.test.d.ts +13 -0
- package/tests/_pending_fix/NotificationBadge.test.d.ts +13 -0
- package/tests/_pending_fix/NumberInput.test.d.ts +13 -0
- package/tests/_pending_fix/Pagination.test.d.ts +13 -0
- package/tests/_pending_fix/Popover.test.d.ts +13 -0
- package/tests/_pending_fix/Progress.test.d.ts +13 -0
- package/tests/_pending_fix/ProgressCircle.test.d.ts +13 -0
- package/tests/_pending_fix/ProgressSteps.test.d.ts +13 -0
- package/tests/_pending_fix/Radio.test.d.ts +13 -0
- package/tests/_pending_fix/RangeSlider.test.d.ts +13 -0
- package/tests/_pending_fix/ResizablePanel.test.d.ts +13 -0
- package/tests/_pending_fix/ResultState.test.d.ts +13 -0
- package/tests/_pending_fix/ScrollArea.test.d.ts +13 -0
- package/tests/_pending_fix/Select.test.d.ts +14 -0
- package/tests/_pending_fix/Sheet.test.d.ts +13 -0
- package/tests/_pending_fix/Sidebar.test.d.ts +13 -0
- package/tests/_pending_fix/SimpleGrid.test.d.ts +13 -0
- package/tests/_pending_fix/Skeleton.test.d.ts +13 -0
- package/tests/_pending_fix/Slider.test.d.ts +13 -0
- package/tests/_pending_fix/Spacer.test.d.ts +13 -0
- package/tests/_pending_fix/Spinner.test.d.ts +13 -0
- package/tests/_pending_fix/Stack.test.d.ts +13 -0
- package/tests/_pending_fix/Stat.test.d.ts +13 -0
- package/tests/_pending_fix/Stepper.test.d.ts +14 -0
- package/tests/_pending_fix/Switch.test.d.ts +13 -0
- package/tests/_pending_fix/Table.test.d.ts +13 -0
- package/tests/_pending_fix/Tabs.test.d.ts +13 -0
- package/tests/_pending_fix/Textarea.test.d.ts +13 -0
- package/tests/_pending_fix/Timeline.test.d.ts +13 -0
- package/tests/_pending_fix/Toast.test.d.ts +14 -0
- package/tests/_pending_fix/Tooltip.test.d.ts +14 -0
- package/tests/_pending_fix/VStack.test.d.ts +13 -0
- package/tests/alert.test.d.ts +13 -0
- package/tests/badge.test.d.ts +13 -0
- package/tests/benchmarks/factor-resolution.bench.d.ts +41 -0
- package/tests/button.test.d.ts +16 -0
- package/tests/card.test.d.ts +19 -0
- package/tests/checkbox.test.d.ts +13 -0
- package/tests/component-16-factor-types.test.d.ts +13 -0
- package/tests/component-5level-integration.test.d.ts +14 -0
- package/tests/component-registry-ui.test.d.ts +13 -0
- package/tests/e2e/16-factor-visual.test.d.ts +14 -0
- package/tests/edge-cases.test.d.ts +14 -0
- package/tests/factor-17-24-integration.test.d.ts +14 -0
- package/tests/factor-17-24-performance.test.d.ts +14 -0
- package/tests/factor-validators.test.d.ts +13 -0
- package/tests/factors-1-6.test.d.ts +13 -0
- package/tests/factors-12-16.test.d.ts +13 -0
- package/tests/factors-17-24.test.d.ts +21 -0
- package/tests/factors-all.test.d.ts +13 -0
- package/tests/factors-registry.test.d.ts +11 -0
- package/tests/factors.test.d.ts +13 -0
- package/tests/granularity-types.test.d.ts +18 -0
- package/tests/groups.test.d.ts +14 -0
- package/tests/input.test.d.ts +16 -0
- package/tests/intents.test.d.ts +14 -0
- package/tests/memory-leak.test.d.ts +14 -0
- package/tests/modal.test.d.ts +19 -0
- package/tests/presets.test.d.ts +14 -0
- package/tests/radio.test.d.ts +13 -0
- package/tests/resolution-intents.test.d.ts +13 -0
- package/tests/resolution-presets.test.d.ts +13 -0
- package/tests/resolveProps.test.d.ts +14 -0
- package/tests/section-integration.test.d.ts +16 -0
- package/tests/section-types.test.d.ts +11 -0
- package/tests/setup.d.ts +13 -0
- package/tests/shorthands.test.d.ts +14 -0
- package/tests/switch.test.d.ts +13 -0
- package/tests/tabs.test.d.ts +13 -0
- package/tests/tiers-registry.test.d.ts +11 -0
- package/tests/useComponentStyles.test.d.ts +11 -0
- package/tests/useFactors.test.d.ts +13 -0
- package/tests/validators-invalid-input.test.d.ts +13 -0
- package/tsup.config.d.ts +11 -0
- package/vitest.config.d.ts +3 -0
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolution Orchestrator - Core Logic (A)
|
|
3
|
+
*
|
|
4
|
+
* Pure 5-level resolution without validation, debug, or defaults.
|
|
5
|
+
* Implements the priority system: Level 1 > Level 2 > Level 3 > Level 4 > Level 5
|
|
6
|
+
* Used by all tiers (basic, standard, enterprise).
|
|
7
|
+
*
|
|
8
|
+
* @composition Core = A (resolution only)
|
|
9
|
+
*
|
|
10
|
+
* @packageDocumentation
|
|
11
|
+
* @module resolution/core/resolver-core
|
|
12
|
+
* @since 3.0.0
|
|
13
|
+
*
|
|
14
|
+
* Powered by Nikkory
|
|
15
|
+
*/
|
|
16
|
+
import type { ShorthandPropsCore } from './shorthands-core';
|
|
17
|
+
import type { Factor24Config, MultiLevelProps, FactorGroups, SemanticIntent, SemanticMood } from './types-core';
|
|
18
|
+
/**
|
|
19
|
+
* Extract Level 1 (raw factors) from MultiLevelProps (core logic).
|
|
20
|
+
* No validation - assumes props are well-formed.
|
|
21
|
+
*
|
|
22
|
+
* @param props - The multi-level props
|
|
23
|
+
* @returns Partial Factor24Config with Level 1 factors
|
|
24
|
+
* @since 3.0.0
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const level1 = extractLevel1FactorsCore({
|
|
29
|
+
* size: 'lg',
|
|
30
|
+
* variant: 'filled',
|
|
31
|
+
* colorScheme: 'primary'
|
|
32
|
+
* });
|
|
33
|
+
* // { size: 'lg', variant: 'filled', colorScheme: 'primary' }
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function extractLevel1FactorsCore(props: MultiLevelProps): Partial<Factor24Config>;
|
|
37
|
+
/**
|
|
38
|
+
* Extract Level 2 (groups) from MultiLevelProps (core logic).
|
|
39
|
+
* No validation - assumes props are well-formed.
|
|
40
|
+
*
|
|
41
|
+
* @param props - The multi-level props
|
|
42
|
+
* @returns FactorGroups
|
|
43
|
+
* @since 3.0.0
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const level2 = extractLevel2GroupsCore({
|
|
48
|
+
* visual: { shape: 'lg', elevation: 'md' },
|
|
49
|
+
* motion: { animation: 'smooth' }
|
|
50
|
+
* });
|
|
51
|
+
* // { visual: { shape: 'lg', elevation: 'md' }, motion: { animation: 'smooth' } }
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare function extractLevel2GroupsCore(props: MultiLevelProps): FactorGroups;
|
|
55
|
+
/**
|
|
56
|
+
* Extract Level 3 (shorthands) from MultiLevelProps (core logic).
|
|
57
|
+
* No validation - assumes props are well-formed.
|
|
58
|
+
*
|
|
59
|
+
* @param props - The multi-level props
|
|
60
|
+
* @returns ShorthandPropsCore
|
|
61
|
+
* @since 3.0.0
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* const level3 = extractLevel3ShorthandsCore({
|
|
66
|
+
* look: 'bold',
|
|
67
|
+
* feel: 'snappy',
|
|
68
|
+
* surface: 'raised'
|
|
69
|
+
* });
|
|
70
|
+
* // { look: 'bold', feel: 'snappy', surface: 'raised' }
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export declare function extractLevel3ShorthandsCore(props: MultiLevelProps): ShorthandPropsCore;
|
|
74
|
+
/**
|
|
75
|
+
* Extract Level 4 (preset) from MultiLevelProps (core logic).
|
|
76
|
+
* No validation - assumes props are well-formed.
|
|
77
|
+
*
|
|
78
|
+
* @param props - The multi-level props
|
|
79
|
+
* @returns Preset ID or undefined
|
|
80
|
+
* @since 3.0.0
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* const level4 = extractLevel4PresetCore({ preset: 'button-primary' });
|
|
85
|
+
* // 'button-primary'
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
export declare function extractLevel4PresetCore(props: MultiLevelProps): string | undefined;
|
|
89
|
+
/**
|
|
90
|
+
* Extract Level 5 (intent + mood) from MultiLevelProps (core logic).
|
|
91
|
+
* No validation - assumes props are well-formed.
|
|
92
|
+
*
|
|
93
|
+
* @param props - The multi-level props
|
|
94
|
+
* @returns Object with intent and mood IDs
|
|
95
|
+
* @since 3.0.0
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```typescript
|
|
99
|
+
* const level5 = extractLevel5IntentCore({
|
|
100
|
+
* intent: 'cta',
|
|
101
|
+
* mood: 'professional'
|
|
102
|
+
* });
|
|
103
|
+
* // { intent: 'cta', mood: 'professional' }
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export declare function extractLevel5IntentCore(props: MultiLevelProps): {
|
|
107
|
+
intent?: SemanticIntent;
|
|
108
|
+
mood?: SemanticMood;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Merge multiple Factor24Configs (core logic).
|
|
112
|
+
* Later configs override earlier ones.
|
|
113
|
+
* No validation.
|
|
114
|
+
*
|
|
115
|
+
* @param configs - Configs to merge in priority order (lowest to highest)
|
|
116
|
+
* @returns Merged configuration
|
|
117
|
+
* @since 3.0.0
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```typescript
|
|
121
|
+
* const merged = mergeConfigsCore(
|
|
122
|
+
* { variant: 'filled', size: 'md' },
|
|
123
|
+
* { size: 'lg', colorScheme: 'primary' }
|
|
124
|
+
* );
|
|
125
|
+
* // { variant: 'filled', size: 'lg', colorScheme: 'primary' }
|
|
126
|
+
* // size from second config overrides first
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
export declare function mergeConfigsCore(...configs: Array<Partial<Factor24Config>>): Partial<Factor24Config>;
|
|
130
|
+
/**
|
|
131
|
+
* Resolve MultiLevelProps to Factor24Config (core logic).
|
|
132
|
+
*
|
|
133
|
+
* Implements 5-level priority system:
|
|
134
|
+
* - Level 1 (raw factors): HIGHEST priority
|
|
135
|
+
* - Level 2 (groups): High priority
|
|
136
|
+
* - Level 3 (shorthands): Medium priority
|
|
137
|
+
* - Level 4 (presets): Low priority
|
|
138
|
+
* - Level 5 (intents+moods): LOWEST priority
|
|
139
|
+
*
|
|
140
|
+
* No validation - assumes all inputs are well-formed.
|
|
141
|
+
* No debug info - pure resolution only.
|
|
142
|
+
* No defaults - returns only what was specified.
|
|
143
|
+
*
|
|
144
|
+
* @param props - MultiLevelProps to resolve
|
|
145
|
+
* @returns Resolved Partial Factor24Config
|
|
146
|
+
* @since 3.0.0
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* ```typescript
|
|
150
|
+
* // Using Level 5 (Intent + Mood)
|
|
151
|
+
* const config1 = resolvePropsCore({
|
|
152
|
+
* intent: 'cta',
|
|
153
|
+
* mood: 'professional'
|
|
154
|
+
* });
|
|
155
|
+
*
|
|
156
|
+
* // Using Level 3 (Shorthands) with Level 1 override
|
|
157
|
+
* const config2 = resolvePropsCore({
|
|
158
|
+
* look: 'bold',
|
|
159
|
+
* feel: 'snappy',
|
|
160
|
+
* size: 'lg' // Level 1 overrides shorthand
|
|
161
|
+
* });
|
|
162
|
+
*
|
|
163
|
+
* // Mixing all levels
|
|
164
|
+
* const config3 = resolvePropsCore({
|
|
165
|
+
* intent: 'primary', // Level 5 (lowest priority)
|
|
166
|
+
* preset: 'button-cta', // Level 4
|
|
167
|
+
* look: 'elevated', // Level 3
|
|
168
|
+
* visual: { shape: 'lg' }, // Level 2
|
|
169
|
+
* colorScheme: 'secondary', // Level 1 (highest priority, overrides all)
|
|
170
|
+
* });
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
export declare function resolvePropsCore(props: MultiLevelProps): Partial<Factor24Config>;
|
|
174
|
+
/**
|
|
175
|
+
* Detect which levels are present in MultiLevelProps (core logic).
|
|
176
|
+
* No validation.
|
|
177
|
+
*
|
|
178
|
+
* @param props - The multi-level props to analyze
|
|
179
|
+
* @returns Object indicating which levels are present
|
|
180
|
+
* @since 3.0.0
|
|
181
|
+
*
|
|
182
|
+
* @example
|
|
183
|
+
* ```typescript
|
|
184
|
+
* const detected = detectLevelsCore({
|
|
185
|
+
* intent: 'cta',
|
|
186
|
+
* look: 'bold',
|
|
187
|
+
* size: 'lg'
|
|
188
|
+
* });
|
|
189
|
+
* // {
|
|
190
|
+
* // hasLevel5: true,
|
|
191
|
+
* // hasLevel4: false,
|
|
192
|
+
* // hasLevel3: true,
|
|
193
|
+
* // hasLevel2: false,
|
|
194
|
+
* // hasLevel1: true,
|
|
195
|
+
* // levels: [5, 3, 1]
|
|
196
|
+
* // }
|
|
197
|
+
* ```
|
|
198
|
+
*/
|
|
199
|
+
export declare function detectLevelsCore(props: MultiLevelProps): {
|
|
200
|
+
hasLevel5: boolean;
|
|
201
|
+
hasLevel4: boolean;
|
|
202
|
+
hasLevel3: boolean;
|
|
203
|
+
hasLevel2: boolean;
|
|
204
|
+
hasLevel1: boolean;
|
|
205
|
+
levels: number[];
|
|
206
|
+
};
|
|
207
|
+
//# sourceMappingURL=resolver-core.d.ts.map
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shorthands Resolution - Core Logic (A)
|
|
3
|
+
*
|
|
4
|
+
* Pure shorthand expansion without validation.
|
|
5
|
+
* Used by all tiers (basic, standard, enterprise).
|
|
6
|
+
*
|
|
7
|
+
* @composition Core = A (resolution only)
|
|
8
|
+
*
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
* @module resolution/core/shorthands-core
|
|
11
|
+
* @since 3.0.0
|
|
12
|
+
*
|
|
13
|
+
* Powered by Nikkory
|
|
14
|
+
*/
|
|
15
|
+
import type { Factor24Config, LookShorthand, FeelShorthand, SurfaceShorthand, SpacingShorthand } from '../types';
|
|
16
|
+
/**
|
|
17
|
+
* Look shorthand to Factor24Config mappings (core).
|
|
18
|
+
*
|
|
19
|
+
* @since 3.0.0
|
|
20
|
+
*/
|
|
21
|
+
export declare const LOOK_MAPPINGS_CORE: Record<LookShorthand, Partial<Factor24Config>>;
|
|
22
|
+
/**
|
|
23
|
+
* Expand look shorthand to Factor24Config (core logic).
|
|
24
|
+
* No validation - assumes input is well-formed.
|
|
25
|
+
*
|
|
26
|
+
* @param look - The look shorthand value
|
|
27
|
+
* @returns Partial Factor24Config with look-related factors
|
|
28
|
+
* @since 3.0.0
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const config = expandLookCore('bold');
|
|
33
|
+
* // { variant: 'filled', elevation: 'md', opacity: 'full', ... }
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function expandLookCore(look: LookShorthand): Partial<Factor24Config>;
|
|
37
|
+
/**
|
|
38
|
+
* Feel shorthand to Factor24Config mappings (core).
|
|
39
|
+
*
|
|
40
|
+
* @since 3.0.0
|
|
41
|
+
*/
|
|
42
|
+
export declare const FEEL_MAPPINGS_CORE: Record<FeelShorthand, Partial<Factor24Config>>;
|
|
43
|
+
/**
|
|
44
|
+
* Expand feel shorthand to Factor24Config (core logic).
|
|
45
|
+
* No validation - assumes input is well-formed.
|
|
46
|
+
*
|
|
47
|
+
* @param feel - The feel shorthand value
|
|
48
|
+
* @returns Partial Factor24Config with feel-related factors
|
|
49
|
+
* @since 3.0.0
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* const config = expandFeelCore('snappy');
|
|
54
|
+
* // { animation: 'standard', transition: 'fast', cursor: 'pointer' }
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare function expandFeelCore(feel: FeelShorthand): Partial<Factor24Config>;
|
|
58
|
+
/**
|
|
59
|
+
* Surface shorthand to Factor24Config mappings (core).
|
|
60
|
+
*
|
|
61
|
+
* @since 3.0.0
|
|
62
|
+
*/
|
|
63
|
+
export declare const SURFACE_MAPPINGS_CORE: Record<SurfaceShorthand, Partial<Factor24Config>>;
|
|
64
|
+
/**
|
|
65
|
+
* Expand surface shorthand to Factor24Config (core logic).
|
|
66
|
+
* No validation - assumes input is well-formed.
|
|
67
|
+
*
|
|
68
|
+
* @param surface - The surface shorthand value
|
|
69
|
+
* @returns Partial Factor24Config with surface-related factors
|
|
70
|
+
* @since 3.0.0
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* const config = expandSurfaceCore('raised');
|
|
75
|
+
* // { elevation: 'sm', border: 'none', zIndex: 'raised' }
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export declare function expandSurfaceCore(surface: SurfaceShorthand): Partial<Factor24Config>;
|
|
79
|
+
/**
|
|
80
|
+
* Spacing shorthand to Factor24Config mappings (core).
|
|
81
|
+
*
|
|
82
|
+
* @since 3.0.0
|
|
83
|
+
*/
|
|
84
|
+
export declare const SPACING_MAPPINGS_CORE: Record<SpacingShorthand, Partial<Factor24Config>>;
|
|
85
|
+
/**
|
|
86
|
+
* Expand spacing shorthand to Factor24Config (core logic).
|
|
87
|
+
* No validation - assumes input is well-formed.
|
|
88
|
+
*
|
|
89
|
+
* @param spacing - The spacing shorthand value
|
|
90
|
+
* @returns Partial Factor24Config with spacing-related factors
|
|
91
|
+
* @since 3.0.0
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```typescript
|
|
95
|
+
* const config = expandSpacingShorthandCore('normal');
|
|
96
|
+
* // { spacing: 'normal', density: 'normal' }
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
export declare function expandSpacingShorthandCore(spacing: SpacingShorthand): Partial<Factor24Config>;
|
|
100
|
+
/**
|
|
101
|
+
* Shorthand props interface (core).
|
|
102
|
+
*
|
|
103
|
+
* @since 3.0.0
|
|
104
|
+
*/
|
|
105
|
+
export interface ShorthandPropsCore {
|
|
106
|
+
/** Visual appearance shorthand */
|
|
107
|
+
look?: LookShorthand;
|
|
108
|
+
/** Interaction feel shorthand */
|
|
109
|
+
feel?: FeelShorthand;
|
|
110
|
+
/** Surface/elevation shorthand */
|
|
111
|
+
surface?: SurfaceShorthand;
|
|
112
|
+
/** Spacing shorthand */
|
|
113
|
+
spacingPreset?: SpacingShorthand;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Expand all shorthands to Factor24Config (core logic).
|
|
117
|
+
* Merges all shorthand configurations. Later shorthands override earlier ones.
|
|
118
|
+
* No validation - assumes input is well-formed.
|
|
119
|
+
*
|
|
120
|
+
* @param shorthands - The shorthand props to expand
|
|
121
|
+
* @returns Partial Factor24Config with all shorthand factors
|
|
122
|
+
* @since 3.0.0
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```typescript
|
|
126
|
+
* const config = expandShorthandsCore({
|
|
127
|
+
* look: 'bold',
|
|
128
|
+
* feel: 'snappy',
|
|
129
|
+
* surface: 'raised',
|
|
130
|
+
* spacingPreset: 'normal',
|
|
131
|
+
* });
|
|
132
|
+
* // {
|
|
133
|
+
* // variant: 'filled',
|
|
134
|
+
* // elevation: 'sm', // 'raised' overrides 'bold'
|
|
135
|
+
* // animation: 'standard',
|
|
136
|
+
* // transition: 'fast',
|
|
137
|
+
* // spacing: 'normal',
|
|
138
|
+
* // density: 'normal',
|
|
139
|
+
* // ...
|
|
140
|
+
* // }
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
export declare function expandShorthandsCore(shorthands: ShorthandPropsCore): Partial<Factor24Config>;
|
|
144
|
+
//# sourceMappingURL=shorthands-core.d.ts.map
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core Resolution Types
|
|
3
|
+
*
|
|
4
|
+
* Shared types for all tier levels (basic, standard, enterprise).
|
|
5
|
+
* Single source of truth for resolution type definitions.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* @module resolution/core/types-core
|
|
9
|
+
* @since 3.0.0
|
|
10
|
+
*
|
|
11
|
+
* Powered by Nikkory
|
|
12
|
+
*/
|
|
13
|
+
import type { Factor24Config, MultiLevelProps } from '../types';
|
|
14
|
+
export type { Factor24Config, MultiLevelProps, SemanticIntent, SemanticMood, IntentDefinition, MoodModifierDefinition, PresetCategory, PresetDefinition, LookShorthand, FeelShorthand, SurfaceShorthand, SpacingShorthand, ShorthandMappings, VisualGroup, MotionGroup, LayoutGroup, ExperienceGroup, FactorGroups, FactorShape, FactorPosition, FactorIconPosition, FactorState, FactorAnimation, FactorElevation, FactorA11y, FactorAlignment, FactorOrientation, FactorDensity, FactorLoadingState, FactorResponsiveConfig, FactorTheme, FactorSpacing, FactorTypography, FactorBorder, FactorOpacity, FactorOverflow, FactorCursor, FactorZIndex, FactorTransition, ComponentSize, ColorScheme, } from '../types';
|
|
15
|
+
/**
|
|
16
|
+
* Core Resolution Result
|
|
17
|
+
*
|
|
18
|
+
* Minimal result from core resolution logic (Pattern A).
|
|
19
|
+
* No validation, no metrics, just the resolved configuration.
|
|
20
|
+
*
|
|
21
|
+
* @since 3.0.0
|
|
22
|
+
*/
|
|
23
|
+
export interface ResolutionCoreResult {
|
|
24
|
+
/** Resolved 24-factor configuration */
|
|
25
|
+
readonly config: Factor24Config;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Standard Resolution Result
|
|
29
|
+
*
|
|
30
|
+
* Extends core result with validation and error handling (Pattern A+a).
|
|
31
|
+
* Includes detailed error messages and warnings.
|
|
32
|
+
*
|
|
33
|
+
* @since 3.0.0
|
|
34
|
+
*/
|
|
35
|
+
export interface ResolutionStandardResult extends ResolutionCoreResult {
|
|
36
|
+
/** Whether the resolution was valid */
|
|
37
|
+
readonly valid: boolean;
|
|
38
|
+
/** Array of validation error messages */
|
|
39
|
+
readonly errors: string[];
|
|
40
|
+
/** Optional warning messages (non-blocking) */
|
|
41
|
+
readonly warnings?: string[];
|
|
42
|
+
/** Original input props (for debugging) */
|
|
43
|
+
readonly originalProps?: MultiLevelProps;
|
|
44
|
+
/** Normalized input props (after preprocessing) */
|
|
45
|
+
readonly normalizedProps?: MultiLevelProps;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Enterprise Resolution Result
|
|
49
|
+
*
|
|
50
|
+
* Extends standard result with performance metrics and debugging (Pattern A+a+b).
|
|
51
|
+
* Includes profiling data and optional debug traces.
|
|
52
|
+
*
|
|
53
|
+
* @since 3.0.0
|
|
54
|
+
*/
|
|
55
|
+
export interface ResolutionEnterpriseResult extends ResolutionStandardResult {
|
|
56
|
+
/** Performance metrics for this resolution */
|
|
57
|
+
readonly metrics: ResolutionMetrics;
|
|
58
|
+
/** Optional debug trace (if debug mode enabled) */
|
|
59
|
+
readonly debug?: DebugTrace;
|
|
60
|
+
/** Whether this result came from cache */
|
|
61
|
+
readonly cacheHit?: boolean;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Performance Metrics
|
|
65
|
+
*
|
|
66
|
+
* Tracking data for resolution performance.
|
|
67
|
+
*
|
|
68
|
+
* @since 3.0.0
|
|
69
|
+
*/
|
|
70
|
+
export interface ResolutionMetrics {
|
|
71
|
+
/** Start timestamp (performance.now()) */
|
|
72
|
+
readonly startTime: number;
|
|
73
|
+
/** End timestamp (performance.now()) */
|
|
74
|
+
readonly endTime: number;
|
|
75
|
+
/** Duration in milliseconds */
|
|
76
|
+
readonly durationMs: number;
|
|
77
|
+
/** Which levels were resolved (1-5) */
|
|
78
|
+
readonly levelsResolved: number[];
|
|
79
|
+
/** Cache size (if caching enabled) */
|
|
80
|
+
readonly cacheSize?: number;
|
|
81
|
+
/** Number of factor overwrites */
|
|
82
|
+
readonly factorOverwrites?: number;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Debug Trace
|
|
86
|
+
*
|
|
87
|
+
* Step-by-step resolution log for debugging.
|
|
88
|
+
*
|
|
89
|
+
* @since 3.0.0
|
|
90
|
+
*/
|
|
91
|
+
export interface DebugTrace {
|
|
92
|
+
/** Array of resolution steps */
|
|
93
|
+
readonly steps: DebugStep[];
|
|
94
|
+
/** Final resolved configuration */
|
|
95
|
+
readonly finalConfig: Factor24Config;
|
|
96
|
+
/** Intermediate configs at each level */
|
|
97
|
+
readonly levelConfigs?: Record<number, Partial<Factor24Config>>;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Debug Step
|
|
101
|
+
*
|
|
102
|
+
* Single step in the resolution trace.
|
|
103
|
+
*
|
|
104
|
+
* @since 3.0.0
|
|
105
|
+
*/
|
|
106
|
+
export interface DebugStep {
|
|
107
|
+
/** Resolution level (1-5) */
|
|
108
|
+
readonly level: number;
|
|
109
|
+
/** Action performed */
|
|
110
|
+
readonly action: string;
|
|
111
|
+
/** Input to this step */
|
|
112
|
+
readonly input: unknown;
|
|
113
|
+
/** Output from this step */
|
|
114
|
+
readonly output: unknown;
|
|
115
|
+
/** Timestamp when step occurred */
|
|
116
|
+
readonly timestamp: number;
|
|
117
|
+
/** Optional description */
|
|
118
|
+
readonly description?: string;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Resolution Options (Core)
|
|
122
|
+
*
|
|
123
|
+
* Basic options for core resolution.
|
|
124
|
+
*
|
|
125
|
+
* @since 3.0.0
|
|
126
|
+
*/
|
|
127
|
+
export interface ResolutionCoreOptions {
|
|
128
|
+
/** Allow partial resolution (missing required factors) */
|
|
129
|
+
allowPartial?: boolean;
|
|
130
|
+
/** Default values to use for missing factors */
|
|
131
|
+
defaults?: Partial<Factor24Config>;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Resolution Options (Standard)
|
|
135
|
+
*
|
|
136
|
+
* Options for standard resolution with validation.
|
|
137
|
+
*
|
|
138
|
+
* @since 3.0.0
|
|
139
|
+
*/
|
|
140
|
+
export interface ResolutionStandardOptions extends ResolutionCoreOptions {
|
|
141
|
+
/** Enable strict validation */
|
|
142
|
+
strict?: boolean;
|
|
143
|
+
/** Stop on first error */
|
|
144
|
+
failFast?: boolean;
|
|
145
|
+
/** Include warnings in result */
|
|
146
|
+
includeWarnings?: boolean;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Resolution Options (Enterprise)
|
|
150
|
+
*
|
|
151
|
+
* Options for enterprise resolution with metrics and debugging.
|
|
152
|
+
*
|
|
153
|
+
* @since 3.0.0
|
|
154
|
+
*/
|
|
155
|
+
export interface ResolutionEnterpriseOptions extends ResolutionStandardOptions {
|
|
156
|
+
/** Enable debug mode (detailed trace) */
|
|
157
|
+
debug?: boolean;
|
|
158
|
+
/** Enable performance profiling */
|
|
159
|
+
profile?: boolean;
|
|
160
|
+
/** Analytics event name (for tracking) */
|
|
161
|
+
analyticsEvent?: string;
|
|
162
|
+
/** Enable caching */
|
|
163
|
+
cache?: boolean;
|
|
164
|
+
/** Custom cache key */
|
|
165
|
+
cacheKey?: string;
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=types-core.d.ts.map
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolution Debugger - Debug Utilities for Resolution Pipeline
|
|
3
|
+
*
|
|
4
|
+
* Provides tools to inspect, trace, and debug the resolution process.
|
|
5
|
+
* Useful for understanding how props are transformed at each level.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* @module resolution/debugger
|
|
9
|
+
* @since 2.1.0
|
|
10
|
+
*
|
|
11
|
+
* Powered by Nikkory
|
|
12
|
+
*/
|
|
13
|
+
import type { MultiLevelProps, Factor24Config, ResolutionResult } from './types';
|
|
14
|
+
/**
|
|
15
|
+
* Debug step in the resolution process.
|
|
16
|
+
*
|
|
17
|
+
* @since 2.1.0
|
|
18
|
+
*/
|
|
19
|
+
export interface DebugStep {
|
|
20
|
+
/** Step number */
|
|
21
|
+
step: number;
|
|
22
|
+
/** Level being processed */
|
|
23
|
+
level: 1 | 2 | 3 | 4 | 5;
|
|
24
|
+
/** Description of what happened */
|
|
25
|
+
description: string;
|
|
26
|
+
/** Input at this step */
|
|
27
|
+
input: unknown;
|
|
28
|
+
/** Output from this step */
|
|
29
|
+
output: Partial<Factor24Config>;
|
|
30
|
+
/** Duration in microseconds */
|
|
31
|
+
duration: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Complete debug trace of resolution.
|
|
35
|
+
*
|
|
36
|
+
* @since 2.1.0
|
|
37
|
+
*/
|
|
38
|
+
export interface DebugTrace {
|
|
39
|
+
/** Original input props */
|
|
40
|
+
input: MultiLevelProps;
|
|
41
|
+
/** Final resolved config */
|
|
42
|
+
output: Partial<Factor24Config>;
|
|
43
|
+
/** All resolution steps */
|
|
44
|
+
steps: DebugStep[];
|
|
45
|
+
/** Total duration in microseconds */
|
|
46
|
+
totalDuration: number;
|
|
47
|
+
/** Detected levels */
|
|
48
|
+
levels: {
|
|
49
|
+
hasLevel5: boolean;
|
|
50
|
+
hasLevel4: boolean;
|
|
51
|
+
hasLevel3: boolean;
|
|
52
|
+
hasLevel2: boolean;
|
|
53
|
+
hasLevel1: boolean;
|
|
54
|
+
};
|
|
55
|
+
/** Validation errors if any */
|
|
56
|
+
validationErrors: string[];
|
|
57
|
+
/** Source of each factor value */
|
|
58
|
+
factorSources: Record<string, string>;
|
|
59
|
+
/** Warnings */
|
|
60
|
+
warnings: string[];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Factor change tracking.
|
|
64
|
+
*
|
|
65
|
+
* @since 2.1.0
|
|
66
|
+
*/
|
|
67
|
+
export interface FactorChange {
|
|
68
|
+
/** Factor name */
|
|
69
|
+
factor: keyof Factor24Config;
|
|
70
|
+
/** Previous value */
|
|
71
|
+
previousValue: unknown;
|
|
72
|
+
/** New value */
|
|
73
|
+
newValue: unknown;
|
|
74
|
+
/** Source level */
|
|
75
|
+
source: string;
|
|
76
|
+
/** Was it an override */
|
|
77
|
+
isOverride: boolean;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Create a detailed debug trace of the resolution process.
|
|
81
|
+
*
|
|
82
|
+
* @param props - Input props to trace
|
|
83
|
+
* @returns Complete debug trace
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* const trace = createDebugTrace({
|
|
88
|
+
* intent: 'cta',
|
|
89
|
+
* look: 'bold',
|
|
90
|
+
* shape: 'pill',
|
|
91
|
+
* });
|
|
92
|
+
* console.log(trace.steps);
|
|
93
|
+
* console.log(trace.factorSources);
|
|
94
|
+
* ```
|
|
95
|
+
*
|
|
96
|
+
* @since 2.1.0
|
|
97
|
+
*/
|
|
98
|
+
export declare function createDebugTrace(props: MultiLevelProps): DebugTrace;
|
|
99
|
+
/**
|
|
100
|
+
* Format debug trace for console output.
|
|
101
|
+
*
|
|
102
|
+
* @param trace - Debug trace to format
|
|
103
|
+
* @returns Formatted string
|
|
104
|
+
*
|
|
105
|
+
* @since 2.1.0
|
|
106
|
+
*/
|
|
107
|
+
export declare function formatDebugTrace(trace: DebugTrace): string;
|
|
108
|
+
/**
|
|
109
|
+
* Track factor changes between two configs.
|
|
110
|
+
*
|
|
111
|
+
* @param before - Config before
|
|
112
|
+
* @param after - Config after
|
|
113
|
+
* @param source - Source of changes
|
|
114
|
+
* @returns List of changes
|
|
115
|
+
*
|
|
116
|
+
* @since 2.1.0
|
|
117
|
+
*/
|
|
118
|
+
export declare function trackFactorChanges(before: Partial<Factor24Config>, after: Partial<Factor24Config>, source: string): FactorChange[];
|
|
119
|
+
/**
|
|
120
|
+
* Create a diff between two configs.
|
|
121
|
+
*
|
|
122
|
+
* @param config1 - First config
|
|
123
|
+
* @param config2 - Second config
|
|
124
|
+
* @returns Diff object
|
|
125
|
+
*
|
|
126
|
+
* @since 2.1.0
|
|
127
|
+
*/
|
|
128
|
+
export declare function diffConfigs(config1: Partial<Factor24Config>, config2: Partial<Factor24Config>): {
|
|
129
|
+
added: Partial<Factor24Config>;
|
|
130
|
+
removed: Partial<Factor24Config>;
|
|
131
|
+
changed: Array<{
|
|
132
|
+
factor: keyof Factor24Config;
|
|
133
|
+
from: unknown;
|
|
134
|
+
to: unknown;
|
|
135
|
+
}>;
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Assert that a resolution produces expected output.
|
|
139
|
+
*
|
|
140
|
+
* @param props - Input props
|
|
141
|
+
* @param expected - Expected output factors
|
|
142
|
+
* @throws Error if assertion fails
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* ```typescript
|
|
146
|
+
* assertResolution(
|
|
147
|
+
* { intent: 'cta' },
|
|
148
|
+
* { variant: 'filled', colorScheme: 'primary' }
|
|
149
|
+
* );
|
|
150
|
+
* ```
|
|
151
|
+
*
|
|
152
|
+
* @since 2.1.0
|
|
153
|
+
*/
|
|
154
|
+
export declare function assertResolution(props: MultiLevelProps, expected: Partial<Factor24Config>): void;
|
|
155
|
+
/**
|
|
156
|
+
* Debug logger for resolution.
|
|
157
|
+
*
|
|
158
|
+
* @since 2.1.0
|
|
159
|
+
*/
|
|
160
|
+
export declare const debugLogger: {
|
|
161
|
+
/**
|
|
162
|
+
* Enable/disable debug logging
|
|
163
|
+
*/
|
|
164
|
+
enabled: boolean;
|
|
165
|
+
/**
|
|
166
|
+
* Log a debug message
|
|
167
|
+
*/
|
|
168
|
+
log: (message: string, data?: unknown) => void;
|
|
169
|
+
/**
|
|
170
|
+
* Log a step in the resolution process
|
|
171
|
+
*/
|
|
172
|
+
step: (level: number, description: string, input: unknown, output: unknown) => void;
|
|
173
|
+
/**
|
|
174
|
+
* Log a warning
|
|
175
|
+
*/
|
|
176
|
+
warn: (message: string) => void;
|
|
177
|
+
/**
|
|
178
|
+
* Log an error
|
|
179
|
+
*/
|
|
180
|
+
error: (message: string, error?: unknown) => void;
|
|
181
|
+
};
|
|
182
|
+
export type { ResolutionResult };
|
|
183
|
+
//# sourceMappingURL=debugger.d.ts.map
|