meno-core 1.0.53 → 1.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/.claude/settings.local.json +1 -3
- package/bin/cli.ts +66 -261
- package/build-astro.ts +150 -128
- package/dist/bin/cli.js +42 -185
- package/dist/bin/cli.js.map +2 -2
- package/dist/chunks/chunk-2AR55GYH.js +42 -0
- package/dist/chunks/chunk-2AR55GYH.js.map +7 -0
- package/dist/chunks/{chunk-JGWFTO6P.js → chunk-2IIQK7T3.js} +2624 -1389
- package/dist/chunks/chunk-2IIQK7T3.js.map +7 -0
- package/dist/chunks/chunk-4ZRU52J2.js +169 -0
- package/dist/chunks/chunk-4ZRU52J2.js.map +7 -0
- package/dist/chunks/{chunk-UB44F4Z2.js → chunk-5X4HCN7J.js} +5 -7
- package/dist/chunks/chunk-5X4HCN7J.js.map +7 -0
- package/dist/chunks/{chunk-WQFG7PAH.js → chunk-7CCVOL5M.js} +15 -19
- package/dist/chunks/chunk-7CCVOL5M.js.map +7 -0
- package/dist/chunks/{chunk-YBLHKYFF.js → chunk-AR7LHIFY.js} +8 -2
- package/dist/chunks/chunk-AR7LHIFY.js.map +7 -0
- package/dist/chunks/{chunk-O3NAGJP4.js → chunk-NUP7H7D3.js} +135 -41
- package/dist/chunks/chunk-NUP7H7D3.js.map +7 -0
- package/dist/chunks/{chunk-X754AHS5.js → chunk-QWTQZHG3.js} +194 -90
- package/dist/chunks/chunk-QWTQZHG3.js.map +7 -0
- package/dist/chunks/{chunk-H3GJ4H2U.js → chunk-XTKNX4FW.js} +216 -87
- package/dist/chunks/chunk-XTKNX4FW.js.map +7 -0
- package/dist/chunks/{fs-JGINUXGL.js → fs-G3ANWEFP.js} +2 -2
- package/dist/lib/client/index.js +1003 -475
- package/dist/lib/client/index.js.map +3 -3
- package/dist/lib/server/index.js +14393 -6371
- package/dist/lib/server/index.js.map +4 -4
- package/dist/lib/shared/index.js +342 -101
- package/dist/lib/shared/index.js.map +4 -4
- package/dist/lib/shared/richtext/index.js +1 -1
- package/dist/lib/test-utils/index.js +64 -80
- package/dist/lib/test-utils/index.js.map +2 -2
- package/entries/client-router.tsx +10 -8
- package/lib/client/ClientInitializer.ts +8 -8
- package/lib/client/ErrorBoundary.test.tsx +246 -186
- package/lib/client/ErrorBoundary.tsx +183 -132
- package/lib/client/componentRegistry.test.ts +96 -108
- package/lib/client/componentRegistry.ts +1 -3
- package/lib/client/contexts/ThemeContext.tsx +3 -2
- package/lib/client/core/ComponentBuilder.test.ts +663 -560
- package/lib/client/core/ComponentBuilder.ts +427 -155
- package/lib/client/core/ComponentRenderer.test.tsx +2 -4
- package/lib/client/core/ComponentRenderer.tsx +46 -33
- package/lib/client/core/builders/embedBuilder.ts +242 -54
- package/lib/client/core/builders/linkBuilder.ts +72 -45
- package/lib/client/core/builders/linkNodeBuilder.ts +79 -54
- package/lib/client/core/builders/listBuilder.ts +155 -89
- package/lib/client/core/builders/localeListBuilder.ts +97 -62
- package/lib/client/core/builders/types.ts +5 -5
- package/lib/client/core/cmsTemplateProcessor.ts +8 -9
- package/lib/client/elementRegistry.ts +3 -3
- package/lib/client/fontFamiliesService.test.ts +2 -10
- package/lib/client/fontFamiliesService.ts +3 -3
- package/lib/client/hmr/HMRManager.tsx +47 -30
- package/lib/client/hmrCssReload.ts +49 -14
- package/lib/client/hmrWebSocket.ts +14 -19
- package/lib/client/hooks/useColorVariables.test.ts +21 -21
- package/lib/client/hooks/useColorVariables.ts +23 -18
- package/lib/client/hooks/usePropertyAutocomplete.ts +4 -6
- package/lib/client/hooks/useVariables.ts +6 -4
- package/lib/client/hydration/HydrationUtils.test.ts +24 -25
- package/lib/client/hydration/HydrationUtils.ts +3 -4
- package/lib/client/i18nConfigService.test.ts +2 -7
- package/lib/client/i18nConfigService.ts +2 -2
- package/lib/client/meno-filter/MenoFilter.test.ts +47 -49
- package/lib/client/meno-filter/MenoFilter.ts +14 -15
- package/lib/client/meno-filter/bindings.ts +18 -43
- package/lib/client/meno-filter/init.ts +4 -4
- package/lib/client/meno-filter/renderer.ts +30 -32
- package/lib/client/meno-filter/script.generated.ts +1 -3
- package/lib/client/meno-filter/ui.ts +4 -6
- package/lib/client/meno-filter/updates.ts +18 -23
- package/lib/client/meno-filter/utils.ts +1 -1
- package/lib/client/navigation.test.ts +174 -178
- package/lib/client/navigation.ts +0 -1
- package/lib/client/responsiveStyleResolver.knownTokens.test.ts +71 -0
- package/lib/client/responsiveStyleResolver.test.ts +234 -232
- package/lib/client/responsiveStyleResolver.ts +74 -20
- package/lib/client/routing/RouteLoader.test.ts +24 -25
- package/lib/client/routing/RouteLoader.ts +27 -35
- package/lib/client/routing/Router.tsx +210 -153
- package/lib/client/scripts/ScriptExecutor.test.ts +157 -158
- package/lib/client/scripts/ScriptExecutor.ts +18 -36
- package/lib/client/services/PrefetchService.test.ts +3 -3
- package/lib/client/services/PrefetchService.ts +23 -29
- package/lib/client/styleProcessor.test.ts +9 -9
- package/lib/client/styleProcessor.ts +24 -15
- package/lib/client/styles/StyleInjector.test.ts +122 -115
- package/lib/client/styles/StyleInjector.ts +10 -7
- package/lib/client/styles/UtilityClassCollector.ts +62 -28
- package/lib/client/styles/cspNonce.test.ts +2 -5
- package/lib/client/templateEngine.test.ts +554 -488
- package/lib/client/templateEngine.ts +203 -73
- package/lib/client/theme.test.ts +1 -1
- package/lib/client/theme.ts +0 -1
- package/lib/client/utils/toast.ts +0 -1
- package/lib/server/__integration__/api-routes.test.ts +8 -4
- package/lib/server/__integration__/cms-integration.test.ts +1 -4
- package/lib/server/__integration__/server-lifecycle.test.ts +4 -5
- package/lib/server/__integration__/ssr-rendering.test.ts +47 -37
- package/lib/server/__integration__/static-assets.test.ts +3 -3
- package/lib/server/__integration__/test-helpers.ts +87 -74
- package/lib/server/ab/generateFunctions.ts +12 -10
- package/lib/server/astro/cmsPageEmitter.ts +26 -42
- package/lib/server/astro/componentEmitter.ts +35 -43
- package/lib/server/astro/cssCollector.ts +10 -26
- package/lib/server/astro/nodeToAstro.test.ts +1754 -34
- package/lib/server/astro/nodeToAstro.ts +232 -216
- package/lib/server/astro/normalizeOrphanTemplateProps.test.ts +115 -119
- package/lib/server/astro/normalizeOrphanTemplateProps.ts +11 -18
- package/lib/server/astro/pageEmitter.ts +9 -13
- package/lib/server/astro/tailwindMapper.test.ts +10 -37
- package/lib/server/astro/tailwindMapper.ts +33 -40
- package/lib/server/astro/templateTransformer.ts +17 -20
- package/lib/server/createServer.ts +7 -19
- package/lib/server/cssGenerator.test.ts +35 -44
- package/lib/server/cssGenerator.ts +8 -19
- package/lib/server/fileWatcher.test.ts +164 -13
- package/lib/server/fileWatcher.ts +209 -124
- package/lib/server/index.ts +14 -17
- package/lib/server/jsonLoader.test.ts +39 -2
- package/lib/server/jsonLoader.ts +39 -34
- package/lib/server/middleware/cors.test.ts +21 -21
- package/lib/server/middleware/cors.ts +28 -4
- package/lib/server/middleware/errorHandler.test.ts +7 -5
- package/lib/server/middleware/errorHandler.ts +3 -8
- package/lib/server/middleware/index.ts +0 -1
- package/lib/server/middleware/logger.test.ts +10 -8
- package/lib/server/middleware/logger.ts +17 -29
- package/lib/server/migrateTemplates.ts +3 -3
- package/lib/server/pageCache.test.ts +76 -77
- package/lib/server/pageCache.ts +0 -1
- package/lib/server/projectContext.ts +5 -4
- package/lib/server/providers/fileSystemCMSProvider.test.ts +142 -99
- package/lib/server/providers/fileSystemCMSProvider.ts +62 -38
- package/lib/server/routes/api/cms.test.ts +26 -14
- package/lib/server/routes/api/cms.ts +9 -14
- package/lib/server/routes/api/colors.test.ts +2 -2
- package/lib/server/routes/api/components.ts +31 -35
- package/lib/server/routes/api/config.ts +3 -4
- package/lib/server/routes/api/core-routes.ts +49 -76
- package/lib/server/routes/api/enums.test.ts +2 -2
- package/lib/server/routes/api/functions.ts +9 -17
- package/lib/server/routes/api/index.ts +3 -6
- package/lib/server/routes/api/pages.ts +8 -11
- package/lib/server/routes/api/shared.test.ts +1 -1
- package/lib/server/routes/api/shared.ts +12 -9
- package/lib/server/routes/api/variables.test.ts +3 -5
- package/lib/server/routes/api/variables.ts +1 -1
- package/lib/server/routes/index.ts +25 -28
- package/lib/server/routes/pages.ts +35 -31
- package/lib/server/routes/static.ts +17 -6
- package/lib/server/runtime/bundler.ts +98 -61
- package/lib/server/runtime/fs.ts +16 -26
- package/lib/server/runtime/httpServer.ts +8 -12
- package/lib/server/services/ColorService.test.ts +3 -3
- package/lib/server/services/ColorService.ts +37 -29
- package/lib/server/services/EnumService.test.ts +4 -8
- package/lib/server/services/EnumService.ts +11 -3
- package/lib/server/services/VariableService.test.ts +8 -12
- package/lib/server/services/VariableService.ts +11 -3
- package/lib/server/services/cmsService.test.ts +158 -120
- package/lib/server/services/cmsService.ts +36 -146
- package/lib/server/services/componentService.test.ts +125 -45
- package/lib/server/services/componentService.ts +70 -46
- package/lib/server/services/configService.test.ts +22 -45
- package/lib/server/services/configService.ts +50 -27
- package/lib/server/services/fileWatcherService.ts +42 -8
- package/lib/server/services/index.ts +0 -1
- package/lib/server/services/pageService.test.ts +8 -10
- package/lib/server/services/pageService.ts +32 -18
- package/lib/server/ssr/attributeBuilder.ts +18 -8
- package/lib/server/ssr/buildErrorOverlay.ts +11 -12
- package/lib/server/ssr/clientDataInjector.ts +7 -21
- package/lib/server/ssr/cmsSSRProcessor.ts +4 -8
- package/lib/server/ssr/cssCollector.ts +1 -1
- package/lib/server/ssr/errorOverlay.test.ts +1 -1
- package/lib/server/ssr/errorOverlay.ts +3 -9
- package/lib/server/ssr/htmlGenerator.nonce.test.ts +9 -14
- package/lib/server/ssr/htmlGenerator.test.ts +120 -44
- package/lib/server/ssr/htmlGenerator.ts +126 -91
- package/lib/server/ssr/imageMetadata.test.ts +3 -1
- package/lib/server/ssr/imageMetadata.ts +27 -21
- package/lib/server/ssr/jsCollector.test.ts +8 -18
- package/lib/server/ssr/jsCollector.ts +3 -8
- package/lib/server/ssr/liveReloadIntegration.test.ts +76 -36
- package/lib/server/ssr/metaTagGenerator.ts +2 -2
- package/lib/server/ssr/ssrRenderer.branches.test.ts +1103 -0
- package/lib/server/ssr/ssrRenderer.test.ts +316 -256
- package/lib/server/ssr/ssrRenderer.ts +795 -243
- package/lib/server/ssrRenderer.test.ts +1048 -954
- package/lib/server/utils/jsonLineMapper.test.ts +28 -28
- package/lib/server/utils/jsonLineMapper.ts +7 -7
- package/lib/server/validateStyleCoverage.ts +18 -21
- package/lib/server/websocketManager.ts +28 -19
- package/lib/shared/attributeNodeUtils.test.ts +15 -15
- package/lib/shared/attributeNodeUtils.ts +5 -12
- package/lib/shared/breakpoints.test.ts +5 -5
- package/lib/shared/breakpoints.ts +4 -11
- package/lib/shared/cmsQuery.test.ts +81 -0
- package/lib/shared/cmsQuery.ts +92 -0
- package/lib/shared/cmsQueryParser.test.ts +50 -42
- package/lib/shared/cmsQueryParser.ts +60 -38
- package/lib/shared/colorConversions.ts +9 -9
- package/lib/shared/colorVariableUtils.test.ts +27 -5
- package/lib/shared/colorVariableUtils.ts +21 -12
- package/lib/shared/componentRefs.ts +1 -5
- package/lib/shared/constants.test.ts +3 -3
- package/lib/shared/constants.ts +8 -8
- package/lib/shared/cssGeneration.test.ts +285 -144
- package/lib/shared/cssGeneration.ts +217 -531
- package/lib/shared/cssNamedColors.ts +152 -30
- package/lib/shared/cssProperties.test.ts +69 -70
- package/lib/shared/cssProperties.ts +298 -114
- package/lib/shared/elementClassName.test.ts +109 -109
- package/lib/shared/elementClassName.ts +3 -3
- package/lib/shared/elementUtils.ts +12 -16
- package/lib/shared/errorLogger.test.ts +12 -12
- package/lib/shared/errorLogger.ts +2 -10
- package/lib/shared/errors.test.ts +2 -13
- package/lib/shared/errors.ts +2 -8
- package/lib/shared/expressionEvaluator.test.ts +145 -0
- package/lib/shared/expressionEvaluator.ts +52 -24
- package/lib/shared/fontLoader.test.ts +32 -18
- package/lib/shared/fontLoader.ts +2 -2
- package/lib/shared/friendlyError.ts +2 -3
- package/lib/shared/gradientUtils.test.ts +3 -7
- package/lib/shared/gradientUtils.ts +17 -14
- package/lib/shared/hrefRefs.test.ts +2 -2
- package/lib/shared/hrefRefs.ts +2 -10
- package/lib/shared/i18n.test.ts +4 -4
- package/lib/shared/i18n.ts +18 -38
- package/lib/shared/index.ts +27 -0
- package/lib/shared/inlineSvgStyleRules.ts +14 -13
- package/lib/shared/interactiveStyleMappings.test.ts +32 -54
- package/lib/shared/interactiveStyleMappings.ts +11 -24
- package/lib/shared/interactiveStyles.test.ts +165 -188
- package/lib/shared/interfaces/contentProvider.ts +1 -1
- package/lib/shared/itemTemplateUtils.test.ts +11 -17
- package/lib/shared/itemTemplateUtils.ts +27 -39
- package/lib/shared/jsonRepair.ts +16 -10
- package/lib/shared/libraryLoader.test.ts +21 -55
- package/lib/shared/libraryLoader.ts +7 -22
- package/lib/shared/linkUtils.ts +1 -1
- package/lib/shared/logger.test.ts +66 -0
- package/lib/shared/logger.ts +94 -0
- package/lib/shared/markdown.ts +25 -0
- package/lib/shared/netlifyLocale404.test.ts +179 -0
- package/lib/shared/netlifyLocale404.ts +110 -0
- package/lib/shared/nodeUtils.test.ts +28 -16
- package/lib/shared/nodeUtils.ts +76 -23
- package/lib/shared/pathArrayUtils.test.ts +1 -2
- package/lib/shared/pathArrayUtils.ts +1 -1
- package/lib/shared/pathSecurity.ts +2 -2
- package/lib/shared/pathUtils.test.ts +4 -6
- package/lib/shared/pathUtils.ts +42 -49
- package/lib/shared/paths/Path.test.ts +2 -2
- package/lib/shared/paths/Path.ts +0 -1
- package/lib/shared/paths/PathConverter.test.ts +1 -1
- package/lib/shared/paths/PathConverter.ts +17 -20
- package/lib/shared/paths/PathUtils.ts +13 -13
- package/lib/shared/paths/PathValidator.test.ts +2 -15
- package/lib/shared/paths/PathValidator.ts +12 -10
- package/lib/shared/paths/index.ts +1 -2
- package/lib/shared/permissions.test.ts +168 -0
- package/lib/shared/permissions.ts +162 -0
- package/lib/shared/propResolver.test.ts +240 -244
- package/lib/shared/propResolver.ts +15 -26
- package/lib/shared/pxToRem.test.ts +7 -6
- package/lib/shared/pxToRem.ts +2 -5
- package/lib/shared/registry/BaseNodeTypeRegistry.test.ts +12 -6
- package/lib/shared/registry/ClientRegistry.ts +0 -2
- package/lib/shared/registry/ComponentRegistry.test.ts +46 -32
- package/lib/shared/registry/ComponentRegistry.ts +12 -9
- package/lib/shared/registry/NodeTypeDefinition.ts +16 -9
- package/lib/shared/registry/RegistryManager.ts +1 -2
- package/lib/shared/registry/SSRRegistry.ts +0 -2
- package/lib/shared/registry/createNodeType.ts +7 -9
- package/lib/shared/registry/defineNodeType.ts +2 -6
- package/lib/shared/registry/fieldPresets.ts +3 -1
- package/lib/shared/registry/index.ts +0 -1
- package/lib/shared/registry/nodeTypes/ComponentInstanceNodeType.ts +14 -15
- package/lib/shared/registry/nodeTypes/CustomNodeType.ts +103 -0
- package/lib/shared/registry/nodeTypes/EmbedNodeType.ts +18 -11
- package/lib/shared/registry/nodeTypes/HtmlNodeType.ts +48 -19
- package/lib/shared/registry/nodeTypes/IslandNodeType.ts +129 -0
- package/lib/shared/registry/nodeTypes/LinkNodeType.ts +21 -19
- package/lib/shared/registry/nodeTypes/ListNodeType.ts +117 -77
- package/lib/shared/registry/nodeTypes/LocaleListNodeType.ts +27 -21
- package/lib/shared/registry/nodeTypes/MarkdownNodeType.ts +78 -0
- package/lib/shared/registry/nodeTypes/SlotMarkerType.ts +12 -8
- package/lib/shared/registry/nodeTypes/index.ts +26 -3
- package/lib/shared/responsiveScaling.test.ts +16 -34
- package/lib/shared/responsiveScaling.ts +61 -42
- package/lib/shared/responsiveStyleUtils.test.ts +0 -1
- package/lib/shared/responsiveStyleUtils.ts +11 -13
- package/lib/shared/richtext/htmlToTiptap.test.ts +139 -130
- package/lib/shared/richtext/htmlToTiptap.ts +2 -4
- package/lib/shared/richtext/tiptapToHtml.test.ts +5 -6
- package/lib/shared/richtext/types.ts +1 -8
- package/lib/shared/slugTranslator.test.ts +13 -13
- package/lib/shared/slugTranslator.ts +12 -16
- package/lib/shared/slugify.ts +9 -15
- package/lib/shared/styleNodeUtils.test.ts +8 -8
- package/lib/shared/styleNodeUtils.ts +18 -20
- package/lib/shared/styleUtils.test.ts +87 -61
- package/lib/shared/styleUtils.ts +5 -6
- package/lib/shared/themeDefaults.test.ts +11 -14
- package/lib/shared/themeDefaults.ts +3 -4
- package/lib/shared/tree/PathBuilder.test.ts +63 -145
- package/lib/shared/tree/PathBuilder.ts +59 -47
- package/lib/shared/treePathUtils.test.ts +51 -12
- package/lib/shared/treePathUtils.ts +91 -60
- package/lib/shared/types/api.ts +105 -8
- package/lib/shared/types/cms.test.ts +34 -0
- package/lib/shared/types/cms.ts +90 -34
- package/lib/shared/types/comment.ts +49 -16
- package/lib/shared/types/components.ts +51 -25
- package/lib/shared/types/errors.test.ts +1 -6
- package/lib/shared/types/errors.ts +3 -7
- package/lib/shared/types/experiments.ts +28 -28
- package/lib/shared/types/index.ts +25 -2
- package/lib/shared/types/permissions.ts +139 -0
- package/lib/shared/types/styles.ts +0 -1
- package/lib/shared/types/variables.test.ts +4 -13
- package/lib/shared/types/variables.ts +51 -30
- package/lib/shared/types.ts +1 -2
- package/lib/shared/utilityClassConfig.ts +751 -321
- package/lib/shared/utilityClassMapper.durability.test.ts +117 -0
- package/lib/shared/utilityClassMapper.test.ts +433 -95
- package/lib/shared/utilityClassMapper.ts +322 -249
- package/lib/shared/utilityClassNames.test.ts +38 -0
- package/lib/shared/utilityClassNames.ts +458 -0
- package/lib/shared/utils.test.ts +2 -10
- package/lib/shared/utils.ts +19 -10
- package/lib/shared/validation/cmsValidators.ts +2 -1
- package/lib/shared/validation/commentValidators.test.ts +53 -0
- package/lib/shared/validation/commentValidators.ts +12 -1
- package/lib/shared/validation/index.ts +1 -0
- package/lib/shared/validation/permissionsValidators.test.ts +49 -0
- package/lib/shared/validation/permissionsValidators.ts +49 -0
- package/lib/shared/validation/propValidator.test.ts +19 -21
- package/lib/shared/validation/propValidator.ts +13 -18
- package/lib/shared/validation/schemas.test.ts +64 -32
- package/lib/shared/validation/schemas.ts +616 -345
- package/lib/shared/validation/validators.test.ts +3 -8
- package/lib/shared/validation/validators.ts +89 -68
- package/lib/shared/viewportUnits.integration.test.ts +14 -10
- package/lib/shared/viewportUnits.test.ts +24 -23
- package/lib/shared/viewportUnits.ts +12 -5
- package/lib/test-utils/dom-setup.ts +1 -1
- package/lib/test-utils/factories/ConsoleMockFactory.ts +10 -14
- package/lib/test-utils/factories/DomMockFactory.ts +17 -23
- package/lib/test-utils/factories/EventMockFactory.ts +7 -13
- package/lib/test-utils/factories/FetchMockFactory.ts +39 -57
- package/lib/test-utils/factories/ServerMockFactory.ts +6 -10
- package/lib/test-utils/factories/StoreMockFactory.ts +18 -29
- package/lib/test-utils/fixtures.ts +45 -45
- package/lib/test-utils/helpers/asyncHelpers.test.ts +15 -18
- package/lib/test-utils/helpers/asyncHelpers.ts +11 -20
- package/lib/test-utils/helpers.ts +1 -5
- package/lib/test-utils/index.ts +0 -4
- package/lib/test-utils/mockFactories.ts +13 -19
- package/lib/test-utils/mocks.ts +6 -4
- package/package.json +3 -5
- package/scripts/build-for-publish.mjs +2 -4
- package/scripts/build-meno-filter.ts +4 -7
- package/tsconfig.json +1 -0
- package/vite.config.ts +4 -4
- package/build-next.ts +0 -1361
- package/build-static.test.ts +0 -424
- package/build-static.ts +0 -1074
- package/dist/build-static.js +0 -36
- package/dist/chunks/chunk-2MHDV5BF.js +0 -251
- package/dist/chunks/chunk-2MHDV5BF.js.map +0 -7
- package/dist/chunks/chunk-AZQYF6KE.js +0 -559
- package/dist/chunks/chunk-AZQYF6KE.js.map +0 -7
- package/dist/chunks/chunk-GZHGVVW3.js +0 -322
- package/dist/chunks/chunk-GZHGVVW3.js.map +0 -7
- package/dist/chunks/chunk-H3GJ4H2U.js.map +0 -7
- package/dist/chunks/chunk-I7YIGZXT.js +0 -467
- package/dist/chunks/chunk-I7YIGZXT.js.map +0 -7
- package/dist/chunks/chunk-IGYR22T6.js +0 -6192
- package/dist/chunks/chunk-IGYR22T6.js.map +0 -7
- package/dist/chunks/chunk-JGP5A3Y5.js +0 -1136
- package/dist/chunks/chunk-JGP5A3Y5.js.map +0 -7
- package/dist/chunks/chunk-JGWFTO6P.js.map +0 -7
- package/dist/chunks/chunk-O3NAGJP4.js.map +0 -7
- package/dist/chunks/chunk-QB2LNO4W.js +0 -77
- package/dist/chunks/chunk-QB2LNO4W.js.map +0 -7
- package/dist/chunks/chunk-R6XHAFBF.js +0 -3821
- package/dist/chunks/chunk-R6XHAFBF.js.map +0 -7
- package/dist/chunks/chunk-UB44F4Z2.js.map +0 -7
- package/dist/chunks/chunk-WQFG7PAH.js.map +0 -7
- package/dist/chunks/chunk-X754AHS5.js.map +0 -7
- package/dist/chunks/chunk-YBLHKYFF.js.map +0 -7
- package/dist/chunks/configService-R3OGU2UD.js +0 -13
- package/dist/chunks/configService-R3OGU2UD.js.map +0 -7
- package/dist/chunks/constants-STK2YBIW.js +0 -46
- package/dist/chunks/constants-STK2YBIW.js.map +0 -7
- package/dist/chunks/fs-JGINUXGL.js.map +0 -7
- package/dist/entries/server-router.js +0 -67
- package/dist/entries/server-router.js.map +0 -7
- package/entries/server-router.tsx +0 -81
- package/lib/server/providers/fileSystemPageProvider.ts +0 -160
- package/lib/server/webflow/buildWebflow.ts +0 -635
- package/lib/server/webflow/index.ts +0 -23
- package/lib/server/webflow/nodeToWebflow.test.ts +0 -3170
- package/lib/server/webflow/nodeToWebflow.ts +0 -2435
- package/lib/server/webflow/styleMapper.test.ts +0 -389
- package/lib/server/webflow/styleMapper.ts +0 -695
- package/lib/server/webflow/templateWrapper.ts +0 -49
- package/lib/server/webflow/types.ts +0 -396
- /package/dist/{build-static.js.map → chunks/fs-G3ANWEFP.js.map} +0 -0
|
@@ -52,7 +52,32 @@ export interface ResponsiveScales {
|
|
|
52
52
|
export const DEFAULT_FLUID_RANGE: FluidRange = { min: 320, max: 1440 };
|
|
53
53
|
export const DEFAULT_SITE_MARGIN: SiteMarginConfig = { min: 16, max: 32 };
|
|
54
54
|
|
|
55
|
-
export type CSSPropertyType =
|
|
55
|
+
export type CSSPropertyType =
|
|
56
|
+
| 'fontSize'
|
|
57
|
+
| 'padding'
|
|
58
|
+
| 'margin'
|
|
59
|
+
| 'gap'
|
|
60
|
+
| 'paddingTop'
|
|
61
|
+
| 'paddingRight'
|
|
62
|
+
| 'paddingBottom'
|
|
63
|
+
| 'paddingLeft'
|
|
64
|
+
| 'marginTop'
|
|
65
|
+
| 'marginRight'
|
|
66
|
+
| 'marginBottom'
|
|
67
|
+
| 'marginLeft'
|
|
68
|
+
| 'rowGap'
|
|
69
|
+
| 'columnGap'
|
|
70
|
+
| 'borderRadius'
|
|
71
|
+
| 'borderTopLeftRadius'
|
|
72
|
+
| 'borderTopRightRadius'
|
|
73
|
+
| 'borderBottomLeftRadius'
|
|
74
|
+
| 'borderBottomRightRadius'
|
|
75
|
+
| 'width'
|
|
76
|
+
| 'height'
|
|
77
|
+
| 'maxWidth'
|
|
78
|
+
| 'maxHeight'
|
|
79
|
+
| 'minWidth'
|
|
80
|
+
| 'minHeight';
|
|
56
81
|
|
|
57
82
|
/**
|
|
58
83
|
* Map CSS property to its scale category
|
|
@@ -64,8 +89,17 @@ function getScaleCategory(property: CSSPropertyType): keyof ResponsiveScales | n
|
|
|
64
89
|
if (propertyStr.startsWith('padding')) return 'padding';
|
|
65
90
|
if (propertyStr.startsWith('margin')) return 'margin';
|
|
66
91
|
if (property === 'gap' || property === 'rowGap' || property === 'columnGap') return 'gap';
|
|
67
|
-
if (propertyStr === 'borderRadius' || (propertyStr.startsWith('border') && propertyStr.includes('Radius')))
|
|
68
|
-
|
|
92
|
+
if (propertyStr === 'borderRadius' || (propertyStr.startsWith('border') && propertyStr.includes('Radius')))
|
|
93
|
+
return 'borderRadius';
|
|
94
|
+
if (
|
|
95
|
+
property === 'width' ||
|
|
96
|
+
property === 'height' ||
|
|
97
|
+
property === 'maxWidth' ||
|
|
98
|
+
property === 'maxHeight' ||
|
|
99
|
+
property === 'minWidth' ||
|
|
100
|
+
property === 'minHeight'
|
|
101
|
+
)
|
|
102
|
+
return 'size';
|
|
69
103
|
return null;
|
|
70
104
|
}
|
|
71
105
|
|
|
@@ -77,8 +111,8 @@ export function parseValue(valueStr: string): { value: number; unit: string } |
|
|
|
77
111
|
const match = valueStr.trim().match(/^(-?[\d.]+)(px|rem|em|%|pt)$/);
|
|
78
112
|
if (!match) return null;
|
|
79
113
|
return {
|
|
80
|
-
value: parseFloat(match[1]),
|
|
81
|
-
unit: match[2],
|
|
114
|
+
value: parseFloat(match[1] ?? ''),
|
|
115
|
+
unit: match[2] ?? '',
|
|
82
116
|
};
|
|
83
117
|
}
|
|
84
118
|
|
|
@@ -139,11 +173,7 @@ export const SCALABLE_CSS_PROPERTIES: ReadonlySet<string> = new Set([
|
|
|
139
173
|
* Calculate responsive value using the formula:
|
|
140
174
|
* responsive_value = base_value + (base_value - base_reference) * (scale - 1)
|
|
141
175
|
*/
|
|
142
|
-
export function calculateResponsiveValue(
|
|
143
|
-
baseValue: number,
|
|
144
|
-
baseReference: number,
|
|
145
|
-
scale: number
|
|
146
|
-
): number {
|
|
176
|
+
export function calculateResponsiveValue(baseValue: number, baseReference: number, scale: number): number {
|
|
147
177
|
// Values at or below baseReference stay unchanged
|
|
148
178
|
if (Math.abs(baseValue) <= baseReference) {
|
|
149
179
|
return Math.round(baseValue);
|
|
@@ -161,7 +191,7 @@ export function calculateResponsiveValue(
|
|
|
161
191
|
export function getScaleMultiplier(
|
|
162
192
|
scales: ResponsiveScales,
|
|
163
193
|
property: CSSPropertyType,
|
|
164
|
-
breakpoint: string
|
|
194
|
+
breakpoint: string,
|
|
165
195
|
): number | null {
|
|
166
196
|
const category = getScaleCategory(property);
|
|
167
197
|
if (!category || !scales[category]) return null;
|
|
@@ -179,18 +209,17 @@ export function parseMultiValue(valueStr: string): string[] {
|
|
|
179
209
|
// First, convert hyphen separators to spaces (for class names like "p-0-80px" → "0-80px")
|
|
180
210
|
// But only convert hyphens between values (digit/px followed by hyphen followed by digit/px)
|
|
181
211
|
const normalized = valueStr.replace(/(?<=\w)-(?=\d|auto|inherit|initial|unset)/g, ' ');
|
|
182
|
-
return normalized
|
|
212
|
+
return normalized
|
|
213
|
+
.trim()
|
|
214
|
+
.split(/\s+/)
|
|
215
|
+
.filter((v) => v.length > 0);
|
|
183
216
|
}
|
|
184
217
|
|
|
185
218
|
/**
|
|
186
219
|
* Scale a single CSS value using the responsive scale
|
|
187
220
|
* Returns null if the value cannot be parsed (no unit)
|
|
188
221
|
*/
|
|
189
|
-
export function scaleValue(
|
|
190
|
-
valueStr: string,
|
|
191
|
-
baseReference: number,
|
|
192
|
-
scale: number
|
|
193
|
-
): string | null {
|
|
222
|
+
export function scaleValue(valueStr: string, baseReference: number, scale: number): string | null {
|
|
194
223
|
const parsed = parseValue(valueStr);
|
|
195
224
|
if (!parsed) return null;
|
|
196
225
|
|
|
@@ -209,15 +238,11 @@ export function scaleValue(
|
|
|
209
238
|
* e.g., "20px 40px" -> "18px 36px" (both values scaled independently)
|
|
210
239
|
* Unitless values (0, auto, inherit) are kept as-is
|
|
211
240
|
*/
|
|
212
|
-
export function scalePropertyValue(
|
|
213
|
-
valueStr: string,
|
|
214
|
-
baseReference: number,
|
|
215
|
-
scale: number
|
|
216
|
-
): string | null {
|
|
241
|
+
export function scalePropertyValue(valueStr: string, baseReference: number, scale: number): string | null {
|
|
217
242
|
const parts = parseMultiValue(valueStr);
|
|
218
243
|
if (parts.length === 0) return null;
|
|
219
244
|
|
|
220
|
-
const scaledParts = parts.map(part => {
|
|
245
|
+
const scaledParts = parts.map((part) => {
|
|
221
246
|
// Try to scale the value
|
|
222
247
|
const scaled = scaleValue(part, baseReference, scale);
|
|
223
248
|
if (scaled !== null) {
|
|
@@ -244,7 +269,7 @@ export function getResponsiveValues(
|
|
|
244
269
|
baseValue: string,
|
|
245
270
|
property: CSSPropertyType,
|
|
246
271
|
scales: ResponsiveScales,
|
|
247
|
-
breakpointNames?: string[]
|
|
272
|
+
breakpointNames?: string[],
|
|
248
273
|
): Record<string, string | null> {
|
|
249
274
|
if (!scales.enabled) {
|
|
250
275
|
return { base: baseValue };
|
|
@@ -283,7 +308,7 @@ export function getResponsiveValues(
|
|
|
283
308
|
export function resolveVariableValueAtBreakpoint(
|
|
284
309
|
variable: { value: string; type: string; scales?: Record<string, string> },
|
|
285
310
|
breakpoint: string,
|
|
286
|
-
responsiveScales?: ResponsiveScales | null
|
|
311
|
+
responsiveScales?: ResponsiveScales | null,
|
|
287
312
|
): string {
|
|
288
313
|
if (breakpoint === 'base') return variable.value;
|
|
289
314
|
|
|
@@ -291,11 +316,7 @@ export function resolveVariableValueAtBreakpoint(
|
|
|
291
316
|
if (override !== undefined) return override;
|
|
292
317
|
|
|
293
318
|
if (responsiveScales?.enabled && variable.type !== 'none') {
|
|
294
|
-
const scale = getScaleMultiplier(
|
|
295
|
-
responsiveScales,
|
|
296
|
-
variable.type as CSSPropertyType,
|
|
297
|
-
breakpoint
|
|
298
|
-
);
|
|
319
|
+
const scale = getScaleMultiplier(responsiveScales, variable.type as CSSPropertyType, breakpoint);
|
|
299
320
|
if (scale !== null) {
|
|
300
321
|
const baseRef = responsiveScales.baseReference || 16;
|
|
301
322
|
const scaled = scalePropertyValue(variable.value, baseRef, scale);
|
|
@@ -314,13 +335,14 @@ export function resolveVariableValueAtBreakpoint(
|
|
|
314
335
|
* Returns null if there are no entries.
|
|
315
336
|
*/
|
|
316
337
|
export function getSmallestBreakpointName(
|
|
317
|
-
breakpoints: Record<string, { breakpoint: number }> | undefined | null
|
|
338
|
+
breakpoints: Record<string, { breakpoint: number }> | undefined | null,
|
|
318
339
|
): string | null {
|
|
319
340
|
if (!breakpoints) return null;
|
|
320
341
|
const entries = Object.entries(breakpoints);
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
let
|
|
342
|
+
const firstEntry = entries[0];
|
|
343
|
+
if (entries.length === 0 || firstEntry === undefined) return null;
|
|
344
|
+
let smallestName = firstEntry[0];
|
|
345
|
+
let smallestWidth = firstEntry[1].breakpoint;
|
|
324
346
|
for (const [name, cfg] of entries) {
|
|
325
347
|
if (cfg.breakpoint < smallestWidth) {
|
|
326
348
|
smallestWidth = cfg.breakpoint;
|
|
@@ -350,7 +372,7 @@ export function buildFluidClamp(
|
|
|
350
372
|
scale: number,
|
|
351
373
|
vpMin: number,
|
|
352
374
|
vpMax: number,
|
|
353
|
-
baseReference = 16
|
|
375
|
+
baseReference = 16,
|
|
354
376
|
): string {
|
|
355
377
|
const max = baseValue;
|
|
356
378
|
const min = calculateResponsiveValue(baseValue, baseReference, scale);
|
|
@@ -392,7 +414,7 @@ export function buildFluidClampWithExplicitMin(
|
|
|
392
414
|
maxValue: number,
|
|
393
415
|
unit: string,
|
|
394
416
|
vpMin: number,
|
|
395
|
-
vpMax: number
|
|
417
|
+
vpMax: number,
|
|
396
418
|
): string {
|
|
397
419
|
if (minValue === maxValue || vpMax === vpMin) {
|
|
398
420
|
return `${formatNumber(maxValue)}${unit}`;
|
|
@@ -424,10 +446,7 @@ function formatNumber(n: number): string {
|
|
|
424
446
|
*
|
|
425
447
|
* If `min === max` the function returns the plain value (no clamp).
|
|
426
448
|
*/
|
|
427
|
-
export function buildSiteMarginClamp(
|
|
428
|
-
siteMargin: SiteMarginConfig,
|
|
429
|
-
fluidRange: FluidRange
|
|
430
|
-
): string {
|
|
449
|
+
export function buildSiteMarginClamp(siteMargin: SiteMarginConfig, fluidRange: FluidRange): string {
|
|
431
450
|
const { min, max } = siteMargin;
|
|
432
451
|
const { min: vpMin, max: vpMax } = fluidRange;
|
|
433
452
|
|
|
@@ -455,13 +474,13 @@ export function buildFluidPropertyValue(
|
|
|
455
474
|
scale: number,
|
|
456
475
|
vpMin: number,
|
|
457
476
|
vpMax: number,
|
|
458
|
-
baseReference = 16
|
|
477
|
+
baseReference = 16,
|
|
459
478
|
): string | null {
|
|
460
479
|
const parts = parseMultiValue(valueStr);
|
|
461
480
|
if (parts.length === 0) return null;
|
|
462
481
|
|
|
463
482
|
let anyScaled = false;
|
|
464
|
-
const out = parts.map(part => {
|
|
483
|
+
const out = parts.map((part) => {
|
|
465
484
|
const parsed = parseValue(part);
|
|
466
485
|
if (!parsed) return part;
|
|
467
486
|
if (parsed.unit === '%' || parsed.unit === 'em') return part;
|
|
@@ -17,7 +17,7 @@ export type MergeStrategy = 'all' | 'viewport';
|
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Merge responsive styles into a single style object
|
|
20
|
-
*
|
|
20
|
+
*
|
|
21
21
|
* @param responsiveStyle - The responsive style object to merge
|
|
22
22
|
* @param strategy - 'all' merges all breakpoints, 'viewport' merges based on active breakpoint
|
|
23
23
|
* @param viewportWidth - Viewport width in pixels (required for 'viewport' strategy)
|
|
@@ -27,7 +27,7 @@ export function mergeResponsiveStyles(
|
|
|
27
27
|
responsiveStyle: ResponsiveStyleObject,
|
|
28
28
|
strategy: MergeStrategy = 'all',
|
|
29
29
|
viewportWidth?: number,
|
|
30
|
-
breakpoints: BreakpointConfig = DEFAULT_BREAKPOINTS
|
|
30
|
+
breakpoints: BreakpointConfig = DEFAULT_BREAKPOINTS,
|
|
31
31
|
): StyleObject {
|
|
32
32
|
// Start with base styles
|
|
33
33
|
const merged: StyleObject = { ...(responsiveStyle.base || {}) };
|
|
@@ -82,14 +82,14 @@ export function normalizeStyle(
|
|
|
82
82
|
style: StyleValue | null | undefined,
|
|
83
83
|
strategy: MergeStrategy = 'all',
|
|
84
84
|
viewportWidth?: number,
|
|
85
|
-
breakpoints?: BreakpointConfig
|
|
85
|
+
breakpoints?: BreakpointConfig,
|
|
86
86
|
): StyleObject | null {
|
|
87
87
|
if (!style) return null;
|
|
88
|
-
|
|
88
|
+
|
|
89
89
|
if (isResponsiveStyle(style)) {
|
|
90
90
|
return mergeResponsiveStyles(style, strategy, viewportWidth, breakpoints);
|
|
91
91
|
}
|
|
92
|
-
|
|
92
|
+
|
|
93
93
|
// Legacy flat style object
|
|
94
94
|
return style as StyleObject;
|
|
95
95
|
}
|
|
@@ -98,25 +98,23 @@ export function normalizeStyle(
|
|
|
98
98
|
* Get breakpoint names that have non-empty styles defined
|
|
99
99
|
* Always includes 'base' if the responsive style exists
|
|
100
100
|
*/
|
|
101
|
-
export function getAvailableBreakpoints(
|
|
102
|
-
responsiveStyle: ResponsiveStyleObject | null | undefined
|
|
103
|
-
): BreakpointName[] {
|
|
101
|
+
export function getAvailableBreakpoints(responsiveStyle: ResponsiveStyleObject | null | undefined): BreakpointName[] {
|
|
104
102
|
if (!responsiveStyle) return [];
|
|
105
|
-
|
|
103
|
+
|
|
106
104
|
const available: BreakpointName[] = [];
|
|
107
|
-
|
|
105
|
+
|
|
108
106
|
// Always include 'base' if it exists and has styles
|
|
109
107
|
if (responsiveStyle.base && Object.keys(responsiveStyle.base).length > 0) {
|
|
110
108
|
available.push('base');
|
|
111
109
|
}
|
|
112
|
-
|
|
110
|
+
|
|
113
111
|
// Check all other breakpoint properties (excluding 'base')
|
|
114
112
|
for (const [key, value] of Object.entries(responsiveStyle)) {
|
|
115
113
|
if (key !== 'base' && value && typeof value === 'object' && Object.keys(value).length > 0) {
|
|
116
114
|
available.push(key);
|
|
117
115
|
}
|
|
118
116
|
}
|
|
119
|
-
|
|
117
|
+
|
|
120
118
|
return available;
|
|
121
119
|
}
|
|
122
120
|
|
|
@@ -126,7 +124,7 @@ export function getAvailableBreakpoints(
|
|
|
126
124
|
*/
|
|
127
125
|
export function breakpointToViewportWidth(
|
|
128
126
|
breakpoint: BreakpointName,
|
|
129
|
-
breakpoints: BreakpointConfig = DEFAULT_BREAKPOINTS
|
|
127
|
+
breakpoints: BreakpointConfig = DEFAULT_BREAKPOINTS,
|
|
130
128
|
): number {
|
|
131
129
|
// Extract breakpoint values for comparisons
|
|
132
130
|
const breakpointValues = getBreakpointValues(breakpoints);
|