@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,235 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolution Engine - 5-Level Abstraction API
|
|
3
|
+
*
|
|
4
|
+
* Main resolution function that converts MultiLevelProps to Factor24Config.
|
|
5
|
+
* Implements the 5-level priority system:
|
|
6
|
+
*
|
|
7
|
+
* Priority: Level 1 (raw) > Level 2 (groups) > Level 3 (shorthand) > Level 4 (preset) > Level 5 (intent)
|
|
8
|
+
*
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
* @module resolution/resolveProps
|
|
11
|
+
* @since 2.1.0
|
|
12
|
+
*
|
|
13
|
+
* Powered by Nikkory
|
|
14
|
+
*/
|
|
15
|
+
import { type ShorthandProps } from './shorthand';
|
|
16
|
+
import type { Factor24Config, MultiLevelProps, ResolutionResult, SemanticIntent, SemanticMood, IntentDefinition, MoodModifierDefinition, PresetDefinition } from './types';
|
|
17
|
+
/**
|
|
18
|
+
* Built-in intent definitions.
|
|
19
|
+
*
|
|
20
|
+
* @since 2.1.0
|
|
21
|
+
*/
|
|
22
|
+
export declare const INTENT_DEFINITIONS: Record<SemanticIntent, IntentDefinition>;
|
|
23
|
+
/**
|
|
24
|
+
* Built-in mood modifier definitions.
|
|
25
|
+
*
|
|
26
|
+
* @since 2.1.0
|
|
27
|
+
*/
|
|
28
|
+
export declare const MOOD_DEFINITIONS: Record<SemanticMood, MoodModifierDefinition>;
|
|
29
|
+
/**
|
|
30
|
+
* Register a preset.
|
|
31
|
+
*
|
|
32
|
+
* @param preset - The preset to register
|
|
33
|
+
* @since 2.1.0
|
|
34
|
+
*/
|
|
35
|
+
export declare function registerPreset(preset: PresetDefinition): void;
|
|
36
|
+
/**
|
|
37
|
+
* Get a preset by ID.
|
|
38
|
+
*
|
|
39
|
+
* @param id - The preset ID
|
|
40
|
+
* @returns The preset or undefined
|
|
41
|
+
* @since 2.1.0
|
|
42
|
+
*/
|
|
43
|
+
export declare function getPreset(id: string): PresetDefinition | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Check if a preset exists.
|
|
46
|
+
*
|
|
47
|
+
* @param id - The preset ID
|
|
48
|
+
* @returns True if the preset exists
|
|
49
|
+
* @since 2.1.0
|
|
50
|
+
*/
|
|
51
|
+
export declare function hasPreset(id: string): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Get all registered presets.
|
|
54
|
+
*
|
|
55
|
+
* @returns Map of all presets
|
|
56
|
+
* @since 2.1.0
|
|
57
|
+
*/
|
|
58
|
+
export declare function getAllPresets(): Map<string, PresetDefinition>;
|
|
59
|
+
/**
|
|
60
|
+
* Clear all registered presets.
|
|
61
|
+
*
|
|
62
|
+
* @since 2.1.0
|
|
63
|
+
*/
|
|
64
|
+
export declare function clearPresets(): void;
|
|
65
|
+
/**
|
|
66
|
+
* Detect which levels are present in MultiLevelProps.
|
|
67
|
+
*
|
|
68
|
+
* @param props - The multi-level props to analyze
|
|
69
|
+
* @returns Object indicating which levels are present
|
|
70
|
+
* @since 2.1.0
|
|
71
|
+
*/
|
|
72
|
+
export declare function detectLevels(props: MultiLevelProps): {
|
|
73
|
+
hasLevel5: boolean;
|
|
74
|
+
hasLevel4: boolean;
|
|
75
|
+
hasLevel3: boolean;
|
|
76
|
+
hasLevel2: boolean;
|
|
77
|
+
hasLevel1: boolean;
|
|
78
|
+
levels: number[];
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Validation result for resolution.
|
|
82
|
+
*
|
|
83
|
+
* @since 2.1.0
|
|
84
|
+
*/
|
|
85
|
+
export interface ResolutionValidationResult {
|
|
86
|
+
/** Overall validation status */
|
|
87
|
+
valid: boolean;
|
|
88
|
+
/** Errors */
|
|
89
|
+
errors: string[];
|
|
90
|
+
/** Warnings (non-blocking) */
|
|
91
|
+
warnings: string[];
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Validate MultiLevelProps before resolution.
|
|
95
|
+
*
|
|
96
|
+
* @param props - The props to validate
|
|
97
|
+
* @returns Validation result
|
|
98
|
+
* @since 2.1.0
|
|
99
|
+
*/
|
|
100
|
+
export declare function validateMultiLevelProps(props: MultiLevelProps): ResolutionValidationResult;
|
|
101
|
+
/**
|
|
102
|
+
* Options for the resolution process.
|
|
103
|
+
*
|
|
104
|
+
* @since 2.1.0
|
|
105
|
+
*/
|
|
106
|
+
export interface ResolutionOptions {
|
|
107
|
+
/** Whether to include debug information */
|
|
108
|
+
debug?: boolean;
|
|
109
|
+
/** Whether to validate props before resolution */
|
|
110
|
+
validate?: boolean;
|
|
111
|
+
/** Whether to apply defaults for missing factors */
|
|
112
|
+
applyDefaults?: boolean;
|
|
113
|
+
/** Custom preset registry */
|
|
114
|
+
presets?: Map<string, PresetDefinition>;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Default resolution options.
|
|
118
|
+
*
|
|
119
|
+
* @since 2.1.0
|
|
120
|
+
*/
|
|
121
|
+
export declare const DEFAULT_RESOLUTION_OPTIONS: Required<ResolutionOptions>;
|
|
122
|
+
/**
|
|
123
|
+
* Resolve MultiLevelProps to Factor24Config.
|
|
124
|
+
*
|
|
125
|
+
* This is the main entry point for the 5-Level Abstraction API.
|
|
126
|
+
* It takes props at any combination of levels and produces a
|
|
127
|
+
* complete Factor24Config with correct priority merging.
|
|
128
|
+
*
|
|
129
|
+
* Priority order (highest to lowest):
|
|
130
|
+
* 1. Level 1: Raw factors (size, variant, etc.)
|
|
131
|
+
* 2. Level 2: Factor groups (visual, motion, layout, experience)
|
|
132
|
+
* 3. Level 3: Shorthands (look, feel, surface, spacing)
|
|
133
|
+
* 4. Level 4: Named presets
|
|
134
|
+
* 5. Level 5: Semantic intents and moods
|
|
135
|
+
*
|
|
136
|
+
* @param props - MultiLevelProps to resolve
|
|
137
|
+
* @param options - Resolution options
|
|
138
|
+
* @returns Resolution result with config and metadata
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```typescript
|
|
142
|
+
* // Using Level 5 (Intent)
|
|
143
|
+
* const result = resolveProps({ intent: 'cta', mood: 'playful' });
|
|
144
|
+
*
|
|
145
|
+
* // Using Level 3 (Shorthands) with Level 1 override
|
|
146
|
+
* const result = resolveProps({
|
|
147
|
+
* look: 'bold',
|
|
148
|
+
* feel: 'snappy',
|
|
149
|
+
* size: 'lg', // Level 1 override
|
|
150
|
+
* });
|
|
151
|
+
*
|
|
152
|
+
* // Mixing all levels
|
|
153
|
+
* const result = resolveProps({
|
|
154
|
+
* intent: 'primary', // Level 5
|
|
155
|
+
* look: 'elevated', // Level 3
|
|
156
|
+
* visual: { shape: 'lg' }, // Level 2
|
|
157
|
+
* colorScheme: 'secondary', // Level 1 (overrides all)
|
|
158
|
+
* });
|
|
159
|
+
* ```
|
|
160
|
+
*
|
|
161
|
+
* @since 2.1.0
|
|
162
|
+
*/
|
|
163
|
+
export declare function resolveProps(props: MultiLevelProps, options?: ResolutionOptions): ResolutionResult;
|
|
164
|
+
/**
|
|
165
|
+
* Resolve props with defaults applied.
|
|
166
|
+
*
|
|
167
|
+
* @param props - MultiLevelProps to resolve
|
|
168
|
+
* @returns Complete Factor24Config with all defaults
|
|
169
|
+
* @since 2.1.0
|
|
170
|
+
*/
|
|
171
|
+
export declare function resolveWithDefaults(props: MultiLevelProps): Factor24Config;
|
|
172
|
+
/**
|
|
173
|
+
* Resolve props and return only the config.
|
|
174
|
+
*
|
|
175
|
+
* @param props - MultiLevelProps to resolve
|
|
176
|
+
* @returns Factor24Config
|
|
177
|
+
* @since 2.1.0
|
|
178
|
+
*/
|
|
179
|
+
export declare function resolveToConfig(props: MultiLevelProps): Factor24Config;
|
|
180
|
+
/**
|
|
181
|
+
* Resolve props with debug information.
|
|
182
|
+
*
|
|
183
|
+
* @param props - MultiLevelProps to resolve
|
|
184
|
+
* @returns Resolution result with debug info
|
|
185
|
+
* @since 2.1.0
|
|
186
|
+
*/
|
|
187
|
+
export declare function resolveWithDebug(props: MultiLevelProps): ResolutionResult;
|
|
188
|
+
/**
|
|
189
|
+
* Quick resolve from intent and optional mood.
|
|
190
|
+
*
|
|
191
|
+
* @param intent - Semantic intent
|
|
192
|
+
* @param mood - Optional mood modifier
|
|
193
|
+
* @returns Factor24Config
|
|
194
|
+
* @since 2.1.0
|
|
195
|
+
*/
|
|
196
|
+
export declare function resolveIntent(intent: SemanticIntent, mood?: SemanticMood): Factor24Config;
|
|
197
|
+
/**
|
|
198
|
+
* Quick resolve from shorthands.
|
|
199
|
+
*
|
|
200
|
+
* @param shorthands - Shorthand props
|
|
201
|
+
* @returns Factor24Config
|
|
202
|
+
* @since 2.1.0
|
|
203
|
+
*/
|
|
204
|
+
export declare function resolveShorthands(shorthands: ShorthandProps): Factor24Config;
|
|
205
|
+
/**
|
|
206
|
+
* Get all available intents.
|
|
207
|
+
*
|
|
208
|
+
* @returns Array of intent definitions
|
|
209
|
+
* @since 2.1.0
|
|
210
|
+
*/
|
|
211
|
+
export declare function getAllIntents(): IntentDefinition[];
|
|
212
|
+
/**
|
|
213
|
+
* Get all available moods.
|
|
214
|
+
*
|
|
215
|
+
* @returns Array of mood definitions
|
|
216
|
+
* @since 2.1.0
|
|
217
|
+
*/
|
|
218
|
+
export declare function getAllMoods(): MoodModifierDefinition[];
|
|
219
|
+
/**
|
|
220
|
+
* Get intent definition by ID.
|
|
221
|
+
*
|
|
222
|
+
* @param id - Intent ID
|
|
223
|
+
* @returns Intent definition or undefined
|
|
224
|
+
* @since 2.1.0
|
|
225
|
+
*/
|
|
226
|
+
export declare function getIntent(id: SemanticIntent): IntentDefinition | undefined;
|
|
227
|
+
/**
|
|
228
|
+
* Get mood definition by ID.
|
|
229
|
+
*
|
|
230
|
+
* @param id - Mood ID
|
|
231
|
+
* @returns Mood definition or undefined
|
|
232
|
+
* @since 2.1.0
|
|
233
|
+
*/
|
|
234
|
+
export declare function getMood(id: SemanticMood): MoodModifierDefinition | undefined;
|
|
235
|
+
//# sourceMappingURL=resolveProps.d.ts.map
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Feel Mappings - Shorthand for Interaction Behavior
|
|
3
|
+
*
|
|
4
|
+
* Maps FeelShorthand values to Factor24Config.
|
|
5
|
+
* Controls animation timing, transitions, and interactive feedback.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* @module resolution/shorthand/feel-mappings
|
|
9
|
+
* @since 2.1.0
|
|
10
|
+
*
|
|
11
|
+
* Powered by Nikkory
|
|
12
|
+
*/
|
|
13
|
+
import type { Factor24Config, FeelShorthand } from '../types';
|
|
14
|
+
/**
|
|
15
|
+
* Feel shorthand to Factor24Config mappings.
|
|
16
|
+
*
|
|
17
|
+
* @since 2.1.0
|
|
18
|
+
*/
|
|
19
|
+
export declare const FEEL_MAPPINGS: Record<FeelShorthand, Partial<Factor24Config>>;
|
|
20
|
+
/**
|
|
21
|
+
* Expand feel shorthand to Factor24Config.
|
|
22
|
+
*
|
|
23
|
+
* @param feel - The feel shorthand value
|
|
24
|
+
* @returns Partial Factor24Config with feel-related factors
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const config = expandFeel('snappy');
|
|
29
|
+
* // Result: { animation: 'standard', transition: 'fast', cursor: 'pointer' }
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* @since 2.1.0
|
|
33
|
+
*/
|
|
34
|
+
export declare function expandFeel(feel: FeelShorthand): Partial<Factor24Config>;
|
|
35
|
+
/**
|
|
36
|
+
* All valid feel shorthand values.
|
|
37
|
+
*
|
|
38
|
+
* @since 2.1.0
|
|
39
|
+
*/
|
|
40
|
+
export declare const VALID_FEEL_VALUES: ReadonlyArray<FeelShorthand>;
|
|
41
|
+
/**
|
|
42
|
+
* Check if a value is a valid feel shorthand.
|
|
43
|
+
*
|
|
44
|
+
* @param value - The value to check
|
|
45
|
+
* @returns True if the value is a valid feel shorthand
|
|
46
|
+
* @since 2.1.0
|
|
47
|
+
*/
|
|
48
|
+
export declare function isValidFeel(value: unknown): value is FeelShorthand;
|
|
49
|
+
/**
|
|
50
|
+
* Get all available feel values with their descriptions.
|
|
51
|
+
*
|
|
52
|
+
* @returns Array of feel values with descriptions
|
|
53
|
+
* @since 2.1.0
|
|
54
|
+
*/
|
|
55
|
+
export declare function getFeelDescriptions(): Array<{
|
|
56
|
+
value: FeelShorthand;
|
|
57
|
+
description: string;
|
|
58
|
+
}>;
|
|
59
|
+
/**
|
|
60
|
+
* Get the animation speed of a feel (in milliseconds).
|
|
61
|
+
*
|
|
62
|
+
* @param feel - The feel shorthand
|
|
63
|
+
* @returns Animation duration in milliseconds
|
|
64
|
+
* @since 2.1.0
|
|
65
|
+
*/
|
|
66
|
+
export declare function getFeelDuration(feel: FeelShorthand): number;
|
|
67
|
+
/**
|
|
68
|
+
* Get the energy level of a feel (1-5 scale).
|
|
69
|
+
*
|
|
70
|
+
* @param feel - The feel shorthand
|
|
71
|
+
* @returns Energy level from 1 (calm) to 5 (energetic)
|
|
72
|
+
* @since 2.1.0
|
|
73
|
+
*/
|
|
74
|
+
export declare function getFeelEnergy(feel: FeelShorthand): number;
|
|
75
|
+
/**
|
|
76
|
+
* Check if a feel has animations enabled.
|
|
77
|
+
*
|
|
78
|
+
* @param feel - The feel shorthand
|
|
79
|
+
* @returns True if the feel includes animations
|
|
80
|
+
* @since 2.1.0
|
|
81
|
+
*/
|
|
82
|
+
export declare function hasAnimations(feel: FeelShorthand): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Check if a feel supports reduced motion.
|
|
85
|
+
* Static feel is considered reduced motion friendly.
|
|
86
|
+
*
|
|
87
|
+
* @param feel - The feel shorthand
|
|
88
|
+
* @returns True if the feel respects reduced motion
|
|
89
|
+
* @since 2.1.0
|
|
90
|
+
*/
|
|
91
|
+
export declare function supportsReducedMotion(feel: FeelShorthand): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Get the reduced motion alternative for a feel.
|
|
94
|
+
*
|
|
95
|
+
* @param feel - The current feel
|
|
96
|
+
* @returns A reduced motion friendly feel
|
|
97
|
+
* @since 2.1.0
|
|
98
|
+
*/
|
|
99
|
+
export declare function getReducedMotionAlternative(feel: FeelShorthand): FeelShorthand;
|
|
100
|
+
/**
|
|
101
|
+
* Find the best feel for a given energy level.
|
|
102
|
+
*
|
|
103
|
+
* @param energy - Target energy level (1-5)
|
|
104
|
+
* @returns The most appropriate feel shorthand
|
|
105
|
+
* @since 2.1.0
|
|
106
|
+
*/
|
|
107
|
+
export declare function getFeelForEnergy(energy: number): FeelShorthand;
|
|
108
|
+
/**
|
|
109
|
+
* Get the CSS easing function for a feel.
|
|
110
|
+
*
|
|
111
|
+
* @param feel - The feel shorthand
|
|
112
|
+
* @returns CSS easing function string
|
|
113
|
+
* @since 2.1.0
|
|
114
|
+
*/
|
|
115
|
+
export declare function getFeelEasing(feel: FeelShorthand): string;
|
|
116
|
+
/**
|
|
117
|
+
* Check if a feel is interactive (has cursor: pointer).
|
|
118
|
+
*
|
|
119
|
+
* @param feel - The feel shorthand
|
|
120
|
+
* @returns True if the feel is interactive
|
|
121
|
+
* @since 2.1.0
|
|
122
|
+
*/
|
|
123
|
+
export declare function isInteractive(feel: FeelShorthand): boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Get a calmer feel for the given feel.
|
|
126
|
+
*
|
|
127
|
+
* @param feel - The current feel
|
|
128
|
+
* @returns A calmer feel shorthand
|
|
129
|
+
* @since 2.1.0
|
|
130
|
+
*/
|
|
131
|
+
export declare function getCalmerFeel(feel: FeelShorthand): FeelShorthand;
|
|
132
|
+
/**
|
|
133
|
+
* Get a more energetic feel for the given feel.
|
|
134
|
+
*
|
|
135
|
+
* @param feel - The current feel
|
|
136
|
+
* @returns A more energetic feel shorthand
|
|
137
|
+
* @since 2.1.0
|
|
138
|
+
*/
|
|
139
|
+
export declare function getMoreEnergeticFeel(feel: FeelShorthand): FeelShorthand;
|
|
140
|
+
//# sourceMappingURL=feel-mappings.d.ts.map
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shorthand Mappings - Level 3 Abstraction
|
|
3
|
+
*
|
|
4
|
+
* Provides shorthand props that map to multiple Factor24 properties.
|
|
5
|
+
* Each shorthand represents a conceptual grouping of factors.
|
|
6
|
+
*
|
|
7
|
+
* Shorthands:
|
|
8
|
+
* - look: Visual appearance (bold, subtle, minimal, etc.)
|
|
9
|
+
* - feel: Interaction behavior (snappy, smooth, bouncy, etc.)
|
|
10
|
+
* - surface: Background and elevation (flat, raised, floating, etc.)
|
|
11
|
+
* - spacing: Internal spacing (tight, normal, relaxed, loose)
|
|
12
|
+
*
|
|
13
|
+
* @packageDocumentation
|
|
14
|
+
* @module resolution/shorthand
|
|
15
|
+
* @since 2.1.0
|
|
16
|
+
*
|
|
17
|
+
* Powered by Nikkory
|
|
18
|
+
*/
|
|
19
|
+
export * from './look-mappings';
|
|
20
|
+
export * from './feel-mappings';
|
|
21
|
+
export * from './surface-mappings';
|
|
22
|
+
export * from './spacing-mappings';
|
|
23
|
+
import type { Factor24Config, LookShorthand, FeelShorthand, SurfaceShorthand, SpacingShorthand, ShorthandMappings } from '../types';
|
|
24
|
+
/**
|
|
25
|
+
* Shorthand props that can be expanded to Factor24Config.
|
|
26
|
+
*
|
|
27
|
+
* @since 2.1.0
|
|
28
|
+
*/
|
|
29
|
+
export interface ShorthandProps {
|
|
30
|
+
/** Visual appearance shorthand */
|
|
31
|
+
look?: LookShorthand;
|
|
32
|
+
/** Interaction feel shorthand */
|
|
33
|
+
feel?: FeelShorthand;
|
|
34
|
+
/** Surface/elevation shorthand */
|
|
35
|
+
surface?: SurfaceShorthand;
|
|
36
|
+
/** Spacing shorthand */
|
|
37
|
+
spacingPreset?: SpacingShorthand;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Expand all shorthands to Factor24Config.
|
|
41
|
+
* Merges all shorthand configurations into a single partial config.
|
|
42
|
+
*
|
|
43
|
+
* @param shorthands - The shorthand props to expand
|
|
44
|
+
* @returns Partial Factor24Config with all shorthand factors
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* const config = expandShorthands({
|
|
49
|
+
* look: 'bold',
|
|
50
|
+
* feel: 'snappy',
|
|
51
|
+
* surface: 'raised',
|
|
52
|
+
* spacingPreset: 'normal',
|
|
53
|
+
* });
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* @since 2.1.0
|
|
57
|
+
*/
|
|
58
|
+
export declare function expandShorthands(shorthands: ShorthandProps): Partial<Factor24Config>;
|
|
59
|
+
/**
|
|
60
|
+
* Complete shorthand mappings collection.
|
|
61
|
+
*
|
|
62
|
+
* @since 2.1.0
|
|
63
|
+
*/
|
|
64
|
+
export declare const ALL_SHORTHAND_MAPPINGS: ShorthandMappings;
|
|
65
|
+
/**
|
|
66
|
+
* Validation result for shorthands.
|
|
67
|
+
*
|
|
68
|
+
* @since 2.1.0
|
|
69
|
+
*/
|
|
70
|
+
export interface ShorthandValidationResult {
|
|
71
|
+
/** Overall validation status */
|
|
72
|
+
valid: boolean;
|
|
73
|
+
/** Errors by shorthand */
|
|
74
|
+
errors: {
|
|
75
|
+
look: string[];
|
|
76
|
+
feel: string[];
|
|
77
|
+
surface: string[];
|
|
78
|
+
spacingPreset: string[];
|
|
79
|
+
};
|
|
80
|
+
/** All errors flattened */
|
|
81
|
+
allErrors: string[];
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Validate all shorthand props.
|
|
85
|
+
*
|
|
86
|
+
* @param shorthands - The shorthand props to validate
|
|
87
|
+
* @returns Validation result with errors by shorthand
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* const result = validateShorthands({
|
|
92
|
+
* look: 'invalid',
|
|
93
|
+
* });
|
|
94
|
+
* if (!result.valid) {
|
|
95
|
+
* console.error(result.allErrors);
|
|
96
|
+
* }
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* @since 2.1.0
|
|
100
|
+
*/
|
|
101
|
+
export declare function validateShorthands(shorthands: ShorthandProps): ShorthandValidationResult;
|
|
102
|
+
/**
|
|
103
|
+
* Check if an object contains any shorthand properties.
|
|
104
|
+
*
|
|
105
|
+
* @param obj - Object to check
|
|
106
|
+
* @returns True if object has shorthand properties
|
|
107
|
+
* @since 2.1.0
|
|
108
|
+
*/
|
|
109
|
+
export declare function hasShorthandProps(obj: Record<string, unknown>): boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Extract shorthand props from an object.
|
|
112
|
+
*
|
|
113
|
+
* @param obj - Object to extract from
|
|
114
|
+
* @returns Extracted shorthand props
|
|
115
|
+
* @since 2.1.0
|
|
116
|
+
*/
|
|
117
|
+
export declare function extractShorthandProps(obj: Record<string, unknown>): ShorthandProps;
|
|
118
|
+
/**
|
|
119
|
+
* Detect which shorthands are present in an object.
|
|
120
|
+
*
|
|
121
|
+
* @param obj - Object to check
|
|
122
|
+
* @returns Object indicating which shorthands are present
|
|
123
|
+
* @since 2.1.0
|
|
124
|
+
*/
|
|
125
|
+
export declare function detectShorthands(obj: Record<string, unknown>): {
|
|
126
|
+
hasLook: boolean;
|
|
127
|
+
hasFeel: boolean;
|
|
128
|
+
hasSurface: boolean;
|
|
129
|
+
hasSpacing: boolean;
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* All shorthand names.
|
|
133
|
+
*
|
|
134
|
+
* @since 2.1.0
|
|
135
|
+
*/
|
|
136
|
+
export declare const SHORTHAND_NAMES: readonly ["look", "feel", "surface", "spacingPreset"];
|
|
137
|
+
/**
|
|
138
|
+
* Shorthand name type.
|
|
139
|
+
*
|
|
140
|
+
* @since 2.1.0
|
|
141
|
+
*/
|
|
142
|
+
export type ShorthandName = (typeof SHORTHAND_NAMES)[number];
|
|
143
|
+
/**
|
|
144
|
+
* Map of shorthand names to their possible values.
|
|
145
|
+
*
|
|
146
|
+
* @since 2.1.0
|
|
147
|
+
*/
|
|
148
|
+
export declare const SHORTHAND_VALUES: Record<ShorthandName, ReadonlyArray<string>>;
|
|
149
|
+
/**
|
|
150
|
+
* Common shorthand combinations for quick use.
|
|
151
|
+
*
|
|
152
|
+
* @since 2.1.0
|
|
153
|
+
*/
|
|
154
|
+
export declare const SHORTHAND_PRESETS: Record<string, ShorthandProps>;
|
|
155
|
+
/**
|
|
156
|
+
* Get a predefined shorthand preset by name.
|
|
157
|
+
*
|
|
158
|
+
* @param presetName - The name of the preset
|
|
159
|
+
* @returns The shorthand props or undefined
|
|
160
|
+
* @since 2.1.0
|
|
161
|
+
*/
|
|
162
|
+
export declare function getShorthandPreset(presetName: string): ShorthandProps | undefined;
|
|
163
|
+
/**
|
|
164
|
+
* Merge multiple ShorthandProps configurations.
|
|
165
|
+
* Later values override earlier ones.
|
|
166
|
+
*
|
|
167
|
+
* @param propsList - Shorthand props to merge
|
|
168
|
+
* @returns Merged shorthand props
|
|
169
|
+
* @since 2.1.0
|
|
170
|
+
*/
|
|
171
|
+
export declare function mergeShorthandProps(...propsList: ShorthandProps[]): ShorthandProps;
|
|
172
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Look Mappings - Shorthand for Visual Appearance
|
|
3
|
+
*
|
|
4
|
+
* Maps LookShorthand values to Factor24Config.
|
|
5
|
+
* Controls visual weight, contrast, and overall appearance.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* @module resolution/shorthand/look-mappings
|
|
9
|
+
* @since 2.1.0
|
|
10
|
+
*
|
|
11
|
+
* Powered by Nikkory
|
|
12
|
+
*/
|
|
13
|
+
import type { Factor24Config, LookShorthand } from '../types';
|
|
14
|
+
/**
|
|
15
|
+
* Look shorthand to Factor24Config mappings.
|
|
16
|
+
*
|
|
17
|
+
* @since 2.1.0
|
|
18
|
+
*/
|
|
19
|
+
export declare const LOOK_MAPPINGS: Record<LookShorthand, Partial<Factor24Config>>;
|
|
20
|
+
/**
|
|
21
|
+
* Expand look shorthand to Factor24Config.
|
|
22
|
+
*
|
|
23
|
+
* @param look - The look shorthand value
|
|
24
|
+
* @returns Partial Factor24Config with look-related factors
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const config = expandLook('bold');
|
|
29
|
+
* // Result: { variant: 'filled', elevation: 'md', opacity: 'full', ... }
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* @since 2.1.0
|
|
33
|
+
*/
|
|
34
|
+
export declare function expandLook(look: LookShorthand): Partial<Factor24Config>;
|
|
35
|
+
/**
|
|
36
|
+
* All valid look shorthand values.
|
|
37
|
+
*
|
|
38
|
+
* @since 2.1.0
|
|
39
|
+
*/
|
|
40
|
+
export declare const VALID_LOOK_VALUES: ReadonlyArray<LookShorthand>;
|
|
41
|
+
/**
|
|
42
|
+
* Check if a value is a valid look shorthand.
|
|
43
|
+
*
|
|
44
|
+
* @param value - The value to check
|
|
45
|
+
* @returns True if the value is a valid look shorthand
|
|
46
|
+
* @since 2.1.0
|
|
47
|
+
*/
|
|
48
|
+
export declare function isValidLook(value: unknown): value is LookShorthand;
|
|
49
|
+
/**
|
|
50
|
+
* Get all available look values with their descriptions.
|
|
51
|
+
*
|
|
52
|
+
* @returns Array of look values with descriptions
|
|
53
|
+
* @since 2.1.0
|
|
54
|
+
*/
|
|
55
|
+
export declare function getLookDescriptions(): Array<{
|
|
56
|
+
value: LookShorthand;
|
|
57
|
+
description: string;
|
|
58
|
+
}>;
|
|
59
|
+
/**
|
|
60
|
+
* Get the dominant visual characteristic of a look.
|
|
61
|
+
*
|
|
62
|
+
* @param look - The look shorthand
|
|
63
|
+
* @returns The dominant characteristic
|
|
64
|
+
* @since 2.1.0
|
|
65
|
+
*/
|
|
66
|
+
export declare function getLookCharacteristic(look: LookShorthand): 'elevation' | 'border' | 'opacity' | 'shape';
|
|
67
|
+
/**
|
|
68
|
+
* Get the visual weight of a look (1-5 scale).
|
|
69
|
+
*
|
|
70
|
+
* @param look - The look shorthand
|
|
71
|
+
* @returns Visual weight from 1 (lightest) to 5 (heaviest)
|
|
72
|
+
* @since 2.1.0
|
|
73
|
+
*/
|
|
74
|
+
export declare function getLookWeight(look: LookShorthand): number;
|
|
75
|
+
/**
|
|
76
|
+
* Find the best look for a given visual weight.
|
|
77
|
+
*
|
|
78
|
+
* @param weight - Target visual weight (1-5)
|
|
79
|
+
* @returns The most appropriate look shorthand
|
|
80
|
+
* @since 2.1.0
|
|
81
|
+
*/
|
|
82
|
+
export declare function getLookForWeight(weight: number): LookShorthand;
|
|
83
|
+
/**
|
|
84
|
+
* Check if a look has visible borders.
|
|
85
|
+
*
|
|
86
|
+
* @param look - The look shorthand
|
|
87
|
+
* @returns True if the look includes visible borders
|
|
88
|
+
* @since 2.1.0
|
|
89
|
+
*/
|
|
90
|
+
export declare function hasVisibleBorder(look: LookShorthand): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Check if a look has elevation/shadow.
|
|
93
|
+
*
|
|
94
|
+
* @param look - The look shorthand
|
|
95
|
+
* @returns True if the look includes elevation
|
|
96
|
+
* @since 2.1.0
|
|
97
|
+
*/
|
|
98
|
+
export declare function hasElevation(look: LookShorthand): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Get a contrasting look for the given look.
|
|
101
|
+
*
|
|
102
|
+
* @param look - The current look
|
|
103
|
+
* @returns A contrasting look shorthand
|
|
104
|
+
* @since 2.1.0
|
|
105
|
+
*/
|
|
106
|
+
export declare function getContrastingLook(look: LookShorthand): LookShorthand;
|
|
107
|
+
//# sourceMappingURL=look-mappings.d.ts.map
|