@calibrate-ds/core 0.1.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/dist/__tests__/check-component.test.d.ts +2 -0
- package/dist/__tests__/check-component.test.d.ts.map +1 -0
- package/dist/__tests__/check-component.test.js +103 -0
- package/dist/__tests__/check-component.test.js.map +1 -0
- package/dist/__tests__/compare-components.test.d.ts +2 -0
- package/dist/__tests__/compare-components.test.d.ts.map +1 -0
- package/dist/__tests__/compare-components.test.js +145 -0
- package/dist/__tests__/compare-components.test.js.map +1 -0
- package/dist/__tests__/naming-strategy.test.d.ts +2 -0
- package/dist/__tests__/naming-strategy.test.d.ts.map +1 -0
- package/dist/__tests__/naming-strategy.test.js +71 -0
- package/dist/__tests__/naming-strategy.test.js.map +1 -0
- package/dist/ai/index.d.ts +3 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +3 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/provider.d.ts +14 -0
- package/dist/ai/provider.d.ts.map +1 -0
- package/dist/ai/provider.js +63 -0
- package/dist/ai/provider.js.map +1 -0
- package/dist/ai/resolve-provider.d.ts +3 -0
- package/dist/ai/resolve-provider.d.ts.map +1 -0
- package/dist/ai/resolve-provider.js +61 -0
- package/dist/ai/resolve-provider.js.map +1 -0
- package/dist/bootstrap/generate-library-files.d.ts +7 -0
- package/dist/bootstrap/generate-library-files.d.ts.map +1 -0
- package/dist/bootstrap/generate-library-files.js +97 -0
- package/dist/bootstrap/generate-library-files.js.map +1 -0
- package/dist/bootstrap/index.d.ts +4 -0
- package/dist/bootstrap/index.d.ts.map +1 -0
- package/dist/bootstrap/index.js +4 -0
- package/dist/bootstrap/index.js.map +1 -0
- package/dist/bootstrap/types.d.ts +27 -0
- package/dist/bootstrap/types.d.ts.map +1 -0
- package/dist/bootstrap/types.js +2 -0
- package/dist/bootstrap/types.js.map +1 -0
- package/dist/bootstrap/write-library-bootstrap.d.ts +7 -0
- package/dist/bootstrap/write-library-bootstrap.d.ts.map +1 -0
- package/dist/bootstrap/write-library-bootstrap.js +35 -0
- package/dist/bootstrap/write-library-bootstrap.js.map +1 -0
- package/dist/config/config-schema.d.ts +131 -0
- package/dist/config/config-schema.d.ts.map +1 -0
- package/dist/config/config-schema.js +93 -0
- package/dist/config/config-schema.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/load-config.d.ts +7 -0
- package/dist/config/load-config.d.ts.map +1 -0
- package/dist/config/load-config.js +63 -0
- package/dist/config/load-config.js.map +1 -0
- package/dist/context/compressed-context.d.ts +3 -0
- package/dist/context/compressed-context.d.ts.map +1 -0
- package/dist/context/compressed-context.js +145 -0
- package/dist/context/compressed-context.js.map +1 -0
- package/dist/context/context-index.d.ts +18 -0
- package/dist/context/context-index.d.ts.map +1 -0
- package/dist/context/context-index.js +59 -0
- package/dist/context/context-index.js.map +1 -0
- package/dist/context/export-context.d.ts +61 -0
- package/dist/context/export-context.d.ts.map +1 -0
- package/dist/context/export-context.js +191 -0
- package/dist/context/export-context.js.map +1 -0
- package/dist/context/get-component-context.d.ts +3 -0
- package/dist/context/get-component-context.d.ts.map +1 -0
- package/dist/context/get-component-context.js +898 -0
- package/dist/context/get-component-context.js.map +1 -0
- package/dist/context/hashing.d.ts +14 -0
- package/dist/context/hashing.d.ts.map +1 -0
- package/dist/context/hashing.js +53 -0
- package/dist/context/hashing.js.map +1 -0
- package/dist/context/metadata-extraction.d.ts +15 -0
- package/dist/context/metadata-extraction.d.ts.map +1 -0
- package/dist/context/metadata-extraction.js +47 -0
- package/dist/context/metadata-extraction.js.map +1 -0
- package/dist/design-tool/figma-adapter.d.ts +20 -0
- package/dist/design-tool/figma-adapter.d.ts.map +1 -0
- package/dist/design-tool/figma-adapter.js +46 -0
- package/dist/design-tool/figma-adapter.js.map +1 -0
- package/dist/design-tool/index.d.ts +4 -0
- package/dist/design-tool/index.d.ts.map +1 -0
- package/dist/design-tool/index.js +3 -0
- package/dist/design-tool/index.js.map +1 -0
- package/dist/design-tool/registry.d.ts +12 -0
- package/dist/design-tool/registry.d.ts.map +1 -0
- package/dist/design-tool/registry.js +23 -0
- package/dist/design-tool/registry.js.map +1 -0
- package/dist/design-tool/types.d.ts +28 -0
- package/dist/design-tool/types.d.ts.map +1 -0
- package/dist/design-tool/types.js +2 -0
- package/dist/design-tool/types.js.map +1 -0
- package/dist/diff/compare-components.d.ts +3 -0
- package/dist/diff/compare-components.d.ts.map +1 -0
- package/dist/diff/compare-components.js +198 -0
- package/dist/diff/compare-components.js.map +1 -0
- package/dist/diff/compare-dependencies.d.ts +3 -0
- package/dist/diff/compare-dependencies.d.ts.map +1 -0
- package/dist/diff/compare-dependencies.js +30 -0
- package/dist/diff/compare-dependencies.js.map +1 -0
- package/dist/diff/compare-tokens.d.ts +3 -0
- package/dist/diff/compare-tokens.d.ts.map +1 -0
- package/dist/diff/compare-tokens.js +52 -0
- package/dist/diff/compare-tokens.js.map +1 -0
- package/dist/diff/compute-design-diff.d.ts +3 -0
- package/dist/diff/compute-design-diff.d.ts.map +1 -0
- package/dist/diff/compute-design-diff.js +27 -0
- package/dist/diff/compute-design-diff.js.map +1 -0
- package/dist/diff/format-diff-summary.d.ts +3 -0
- package/dist/diff/format-diff-summary.d.ts.map +1 -0
- package/dist/diff/format-diff-summary.js +59 -0
- package/dist/diff/format-diff-summary.js.map +1 -0
- package/dist/diff/index.d.ts +6 -0
- package/dist/diff/index.d.ts.map +1 -0
- package/dist/diff/index.js +6 -0
- package/dist/diff/index.js.map +1 -0
- package/dist/docs/generate-component-doc.d.ts +34 -0
- package/dist/docs/generate-component-doc.d.ts.map +1 -0
- package/dist/docs/generate-component-doc.js +269 -0
- package/dist/docs/generate-component-doc.js.map +1 -0
- package/dist/docs/generate-component-stories.d.ts +3 -0
- package/dist/docs/generate-component-stories.d.ts.map +1 -0
- package/dist/docs/generate-component-stories.js +116 -0
- package/dist/docs/generate-component-stories.js.map +1 -0
- package/dist/docs/generate-system-doc.d.ts +23 -0
- package/dist/docs/generate-system-doc.d.ts.map +1 -0
- package/dist/docs/generate-system-doc.js +337 -0
- package/dist/docs/generate-system-doc.js.map +1 -0
- package/dist/docs/index.d.ts +5 -0
- package/dist/docs/index.d.ts.map +1 -0
- package/dist/docs/index.js +5 -0
- package/dist/docs/index.js.map +1 -0
- package/dist/docs/setup-storybook.d.ts +26 -0
- package/dist/docs/setup-storybook.d.ts.map +1 -0
- package/dist/docs/setup-storybook.js +216 -0
- package/dist/docs/setup-storybook.js.map +1 -0
- package/dist/doctor/check-component.d.ts +5 -0
- package/dist/doctor/check-component.d.ts.map +1 -0
- package/dist/doctor/check-component.js +120 -0
- package/dist/doctor/check-component.js.map +1 -0
- package/dist/doctor/check-config.d.ts +4 -0
- package/dist/doctor/check-config.d.ts.map +1 -0
- package/dist/doctor/check-config.js +65 -0
- package/dist/doctor/check-config.js.map +1 -0
- package/dist/doctor/check-tokens.d.ts +4 -0
- package/dist/doctor/check-tokens.d.ts.map +1 -0
- package/dist/doctor/check-tokens.js +17 -0
- package/dist/doctor/check-tokens.js.map +1 -0
- package/dist/doctor/index.d.ts +5 -0
- package/dist/doctor/index.d.ts.map +1 -0
- package/dist/doctor/index.js +5 -0
- package/dist/doctor/index.js.map +1 -0
- package/dist/doctor/types.d.ts +30 -0
- package/dist/doctor/types.d.ts.map +1 -0
- package/dist/doctor/types.js +2 -0
- package/dist/doctor/types.js.map +1 -0
- package/dist/filesystem/ensure-dir.d.ts +5 -0
- package/dist/filesystem/ensure-dir.d.ts.map +1 -0
- package/dist/filesystem/ensure-dir.js +17 -0
- package/dist/filesystem/ensure-dir.js.map +1 -0
- package/dist/filesystem/index.d.ts +6 -0
- package/dist/filesystem/index.d.ts.map +1 -0
- package/dist/filesystem/index.js +6 -0
- package/dist/filesystem/index.js.map +1 -0
- package/dist/filesystem/resolve-component-path.d.ts +10 -0
- package/dist/filesystem/resolve-component-path.d.ts.map +1 -0
- package/dist/filesystem/resolve-component-path.js +32 -0
- package/dist/filesystem/resolve-component-path.js.map +1 -0
- package/dist/filesystem/resolve-ds-paths.d.ts +15 -0
- package/dist/filesystem/resolve-ds-paths.d.ts.map +1 -0
- package/dist/filesystem/resolve-ds-paths.js +51 -0
- package/dist/filesystem/resolve-ds-paths.js.map +1 -0
- package/dist/filesystem/workspace-root.d.ts +6 -0
- package/dist/filesystem/workspace-root.d.ts.map +1 -0
- package/dist/filesystem/workspace-root.js +21 -0
- package/dist/filesystem/workspace-root.js.map +1 -0
- package/dist/filesystem/write-json.d.ts +6 -0
- package/dist/filesystem/write-json.d.ts.map +1 -0
- package/dist/filesystem/write-json.js +10 -0
- package/dist/filesystem/write-json.js.map +1 -0
- package/dist/filesystem/write-text.d.ts +10 -0
- package/dist/filesystem/write-text.d.ts.map +1 -0
- package/dist/filesystem/write-text.js +22 -0
- package/dist/filesystem/write-text.js.map +1 -0
- package/dist/generators/components/generate-component-css.d.ts +6 -0
- package/dist/generators/components/generate-component-css.d.ts.map +1 -0
- package/dist/generators/components/generate-component-css.js +92 -0
- package/dist/generators/components/generate-component-css.js.map +1 -0
- package/dist/generators/components/generate-component-file.d.ts +8 -0
- package/dist/generators/components/generate-component-file.d.ts.map +1 -0
- package/dist/generators/components/generate-component-file.js +209 -0
- package/dist/generators/components/generate-component-file.js.map +1 -0
- package/dist/generators/components/generate-composite-file.d.ts +3 -0
- package/dist/generators/components/generate-composite-file.d.ts.map +1 -0
- package/dist/generators/components/generate-composite-file.js +77 -0
- package/dist/generators/components/generate-composite-file.js.map +1 -0
- package/dist/generators/components/generate-composite-types.d.ts +7 -0
- package/dist/generators/components/generate-composite-types.d.ts.map +1 -0
- package/dist/generators/components/generate-composite-types.js +43 -0
- package/dist/generators/components/generate-composite-types.js.map +1 -0
- package/dist/generators/components/generate-types-file.d.ts +8 -0
- package/dist/generators/components/generate-types-file.d.ts.map +1 -0
- package/dist/generators/components/generate-types-file.js +64 -0
- package/dist/generators/components/generate-types-file.js.map +1 -0
- package/dist/generators/components/helpers.d.ts +33 -0
- package/dist/generators/components/helpers.d.ts.map +1 -0
- package/dist/generators/components/helpers.js +124 -0
- package/dist/generators/components/helpers.js.map +1 -0
- package/dist/generators/components/index.d.ts +9 -0
- package/dist/generators/components/index.d.ts.map +1 -0
- package/dist/generators/components/index.js +10 -0
- package/dist/generators/components/index.js.map +1 -0
- package/dist/generators/components/layout-jsx.d.ts +14 -0
- package/dist/generators/components/layout-jsx.d.ts.map +1 -0
- package/dist/generators/components/layout-jsx.js +271 -0
- package/dist/generators/components/layout-jsx.js.map +1 -0
- package/dist/generators/components/prune-components.d.ts +15 -0
- package/dist/generators/components/prune-components.d.ts.map +1 -0
- package/dist/generators/components/prune-components.js +88 -0
- package/dist/generators/components/prune-components.js.map +1 -0
- package/dist/generators/components/token-helpers.d.ts +32 -0
- package/dist/generators/components/token-helpers.d.ts.map +1 -0
- package/dist/generators/components/token-helpers.js +188 -0
- package/dist/generators/components/token-helpers.js.map +1 -0
- package/dist/generators/components/write-components.d.ts +17 -0
- package/dist/generators/components/write-components.d.ts.map +1 -0
- package/dist/generators/components/write-components.js +212 -0
- package/dist/generators/components/write-components.js.map +1 -0
- package/dist/generators/components/write-composites.d.ts +4 -0
- package/dist/generators/components/write-composites.d.ts.map +1 -0
- package/dist/generators/components/write-composites.js +116 -0
- package/dist/generators/components/write-composites.js.map +1 -0
- package/dist/generators/composites/generate-composite-file.d.ts +3 -0
- package/dist/generators/composites/generate-composite-file.d.ts.map +1 -0
- package/dist/generators/composites/generate-composite-file.js +101 -0
- package/dist/generators/composites/generate-composite-file.js.map +1 -0
- package/dist/generators/composites/generate-composite-types.d.ts +7 -0
- package/dist/generators/composites/generate-composite-types.d.ts.map +1 -0
- package/dist/generators/composites/generate-composite-types.js +43 -0
- package/dist/generators/composites/generate-composite-types.js.map +1 -0
- package/dist/generators/composites/index.d.ts +4 -0
- package/dist/generators/composites/index.d.ts.map +1 -0
- package/dist/generators/composites/index.js +4 -0
- package/dist/generators/composites/index.js.map +1 -0
- package/dist/generators/composites/write-composites.d.ts +4 -0
- package/dist/generators/composites/write-composites.d.ts.map +1 -0
- package/dist/generators/composites/write-composites.js +116 -0
- package/dist/generators/composites/write-composites.js.map +1 -0
- package/dist/generators/registry.d.ts +9 -0
- package/dist/generators/registry.d.ts.map +1 -0
- package/dist/generators/registry.js +11 -0
- package/dist/generators/registry.js.map +1 -0
- package/dist/generators/scaffold/generate-placeholder-component-content.d.ts +9 -0
- package/dist/generators/scaffold/generate-placeholder-component-content.d.ts.map +1 -0
- package/dist/generators/scaffold/generate-placeholder-component-content.js +68 -0
- package/dist/generators/scaffold/generate-placeholder-component-content.js.map +1 -0
- package/dist/generators/scaffold/index.d.ts +3 -0
- package/dist/generators/scaffold/index.d.ts.map +1 -0
- package/dist/generators/scaffold/index.js +3 -0
- package/dist/generators/scaffold/index.js.map +1 -0
- package/dist/generators/scaffold/write-scaffold.d.ts +14 -0
- package/dist/generators/scaffold/write-scaffold.d.ts.map +1 -0
- package/dist/generators/scaffold/write-scaffold.js +87 -0
- package/dist/generators/scaffold/write-scaffold.js.map +1 -0
- package/dist/generators/tokens/generate-token-css.d.ts +6 -0
- package/dist/generators/tokens/generate-token-css.d.ts.map +1 -0
- package/dist/generators/tokens/generate-token-css.js +31 -0
- package/dist/generators/tokens/generate-token-css.js.map +1 -0
- package/dist/generators/tokens/generate-token-file-content.d.ts +6 -0
- package/dist/generators/tokens/generate-token-file-content.d.ts.map +1 -0
- package/dist/generators/tokens/generate-token-file-content.js +27 -0
- package/dist/generators/tokens/generate-token-file-content.js.map +1 -0
- package/dist/generators/tokens/index.d.ts +3 -0
- package/dist/generators/tokens/index.d.ts.map +1 -0
- package/dist/generators/tokens/index.js +3 -0
- package/dist/generators/tokens/index.js.map +1 -0
- package/dist/generators/tokens/write-tokens.d.ts +14 -0
- package/dist/generators/tokens/write-tokens.d.ts.map +1 -0
- package/dist/generators/tokens/write-tokens.js +96 -0
- package/dist/generators/tokens/write-tokens.js.map +1 -0
- package/dist/generators/types.d.ts +11 -0
- package/dist/generators/types.d.ts.map +1 -0
- package/dist/generators/types.js +2 -0
- package/dist/generators/types.js.map +1 -0
- package/dist/icons/enrich-icon-svgs.d.ts +10 -0
- package/dist/icons/enrich-icon-svgs.d.ts.map +1 -0
- package/dist/icons/enrich-icon-svgs.js +88 -0
- package/dist/icons/enrich-icon-svgs.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/manifest/index.d.ts +8 -0
- package/dist/manifest/index.d.ts.map +1 -0
- package/dist/manifest/index.js +80 -0
- package/dist/manifest/index.js.map +1 -0
- package/dist/mappings/build-file-mappings.d.ts +6 -0
- package/dist/mappings/build-file-mappings.d.ts.map +1 -0
- package/dist/mappings/build-file-mappings.js +37 -0
- package/dist/mappings/build-file-mappings.js.map +1 -0
- package/dist/mappings/index.d.ts +3 -0
- package/dist/mappings/index.d.ts.map +1 -0
- package/dist/mappings/index.js +3 -0
- package/dist/mappings/index.js.map +1 -0
- package/dist/mappings/naming-strategy.d.ts +20 -0
- package/dist/mappings/naming-strategy.d.ts.map +1 -0
- package/dist/mappings/naming-strategy.js +78 -0
- package/dist/mappings/naming-strategy.js.map +1 -0
- package/dist/model/build-design-system-model.d.ts +7 -0
- package/dist/model/build-design-system-model.d.ts.map +1 -0
- package/dist/model/build-design-system-model.js +78 -0
- package/dist/model/build-design-system-model.js.map +1 -0
- package/dist/model/index.d.ts +2 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +2 -0
- package/dist/model/index.js.map +1 -0
- package/dist/model/resolve-component.d.ts +11 -0
- package/dist/model/resolve-component.d.ts.map +1 -0
- package/dist/model/resolve-component.js +110 -0
- package/dist/model/resolve-component.js.map +1 -0
- package/dist/normalizer/classify-entities.d.ts +12 -0
- package/dist/normalizer/classify-entities.d.ts.map +1 -0
- package/dist/normalizer/classify-entities.js +62 -0
- package/dist/normalizer/classify-entities.js.map +1 -0
- package/dist/normalizer/helpers.d.ts +13 -0
- package/dist/normalizer/helpers.d.ts.map +1 -0
- package/dist/normalizer/helpers.js +27 -0
- package/dist/normalizer/helpers.js.map +1 -0
- package/dist/normalizer/index.d.ts +7 -0
- package/dist/normalizer/index.d.ts.map +1 -0
- package/dist/normalizer/index.js +7 -0
- package/dist/normalizer/index.js.map +1 -0
- package/dist/normalizer/instance-resolver.d.ts +13 -0
- package/dist/normalizer/instance-resolver.d.ts.map +1 -0
- package/dist/normalizer/instance-resolver.js +747 -0
- package/dist/normalizer/instance-resolver.js.map +1 -0
- package/dist/normalizer/layout-tree.d.ts +12 -0
- package/dist/normalizer/layout-tree.d.ts.map +1 -0
- package/dist/normalizer/layout-tree.js +312 -0
- package/dist/normalizer/layout-tree.js.map +1 -0
- package/dist/normalizer/naming.d.ts +11 -0
- package/dist/normalizer/naming.d.ts.map +1 -0
- package/dist/normalizer/naming.js +44 -0
- package/dist/normalizer/naming.js.map +1 -0
- package/dist/normalizer/normalize-components.d.ts +13 -0
- package/dist/normalizer/normalize-components.d.ts.map +1 -0
- package/dist/normalizer/normalize-components.js +520 -0
- package/dist/normalizer/normalize-components.js.map +1 -0
- package/dist/normalizer/normalize-composites.d.ts +8 -0
- package/dist/normalizer/normalize-composites.d.ts.map +1 -0
- package/dist/normalizer/normalize-composites.js +22 -0
- package/dist/normalizer/normalize-composites.js.map +1 -0
- package/dist/normalizer/normalize-instances.d.ts +9 -0
- package/dist/normalizer/normalize-instances.d.ts.map +1 -0
- package/dist/normalizer/normalize-instances.js +32 -0
- package/dist/normalizer/normalize-instances.js.map +1 -0
- package/dist/normalizer/types.d.ts +22 -0
- package/dist/normalizer/types.d.ts.map +1 -0
- package/dist/normalizer/types.js +2 -0
- package/dist/normalizer/types.js.map +1 -0
- package/dist/normalizer/variant-diff.d.ts +101 -0
- package/dist/normalizer/variant-diff.d.ts.map +1 -0
- package/dist/normalizer/variant-diff.js +307 -0
- package/dist/normalizer/variant-diff.js.map +1 -0
- package/dist/plan/implementation-plan.d.ts +28 -0
- package/dist/plan/implementation-plan.d.ts.map +1 -0
- package/dist/plan/implementation-plan.js +60 -0
- package/dist/plan/implementation-plan.js.map +1 -0
- package/dist/plan/index.d.ts +3 -0
- package/dist/plan/index.d.ts.map +1 -0
- package/dist/plan/index.js +3 -0
- package/dist/plan/index.js.map +1 -0
- package/dist/plan/resolve-affected-files.d.ts +11 -0
- package/dist/plan/resolve-affected-files.d.ts.map +1 -0
- package/dist/plan/resolve-affected-files.js +73 -0
- package/dist/plan/resolve-affected-files.js.map +1 -0
- package/dist/prompt/generate-component-prompt.d.ts +6 -0
- package/dist/prompt/generate-component-prompt.d.ts.map +1 -0
- package/dist/prompt/generate-component-prompt.js +1644 -0
- package/dist/prompt/generate-component-prompt.js.map +1 -0
- package/dist/registry/ai-provider-registry.d.ts +7 -0
- package/dist/registry/ai-provider-registry.d.ts.map +1 -0
- package/dist/registry/ai-provider-registry.js +21 -0
- package/dist/registry/ai-provider-registry.js.map +1 -0
- package/dist/registry/build-component-registry.d.ts +6 -0
- package/dist/registry/build-component-registry.d.ts.map +1 -0
- package/dist/registry/build-component-registry.js +43 -0
- package/dist/registry/build-component-registry.js.map +1 -0
- package/dist/registry/build-dependency-graph.d.ts +7 -0
- package/dist/registry/build-dependency-graph.d.ts.map +1 -0
- package/dist/registry/build-dependency-graph.js +36 -0
- package/dist/registry/build-dependency-graph.js.map +1 -0
- package/dist/registry/generator-registry.d.ts +12 -0
- package/dist/registry/generator-registry.d.ts.map +1 -0
- package/dist/registry/generator-registry.js +22 -0
- package/dist/registry/generator-registry.js.map +1 -0
- package/dist/registry/index.d.ts +3 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +3 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/scaffold-plan/build-scaffold-plan.d.ts +16 -0
- package/dist/scaffold-plan/build-scaffold-plan.d.ts.map +1 -0
- package/dist/scaffold-plan/build-scaffold-plan.js +91 -0
- package/dist/scaffold-plan/build-scaffold-plan.js.map +1 -0
- package/dist/scaffold-plan/index.d.ts +2 -0
- package/dist/scaffold-plan/index.d.ts.map +1 -0
- package/dist/scaffold-plan/index.js +2 -0
- package/dist/scaffold-plan/index.js.map +1 -0
- package/dist/scanner/collect-components.d.ts +10 -0
- package/dist/scanner/collect-components.d.ts.map +1 -0
- package/dist/scanner/collect-components.js +103 -0
- package/dist/scanner/collect-components.js.map +1 -0
- package/dist/scanner/collect-instances.d.ts +6 -0
- package/dist/scanner/collect-instances.d.ts.map +1 -0
- package/dist/scanner/collect-instances.js +31 -0
- package/dist/scanner/collect-instances.js.map +1 -0
- package/dist/scanner/index.d.ts +6 -0
- package/dist/scanner/index.d.ts.map +1 -0
- package/dist/scanner/index.js +6 -0
- package/dist/scanner/index.js.map +1 -0
- package/dist/scanner/scan-file.d.ts +6 -0
- package/dist/scanner/scan-file.d.ts.map +1 -0
- package/dist/scanner/scan-file.js +28 -0
- package/dist/scanner/scan-file.js.map +1 -0
- package/dist/scanner/traverse-nodes.d.ts +15 -0
- package/dist/scanner/traverse-nodes.d.ts.map +1 -0
- package/dist/scanner/traverse-nodes.js +18 -0
- package/dist/scanner/traverse-nodes.js.map +1 -0
- package/dist/scanner/types.d.ts +89 -0
- package/dist/scanner/types.d.ts.map +1 -0
- package/dist/scanner/types.js +2 -0
- package/dist/scanner/types.js.map +1 -0
- package/dist/snapshots/index.d.ts +6 -0
- package/dist/snapshots/index.d.ts.map +1 -0
- package/dist/snapshots/index.js +6 -0
- package/dist/snapshots/index.js.map +1 -0
- package/dist/snapshots/load-imported-tokens.d.ts +8 -0
- package/dist/snapshots/load-imported-tokens.d.ts.map +1 -0
- package/dist/snapshots/load-imported-tokens.js +27 -0
- package/dist/snapshots/load-imported-tokens.js.map +1 -0
- package/dist/snapshots/load-latest-snapshot.d.ts +3 -0
- package/dist/snapshots/load-latest-snapshot.d.ts.map +1 -0
- package/dist/snapshots/load-latest-snapshot.js +16 -0
- package/dist/snapshots/load-latest-snapshot.js.map +1 -0
- package/dist/snapshots/load-previous-snapshot.d.ts +7 -0
- package/dist/snapshots/load-previous-snapshot.d.ts.map +1 -0
- package/dist/snapshots/load-previous-snapshot.js +39 -0
- package/dist/snapshots/load-previous-snapshot.js.map +1 -0
- package/dist/snapshots/save-imported-tokens.d.ts +4 -0
- package/dist/snapshots/save-imported-tokens.d.ts.map +1 -0
- package/dist/snapshots/save-imported-tokens.js +16 -0
- package/dist/snapshots/save-imported-tokens.js.map +1 -0
- package/dist/snapshots/save-snapshot.d.ts +3 -0
- package/dist/snapshots/save-snapshot.d.ts.map +1 -0
- package/dist/snapshots/save-snapshot.js +49 -0
- package/dist/snapshots/save-snapshot.js.map +1 -0
- package/dist/test-null-safety.d.ts +2 -0
- package/dist/test-null-safety.d.ts.map +1 -0
- package/dist/test-null-safety.js +67 -0
- package/dist/test-null-safety.js.map +1 -0
- package/dist/test-regex.d.ts +2 -0
- package/dist/test-regex.d.ts.map +1 -0
- package/dist/test-regex.js +25 -0
- package/dist/test-regex.js.map +1 -0
- package/dist/test-token-resolution.d.ts +2 -0
- package/dist/test-token-resolution.d.ts.map +1 -0
- package/dist/test-token-resolution.js +54 -0
- package/dist/test-token-resolution.js.map +1 -0
- package/dist/test-typography.d.ts +2 -0
- package/dist/test-typography.d.ts.map +1 -0
- package/dist/test-typography.js +69 -0
- package/dist/test-typography.js.map +1 -0
- package/dist/tokens/adapters/generic-adapter.d.ts +13 -0
- package/dist/tokens/adapters/generic-adapter.d.ts.map +1 -0
- package/dist/tokens/adapters/generic-adapter.js +74 -0
- package/dist/tokens/adapters/generic-adapter.js.map +1 -0
- package/dist/tokens/adapters/index.d.ts +3 -0
- package/dist/tokens/adapters/index.d.ts.map +1 -0
- package/dist/tokens/adapters/index.js +3 -0
- package/dist/tokens/adapters/index.js.map +1 -0
- package/dist/tokens/adapters/ptb-adapter.d.ts +13 -0
- package/dist/tokens/adapters/ptb-adapter.d.ts.map +1 -0
- package/dist/tokens/adapters/ptb-adapter.js +13 -0
- package/dist/tokens/adapters/ptb-adapter.js.map +1 -0
- package/dist/tokens/build-token-model.d.ts +12 -0
- package/dist/tokens/build-token-model.d.ts.map +1 -0
- package/dist/tokens/build-token-model.js +50 -0
- package/dist/tokens/build-token-model.js.map +1 -0
- package/dist/tokens/classify-token-kind.d.ts +7 -0
- package/dist/tokens/classify-token-kind.d.ts.map +1 -0
- package/dist/tokens/classify-token-kind.js +24 -0
- package/dist/tokens/classify-token-kind.js.map +1 -0
- package/dist/tokens/detect-format.d.ts +6 -0
- package/dist/tokens/detect-format.d.ts.map +1 -0
- package/dist/tokens/detect-format.js +23 -0
- package/dist/tokens/detect-format.js.map +1 -0
- package/dist/tokens/import-schema.d.ts +111 -0
- package/dist/tokens/import-schema.d.ts.map +1 -0
- package/dist/tokens/import-schema.js +45 -0
- package/dist/tokens/import-schema.js.map +1 -0
- package/dist/tokens/import-tokens.d.ts +16 -0
- package/dist/tokens/import-tokens.d.ts.map +1 -0
- package/dist/tokens/import-tokens.js +40 -0
- package/dist/tokens/import-tokens.js.map +1 -0
- package/dist/tokens/index.d.ts +12 -0
- package/dist/tokens/index.d.ts.map +1 -0
- package/dist/tokens/index.js +12 -0
- package/dist/tokens/index.js.map +1 -0
- package/dist/tokens/naming.d.ts +19 -0
- package/dist/tokens/naming.d.ts.map +1 -0
- package/dist/tokens/naming.js +27 -0
- package/dist/tokens/naming.js.map +1 -0
- package/dist/tokens/normalize-token-collections.d.ts +7 -0
- package/dist/tokens/normalize-token-collections.d.ts.map +1 -0
- package/dist/tokens/normalize-token-collections.js +68 -0
- package/dist/tokens/normalize-token-collections.js.map +1 -0
- package/dist/tokens/resolution.d.ts +7 -0
- package/dist/tokens/resolution.d.ts.map +1 -0
- package/dist/tokens/resolution.js +223 -0
- package/dist/tokens/resolution.js.map +1 -0
- package/dist/tokens/resolve-token-source.d.ts +12 -0
- package/dist/tokens/resolve-token-source.d.ts.map +1 -0
- package/dist/tokens/resolve-token-source.js +37 -0
- package/dist/tokens/resolve-token-source.js.map +1 -0
- package/dist/tokens/types.d.ts +40 -0
- package/dist/tokens/types.d.ts.map +1 -0
- package/dist/tokens/types.js +2 -0
- package/dist/tokens/types.js.map +1 -0
- package/package.json +34 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as path from "node:path";
|
|
2
|
+
import { createNamingStrategy } from "../mappings/naming-strategy.js";
|
|
3
|
+
/**
|
|
4
|
+
* Resolves the expected filesystem path for a component's generated artifact folder.
|
|
5
|
+
*/
|
|
6
|
+
export function resolveComponentFolder(component, config) {
|
|
7
|
+
const { componentsDir } = config.output;
|
|
8
|
+
const naming = createNamingStrategy(config.naming);
|
|
9
|
+
const folderName = naming.formatFolderName(component.name);
|
|
10
|
+
let targetDir = componentsDir;
|
|
11
|
+
if (component.categoryPath) {
|
|
12
|
+
targetDir = path.posix.join(targetDir, naming.formatFolderName(component.categoryPath));
|
|
13
|
+
}
|
|
14
|
+
targetDir = path.posix.join(targetDir, folderName);
|
|
15
|
+
// Ensure we return a path relative to the process CWD or absolute if it was absolute
|
|
16
|
+
return targetDir.startsWith("./") ? targetDir.slice(2) : targetDir;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Resolves the expected filenames for a component's generated artifacts.
|
|
20
|
+
*/
|
|
21
|
+
export function resolveComponentFiles(component, config) {
|
|
22
|
+
const folder = resolveComponentFolder(component, config);
|
|
23
|
+
const naming = createNamingStrategy(config.naming);
|
|
24
|
+
const componentName = naming.formatComponentName(component.name);
|
|
25
|
+
return [
|
|
26
|
+
path.join(folder, `${componentName}.tsx`),
|
|
27
|
+
path.join(folder, `${componentName}.types.ts`),
|
|
28
|
+
path.join(folder, `${componentName}.module.css`),
|
|
29
|
+
path.join(folder, "index.ts")
|
|
30
|
+
];
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=resolve-component-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-component-path.js","sourceRoot":"","sources":["../../src/filesystem/resolve-component-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAA8B,EAAE,MAAiB;IACpF,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEnD,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAE3D,IAAI,SAAS,GAAG,aAAa,CAAC;IAC9B,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QACzB,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5F,CAAC;IACD,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAEnD,qFAAqF;IACrF,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAA8B,EAAE,MAAiB;IACnF,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAEjE,OAAO;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,MAAM,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,WAAW,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,aAAa,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;KAChC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { PTBConfig } from "@calibrate-ds/shared-types";
|
|
2
|
+
export interface ResolvedDSPaths {
|
|
3
|
+
workspaceRoot: string;
|
|
4
|
+
packageRoot: string;
|
|
5
|
+
componentsDir: string;
|
|
6
|
+
tokensDir: string;
|
|
7
|
+
metadataDir: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Provides a single source of truth for Design System output paths natively analyzing
|
|
11
|
+
* whether the workspace config implies a strict library boundary or a unified application map.
|
|
12
|
+
* This explicitly detects discrepancies where `ptb init --with-library` ran after the config was made.
|
|
13
|
+
*/
|
|
14
|
+
export declare function resolveDSPaths(config: PTBConfig): ResolvedDSPaths;
|
|
15
|
+
//# sourceMappingURL=resolve-ds-paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-ds-paths.d.ts","sourceRoot":"","sources":["../../src/filesystem/resolve-ds-paths.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,eAAe,CAiDjE"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as path from "node:path";
|
|
2
|
+
import * as fs from "node:fs";
|
|
3
|
+
import { findWorkspaceRoot } from "./workspace-root.js";
|
|
4
|
+
/**
|
|
5
|
+
* Provides a single source of truth for Design System output paths natively analyzing
|
|
6
|
+
* whether the workspace config implies a strict library boundary or a unified application map.
|
|
7
|
+
* This explicitly detects discrepancies where `ptb init --with-library` ran after the config was made.
|
|
8
|
+
*/
|
|
9
|
+
export function resolveDSPaths(config) {
|
|
10
|
+
const workspaceRoot = config.project.rootDir || findWorkspaceRoot();
|
|
11
|
+
const rootDir = workspaceRoot;
|
|
12
|
+
// Explicitly grab the config boundaries
|
|
13
|
+
let configuredComponentsDir = config.output.componentsDir;
|
|
14
|
+
let configuredTokensDir = config.output.tokensDir;
|
|
15
|
+
// Detect if we are in "library mode" (e.g. outputs point specifically to a packages/ folder inside a monorepo)
|
|
16
|
+
let isLibraryMode = configuredComponentsDir.startsWith("packages/");
|
|
17
|
+
// If config doesn't say library mode, check the filesystem (in case they ran --with-library on a stale config)
|
|
18
|
+
if (!isLibraryMode) {
|
|
19
|
+
const defaultLibraryMeta = path.join(rootDir, "packages/ui/package.json");
|
|
20
|
+
if (fs.existsSync(defaultLibraryMeta)) {
|
|
21
|
+
isLibraryMode = true;
|
|
22
|
+
// If they are strictly on default simple paths, magically bridge them to the library structure outputs
|
|
23
|
+
if (configuredComponentsDir === "src/components/ui") {
|
|
24
|
+
configuredComponentsDir = "packages/ui/src/components";
|
|
25
|
+
}
|
|
26
|
+
if (configuredTokensDir === "src/tokens") {
|
|
27
|
+
configuredTokensDir = "packages/ui/src/tokens";
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
let packageRoot = rootDir;
|
|
32
|
+
if (isLibraryMode) {
|
|
33
|
+
// Extract the library name prefix smartly: `packages/ui/src/components` -> `packages/ui`
|
|
34
|
+
const parts = configuredComponentsDir.split("/");
|
|
35
|
+
if (parts.length >= 2) {
|
|
36
|
+
packageRoot = path.resolve(rootDir, parts[0], parts[1]);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// Natively bind to exact values configured rather than internally transforming/nesting!
|
|
40
|
+
const componentsDir = path.resolve(rootDir, configuredComponentsDir);
|
|
41
|
+
const tokensDir = path.resolve(rootDir, configuredTokensDir);
|
|
42
|
+
const metadataDir = path.resolve(rootDir, config.output.metadataDir || ".ptb");
|
|
43
|
+
return {
|
|
44
|
+
workspaceRoot,
|
|
45
|
+
packageRoot,
|
|
46
|
+
componentsDir,
|
|
47
|
+
tokensDir,
|
|
48
|
+
metadataDir
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=resolve-ds-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-ds-paths.js","sourceRoot":"","sources":["../../src/filesystem/resolve-ds-paths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAWxD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAiB;IAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,iBAAiB,EAAE,CAAC;IACpE,MAAM,OAAO,GAAG,aAAa,CAAC;IAE9B,wCAAwC;IACxC,IAAI,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IAC1D,IAAI,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IAElD,+GAA+G;IAC/G,IAAI,aAAa,GAAG,uBAAuB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAEpE,+GAA+G;IAC/G,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;QAC1E,IAAI,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACpC,aAAa,GAAG,IAAI,CAAC;YAErB,uGAAuG;YACvG,IAAI,uBAAuB,KAAK,mBAAmB,EAAE,CAAC;gBAClD,uBAAuB,GAAG,4BAA4B,CAAC;YAC3D,CAAC;YACD,IAAI,mBAAmB,KAAK,YAAY,EAAE,CAAC;gBACvC,mBAAmB,GAAG,wBAAwB,CAAC;YACnD,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,WAAW,GAAG,OAAO,CAAC;IAE1B,IAAI,aAAa,EAAE,CAAC;QAChB,yFAAyF;QACzF,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpB,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAED,wFAAwF;IACxF,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC;IAE/E,OAAO;QACH,aAAa;QACb,WAAW;QACX,aAAa;QACb,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Searches upwards from the current directory to find the workspace root.
|
|
3
|
+
* The workspace root is defined as the first parent directory containing a .ptb folder.
|
|
4
|
+
*/
|
|
5
|
+
export declare function findWorkspaceRoot(startDir?: string): string;
|
|
6
|
+
//# sourceMappingURL=workspace-root.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-root.d.ts","sourceRoot":"","sources":["../../src/filesystem/workspace-root.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,CAe1E"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as path from "node:path";
|
|
2
|
+
import * as fs from "node:fs";
|
|
3
|
+
/**
|
|
4
|
+
* Searches upwards from the current directory to find the workspace root.
|
|
5
|
+
* The workspace root is defined as the first parent directory containing a .ptb folder.
|
|
6
|
+
*/
|
|
7
|
+
export function findWorkspaceRoot(startDir = process.cwd()) {
|
|
8
|
+
let current = path.resolve(startDir);
|
|
9
|
+
while (true) {
|
|
10
|
+
if (fs.existsSync(path.join(current, ".ptb"))) {
|
|
11
|
+
return current;
|
|
12
|
+
}
|
|
13
|
+
const parent = path.dirname(current);
|
|
14
|
+
if (parent === current) {
|
|
15
|
+
// Reached root of filesystem without finding .ptb
|
|
16
|
+
return path.resolve(startDir);
|
|
17
|
+
}
|
|
18
|
+
current = parent;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=workspace-root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-root.js","sourceRoot":"","sources":["../../src/filesystem/workspace-root.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB,OAAO,CAAC,GAAG,EAAE;IAC9D,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErC,OAAO,IAAI,EAAE,CAAC;QACV,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACrB,kDAAkD;YAClD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,MAAM,CAAC;IACrB,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-json.d.ts","sourceRoot":"","sources":["../../src/filesystem/write-json.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1E"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as fs from "node:fs/promises";
|
|
2
|
+
/**
|
|
3
|
+
* Safely writes a beautifully formatted JSON file.
|
|
4
|
+
* Automatically overwrites.
|
|
5
|
+
*/
|
|
6
|
+
export async function writeJson(filePath, data) {
|
|
7
|
+
const content = JSON.stringify(data, null, 2) + "\n";
|
|
8
|
+
await fs.writeFile(filePath, content, "utf-8");
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=write-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-json.js","sourceRoot":"","sources":["../../src/filesystem/write-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEvC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,IAAS;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACrD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
type WriteTextOptions = {
|
|
2
|
+
overwrite?: boolean;
|
|
3
|
+
};
|
|
4
|
+
/**
|
|
5
|
+
* Safely writes text to a file.
|
|
6
|
+
* Defaults to NOT overwriting if the file already exists to protect user logic.
|
|
7
|
+
*/
|
|
8
|
+
export declare function writeText(filePath: string, content: string, options?: WriteTextOptions): Promise<boolean>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=write-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-text.d.ts","sourceRoot":"","sources":["../../src/filesystem/write-text.ts"],"names":[],"mappings":"AAEA,KAAK,gBAAgB,GAAG;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,SAAS,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,gBAAuC,GACjD,OAAO,CAAC,OAAO,CAAC,CAgBlB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as fs from "node:fs/promises";
|
|
2
|
+
/**
|
|
3
|
+
* Safely writes text to a file.
|
|
4
|
+
* Defaults to NOT overwriting if the file already exists to protect user logic.
|
|
5
|
+
*/
|
|
6
|
+
export async function writeText(filePath, content, options = { overwrite: false }) {
|
|
7
|
+
if (!options.overwrite) {
|
|
8
|
+
try {
|
|
9
|
+
await fs.stat(filePath);
|
|
10
|
+
// File exists and overwrite is false -> skip
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
// File does not exist -> proceed
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
// Ensure file ends with newline
|
|
18
|
+
const safeContent = content.endsWith("\n") ? content : content + "\n";
|
|
19
|
+
await fs.writeFile(filePath, safeContent, "utf-8");
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=write-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-text.js","sourceRoot":"","sources":["../../src/filesystem/write-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAMvC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,QAAgB,EAChB,OAAe,EACf,UAA4B,EAAE,SAAS,EAAE,KAAK,EAAE;IAEhD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC;YACD,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,6CAA6C;YAC7C,OAAO,KAAK,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACL,iCAAiC;QACrC,CAAC;IACL,CAAC;IAED,gCAAgC;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;IAEtE,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ComponentDefinition } from "@ptb/shared-types";
|
|
2
|
+
/**
|
|
3
|
+
* Builds .module.css structure abstracting component `.root` classes natively interpreting style hooks matching variants intuitively inherently.
|
|
4
|
+
*/
|
|
5
|
+
export declare function generateComponentCss(component: ComponentDefinition): string;
|
|
6
|
+
//# sourceMappingURL=generate-component-css.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-component-css.d.ts","sourceRoot":"","sources":["../../../src/generators/components/generate-component-css.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AA4B7D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,mBAAmB,GAAG,MAAM,CAmE3E"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { normalizePropName } from "./helpers.js";
|
|
2
|
+
/**
|
|
3
|
+
* Normalizes CSS custom variables reliably.
|
|
4
|
+
*/
|
|
5
|
+
function normalizeCssVarName(name) {
|
|
6
|
+
return name.toLowerCase()
|
|
7
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
8
|
+
.replace(/(^-|-$)/g, "");
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Maps Prompt-to-Both internal style slots into valid Web CSS property equivalents natively.
|
|
12
|
+
*/
|
|
13
|
+
const CSS_PROPERTY_MAP = {
|
|
14
|
+
spacingX: "padding-inline",
|
|
15
|
+
spacingY: "padding-block",
|
|
16
|
+
borderRadius: "border-radius",
|
|
17
|
+
radius: "border-radius",
|
|
18
|
+
border: "border",
|
|
19
|
+
color: "color",
|
|
20
|
+
text: "color",
|
|
21
|
+
fill: "color",
|
|
22
|
+
background: "background",
|
|
23
|
+
iconColor: "color"
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Builds .module.css structure abstracting component `.root` classes natively interpreting style hooks matching variants intuitively inherently.
|
|
27
|
+
*/
|
|
28
|
+
export function generateComponentCss(component) {
|
|
29
|
+
let cssContent = `.root {\n`;
|
|
30
|
+
// Extract core generic flex-behaviors organically.
|
|
31
|
+
cssContent += ` display: flex;\n`;
|
|
32
|
+
if (component.layout) {
|
|
33
|
+
if (component.layout.mode === "horizontal") {
|
|
34
|
+
cssContent += ` flex-direction: row;\n`;
|
|
35
|
+
}
|
|
36
|
+
else if (component.layout.mode === "vertical") {
|
|
37
|
+
cssContent += ` flex-direction: column;\n`;
|
|
38
|
+
}
|
|
39
|
+
if (component.layout.gap)
|
|
40
|
+
cssContent += ` gap: ${component.layout.gap}px;\n`;
|
|
41
|
+
if (component.layout.padding) {
|
|
42
|
+
const { top = 0, right = 0, bottom = 0, left = 0 } = component.layout.padding;
|
|
43
|
+
if (top === bottom && right === left && top === right) {
|
|
44
|
+
cssContent += ` padding: ${top}px;\n`;
|
|
45
|
+
}
|
|
46
|
+
else if (top === bottom && right === left) {
|
|
47
|
+
cssContent += ` padding: ${top}px ${right}px;\n`;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
cssContent += ` padding: ${top}px ${right}px ${bottom}px ${left}px;\n`;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// Typical defaults mapping align Main and Cross generic behaviors
|
|
54
|
+
if (component.layout.alignMain) {
|
|
55
|
+
cssContent += ` justify-content: ${component.layout.alignMain === "center" ? "center" : component.layout.alignMain === "spaceBetween" ? "space-between" : "flex-start"};\n`;
|
|
56
|
+
}
|
|
57
|
+
if (component.layout.alignCross) {
|
|
58
|
+
cssContent += ` align-items: ${component.layout.alignCross === "center" ? "center" : "flex-start"};\n`;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Connect standard properties gracefully catching styles inherently natively replacing specific values with matching Figma explicit definitions.
|
|
62
|
+
if (component.styleMetadata) {
|
|
63
|
+
for (const [key, val] of Object.entries(component.styleMetadata)) {
|
|
64
|
+
const cssProperty = CSS_PROPERTY_MAP[key] || normalizeCssVarName(key);
|
|
65
|
+
// Extrapolate explicit Custom Token definitions matching `{<tokenId>}`
|
|
66
|
+
if (typeof val === "string" && val.startsWith("{") && val.endsWith("}")) {
|
|
67
|
+
const tokenAlias = val.slice(1, -1);
|
|
68
|
+
cssContent += ` ${cssProperty}: var(--ptb-${normalizeCssVarName(tokenAlias)});\n`;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
const formatValue = typeof val === "number" && cssProperty !== "opacity" ? `${val}px` : val;
|
|
72
|
+
cssContent += ` ${cssProperty}: ${formatValue};\n`;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
cssContent += `}\n`;
|
|
77
|
+
// Extrapolate explicit CSS states structurally generating variants natively safely
|
|
78
|
+
if (component.properties) {
|
|
79
|
+
const enumProps = component.properties.filter(p => p.type === "enum" && p.options);
|
|
80
|
+
for (const p of enumProps) {
|
|
81
|
+
const safeName = normalizePropName(p.name);
|
|
82
|
+
for (const opt of (p.options || [])) {
|
|
83
|
+
// Determine explicit basic specific mappings cleanly inherently
|
|
84
|
+
cssContent += `\n.root[data-${safeName.toLowerCase()}="${opt}"] {\n`;
|
|
85
|
+
cssContent += ` /* Variant overrides for ${safeName}=${opt} */\n`;
|
|
86
|
+
cssContent += `}\n`;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return cssContent;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=generate-component-css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-component-css.js","sourceRoot":"","sources":["../../../src/generators/components/generate-component-css.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ComponentDefinition, PTBConfig, DesignSystemModel } from "@ptb/shared-types";
|
|
2
|
+
/**
|
|
3
|
+
* Writes the structural boilerplate for a strictly validated React Component mapped
|
|
4
|
+
* functionally tracking properties natively against standard `data-` mappings.
|
|
5
|
+
* Automatically injects structural token dependencies based on categorical mappings.
|
|
6
|
+
*/
|
|
7
|
+
export declare function generateComponentFile(component: ComponentDefinition, config: PTBConfig, model: DesignSystemModel): string;
|
|
8
|
+
//# sourceMappingURL=generate-component-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-component-file.d.ts","sourceRoot":"","sources":["../../../src/generators/components/generate-component-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAmB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAM5G;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,SAAS,EAAE,mBAAmB,EAC9B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,iBAAiB,GACzB,MAAM,CAiOR"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { createNamingStrategy } from "../../mappings/naming-strategy.js";
|
|
2
|
+
import { normalizePropName, inferBaseElement, sanitizeOptionName, getCssModuleImportPath } from "./helpers.js";
|
|
3
|
+
import { inferRelevantTokenCollections, resolveRelativeTokenImport, formatCollectionImportName, inferStyleSlots, selectTokensForSlots } from "./token-helpers.js";
|
|
4
|
+
import { generateLayoutJSX } from "./layout-jsx.js";
|
|
5
|
+
/**
|
|
6
|
+
* Writes the structural boilerplate for a strictly validated React Component mapped
|
|
7
|
+
* functionally tracking properties natively against standard `data-` mappings.
|
|
8
|
+
* Automatically injects structural token dependencies based on categorical mappings.
|
|
9
|
+
*/
|
|
10
|
+
export function generateComponentFile(component, config, model) {
|
|
11
|
+
const namingStrategy = createNamingStrategy(config.naming);
|
|
12
|
+
const componentName = namingStrategy.formatComponentName(component.name);
|
|
13
|
+
const typesImport = config.framework.typescript
|
|
14
|
+
? `import type { ${componentName}Props } from "./${componentName}.types.js";`
|
|
15
|
+
: "";
|
|
16
|
+
const stylesImport = `import styles from "${getCssModuleImportPath(componentName)}";`;
|
|
17
|
+
// 1. Resolve Tokens Structural Semantics
|
|
18
|
+
const availableTokens = model.tokens || [];
|
|
19
|
+
const relevantTokens = inferRelevantTokenCollections(component.name, component.categoryPath || "", availableTokens);
|
|
20
|
+
let tokenImportsBlock = "";
|
|
21
|
+
let tokenRefsBlock = "";
|
|
22
|
+
let styleIntentsBlock = "";
|
|
23
|
+
if (relevantTokens.length > 0) {
|
|
24
|
+
tokenImportsBlock = relevantTokens.map(collection => {
|
|
25
|
+
const importName = `${formatCollectionImportName(collection.name)}Tokens`;
|
|
26
|
+
const importPath = resolveRelativeTokenImport(collection.name);
|
|
27
|
+
return `import { ${importName} } from "${importPath}";`;
|
|
28
|
+
}).join("\n");
|
|
29
|
+
tokenRefsBlock = `
|
|
30
|
+
/**
|
|
31
|
+
* Structural Token references mapping the component intent natively.
|
|
32
|
+
* Generated statically by Prompt-to-Both mimicking Figma styles structurally.
|
|
33
|
+
*/
|
|
34
|
+
export const ${componentName}TokenRefs = {
|
|
35
|
+
${relevantTokens.map(t => ` ${formatCollectionImportName(t.name)}: ${formatCollectionImportName(t.name)}Tokens,`).join("\n")}
|
|
36
|
+
} as const;
|
|
37
|
+
`;
|
|
38
|
+
// Style Intents
|
|
39
|
+
const styleSlots = inferStyleSlots(component.name, component.categoryPath || "");
|
|
40
|
+
const styleTokensMap = selectTokensForSlots(styleSlots, relevantTokens, component.styleMetadata);
|
|
41
|
+
if (Object.keys(styleTokensMap).length > 0) {
|
|
42
|
+
styleIntentsBlock = `
|
|
43
|
+
/**
|
|
44
|
+
* Expressive Style Intent describing the explicit structural mappings to actual UI design tokens.
|
|
45
|
+
* This metadata connects the visual hierarchy to abstract definitions visually.
|
|
46
|
+
*/
|
|
47
|
+
export const ${componentName}StyleTokens = {
|
|
48
|
+
${Object.entries(styleTokensMap).map(([slot, exactRef]) => ` ${slot}: ${exactRef},`).join("\n")}
|
|
49
|
+
} as const;
|
|
50
|
+
`;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const { tag } = inferBaseElement(component.name, component.categoryPath || "");
|
|
54
|
+
const isVoidElement = ["img", "input", "br", "hr"].includes(tag);
|
|
55
|
+
const propsDef = config.framework.typescript
|
|
56
|
+
? `{ className, ...props }: ${componentName}Props`
|
|
57
|
+
: `{ className, ...props }`;
|
|
58
|
+
let returnBlock = "";
|
|
59
|
+
// Build base properties to pass towards the root node seamlessly
|
|
60
|
+
let dataAtts = "";
|
|
61
|
+
let destructuredVariants = "";
|
|
62
|
+
if (component.properties && component.properties.length > 0) {
|
|
63
|
+
dataAtts = component.properties
|
|
64
|
+
.filter(p => p.type === "enum" || p.type === "boolean")
|
|
65
|
+
.map(p => {
|
|
66
|
+
const cleanName = normalizePropName(p.name);
|
|
67
|
+
return `data-${cleanName.toLowerCase()}={${cleanName}}`;
|
|
68
|
+
}).join("\n ");
|
|
69
|
+
destructuredVariants = component.properties.map(p => normalizePropName(p.name)).join(", ");
|
|
70
|
+
}
|
|
71
|
+
else if (component.variants && component.variants.length > 0) {
|
|
72
|
+
dataAtts = component.variants.map(v => {
|
|
73
|
+
const cleanName = normalizePropName(v.name);
|
|
74
|
+
return `data-${cleanName.toLowerCase()}={${cleanName}}`;
|
|
75
|
+
}).join("\n ");
|
|
76
|
+
destructuredVariants = component.variants.map(v => normalizePropName(v.name)).join(", ");
|
|
77
|
+
}
|
|
78
|
+
const propsWithVariantsDef = destructuredVariants
|
|
79
|
+
? (config.framework.typescript ? `{ className, ${destructuredVariants}, ...props }: ${componentName}Props` : `{ className, ${destructuredVariants}, ...props }`)
|
|
80
|
+
: propsDef;
|
|
81
|
+
// We build the `{...props}` explicit string matching exactly what the generator requires native to React
|
|
82
|
+
let allPropsStr = dataAtts
|
|
83
|
+
? `className={[styles.root, className].filter(Boolean).join(" ")}\n ${dataAtts}\n {...props}`
|
|
84
|
+
: `className={[styles.root, className].filter(Boolean).join(" ")} {...props}`;
|
|
85
|
+
// 2. Extrapolate ARIA Attributes organically mapping strict Property States securely!
|
|
86
|
+
let ariaStr = "";
|
|
87
|
+
if (component.properties) {
|
|
88
|
+
let ariaAttrs = [];
|
|
89
|
+
// Find literal Text Fallbacks inherently mapping labels
|
|
90
|
+
const textProp = component.properties.find(p => p.type === "text");
|
|
91
|
+
if (textProp) {
|
|
92
|
+
ariaAttrs.push(`aria-label={${normalizePropName(textProp.name)}}`);
|
|
93
|
+
}
|
|
94
|
+
// Catch Strict Semantic States inherently mapping visual toggles securely
|
|
95
|
+
for (const p of component.properties) {
|
|
96
|
+
const isEnum = p.type === "enum";
|
|
97
|
+
const isBool = p.type === "boolean";
|
|
98
|
+
if (isEnum || isBool) {
|
|
99
|
+
const safeName = normalizePropName(p.name);
|
|
100
|
+
const safeNameLower = safeName.toLowerCase();
|
|
101
|
+
const optionsStr = isEnum ? (p.options || []).map(opt => opt.toLowerCase()) : [];
|
|
102
|
+
if (safeNameLower === "disabled" || optionsStr.includes("disabled")) {
|
|
103
|
+
ariaAttrs.push(`aria-disabled={${isEnum ? `${safeName} === "Disabled"` : safeName}}`);
|
|
104
|
+
}
|
|
105
|
+
if (tag === "button" && (safeNameLower === "pressed" || optionsStr.includes("pressed"))) {
|
|
106
|
+
ariaAttrs.push(`aria-pressed={${isEnum ? `${safeName} === "Pressed"` : safeName}}`);
|
|
107
|
+
}
|
|
108
|
+
if (tag === "input" && (safeNameLower === "error" || safeNameLower === "invalid" || optionsStr.includes("error"))) {
|
|
109
|
+
ariaAttrs.push(`aria-invalid={${isEnum ? `${safeName} === "Error"` : safeName}}`);
|
|
110
|
+
}
|
|
111
|
+
if (tag !== "input" && (safeNameLower === "selected" || optionsStr.includes("selected"))) {
|
|
112
|
+
ariaAttrs.push(`aria-selected={${isEnum ? `${safeName} === "Selected"` : safeName}}`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (ariaAttrs.length > 0) {
|
|
117
|
+
ariaStr = ariaAttrs.join("\n ");
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Attach Aria Attributes onto standard property chains effortlessly!
|
|
121
|
+
if (ariaStr) {
|
|
122
|
+
allPropsStr = `${ariaStr}\n ${allPropsStr}`;
|
|
123
|
+
}
|
|
124
|
+
let implementationBody = "";
|
|
125
|
+
// 3. Consume Normalized Layout Tree recursively if available!
|
|
126
|
+
let dependencies = new Map();
|
|
127
|
+
if (component.layoutTree) {
|
|
128
|
+
// We evaluate `{...props}` mapping inside our string builder natively dynamically!
|
|
129
|
+
const result = generateLayoutJSX(component.layoutTree, component, model, namingStrategy, 3);
|
|
130
|
+
const childJSX = result.jsx;
|
|
131
|
+
const { tag } = inferBaseElement(component.name, component.categoryPath || "");
|
|
132
|
+
if (tag === "button") {
|
|
133
|
+
// Safely Wrap Semantic Native Button directly seamlessly!
|
|
134
|
+
implementationBody = ` <button ${allPropsStr}>\n${childJSX}\n </button>`;
|
|
135
|
+
}
|
|
136
|
+
else if (tag === "input") {
|
|
137
|
+
const isCheckbox = component.name.toLowerCase().includes("checkbox");
|
|
138
|
+
const inputType = isCheckbox ? "checkbox" : "text";
|
|
139
|
+
// Safely Wrap Semantic Native Input directly seamlessly!
|
|
140
|
+
implementationBody = ` <label className={className}>\n <input type="${inputType}" ${ariaStr} {...props} />\n${childJSX}\n </label>`;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
// Standard generic fallback explicitly wrapping layout configurations inside semantic standard wrappers seamlessly
|
|
144
|
+
implementationBody = ` <div ${allPropsStr}>\n${result.jsx}\n </div>`;
|
|
145
|
+
}
|
|
146
|
+
dependencies = result.dependencies;
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
// 4. Fallback Legacy Skeletons (no layout metadata) natively
|
|
150
|
+
const { tag } = inferBaseElement(component.name, component.categoryPath || "");
|
|
151
|
+
const isVoidElement = ["img", "input", "br", "hr"].includes(tag);
|
|
152
|
+
if (isVoidElement) {
|
|
153
|
+
implementationBody = ` <${tag} ${allPropsStr} />`;
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
implementationBody = ` <${tag} ${allPropsStr}>
|
|
157
|
+
{/* Implementation details modeled inside Prompt-to-Both generated safely */}
|
|
158
|
+
{props.children}
|
|
159
|
+
</${tag}>`;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
// 4. Generate Localized Variant Map configurations safely
|
|
163
|
+
let variantDefinitions = "";
|
|
164
|
+
if (component.properties && component.properties.length > 0) {
|
|
165
|
+
const enumProps = component.properties.filter(p => p.type === "enum" && p.options && p.options.length > 0);
|
|
166
|
+
if (enumProps.length > 0) {
|
|
167
|
+
const variantLines = enumProps.map(p => {
|
|
168
|
+
const safeName = normalizePropName(p.name);
|
|
169
|
+
const safeOptions = p.options.map(opt => `"${sanitizeOptionName(opt)}"`).join(", ");
|
|
170
|
+
return ` ${safeName}: [${safeOptions}],`;
|
|
171
|
+
});
|
|
172
|
+
variantDefinitions = `const ${componentName.charAt(0).toLowerCase() + componentName.slice(1)}Variants = {\n${variantLines.join("\n")}\n} as const;\n\n`;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
else if (component.variants && component.variants.length > 0) {
|
|
176
|
+
// Legacy fallback
|
|
177
|
+
const variantLines = component.variants.map(v => {
|
|
178
|
+
const safeName = normalizePropName(v.name);
|
|
179
|
+
const safeOptions = (v.options || []).map(opt => `"${sanitizeOptionName(opt)}"`).join(", ");
|
|
180
|
+
return ` ${safeName}: [${safeOptions}],`;
|
|
181
|
+
});
|
|
182
|
+
variantDefinitions = `const ${componentName.charAt(0).toLowerCase() + componentName.slice(1)}Variants = {\n${variantLines.join("\n")}\n} as const;\n\n`;
|
|
183
|
+
}
|
|
184
|
+
returnBlock = `${variantDefinitions}export function ${componentName}(${propsWithVariantsDef}) {
|
|
185
|
+
return (
|
|
186
|
+
${implementationBody}
|
|
187
|
+
);
|
|
188
|
+
}`;
|
|
189
|
+
const outputChunks = [
|
|
190
|
+
`import * as React from "react";`,
|
|
191
|
+
];
|
|
192
|
+
const layoutImportsBlock = Array.from(dependencies.entries()).map(([importPath, symbolName]) => {
|
|
193
|
+
return `import { ${symbolName} } from "${importPath}.js";`;
|
|
194
|
+
}).join("\n");
|
|
195
|
+
if (typesImport)
|
|
196
|
+
outputChunks.push(typesImport);
|
|
197
|
+
outputChunks.push(stylesImport);
|
|
198
|
+
if (tokenImportsBlock)
|
|
199
|
+
outputChunks.push(tokenImportsBlock);
|
|
200
|
+
if (layoutImportsBlock)
|
|
201
|
+
outputChunks.push(layoutImportsBlock);
|
|
202
|
+
if (tokenRefsBlock)
|
|
203
|
+
outputChunks.push(tokenRefsBlock.trim());
|
|
204
|
+
if (styleIntentsBlock)
|
|
205
|
+
outputChunks.push(styleIntentsBlock.trim());
|
|
206
|
+
outputChunks.push(returnBlock);
|
|
207
|
+
return outputChunks.join("\n\n") + "\n";
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=generate-component-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-component-file.js","sourceRoot":"","sources":["../../../src/generators/components/generate-component-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ComponentDefinition, DesignSystemModel, PTBConfig } from "@ptb/shared-types";
|
|
2
|
+
export declare function generateCompositeFile(component: ComponentDefinition, model: DesignSystemModel, config: PTBConfig): string;
|
|
3
|
+
//# sourceMappingURL=generate-composite-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-composite-file.d.ts","sourceRoot":"","sources":["../../../src/generators/components/generate-composite-file.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAQ3F,wBAAgB,qBAAqB,CACjC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,SAAS,GAClB,MAAM,CAiFR"}
|