@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,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Section Registry Helpers
|
|
3
|
+
* Factory functions for creating section definitions
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
* @module presets/section-registry-helpers
|
|
7
|
+
* @since 4.1.0
|
|
8
|
+
*
|
|
9
|
+
* Powered by Nikkory
|
|
10
|
+
*/
|
|
11
|
+
import type { RegistrySectionDefinition } from './registry.types';
|
|
12
|
+
import type { BaseSectionDefinition } from './section-registry.types';
|
|
13
|
+
/**
|
|
14
|
+
* Factory function to extend base section with auto-generated fields
|
|
15
|
+
*
|
|
16
|
+
* @remarks
|
|
17
|
+
* Reduces 700+ duplicate lines to ~50 lines per category by:
|
|
18
|
+
* 1. Taking minimal required fields (BaseSectionDefinition)
|
|
19
|
+
* 2. Auto-generating remaining fields from category defaults
|
|
20
|
+
* 3. Maintaining backward compatibility with legacy field names
|
|
21
|
+
*
|
|
22
|
+
* Field Mapping:
|
|
23
|
+
* - sectionId → id (backward compat) + sectionId (unified)
|
|
24
|
+
* - sectionType → category (backward compat) + sectionType (unified)
|
|
25
|
+
* - layout → sectionLayout (backward compat) + layout (unified)
|
|
26
|
+
*
|
|
27
|
+
* @param base - Base section definition with minimal required fields
|
|
28
|
+
* @returns Full registry section definition with all fields populated
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* // Input: Minimal definition
|
|
33
|
+
* const base: BaseSectionDefinition = {
|
|
34
|
+
* sectionId: 'hero-centered',
|
|
35
|
+
* name: 'Hero - Centered',
|
|
36
|
+
* sectionType: 'hero',
|
|
37
|
+
* status: 'stable',
|
|
38
|
+
* description: 'Centered hero section',
|
|
39
|
+
* keywords: ['hero', 'landing', 'cta'],
|
|
40
|
+
* layout: 'centered',
|
|
41
|
+
* columns: 1,
|
|
42
|
+
* spacing: 'lg',
|
|
43
|
+
* };
|
|
44
|
+
*
|
|
45
|
+
* // Output: Full definition with 25+ fields
|
|
46
|
+
* const full = withSectionDefaults(base);
|
|
47
|
+
* console.log(full.icon); // 'Rocket' (auto-generated)
|
|
48
|
+
* console.log(full.emoji); // '🚀' (auto-generated)
|
|
49
|
+
* console.log(full.showCta); // true (from category default)
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare function withSectionDefaults(base: BaseSectionDefinition): RegistrySectionDefinition;
|
|
53
|
+
/**
|
|
54
|
+
* Process array of base definitions through the factory
|
|
55
|
+
*
|
|
56
|
+
* @remarks
|
|
57
|
+
* Convenience function to apply `withSectionDefaults()` to an array of
|
|
58
|
+
* base definitions. Useful when defining multiple sections at once.
|
|
59
|
+
*
|
|
60
|
+
* @param sections - Array of base section definitions
|
|
61
|
+
* @returns Array of full registry section definitions
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* const HERO_SECTIONS_BASE: BaseSectionDefinition[] = [
|
|
66
|
+
* { sectionId: 'hero-centered', ... },
|
|
67
|
+
* { sectionId: 'hero-split', ... },
|
|
68
|
+
* { sectionId: 'hero-video', ... },
|
|
69
|
+
* ];
|
|
70
|
+
*
|
|
71
|
+
* const HERO_SECTIONS = withSectionDefaultsArray(HERO_SECTIONS_BASE);
|
|
72
|
+
* // All 3 sections now have full definitions with 25+ fields each
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export declare function withSectionDefaultsArray(sections: readonly BaseSectionDefinition[]): readonly RegistrySectionDefinition[];
|
|
76
|
+
/**
|
|
77
|
+
* Validate a base section definition
|
|
78
|
+
*
|
|
79
|
+
* @param section - Section to validate
|
|
80
|
+
* @returns Validation result with errors if any
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* const result = validateBaseSectionDefinition(section);
|
|
85
|
+
* if (!result.valid) {
|
|
86
|
+
* console.error('Validation errors:', result.errors);
|
|
87
|
+
* }
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
export declare function validateBaseSectionDefinition(section: BaseSectionDefinition): {
|
|
91
|
+
valid: boolean;
|
|
92
|
+
errors: readonly string[];
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Validate an array of base section definitions
|
|
96
|
+
*
|
|
97
|
+
* @param sections - Sections to validate
|
|
98
|
+
* @returns Validation results for all sections
|
|
99
|
+
*/
|
|
100
|
+
export declare function validateBaseSectionDefinitions(sections: readonly BaseSectionDefinition[]): {
|
|
101
|
+
valid: boolean;
|
|
102
|
+
sectionErrors: Record<string, readonly string[]>;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Check if an object is a valid BaseSectionDefinition
|
|
106
|
+
*/
|
|
107
|
+
export declare function isBaseSectionDefinition(obj: unknown): obj is BaseSectionDefinition;
|
|
108
|
+
/**
|
|
109
|
+
* Check if an object is a valid RegistrySectionDefinition
|
|
110
|
+
*/
|
|
111
|
+
export declare function isRegistrySectionDefinition(obj: unknown): obj is RegistrySectionDefinition;
|
|
112
|
+
//# sourceMappingURL=section-registry.helpers.d.ts.map
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Section Registry Types
|
|
3
|
+
* Type definitions for factory pattern infrastructure
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
* @module presets/section-registry-types
|
|
7
|
+
* @since 4.1.0
|
|
8
|
+
*
|
|
9
|
+
* Powered by Nikkory
|
|
10
|
+
*/
|
|
11
|
+
import type { DesignSystem, Tier, SectionCategory, LayoutType, SpacingLevel, SlotConfig, StyleOverrides } from '../types';
|
|
12
|
+
/**
|
|
13
|
+
* Base section definition - MINIMAL fields only
|
|
14
|
+
* Factory function will auto-generate remaining fields
|
|
15
|
+
*
|
|
16
|
+
* @remarks
|
|
17
|
+
* This interface defines the minimal set of fields required to define a section.
|
|
18
|
+
* The factory function `withSectionDefaults()` will expand this into a full
|
|
19
|
+
* `RegistrySectionDefinition` by applying category-specific defaults.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const heroSection: BaseSectionDefinition = {
|
|
24
|
+
* sectionId: 'hero-centered',
|
|
25
|
+
* name: 'Hero - Centered',
|
|
26
|
+
* sectionType: 'hero',
|
|
27
|
+
* status: 'stable',
|
|
28
|
+
* description: 'Centered hero section with headline, subheadline, and CTA',
|
|
29
|
+
* keywords: ['hero', 'landing', 'cta', 'centered'],
|
|
30
|
+
* layout: 'centered',
|
|
31
|
+
* columns: 1,
|
|
32
|
+
* spacing: 'lg',
|
|
33
|
+
* showCta: true,
|
|
34
|
+
* showMedia: false,
|
|
35
|
+
* };
|
|
36
|
+
*
|
|
37
|
+
* // Expand to full definition using factory
|
|
38
|
+
* const fullDefinition = withSectionDefaults(heroSection);
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export interface BaseSectionDefinition {
|
|
42
|
+
/**
|
|
43
|
+
* Unique section identifier (kebab-case)
|
|
44
|
+
* @example 'hero-centered', 'pricing-three-tier', 'testimonials-carousel'
|
|
45
|
+
*/
|
|
46
|
+
readonly sectionId: string;
|
|
47
|
+
/**
|
|
48
|
+
* Section name (human-readable)
|
|
49
|
+
* @example 'Hero - Centered', 'Pricing - Three Tier'
|
|
50
|
+
*/
|
|
51
|
+
readonly name: string;
|
|
52
|
+
/**
|
|
53
|
+
* Section type/category (10 categories)
|
|
54
|
+
*/
|
|
55
|
+
readonly sectionType: SectionCategory;
|
|
56
|
+
/**
|
|
57
|
+
* Description for documentation and search
|
|
58
|
+
*/
|
|
59
|
+
readonly description: string;
|
|
60
|
+
/**
|
|
61
|
+
* Search keywords for filtering
|
|
62
|
+
* @example ['hero', 'landing', 'cta', 'centered']
|
|
63
|
+
*/
|
|
64
|
+
readonly keywords: readonly string[];
|
|
65
|
+
/**
|
|
66
|
+
* Status of the section
|
|
67
|
+
*/
|
|
68
|
+
readonly status: 'stable' | 'beta' | 'planned';
|
|
69
|
+
/**
|
|
70
|
+
* Layout type for the section
|
|
71
|
+
*/
|
|
72
|
+
readonly layout: LayoutType;
|
|
73
|
+
/**
|
|
74
|
+
* Number of columns (for grid layouts)
|
|
75
|
+
*/
|
|
76
|
+
readonly columns: 1 | 2 | 3 | 4 | 6;
|
|
77
|
+
/**
|
|
78
|
+
* Spacing between elements
|
|
79
|
+
*/
|
|
80
|
+
readonly spacing: SpacingLevel;
|
|
81
|
+
/**
|
|
82
|
+
* Override default design system for this section
|
|
83
|
+
* @remarks If not provided, uses category default
|
|
84
|
+
*/
|
|
85
|
+
readonly defaultDesignSystem?: DesignSystem;
|
|
86
|
+
/**
|
|
87
|
+
* Override default tier for this section
|
|
88
|
+
* @remarks If not provided, uses category default
|
|
89
|
+
*/
|
|
90
|
+
readonly defaultTier?: Tier;
|
|
91
|
+
/**
|
|
92
|
+
* Slot configurations for component placement
|
|
93
|
+
*/
|
|
94
|
+
readonly slots?: readonly SlotConfig[];
|
|
95
|
+
/**
|
|
96
|
+
* Number of items to generate (for list-based sections)
|
|
97
|
+
* @example 3 for testimonials, 3-5 for pricing tiers
|
|
98
|
+
*/
|
|
99
|
+
readonly itemCount?: number;
|
|
100
|
+
/**
|
|
101
|
+
* Override showCta default
|
|
102
|
+
*/
|
|
103
|
+
readonly showCta?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Override showMedia default
|
|
106
|
+
*/
|
|
107
|
+
readonly showMedia?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Custom styling overrides
|
|
110
|
+
*/
|
|
111
|
+
readonly styleOverrides?: StyleOverrides;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Category defaults - auto-applied by factory
|
|
115
|
+
*
|
|
116
|
+
* @remarks
|
|
117
|
+
* Each of the 10 section categories has its own set of default values.
|
|
118
|
+
* These are applied automatically by `withSectionDefaults()` when creating
|
|
119
|
+
* full section definitions.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* const heroDefaults: SectionCategoryDefaults = {
|
|
124
|
+
* defaultDesignSystem: 'material-design',
|
|
125
|
+
* defaultTier: 'standard',
|
|
126
|
+
* icon: 'Rocket',
|
|
127
|
+
* emoji: '🚀',
|
|
128
|
+
* height: 'fullscreen',
|
|
129
|
+
* alignment: 'center',
|
|
130
|
+
* showCta: true,
|
|
131
|
+
* showMedia: false,
|
|
132
|
+
* designSystems: ['material-design', 'ios-hig', ...],
|
|
133
|
+
* tiers: ['basic', 'standard', 'enterprise'],
|
|
134
|
+
* };
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
export interface SectionCategoryDefaults {
|
|
138
|
+
/**
|
|
139
|
+
* Default design system for this category
|
|
140
|
+
*/
|
|
141
|
+
readonly defaultDesignSystem: DesignSystem;
|
|
142
|
+
/**
|
|
143
|
+
* Default tier for this category
|
|
144
|
+
*/
|
|
145
|
+
readonly defaultTier: Tier;
|
|
146
|
+
/**
|
|
147
|
+
* Lucide icon name for this category
|
|
148
|
+
* @example 'Rocket', 'Sparkles', 'Quote'
|
|
149
|
+
*/
|
|
150
|
+
readonly icon: string;
|
|
151
|
+
/**
|
|
152
|
+
* Emoji for this category
|
|
153
|
+
* @example '🚀', '✨', '💬'
|
|
154
|
+
*/
|
|
155
|
+
readonly emoji: string;
|
|
156
|
+
/**
|
|
157
|
+
* Default section height
|
|
158
|
+
*/
|
|
159
|
+
readonly height: 'compact' | 'standard' | 'tall' | 'fullscreen';
|
|
160
|
+
/**
|
|
161
|
+
* Default content alignment
|
|
162
|
+
*/
|
|
163
|
+
readonly alignment: 'left' | 'center' | 'right';
|
|
164
|
+
/**
|
|
165
|
+
* Whether to show CTA by default
|
|
166
|
+
*/
|
|
167
|
+
readonly showCta: boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Whether to show media by default
|
|
170
|
+
*/
|
|
171
|
+
readonly showMedia: boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Supported design systems for this category
|
|
174
|
+
*/
|
|
175
|
+
readonly designSystems: readonly DesignSystem[];
|
|
176
|
+
/**
|
|
177
|
+
* Supported tiers for this category
|
|
178
|
+
*/
|
|
179
|
+
readonly tiers: readonly Tier[];
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=section-registry.types.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template Registry - 20 Template Definitions
|
|
3
|
+
* @packageDocumentation
|
|
4
|
+
* @module presets/template-registry
|
|
5
|
+
* @since 4.0.0
|
|
6
|
+
*
|
|
7
|
+
* Powered by Nikkory
|
|
8
|
+
*/
|
|
9
|
+
import type { RegistryTemplateDefinition } from './registry.types';
|
|
10
|
+
/**
|
|
11
|
+
* All template definitions (20 total)
|
|
12
|
+
*
|
|
13
|
+
* Categories:
|
|
14
|
+
* - SaaS (5): B2B SaaS applications
|
|
15
|
+
* - E-commerce (4): Online stores
|
|
16
|
+
* - Portfolio (3): Creative portfolios
|
|
17
|
+
* - Blog (3): Content sites
|
|
18
|
+
* - Startup (3): Startup landing sites
|
|
19
|
+
* - Agency (2): Agency websites
|
|
20
|
+
*/
|
|
21
|
+
export declare const ALL_TEMPLATES: readonly RegistryTemplateDefinition[];
|
|
22
|
+
export type { RegistryTemplateDefinition };
|
|
23
|
+
//# sourceMappingURL=template-registry.d.ts.map
|