meno-core 1.0.53 → 1.0.54
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 +48 -57
- package/build-astro.ts +131 -113
- package/build-next.ts +109 -96
- package/build-static.test.ts +39 -10
- package/build-static.ts +120 -122
- package/dist/bin/cli.js +34 -38
- package/dist/bin/cli.js.map +2 -2
- package/dist/build-static.js +12 -11
- package/dist/chunks/chunk-2AR55GYH.js +42 -0
- package/dist/chunks/chunk-2AR55GYH.js.map +7 -0
- package/dist/chunks/{chunk-IGYR22T6.js → chunk-2FN4UOVO.js} +512 -239
- package/dist/chunks/chunk-2FN4UOVO.js.map +7 -0
- package/dist/chunks/chunk-3XER4E5W.js +168 -0
- package/dist/chunks/chunk-3XER4E5W.js.map +7 -0
- package/dist/chunks/{chunk-X754AHS5.js → chunk-5ETZFREW.js} +9 -12
- package/dist/chunks/chunk-5ETZFREW.js.map +7 -0
- package/dist/chunks/{chunk-2MHDV5BF.js → chunk-7E4IF5L7.js} +15 -21
- package/dist/chunks/chunk-7E4IF5L7.js.map +7 -0
- package/dist/chunks/{chunk-JGWFTO6P.js → chunk-7HWQUVTU.js} +1578 -1349
- package/dist/chunks/chunk-7HWQUVTU.js.map +7 -0
- package/dist/chunks/{chunk-O3NAGJP4.js → chunk-AE3QK5QW.js} +110 -21
- package/dist/chunks/chunk-AE3QK5QW.js.map +7 -0
- package/dist/chunks/{chunk-GZHGVVW3.js → chunk-F6KTJYGV.js} +7 -7
- package/dist/chunks/chunk-F6KTJYGV.js.map +7 -0
- package/dist/chunks/{chunk-WQFG7PAH.js → chunk-FZITJSSS.js} +2 -6
- package/dist/chunks/chunk-FZITJSSS.js.map +7 -0
- package/dist/chunks/{chunk-QB2LNO4W.js → chunk-GSYYA5GX.js} +2 -2
- package/dist/chunks/chunk-GSYYA5GX.js.map +7 -0
- package/dist/chunks/{chunk-YBLHKYFF.js → chunk-HIZMY3EP.js} +1 -1
- package/dist/chunks/chunk-HIZMY3EP.js.map +7 -0
- package/dist/chunks/{chunk-AZQYF6KE.js → chunk-I2WEGYA7.js} +41 -176
- package/dist/chunks/chunk-I2WEGYA7.js.map +7 -0
- package/dist/chunks/{chunk-I7YIGZXT.js → chunk-JNO3CNLJ.js} +6 -9
- package/dist/chunks/chunk-JNO3CNLJ.js.map +7 -0
- package/dist/chunks/{chunk-UB44F4Z2.js → chunk-NVRBTSQG.js} +2 -4
- package/dist/chunks/chunk-NVRBTSQG.js.map +7 -0
- package/dist/chunks/{chunk-JGP5A3Y5.js → chunk-Q4OBWKXG.js} +40 -33
- package/dist/chunks/chunk-Q4OBWKXG.js.map +7 -0
- package/dist/chunks/{chunk-R6XHAFBF.js → chunk-QTE32Y53.js} +250 -242
- package/dist/chunks/chunk-QTE32Y53.js.map +7 -0
- package/dist/chunks/{chunk-H3GJ4H2U.js → chunk-STDY3OVM.js} +214 -85
- package/dist/chunks/chunk-STDY3OVM.js.map +7 -0
- package/dist/chunks/configService-PRJZF7Y6.js +14 -0
- package/dist/chunks/{constants-STK2YBIW.js → constants-KIQEYMAM.js} +2 -2
- package/dist/chunks/{fs-JGINUXGL.js → fs-ZI5JEU7V.js} +2 -2
- package/dist/entries/server-router.js +14 -19
- package/dist/entries/server-router.js.map +2 -2
- package/dist/lib/client/index.js +638 -332
- package/dist/lib/client/index.js.map +2 -2
- package/dist/lib/server/index.js +177 -235
- package/dist/lib/server/index.js.map +2 -2
- package/dist/lib/shared/index.js +80 -44
- package/dist/lib/shared/index.js.map +2 -2
- package/dist/lib/shared/richtext/index.js +1 -1
- package/dist/lib/test-utils/index.js +38 -60
- package/dist/lib/test-utils/index.js.map +2 -2
- package/entries/client-router.tsx +10 -8
- package/entries/server-router.tsx +1 -7
- package/lib/client/ClientInitializer.ts +8 -8
- package/lib/client/ErrorBoundary.test.tsx +146 -143
- package/lib/client/ErrorBoundary.tsx +175 -127
- package/lib/client/componentRegistry.test.ts +96 -108
- package/lib/client/componentRegistry.ts +1 -2
- package/lib/client/contexts/ThemeContext.tsx +3 -2
- package/lib/client/core/ComponentBuilder.test.ts +513 -560
- package/lib/client/core/ComponentBuilder.ts +318 -146
- package/lib/client/core/ComponentRenderer.test.tsx +1 -2
- package/lib/client/core/ComponentRenderer.tsx +46 -33
- package/lib/client/core/builders/embedBuilder.ts +241 -53
- package/lib/client/core/builders/linkBuilder.ts +71 -44
- package/lib/client/core/builders/linkNodeBuilder.ts +78 -53
- package/lib/client/core/builders/listBuilder.ts +115 -86
- package/lib/client/core/builders/localeListBuilder.ts +95 -60
- package/lib/client/core/builders/types.ts +5 -5
- package/lib/client/core/cmsTemplateProcessor.ts +7 -7
- 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 +8 -0
- package/lib/client/hmrCssReload.ts +14 -8
- package/lib/client/hmrWebSocket.ts +9 -14
- package/lib/client/hooks/useColorVariables.test.ts +21 -21
- package/lib/client/hooks/useColorVariables.ts +12 -10
- package/lib/client/hooks/usePropertyAutocomplete.ts +3 -5
- package/lib/client/hooks/useVariables.ts +4 -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 +19 -21
- package/lib/client/meno-filter/MenoFilter.ts +5 -9
- package/lib/client/meno-filter/bindings.ts +15 -40
- package/lib/client/meno-filter/init.ts +1 -1
- package/lib/client/meno-filter/renderer.ts +23 -29
- package/lib/client/meno-filter/script.generated.ts +1 -3
- package/lib/client/meno-filter/ui.ts +3 -5
- package/lib/client/meno-filter/updates.ts +15 -21
- package/lib/client/navigation.test.ts +159 -159
- package/lib/client/navigation.ts +0 -1
- package/lib/client/responsiveStyleResolver.test.ts +230 -228
- package/lib/client/responsiveStyleResolver.ts +13 -16
- package/lib/client/routing/RouteLoader.test.ts +23 -24
- package/lib/client/routing/RouteLoader.ts +22 -35
- package/lib/client/routing/Router.tsx +31 -3
- package/lib/client/scripts/ScriptExecutor.test.ts +157 -158
- package/lib/client/scripts/ScriptExecutor.ts +15 -33
- package/lib/client/services/PrefetchService.test.ts +2 -2
- package/lib/client/services/PrefetchService.ts +10 -24
- package/lib/client/styleProcessor.test.ts +9 -9
- package/lib/client/styleProcessor.ts +18 -15
- package/lib/client/styles/StyleInjector.test.ts +122 -115
- package/lib/client/styles/StyleInjector.ts +9 -6
- package/lib/client/styles/UtilityClassCollector.ts +19 -26
- package/lib/client/styles/cspNonce.test.ts +2 -5
- package/lib/client/templateEngine.test.ts +554 -482
- package/lib/client/templateEngine.ts +200 -64
- 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 +2 -5
- package/lib/server/__integration__/ssr-rendering.test.ts +47 -37
- package/lib/server/__integration__/static-assets.test.ts +1 -1
- package/lib/server/__integration__/test-helpers.ts +84 -70
- package/lib/server/ab/generateFunctions.ts +12 -10
- package/lib/server/astro/cmsPageEmitter.ts +23 -38
- package/lib/server/astro/componentEmitter.ts +25 -36
- package/lib/server/astro/cssCollector.ts +10 -26
- package/lib/server/astro/nodeToAstro.test.ts +1750 -30
- package/lib/server/astro/nodeToAstro.ts +198 -187
- package/lib/server/astro/normalizeOrphanTemplateProps.test.ts +105 -109
- package/lib/server/astro/normalizeOrphanTemplateProps.ts +4 -12
- 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 +14 -17
- package/lib/server/createServer.ts +5 -17
- package/lib/server/cssGenerator.test.ts +35 -44
- package/lib/server/cssGenerator.ts +6 -17
- package/lib/server/fileWatcher.test.ts +124 -10
- package/lib/server/fileWatcher.ts +124 -118
- package/lib/server/index.ts +7 -1
- package/lib/server/jsonLoader.test.ts +39 -2
- package/lib/server/jsonLoader.ts +33 -31
- package/lib/server/middleware/cors.test.ts +20 -20
- package/lib/server/middleware/cors.ts +28 -4
- package/lib/server/middleware/errorHandler.test.ts +5 -3
- package/lib/server/middleware/errorHandler.ts +3 -8
- package/lib/server/middleware/index.ts +0 -1
- package/lib/server/middleware/logger.test.ts +7 -5
- package/lib/server/middleware/logger.ts +10 -22
- package/lib/server/pageCache.test.ts +76 -77
- package/lib/server/pageCache.ts +0 -1
- package/lib/server/projectContext.ts +4 -3
- package/lib/server/providers/fileSystemCMSProvider.test.ts +124 -95
- package/lib/server/providers/fileSystemCMSProvider.ts +35 -20
- package/lib/server/providers/fileSystemPageProvider.test.ts +84 -0
- package/lib/server/providers/fileSystemPageProvider.ts +31 -12
- package/lib/server/routes/api/cms.test.ts +26 -14
- package/lib/server/routes/api/cms.ts +9 -14
- package/lib/server/routes/api/components.ts +30 -34
- package/lib/server/routes/api/config.ts +0 -1
- package/lib/server/routes/api/core-routes.ts +47 -74
- package/lib/server/routes/api/functions.ts +8 -16
- 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 +1 -3
- package/lib/server/routes/api/variables.ts +1 -1
- package/lib/server/routes/index.ts +23 -26
- package/lib/server/routes/pages.ts +34 -29
- package/lib/server/routes/static.ts +16 -4
- package/lib/server/runtime/bundler.ts +47 -32
- package/lib/server/runtime/fs.ts +3 -13
- package/lib/server/runtime/httpServer.ts +5 -9
- package/lib/server/services/ColorService.ts +32 -27
- package/lib/server/services/EnumService.test.ts +2 -6
- package/lib/server/services/EnumService.ts +7 -2
- package/lib/server/services/VariableService.test.ts +1 -5
- package/lib/server/services/VariableService.ts +6 -1
- package/lib/server/services/cmsService.test.ts +116 -78
- package/lib/server/services/cmsService.ts +24 -54
- package/lib/server/services/componentService.test.ts +122 -36
- package/lib/server/services/componentService.ts +54 -38
- package/lib/server/services/configService.test.ts +9 -31
- package/lib/server/services/configService.ts +20 -27
- package/lib/server/services/fileWatcherService.ts +40 -6
- package/lib/server/services/index.ts +0 -1
- package/lib/server/services/pageService.test.ts +1 -3
- package/lib/server/services/pageService.ts +14 -13
- package/lib/server/ssr/attributeBuilder.ts +16 -6
- package/lib/server/ssr/buildErrorOverlay.ts +11 -12
- package/lib/server/ssr/clientDataInjector.ts +7 -21
- package/lib/server/ssr/cmsSSRProcessor.ts +3 -6
- 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 +3 -9
- package/lib/server/ssr/htmlGenerator.test.ts +120 -43
- package/lib/server/ssr/htmlGenerator.ts +120 -85
- package/lib/server/ssr/imageMetadata.test.ts +3 -1
- package/lib/server/ssr/imageMetadata.ts +25 -19
- package/lib/server/ssr/jsCollector.test.ts +3 -13
- package/lib/server/ssr/jsCollector.ts +3 -8
- package/lib/server/ssr/liveReloadIntegration.test.ts +69 -28
- 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 +196 -246
- package/lib/server/ssr/ssrRenderer.ts +609 -225
- package/lib/server/ssrRenderer.test.ts +1044 -950
- package/lib/server/utils/jsonLineMapper.test.ts +28 -28
- package/lib/server/utils/jsonLineMapper.ts +1 -1
- package/lib/server/validateStyleCoverage.ts +18 -20
- package/lib/server/webflow/buildWebflow.ts +41 -53
- package/lib/server/webflow/nodeToWebflow.test.ts +150 -218
- package/lib/server/webflow/nodeToWebflow.ts +195 -258
- package/lib/server/webflow/styleMapper.test.ts +15 -56
- package/lib/server/webflow/styleMapper.ts +33 -41
- package/lib/server/webflow/types.ts +1 -8
- package/lib/server/websocketManager.ts +16 -19
- package/lib/shared/attributeNodeUtils.test.ts +15 -15
- package/lib/shared/attributeNodeUtils.ts +5 -12
- package/lib/shared/breakpoints.ts +4 -11
- package/lib/shared/cmsQueryParser.test.ts +50 -42
- package/lib/shared/cmsQueryParser.ts +49 -31
- package/lib/shared/colorVariableUtils.test.ts +5 -5
- package/lib/shared/colorVariableUtils.ts +3 -8
- package/lib/shared/componentRefs.ts +1 -5
- package/lib/shared/constants.test.ts +3 -3
- package/lib/shared/constants.ts +4 -8
- package/lib/shared/cssGeneration.test.ts +262 -144
- package/lib/shared/cssGeneration.ts +189 -516
- package/lib/shared/cssNamedColors.ts +152 -30
- package/lib/shared/cssProperties.test.ts +5 -6
- package/lib/shared/cssProperties.ts +296 -112
- package/lib/shared/elementClassName.test.ts +109 -109
- package/lib/shared/elementClassName.ts +1 -1
- package/lib/shared/elementUtils.ts +12 -16
- 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 +119 -0
- package/lib/shared/expressionEvaluator.ts +43 -24
- package/lib/shared/fontLoader.test.ts +19 -5
- package/lib/shared/friendlyError.ts +2 -3
- package/lib/shared/gradientUtils.test.ts +1 -5
- package/lib/shared/gradientUtils.ts +2 -6
- package/lib/shared/hrefRefs.ts +2 -10
- package/lib/shared/i18n.test.ts +1 -1
- package/lib/shared/i18n.ts +13 -34
- package/lib/shared/index.ts +4 -0
- package/lib/shared/inlineSvgStyleRules.ts +2 -4
- package/lib/shared/interactiveStyleMappings.test.ts +11 -33
- package/lib/shared/interactiveStyleMappings.ts +9 -16
- package/lib/shared/interactiveStyles.test.ts +165 -188
- package/lib/shared/interfaces/contentProvider.ts +1 -1
- package/lib/shared/itemTemplateUtils.test.ts +6 -12
- package/lib/shared/itemTemplateUtils.ts +19 -35
- package/lib/shared/jsonRepair.ts +8 -2
- package/lib/shared/libraryLoader.test.ts +15 -49
- package/lib/shared/libraryLoader.ts +7 -22
- package/lib/shared/netlifyLocale404.test.ts +179 -0
- package/lib/shared/netlifyLocale404.ts +110 -0
- package/lib/shared/nodeUtils.test.ts +24 -16
- package/lib/shared/nodeUtils.ts +49 -19
- package/lib/shared/pathArrayUtils.test.ts +1 -2
- package/lib/shared/pathArrayUtils.ts +1 -1
- package/lib/shared/pathSecurity.ts +1 -1
- package/lib/shared/pathUtils.test.ts +4 -6
- package/lib/shared/pathUtils.ts +42 -48
- 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 +14 -17
- package/lib/shared/paths/PathUtils.ts +9 -10
- package/lib/shared/paths/PathValidator.test.ts +2 -15
- package/lib/shared/paths/PathValidator.ts +11 -9
- package/lib/shared/paths/index.ts +1 -2
- package/lib/shared/propResolver.test.ts +240 -244
- package/lib/shared/propResolver.ts +14 -25
- package/lib/shared/pxToRem.test.ts +7 -6
- package/lib/shared/pxToRem.ts +2 -5
- package/lib/shared/registry/BaseNodeTypeRegistry.test.ts +9 -5
- package/lib/shared/registry/ClientRegistry.ts +0 -1
- package/lib/shared/registry/ComponentRegistry.test.ts +43 -29
- package/lib/shared/registry/ComponentRegistry.ts +9 -11
- package/lib/shared/registry/NodeTypeDefinition.ts +15 -8
- package/lib/shared/registry/RegistryManager.ts +1 -2
- package/lib/shared/registry/SSRRegistry.ts +0 -1
- package/lib/shared/registry/createNodeType.ts +7 -9
- package/lib/shared/registry/defineNodeType.ts +2 -6
- package/lib/shared/registry/index.ts +0 -1
- package/lib/shared/registry/nodeTypes/ComponentInstanceNodeType.ts +14 -15
- package/lib/shared/registry/nodeTypes/EmbedNodeType.ts +18 -11
- package/lib/shared/registry/nodeTypes/HtmlNodeType.ts +47 -18
- package/lib/shared/registry/nodeTypes/LinkNodeType.ts +21 -19
- package/lib/shared/registry/nodeTypes/ListNodeType.ts +78 -74
- package/lib/shared/registry/nodeTypes/LocaleListNodeType.ts +27 -21
- package/lib/shared/registry/nodeTypes/SlotMarkerType.ts +6 -7
- package/lib/shared/registry/nodeTypes/index.ts +10 -2
- package/lib/shared/responsiveScaling.test.ts +15 -31
- package/lib/shared/responsiveScaling.ts +55 -37
- package/lib/shared/responsiveStyleUtils.ts +11 -13
- package/lib/shared/richtext/htmlToTiptap.test.ts +23 -14
- package/lib/shared/richtext/htmlToTiptap.ts +1 -3
- 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 +5 -10
- package/lib/shared/styleUtils.test.ts +87 -61
- package/lib/shared/styleUtils.ts +5 -6
- package/lib/shared/themeDefaults.test.ts +11 -11
- package/lib/shared/themeDefaults.ts +3 -4
- package/lib/shared/tree/PathBuilder.test.ts +62 -138
- package/lib/shared/tree/PathBuilder.ts +49 -39
- package/lib/shared/treePathUtils.test.ts +2 -10
- package/lib/shared/treePathUtils.ts +54 -59
- package/lib/shared/types/api.ts +1 -2
- package/lib/shared/types/cms.ts +25 -21
- package/lib/shared/types/comment.ts +49 -16
- package/lib/shared/types/components.ts +27 -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 +2 -2
- package/lib/shared/types/styles.ts +0 -1
- package/lib/shared/types/variables.test.ts +4 -13
- package/lib/shared/types/variables.ts +48 -27
- package/lib/shared/types.ts +1 -2
- package/lib/shared/utilityClassConfig.ts +648 -321
- package/lib/shared/utilityClassMapper.test.ts +203 -92
- package/lib/shared/utilityClassMapper.ts +188 -246
- package/lib/shared/utilityClassNames.ts +326 -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/propValidator.test.ts +18 -20
- package/lib/shared/validation/propValidator.ts +12 -17
- package/lib/shared/validation/schemas.test.ts +24 -33
- package/lib/shared/validation/schemas.ts +469 -344
- package/lib/shared/validation/validators.test.ts +1 -6
- package/lib/shared/validation/validators.ts +89 -68
- package/lib/shared/viewportUnits.integration.test.ts +14 -10
- package/lib/shared/viewportUnits.test.ts +11 -23
- package/lib/test-utils/dom-setup.ts +1 -1
- package/lib/test-utils/factories/ConsoleMockFactory.ts +3 -7
- package/lib/test-utils/factories/DomMockFactory.ts +7 -19
- 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 +5 -9
- package/lib/test-utils/factories/StoreMockFactory.ts +14 -25
- 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 +12 -18
- package/lib/test-utils/mocks.ts +4 -2
- package/package.json +1 -1
- package/scripts/build-meno-filter.ts +1 -4
- package/vite.config.ts +4 -4
- package/dist/chunks/chunk-2MHDV5BF.js.map +0 -7
- package/dist/chunks/chunk-AZQYF6KE.js.map +0 -7
- package/dist/chunks/chunk-GZHGVVW3.js.map +0 -7
- package/dist/chunks/chunk-H3GJ4H2U.js.map +0 -7
- package/dist/chunks/chunk-I7YIGZXT.js.map +0 -7
- package/dist/chunks/chunk-IGYR22T6.js.map +0 -7
- 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.map +0 -7
- 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 → configService-PRJZF7Y6.js.map} +0 -0
- /package/dist/chunks/{constants-STK2YBIW.js.map → constants-KIQEYMAM.js.map} +0 -0
- /package/dist/chunks/{fs-JGINUXGL.js.map → fs-ZI5JEU7V.js.map} +0 -0
|
@@ -15,7 +15,7 @@ import { isResponsiveStyle } from './styleUtils';
|
|
|
15
15
|
export function applyStylesToNode(
|
|
16
16
|
node: ComponentNode,
|
|
17
17
|
styles: StyleValue | Record<string, string | number> | null | undefined,
|
|
18
|
-
viewportWidth?: number
|
|
18
|
+
viewportWidth?: number,
|
|
19
19
|
): ComponentNode {
|
|
20
20
|
if (!styles) return node;
|
|
21
21
|
|
|
@@ -45,12 +45,11 @@ export function applyStylesToNode(
|
|
|
45
45
|
*/
|
|
46
46
|
export function deepMergeStyles(
|
|
47
47
|
existing: StyleValue | Record<string, any>,
|
|
48
|
-
instance: StyleValue | Record<string, any> | null | undefined
|
|
48
|
+
instance: StyleValue | Record<string, any> | null | undefined,
|
|
49
49
|
): StyleValue {
|
|
50
50
|
if (!instance) return existing as StyleValue;
|
|
51
51
|
|
|
52
|
-
const bothResponsive =
|
|
53
|
-
isResponsiveStyle(existing as StyleValue) && isResponsiveStyle(instance as StyleValue);
|
|
52
|
+
const bothResponsive = isResponsiveStyle(existing as StyleValue) && isResponsiveStyle(instance as StyleValue);
|
|
54
53
|
|
|
55
54
|
if (bothResponsive) {
|
|
56
55
|
const e = existing as Record<string, any>;
|
|
@@ -78,7 +77,7 @@ export function deepMergeStyles(
|
|
|
78
77
|
export function mergeNodeStyles(
|
|
79
78
|
node: ComponentNode,
|
|
80
79
|
instanceStyles: StyleValue | Record<string, string | number> | null | undefined,
|
|
81
|
-
viewportWidth?: number
|
|
80
|
+
viewportWidth?: number,
|
|
82
81
|
): ComponentNode {
|
|
83
82
|
if (!instanceStyles) return node;
|
|
84
83
|
|
|
@@ -110,10 +109,7 @@ export function mergeNodeStyles(
|
|
|
110
109
|
* Extract styles from a ComponentNode based on its type
|
|
111
110
|
* Returns a flat style object ready for React props
|
|
112
111
|
*/
|
|
113
|
-
export function extractStylesFromNode(
|
|
114
|
-
node: ComponentNode,
|
|
115
|
-
viewportWidth?: number
|
|
116
|
-
): Record<string, string | number> {
|
|
112
|
+
export function extractStylesFromNode(node: ComponentNode, viewportWidth?: number): Record<string, string | number> {
|
|
117
113
|
if (isComponentNode(node)) {
|
|
118
114
|
// Component instance: styles are in props.style
|
|
119
115
|
const style = node.props?.style;
|
|
@@ -130,4 +126,3 @@ export function extractStylesFromNode(
|
|
|
130
126
|
|
|
131
127
|
return {};
|
|
132
128
|
}
|
|
133
|
-
|
|
@@ -21,11 +21,13 @@ describe('styleUtils', () => {
|
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
test('should return true for object with multiple responsive keys', () => {
|
|
24
|
-
expect(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
expect(
|
|
25
|
+
isResponsiveStyle({
|
|
26
|
+
base: { color: 'red' },
|
|
27
|
+
tablet: { color: 'blue' },
|
|
28
|
+
mobile: { color: 'green' },
|
|
29
|
+
}),
|
|
30
|
+
).toBe(true);
|
|
29
31
|
});
|
|
30
32
|
|
|
31
33
|
test('should return false for regular style object', () => {
|
|
@@ -58,10 +60,12 @@ describe('styleUtils', () => {
|
|
|
58
60
|
});
|
|
59
61
|
|
|
60
62
|
test('should handle object with base key and other properties', () => {
|
|
61
|
-
expect(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
expect(
|
|
64
|
+
isResponsiveStyle({
|
|
65
|
+
base: { color: 'red' },
|
|
66
|
+
customProp: 'value',
|
|
67
|
+
} as any),
|
|
68
|
+
).toBe(true);
|
|
65
69
|
});
|
|
66
70
|
});
|
|
67
71
|
|
|
@@ -71,41 +75,51 @@ describe('styleUtils', () => {
|
|
|
71
75
|
});
|
|
72
76
|
|
|
73
77
|
test('should return true for style object with string values', () => {
|
|
74
|
-
expect(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
expect(
|
|
79
|
+
isStyleObject({
|
|
80
|
+
color: 'red',
|
|
81
|
+
backgroundColor: 'blue',
|
|
82
|
+
padding: '10px',
|
|
83
|
+
}),
|
|
84
|
+
).toBe(true);
|
|
79
85
|
});
|
|
80
86
|
|
|
81
87
|
test('should return true for style object with number values', () => {
|
|
82
|
-
expect(
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
88
|
+
expect(
|
|
89
|
+
isStyleObject({
|
|
90
|
+
width: 100,
|
|
91
|
+
height: 200,
|
|
92
|
+
opacity: 0.5,
|
|
93
|
+
}),
|
|
94
|
+
).toBe(true);
|
|
87
95
|
});
|
|
88
96
|
|
|
89
97
|
test('should return true for style object with mixed string and number', () => {
|
|
90
|
-
expect(
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
98
|
+
expect(
|
|
99
|
+
isStyleObject({
|
|
100
|
+
color: 'red',
|
|
101
|
+
width: 100,
|
|
102
|
+
fontSize: '16px',
|
|
103
|
+
opacity: 0.8,
|
|
104
|
+
}),
|
|
105
|
+
).toBe(true);
|
|
96
106
|
});
|
|
97
107
|
|
|
98
108
|
test('should return true for style object with _mapping property', () => {
|
|
99
|
-
expect(
|
|
100
|
-
|
|
101
|
-
|
|
109
|
+
expect(
|
|
110
|
+
isStyleObject({
|
|
111
|
+
color: { _mapping: 'theme.colors.primary' },
|
|
112
|
+
}),
|
|
113
|
+
).toBe(true);
|
|
102
114
|
});
|
|
103
115
|
|
|
104
116
|
test('should return false for responsive style object', () => {
|
|
105
|
-
expect(
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
117
|
+
expect(
|
|
118
|
+
isStyleObject({
|
|
119
|
+
base: { color: 'red' },
|
|
120
|
+
tablet: { color: 'blue' },
|
|
121
|
+
}),
|
|
122
|
+
).toBe(false);
|
|
109
123
|
});
|
|
110
124
|
|
|
111
125
|
test('should return false for object with only base key', () => {
|
|
@@ -138,25 +152,31 @@ describe('styleUtils', () => {
|
|
|
138
152
|
});
|
|
139
153
|
|
|
140
154
|
test('should return false for object with invalid value types', () => {
|
|
141
|
-
expect(
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
155
|
+
expect(
|
|
156
|
+
isStyleObject({
|
|
157
|
+
color: 'red',
|
|
158
|
+
invalid: [],
|
|
159
|
+
}),
|
|
160
|
+
).toBe(false);
|
|
145
161
|
});
|
|
146
162
|
|
|
147
163
|
test('should return false for object with nested objects without _mapping', () => {
|
|
148
|
-
expect(
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
164
|
+
expect(
|
|
165
|
+
isStyleObject({
|
|
166
|
+
color: 'red',
|
|
167
|
+
nested: { prop: 'value' },
|
|
168
|
+
}),
|
|
169
|
+
).toBe(false);
|
|
152
170
|
});
|
|
153
171
|
|
|
154
172
|
test('should handle complex StyleMapping objects', () => {
|
|
155
|
-
expect(
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
173
|
+
expect(
|
|
174
|
+
isStyleObject({
|
|
175
|
+
color: { _mapping: 'colors.primary' },
|
|
176
|
+
fontSize: '16px',
|
|
177
|
+
width: 100,
|
|
178
|
+
}),
|
|
179
|
+
).toBe(true);
|
|
160
180
|
});
|
|
161
181
|
});
|
|
162
182
|
|
|
@@ -166,10 +186,12 @@ describe('styleUtils', () => {
|
|
|
166
186
|
});
|
|
167
187
|
|
|
168
188
|
test('should return true for responsive style object', () => {
|
|
169
|
-
expect(
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
189
|
+
expect(
|
|
190
|
+
isStyleValue({
|
|
191
|
+
base: { color: 'red' },
|
|
192
|
+
tablet: { color: 'blue' },
|
|
193
|
+
}),
|
|
194
|
+
).toBe(true);
|
|
173
195
|
});
|
|
174
196
|
|
|
175
197
|
test('should return true for object with base key', () => {
|
|
@@ -218,21 +240,25 @@ describe('styleUtils', () => {
|
|
|
218
240
|
});
|
|
219
241
|
|
|
220
242
|
test('should handle complex responsive styles', () => {
|
|
221
|
-
expect(
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
243
|
+
expect(
|
|
244
|
+
isStyleValue({
|
|
245
|
+
base: { color: 'red', fontSize: '18px' },
|
|
246
|
+
tablet: { color: 'blue', fontSize: '16px' },
|
|
247
|
+
mobile: { color: 'green', fontSize: '14px' },
|
|
248
|
+
}),
|
|
249
|
+
).toBe(true);
|
|
226
250
|
});
|
|
227
251
|
|
|
228
252
|
test('should handle complex style objects', () => {
|
|
229
|
-
expect(
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
253
|
+
expect(
|
|
254
|
+
isStyleValue({
|
|
255
|
+
color: 'red',
|
|
256
|
+
fontSize: '16px',
|
|
257
|
+
width: 100,
|
|
258
|
+
height: 200,
|
|
259
|
+
opacity: 0.8,
|
|
260
|
+
}),
|
|
261
|
+
).toBe(true);
|
|
236
262
|
});
|
|
237
263
|
});
|
|
238
264
|
});
|
package/lib/shared/styleUtils.ts
CHANGED
|
@@ -11,7 +11,7 @@ export function isResponsiveStyle(style: StyleValue): style is ResponsiveStyleOb
|
|
|
11
11
|
if (!style || typeof style !== 'object' || Array.isArray(style)) {
|
|
12
12
|
return false;
|
|
13
13
|
}
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
// Check if it has base, tablet, or mobile keys (indicating responsive format)
|
|
16
16
|
return 'base' in style || 'tablet' in style || 'mobile' in style;
|
|
17
17
|
}
|
|
@@ -23,14 +23,14 @@ export function isStyleObject(style: unknown): style is StyleObject {
|
|
|
23
23
|
if (!style || typeof style !== 'object' || Array.isArray(style)) {
|
|
24
24
|
return false;
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
|
|
27
27
|
// StyleObject is a record of string keys to string | number | StyleMapping values
|
|
28
28
|
// Check that it's not a ResponsiveStyleObject (which has base/tablet/mobile keys)
|
|
29
29
|
// Use proper type narrowing instead of assertion
|
|
30
30
|
if (!('base' in style) && !('tablet' in style) && !('mobile' in style)) {
|
|
31
31
|
// All values should be string, number, or objects with _mapping property
|
|
32
32
|
const obj = style as Record<string, unknown>;
|
|
33
|
-
return Object.values(obj).every(value => {
|
|
33
|
+
return Object.values(obj).every((value) => {
|
|
34
34
|
if (typeof value === 'string' || typeof value === 'number') {
|
|
35
35
|
return true;
|
|
36
36
|
}
|
|
@@ -40,7 +40,7 @@ export function isStyleObject(style: unknown): style is StyleObject {
|
|
|
40
40
|
return false;
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
-
|
|
43
|
+
|
|
44
44
|
return false; // This is a ResponsiveStyleObject, not a StyleObject
|
|
45
45
|
}
|
|
46
46
|
|
|
@@ -51,7 +51,7 @@ export function isStyleValue(style: unknown): style is StyleValue {
|
|
|
51
51
|
if (!style || typeof style !== 'object' || Array.isArray(style)) {
|
|
52
52
|
return false;
|
|
53
53
|
}
|
|
54
|
-
|
|
54
|
+
|
|
55
55
|
// Check if it's a ResponsiveStyleObject
|
|
56
56
|
if (isResponsiveStyle(style as StyleValue)) {
|
|
57
57
|
return true;
|
|
@@ -60,4 +60,3 @@ export function isStyleValue(style: unknown): style is StyleValue {
|
|
|
60
60
|
// Check if it's a StyleObject
|
|
61
61
|
return isStyleObject(style);
|
|
62
62
|
}
|
|
63
|
-
|
|
@@ -26,16 +26,16 @@ describe('themeDefaults', () => {
|
|
|
26
26
|
});
|
|
27
27
|
|
|
28
28
|
describe('DEFAULT_INPUT_STYLE', () => {
|
|
29
|
-
test('should have
|
|
30
|
-
expect(DEFAULT_INPUT_STYLE.fontFamily).toBe('
|
|
29
|
+
test('should have Inter UI font stack', () => {
|
|
30
|
+
expect(DEFAULT_INPUT_STYLE.fontFamily).toBe("'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif");
|
|
31
31
|
});
|
|
32
32
|
|
|
33
|
-
test('should have
|
|
34
|
-
expect(DEFAULT_INPUT_STYLE.fontSize).toBe('
|
|
33
|
+
test('should have 13px font size', () => {
|
|
34
|
+
expect(DEFAULT_INPUT_STYLE.fontSize).toBe('13px');
|
|
35
35
|
});
|
|
36
36
|
|
|
37
|
-
test('should have
|
|
38
|
-
expect(DEFAULT_INPUT_STYLE.padding).toBe('
|
|
37
|
+
test('should have 6px 8px padding', () => {
|
|
38
|
+
expect(DEFAULT_INPUT_STYLE.padding).toBe('6px 8px');
|
|
39
39
|
});
|
|
40
40
|
|
|
41
41
|
test('should have 3px border radius', () => {
|
|
@@ -56,8 +56,8 @@ describe('themeDefaults', () => {
|
|
|
56
56
|
expect(DEFAULT_TEXTAREA_STYLE.fontSize).toBe('13px');
|
|
57
57
|
});
|
|
58
58
|
|
|
59
|
-
test('should have
|
|
60
|
-
expect(DEFAULT_TEXTAREA_STYLE.padding).toBe('
|
|
59
|
+
test('should have 6px 8px padding', () => {
|
|
60
|
+
expect(DEFAULT_TEXTAREA_STYLE.padding).toBe('6px 8px');
|
|
61
61
|
});
|
|
62
62
|
|
|
63
63
|
test('should have 3px border radius', () => {
|
|
@@ -103,7 +103,7 @@ describe('themeDefaults', () => {
|
|
|
103
103
|
});
|
|
104
104
|
|
|
105
105
|
test('should have input colors', () => {
|
|
106
|
-
expect(DEFAULT_PROPS_PANEL_COLORS.inputBackground).toBe('#
|
|
106
|
+
expect(DEFAULT_PROPS_PANEL_COLORS.inputBackground).toBe('#2a2a2a');
|
|
107
107
|
expect(DEFAULT_PROPS_PANEL_COLORS.inputBorder).toBe('#444444');
|
|
108
108
|
});
|
|
109
109
|
|
|
@@ -120,7 +120,7 @@ describe('themeDefaults', () => {
|
|
|
120
120
|
});
|
|
121
121
|
|
|
122
122
|
test('should have border colors', () => {
|
|
123
|
-
expect(LIGHT_PROPS_PANEL_COLORS.border).toBe('#
|
|
123
|
+
expect(LIGHT_PROPS_PANEL_COLORS.border).toBe('#e4e8ec');
|
|
124
124
|
expect(LIGHT_PROPS_PANEL_COLORS.borderSecondary).toBe('#d0d0d0');
|
|
125
125
|
});
|
|
126
126
|
|
|
@@ -146,7 +146,7 @@ describe('themeDefaults', () => {
|
|
|
146
146
|
});
|
|
147
147
|
|
|
148
148
|
test('should have input colors', () => {
|
|
149
|
-
expect(LIGHT_PROPS_PANEL_COLORS.inputBackground).toBe('#
|
|
149
|
+
expect(LIGHT_PROPS_PANEL_COLORS.inputBackground).toBe('#f5f7fa');
|
|
150
150
|
expect(LIGHT_PROPS_PANEL_COLORS.inputBorder).toBe('#d0d0d0');
|
|
151
151
|
});
|
|
152
152
|
|
|
@@ -31,9 +31,9 @@ export interface PropsPanelColors {
|
|
|
31
31
|
* Spacing constants for props panel components
|
|
32
32
|
*/
|
|
33
33
|
export interface PropsPanelSpacing {
|
|
34
|
-
tight: string;
|
|
35
|
-
normal: string;
|
|
36
|
-
loose: string;
|
|
34
|
+
tight: string; // 2px - for label:colon:input gaps
|
|
35
|
+
normal: string; // 4px - for standard gaps
|
|
36
|
+
loose: string; // 8px - for larger gaps
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
export const DEFAULT_PROPS_PANEL_SPACING: PropsPanelSpacing = {
|
|
@@ -129,4 +129,3 @@ export const LIGHT_PROPS_PANEL_COLORS: PropsPanelColors = {
|
|
|
129
129
|
hoverBackground: '#f0f0f0',
|
|
130
130
|
variableBackground: '#ebedf0',
|
|
131
131
|
};
|
|
132
|
-
|