meno-core 1.0.47 → 1.0.49

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.
Files changed (97) hide show
  1. package/build-astro.ts +2 -2
  2. package/dist/build-static.js +7 -7
  3. package/dist/chunks/{chunk-UUA5LEWF.js → chunk-6IVUG7FY.js} +138 -7
  4. package/dist/chunks/chunk-6IVUG7FY.js.map +7 -0
  5. package/dist/chunks/{chunk-XSWR3QLI.js → chunk-AZQYF6KE.js} +261 -130
  6. package/dist/chunks/chunk-AZQYF6KE.js.map +7 -0
  7. package/dist/chunks/{chunk-47UNLQUU.js → chunk-CHD5UCFF.js} +57 -12
  8. package/dist/chunks/chunk-CHD5UCFF.js.map +7 -0
  9. package/dist/chunks/{chunk-FGUZOYJX.js → chunk-EQYDSPBB.js} +435 -131
  10. package/dist/chunks/chunk-EQYDSPBB.js.map +7 -0
  11. package/dist/chunks/{chunk-IF3RATBY.js → chunk-H4JSCDNW.js} +2 -2
  12. package/dist/chunks/{chunk-KITQJYZV.js → chunk-J23ZX5AP.js} +40 -4
  13. package/dist/chunks/chunk-J23ZX5AP.js.map +7 -0
  14. package/dist/chunks/{chunk-LJFB5EBT.js → chunk-JER5NQVM.js} +5 -5
  15. package/dist/chunks/{chunk-ZTKHJQ2Z.js → chunk-KPU2XHOS.js} +5 -2
  16. package/dist/chunks/{chunk-ZTKHJQ2Z.js.map → chunk-KPU2XHOS.js.map} +2 -2
  17. package/dist/chunks/{chunk-BCLGRZ3U.js → chunk-LKAGAQ3M.js} +2 -2
  18. package/dist/chunks/{chunk-FED5MME6.js → chunk-S2CX6HFM.js} +262 -26
  19. package/dist/chunks/chunk-S2CX6HFM.js.map +7 -0
  20. package/dist/chunks/{configService-DYCUEURL.js → configService-CCA6AIDI.js} +3 -3
  21. package/dist/entries/server-router.js +9 -9
  22. package/dist/entries/server-router.js.map +2 -2
  23. package/dist/lib/client/index.js +64 -20
  24. package/dist/lib/client/index.js.map +3 -3
  25. package/dist/lib/server/index.js +1737 -296
  26. package/dist/lib/server/index.js.map +4 -4
  27. package/dist/lib/shared/index.js +50 -10
  28. package/dist/lib/shared/index.js.map +3 -3
  29. package/entries/server-router.tsx +6 -2
  30. package/lib/client/core/ComponentBuilder.test.ts +17 -0
  31. package/lib/client/core/ComponentBuilder.ts +25 -1
  32. package/lib/client/core/builders/embedBuilder.ts +15 -2
  33. package/lib/client/core/builders/linkNodeBuilder.ts +15 -2
  34. package/lib/client/core/builders/localeListBuilder.ts +17 -6
  35. package/lib/client/styles/StyleInjector.ts +3 -2
  36. package/lib/client/theme.ts +4 -4
  37. package/lib/server/cssGenerator.test.ts +64 -1
  38. package/lib/server/cssGenerator.ts +48 -9
  39. package/lib/server/index.ts +1 -1
  40. package/lib/server/jsonLoader.test.ts +0 -17
  41. package/lib/server/jsonLoader.ts +0 -81
  42. package/lib/server/providers/fileSystemCMSProvider.test.ts +163 -0
  43. package/lib/server/providers/fileSystemCMSProvider.ts +200 -11
  44. package/lib/server/routes/api/variables.ts +4 -2
  45. package/lib/server/routes/index.ts +1 -1
  46. package/lib/server/routes/pages.ts +23 -1
  47. package/lib/server/services/cmsService.test.ts +246 -0
  48. package/lib/server/services/cmsService.ts +122 -5
  49. package/lib/server/services/configService.ts +5 -0
  50. package/lib/server/ssr/attributeBuilder.ts +41 -0
  51. package/lib/server/ssr/htmlGenerator.test.ts +114 -2
  52. package/lib/server/ssr/htmlGenerator.ts +53 -6
  53. package/lib/server/ssr/liveReloadIntegration.test.ts +209 -0
  54. package/lib/server/ssr/ssrRenderer.test.ts +362 -1
  55. package/lib/server/ssr/ssrRenderer.ts +216 -72
  56. package/lib/server/utils/jsonLineMapper.test.ts +53 -1
  57. package/lib/server/utils/jsonLineMapper.ts +43 -3
  58. package/lib/server/webflow/buildWebflow.ts +343 -123
  59. package/lib/server/webflow/index.ts +1 -0
  60. package/lib/server/webflow/nodeToWebflow.test.ts +3170 -0
  61. package/lib/server/webflow/nodeToWebflow.ts +2141 -129
  62. package/lib/server/webflow/styleMapper.test.ts +389 -0
  63. package/lib/server/webflow/styleMapper.ts +517 -63
  64. package/lib/server/webflow/templateWrapper.ts +49 -0
  65. package/lib/server/webflow/types.ts +218 -18
  66. package/lib/shared/cssGeneration.test.ts +267 -1
  67. package/lib/shared/cssGeneration.ts +240 -18
  68. package/lib/shared/cssProperties.test.ts +247 -1
  69. package/lib/shared/cssProperties.ts +196 -6
  70. package/lib/shared/elementClassName.test.ts +15 -0
  71. package/lib/shared/elementClassName.ts +7 -3
  72. package/lib/shared/interfaces/contentProvider.ts +39 -6
  73. package/lib/shared/pathSecurity.ts +16 -0
  74. package/lib/shared/registry/nodeTypes/ListNodeType.ts +1 -1
  75. package/lib/shared/responsiveScaling.test.ts +143 -0
  76. package/lib/shared/responsiveScaling.ts +253 -2
  77. package/lib/shared/themeDefaults.test.ts +3 -3
  78. package/lib/shared/themeDefaults.ts +3 -3
  79. package/lib/shared/types/cms.ts +28 -3
  80. package/lib/shared/types/index.ts +2 -0
  81. package/lib/shared/types/variables.ts +37 -0
  82. package/lib/shared/utilityClassConfig.ts +3 -0
  83. package/lib/shared/utilityClassMapper.test.ts +123 -0
  84. package/lib/shared/utilityClassMapper.ts +179 -8
  85. package/lib/shared/validation/schemas.ts +15 -1
  86. package/lib/shared/validation/validators.ts +26 -1
  87. package/package.json +1 -1
  88. package/dist/chunks/chunk-47UNLQUU.js.map +0 -7
  89. package/dist/chunks/chunk-FED5MME6.js.map +0 -7
  90. package/dist/chunks/chunk-FGUZOYJX.js.map +0 -7
  91. package/dist/chunks/chunk-KITQJYZV.js.map +0 -7
  92. package/dist/chunks/chunk-UUA5LEWF.js.map +0 -7
  93. package/dist/chunks/chunk-XSWR3QLI.js.map +0 -7
  94. /package/dist/chunks/{chunk-IF3RATBY.js.map → chunk-H4JSCDNW.js.map} +0 -0
  95. /package/dist/chunks/{chunk-LJFB5EBT.js.map → chunk-JER5NQVM.js.map} +0 -0
  96. /package/dist/chunks/{chunk-BCLGRZ3U.js.map → chunk-LKAGAQ3M.js.map} +0 -0
  97. /package/dist/chunks/{configService-DYCUEURL.js.map → configService-CCA6AIDI.js.map} +0 -0
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  ConfigService,
3
3
  configService
4
- } from "./chunk-ZTKHJQ2Z.js";
4
+ } from "./chunk-KPU2XHOS.js";
5
5
  import "./chunk-I7YIGZXT.js";
6
6
  import "./chunk-WQFG7PAH.js";
7
- import "./chunk-XSWR3QLI.js";
7
+ import "./chunk-AZQYF6KE.js";
8
8
  import "./chunk-KSBZ2L7C.js";
9
9
  export {
10
10
  ConfigService,
11
11
  configService
12
12
  };
13
- //# sourceMappingURL=configService-DYCUEURL.js.map
13
+ //# sourceMappingURL=configService-CCA6AIDI.js.map
@@ -6,25 +6,25 @@ import {
6
6
  PageService,
7
7
  WebSocketManager,
8
8
  createServer
9
- } from "../chunks/chunk-47UNLQUU.js";
9
+ } from "../chunks/chunk-CHD5UCFF.js";
10
10
  import {
11
11
  CMSService,
12
12
  FileSystemCMSProvider,
13
13
  loadProjectConfig,
14
14
  migrateTemplatesDirectory
15
- } from "../chunks/chunk-FGUZOYJX.js";
15
+ } from "../chunks/chunk-EQYDSPBB.js";
16
16
  import {
17
17
  configService
18
- } from "../chunks/chunk-ZTKHJQ2Z.js";
18
+ } from "../chunks/chunk-KPU2XHOS.js";
19
19
  import {
20
20
  projectPaths
21
21
  } from "../chunks/chunk-I7YIGZXT.js";
22
22
  import "../chunks/chunk-WQFG7PAH.js";
23
- import "../chunks/chunk-IF3RATBY.js";
24
- import "../chunks/chunk-KITQJYZV.js";
25
- import "../chunks/chunk-BCLGRZ3U.js";
26
- import "../chunks/chunk-FED5MME6.js";
27
- import "../chunks/chunk-XSWR3QLI.js";
23
+ import "../chunks/chunk-H4JSCDNW.js";
24
+ import "../chunks/chunk-J23ZX5AP.js";
25
+ import "../chunks/chunk-LKAGAQ3M.js";
26
+ import "../chunks/chunk-S2CX6HFM.js";
27
+ import "../chunks/chunk-AZQYF6KE.js";
28
28
  import "../chunks/chunk-UB44F4Z2.js";
29
29
  import "../chunks/chunk-2QK6U5UK.js";
30
30
  import "../chunks/chunk-KSBZ2L7C.js";
@@ -37,7 +37,7 @@ var pageService = new PageService(pageCache, pageProvider);
37
37
  var componentService = new ComponentService();
38
38
  var wsManager = new WebSocketManager();
39
39
  var cmsProvider = new FileSystemCMSProvider(projectPaths.templates(), projectPaths.cms());
40
- var cmsService = new CMSService(cmsProvider);
40
+ var cmsService = new CMSService(cmsProvider, { previewMode: true });
41
41
  var fileWatcherService = new FileWatcherService(
42
42
  componentService,
43
43
  pageService,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../entries/server-router.tsx"],
4
- "sourcesContent": ["/**\n * Server Router\n * Main entry point for the development server\n * Uses the createServer factory with all services initialized\n */\n\nimport { PageCache } from '../lib/server/pageCache';\nimport { WebSocketManager } from '../lib/server/websocketManager';\nimport { PageService, ComponentService, FileWatcherService } from '../lib/server/services';\nimport { CMSService } from '../lib/server/services/cmsService';\nimport { createServer } from '../lib/server/createServer';\nimport { loadProjectConfig } from '../lib/shared/fontLoader';\nimport { FileSystemPageProvider } from '../lib/server/providers/fileSystemPageProvider';\nimport { FileSystemCMSProvider } from '../lib/server/providers/fileSystemCMSProvider';\nimport { configService } from '../lib/server/services/configService';\nimport { projectPaths } from '../lib/server/projectContext';\nimport { migrateTemplatesDirectory } from '../lib/server/migrateTemplates';\n\n// Auto-migrate pages/templates/ \u2192 templates/ if needed\nawait migrateTemplatesDirectory();\n\n// Initialize services\nconst pageCache = new PageCache();\nconst pageProvider = new FileSystemPageProvider(projectPaths.pages(), projectPaths.templates());\nconst pageService = new PageService(pageCache, pageProvider);\nconst componentService = new ComponentService();\nconst wsManager = new WebSocketManager();\n\n// Initialize CMS services\nconst cmsProvider = new FileSystemCMSProvider(projectPaths.templates(), projectPaths.cms());\nconst cmsService = new CMSService(cmsProvider);\n\n// Initialize file watcher with CMS service for template change detection\nconst fileWatcherService = new FileWatcherService(\n componentService,\n pageService,\n pageCache,\n wsManager,\n cmsService\n);\n\n// Initialize server data\nasync function initialize() {\n // Load centralized config first\n await configService.load();\n\n // Load project config for fonts (uses legacy loader for now)\n await loadProjectConfig();\n\n // Load global components first\n await componentService.loadAllComponents();\n\n // Load all pages\n await pageService.loadAllPages();\n\n // Initialize CMS service (extract schemas from pages)\n await cmsService.initialize();\n\n // Setup file watchers\n fileWatcherService.initialize();\n}\n\n// Initialize before starting server\nawait initialize();\n\n// Create and start server using the factory\nconst { server, port } = await createServer({\n pageService,\n componentService,\n wsManager,\n cmsService,\n cmsProvider,\n});\n\nconsole.log(`Server with routing and HMR running at http://localhost:${port}`);\nconsole.log(`Available pages:`, pageService.getAllPagePaths());\nconsole.log(`Edit any JSON file to see instant hot reloading!`);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,MAAM,0BAA0B;AAGhC,IAAM,YAAY,IAAI,UAAU;AAChC,IAAM,eAAe,IAAI,uBAAuB,aAAa,MAAM,GAAG,aAAa,UAAU,CAAC;AAC9F,IAAM,cAAc,IAAI,YAAY,WAAW,YAAY;AAC3D,IAAM,mBAAmB,IAAI,iBAAiB;AAC9C,IAAM,YAAY,IAAI,iBAAiB;AAGvC,IAAM,cAAc,IAAI,sBAAsB,aAAa,UAAU,GAAG,aAAa,IAAI,CAAC;AAC1F,IAAM,aAAa,IAAI,WAAW,WAAW;AAG7C,IAAM,qBAAqB,IAAI;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGA,eAAe,aAAa;AAE1B,QAAM,cAAc,KAAK;AAGzB,QAAM,kBAAkB;AAGxB,QAAM,iBAAiB,kBAAkB;AAGzC,QAAM,YAAY,aAAa;AAG/B,QAAM,WAAW,WAAW;AAG5B,qBAAmB,WAAW;AAChC;AAGA,MAAM,WAAW;AAGjB,IAAM,EAAE,QAAQ,KAAK,IAAI,MAAM,aAAa;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,QAAQ,IAAI,2DAA2D,IAAI,EAAE;AAC7E,QAAQ,IAAI,oBAAoB,YAAY,gBAAgB,CAAC;AAC7D,QAAQ,IAAI,kDAAkD;",
4
+ "sourcesContent": ["/**\n * Server Router\n * Main entry point for the development server\n * Uses the createServer factory with all services initialized\n */\n\nimport { PageCache } from '../lib/server/pageCache';\nimport { WebSocketManager } from '../lib/server/websocketManager';\nimport { PageService, ComponentService, FileWatcherService } from '../lib/server/services';\nimport { CMSService } from '../lib/server/services/cmsService';\nimport { createServer } from '../lib/server/createServer';\nimport { loadProjectConfig } from '../lib/shared/fontLoader';\nimport { FileSystemPageProvider } from '../lib/server/providers/fileSystemPageProvider';\nimport { FileSystemCMSProvider } from '../lib/server/providers/fileSystemCMSProvider';\nimport { configService } from '../lib/server/services/configService';\nimport { projectPaths } from '../lib/server/projectContext';\nimport { migrateTemplatesDirectory } from '../lib/server/migrateTemplates';\n\n// Auto-migrate pages/templates/ \u2192 templates/ if needed\nawait migrateTemplatesDirectory();\n\n// Initialize services\nconst pageCache = new PageCache();\nconst pageProvider = new FileSystemPageProvider(projectPaths.pages(), projectPaths.templates());\nconst pageService = new PageService(pageCache, pageProvider);\nconst componentService = new ComponentService();\nconst wsManager = new WebSocketManager();\n\n// Initialize CMS services. The service runs in preview mode so SSR-facing\n// reads merge drafts over published content \u2014 the localhost dev runtime\n// reflects unpublished edits. Production builds (build-static / build-astro\n// / Webflow export) construct the service without the flag and only ever\n// serve published content.\nconst cmsProvider = new FileSystemCMSProvider(projectPaths.templates(), projectPaths.cms());\nconst cmsService = new CMSService(cmsProvider, { previewMode: true });\n\n// Initialize file watcher with CMS service for template change detection\nconst fileWatcherService = new FileWatcherService(\n componentService,\n pageService,\n pageCache,\n wsManager,\n cmsService\n);\n\n// Initialize server data\nasync function initialize() {\n // Load centralized config first\n await configService.load();\n\n // Load project config for fonts (uses legacy loader for now)\n await loadProjectConfig();\n\n // Load global components first\n await componentService.loadAllComponents();\n\n // Load all pages\n await pageService.loadAllPages();\n\n // Initialize CMS service (extract schemas from pages)\n await cmsService.initialize();\n\n // Setup file watchers\n fileWatcherService.initialize();\n}\n\n// Initialize before starting server\nawait initialize();\n\n// Create and start server using the factory\nconst { server, port } = await createServer({\n pageService,\n componentService,\n wsManager,\n cmsService,\n cmsProvider,\n});\n\nconsole.log(`Server with routing and HMR running at http://localhost:${port}`);\nconsole.log(`Available pages:`, pageService.getAllPagePaths());\nconsole.log(`Edit any JSON file to see instant hot reloading!`);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,MAAM,0BAA0B;AAGhC,IAAM,YAAY,IAAI,UAAU;AAChC,IAAM,eAAe,IAAI,uBAAuB,aAAa,MAAM,GAAG,aAAa,UAAU,CAAC;AAC9F,IAAM,cAAc,IAAI,YAAY,WAAW,YAAY;AAC3D,IAAM,mBAAmB,IAAI,iBAAiB;AAC9C,IAAM,YAAY,IAAI,iBAAiB;AAOvC,IAAM,cAAc,IAAI,sBAAsB,aAAa,UAAU,GAAG,aAAa,IAAI,CAAC;AAC1F,IAAM,aAAa,IAAI,WAAW,aAAa,EAAE,aAAa,KAAK,CAAC;AAGpE,IAAM,qBAAqB,IAAI;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGA,eAAe,aAAa;AAE1B,QAAM,cAAc,KAAK;AAGzB,QAAM,kBAAkB;AAGxB,QAAM,iBAAiB,kBAAkB;AAGzC,QAAM,YAAY,aAAa;AAG/B,QAAM,WAAW,WAAW;AAG5B,qBAAmB,WAAW;AAChC;AAGA,MAAM,WAAW;AAGjB,IAAM,EAAE,QAAQ,KAAK,IAAI,MAAM,aAAa;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,QAAQ,IAAI,2DAA2D,IAAI,EAAE;AAC7E,QAAQ,IAAI,oBAAoB,YAAY,gBAAgB,CAAC;AAC7D,QAAQ,IAAI,kDAAkD;",
6
6
  "names": []
7
7
  }
@@ -12,12 +12,12 @@ import {
12
12
  resolveLinkMapping,
13
13
  resolveStyleMapping,
14
14
  skipEmptyTemplateAttributes
15
- } from "../../chunks/chunk-BCLGRZ3U.js";
15
+ } from "../../chunks/chunk-LKAGAQ3M.js";
16
16
  import {
17
17
  filterCSSProperties,
18
18
  logNetworkError,
19
19
  logRuntimeError
20
- } from "../../chunks/chunk-UUA5LEWF.js";
20
+ } from "../../chunks/chunk-6IVUG7FY.js";
21
21
  import {
22
22
  BaseComponentRegistry,
23
23
  DEFAULT_PREFETCH_CONFIG,
@@ -59,7 +59,7 @@ import {
59
59
  singularize,
60
60
  sortClassesByPropertyOrder,
61
61
  validatePageData
62
- } from "../../chunks/chunk-FED5MME6.js";
62
+ } from "../../chunks/chunk-S2CX6HFM.js";
63
63
  import {
64
64
  DEFAULT_BREAKPOINTS,
65
65
  DEFAULT_I18N_CONFIG,
@@ -71,7 +71,7 @@ import {
71
71
  parseLocaleFromPath,
72
72
  resolveI18nValue,
73
73
  setStoredLocale
74
- } from "../../chunks/chunk-XSWR3QLI.js";
74
+ } from "../../chunks/chunk-AZQYF6KE.js";
75
75
  import {
76
76
  isTiptapDocument,
77
77
  tiptapToHtml
@@ -758,7 +758,12 @@ function buildEmbed(node, ctx, deps) {
758
758
  i18nResolver
759
759
  );
760
760
  }
761
- const utilityClasses = responsiveStylesToClasses(processedStyle);
761
+ const scales = getCachedResponsiveScalesConfig();
762
+ const fluidActive = scales?.enabled === true && scales?.mode === "fluid";
763
+ const utilityClasses = responsiveStylesToClasses(
764
+ processedStyle,
765
+ { fluidActive, responsiveScales: scales ?? void 0 }
766
+ );
762
767
  UtilityClassCollector.collect(utilityClasses);
763
768
  classNames.push(...utilityClasses);
764
769
  }
@@ -793,7 +798,12 @@ function buildEmbed(node, ctx, deps) {
793
798
  const previewClasses = [];
794
799
  for (const rule of nodeInteractiveStyles) {
795
800
  if (rule.previewProp && ctx.componentResolvedProps[rule.previewProp] === true) {
796
- const styleClasses = responsiveStylesToClasses(rule.style);
801
+ const previewScales = getCachedResponsiveScalesConfig();
802
+ const previewFluidActive = previewScales?.enabled === true && previewScales?.mode === "fluid";
803
+ const styleClasses = responsiveStylesToClasses(
804
+ rule.style,
805
+ { fluidActive: previewFluidActive, responsiveScales: previewScales ?? void 0 }
806
+ );
797
807
  UtilityClassCollector.collect(styleClasses);
798
808
  previewClasses.push(...styleClasses);
799
809
  }
@@ -890,7 +900,12 @@ function buildLinkNode(node, children, ctx, deps) {
890
900
  i18nResolver
891
901
  );
892
902
  }
893
- const utilityClasses = responsiveStylesToClasses(processedStyle);
903
+ const scales = getCachedResponsiveScalesConfig();
904
+ const fluidActive = scales?.enabled === true && scales?.mode === "fluid";
905
+ const utilityClasses = responsiveStylesToClasses(
906
+ processedStyle,
907
+ { fluidActive, responsiveScales: scales ?? void 0 }
908
+ );
894
909
  UtilityClassCollector.collect(utilityClasses);
895
910
  classNames.push(...utilityClasses);
896
911
  }
@@ -925,7 +940,12 @@ function buildLinkNode(node, children, ctx, deps) {
925
940
  const previewClasses = [];
926
941
  for (const rule of nodeInteractiveStyles) {
927
942
  if (rule.previewProp && ctx.componentResolvedProps[rule.previewProp] === true) {
928
- const styleClasses = responsiveStylesToClasses(rule.style);
943
+ const previewScales = getCachedResponsiveScalesConfig();
944
+ const previewFluidActive = previewScales?.enabled === true && previewScales?.mode === "fluid";
945
+ const styleClasses = responsiveStylesToClasses(
946
+ rule.style,
947
+ { fluidActive: previewFluidActive, responsiveScales: previewScales ?? void 0 }
948
+ );
929
949
  UtilityClassCollector.collect(styleClasses);
930
950
  previewClasses.push(...styleClasses);
931
951
  }
@@ -1024,8 +1044,13 @@ function buildLocaleList(node, ctx, deps) {
1024
1044
  localeListProps["data-cms-item-index"] = cmsItemIndexPath.join(".");
1025
1045
  }
1026
1046
  let classNames = [];
1047
+ const scales = getCachedResponsiveScalesConfig();
1048
+ const fluidActive = scales?.enabled === true && scales?.mode === "fluid";
1027
1049
  if (node.style) {
1028
- const utilityClasses = responsiveStylesToClasses(node.style);
1050
+ const utilityClasses = responsiveStylesToClasses(
1051
+ node.style,
1052
+ { fluidActive, responsiveScales: scales ?? void 0 }
1053
+ );
1029
1054
  UtilityClassCollector.collect(utilityClasses);
1030
1055
  classNames.push(...utilityClasses);
1031
1056
  }
@@ -1060,7 +1085,10 @@ function buildLocaleList(node, ctx, deps) {
1060
1085
  const previewClasses = [];
1061
1086
  for (const rule of nodeInteractiveStyles) {
1062
1087
  if (rule.previewProp && ctx.componentResolvedProps[rule.previewProp] === true) {
1063
- const styleClasses = responsiveStylesToClasses(rule.style);
1088
+ const styleClasses = responsiveStylesToClasses(
1089
+ rule.style,
1090
+ { fluidActive, responsiveScales: scales ?? void 0 }
1091
+ );
1064
1092
  UtilityClassCollector.collect(styleClasses);
1065
1093
  previewClasses.push(...styleClasses);
1066
1094
  }
@@ -1093,10 +1121,10 @@ function buildLocaleList(node, ctx, deps) {
1093
1121
  const showFlag = node.showFlag !== false;
1094
1122
  const configLocales = i18nConfig?.locales || [];
1095
1123
  const currentLocaleCode = locale || i18nConfig?.defaultLocale || "en";
1096
- const itemClasses = node.itemStyle ? responsiveStylesToClasses(node.itemStyle) : [];
1097
- const activeItemClasses = node.activeItemStyle ? responsiveStylesToClasses(node.activeItemStyle) : [];
1098
- const separatorClasses = node.separatorStyle ? responsiveStylesToClasses(node.separatorStyle) : [];
1099
- const flagClasses = node.flagStyle ? responsiveStylesToClasses(node.flagStyle) : [];
1124
+ const itemClasses = node.itemStyle ? responsiveStylesToClasses(node.itemStyle, { fluidActive, responsiveScales: scales ?? void 0 }) : [];
1125
+ const activeItemClasses = node.activeItemStyle ? responsiveStylesToClasses(node.activeItemStyle, { fluidActive, responsiveScales: scales ?? void 0 }) : [];
1126
+ const separatorClasses = node.separatorStyle ? responsiveStylesToClasses(node.separatorStyle, { fluidActive, responsiveScales: scales ?? void 0 }) : [];
1127
+ const flagClasses = node.flagStyle ? responsiveStylesToClasses(node.flagStyle, { fluidActive, responsiveScales: scales ?? void 0 }) : [];
1100
1128
  UtilityClassCollector.collect(itemClasses);
1101
1129
  UtilityClassCollector.collect(activeItemClasses);
1102
1130
  UtilityClassCollector.collect(separatorClasses);
@@ -1643,7 +1671,12 @@ var ComponentBuilder = class {
1643
1671
  getCachedStyleClasses(style) {
1644
1672
  let cached = this.styleClassCache.get(style);
1645
1673
  if (!cached) {
1646
- cached = responsiveStylesToClasses(style);
1674
+ const scales = getCachedResponsiveScalesConfig();
1675
+ const fluidActive = scales?.enabled === true && scales?.mode === "fluid";
1676
+ cached = responsiveStylesToClasses(
1677
+ style,
1678
+ { fluidActive, responsiveScales: scales ?? void 0 }
1679
+ );
1647
1680
  this.styleClassCache.set(style, cached);
1648
1681
  }
1649
1682
  UtilityClassCollector.collect(cached);
@@ -1700,6 +1733,9 @@ var ComponentBuilder = class {
1700
1733
  const i18nResolver = effectiveLocale ? (value) => resolveI18nValue(value, effectiveLocale, config) : void 0;
1701
1734
  resolved = processItemTemplate(resolved, effectiveTemplateContext, i18nResolver);
1702
1735
  }
1736
+ if (resolved.includes("{{") && resolved.includes("}}")) {
1737
+ return false;
1738
+ }
1703
1739
  return Boolean(resolved) && resolved !== "false" && resolved !== "0" && resolved !== "";
1704
1740
  }
1705
1741
  return true;
@@ -2153,6 +2189,13 @@ var ComponentBuilder = class {
2153
2189
  mergeAttributes(props, node, ctx) {
2154
2190
  let extractedAttributes = extractAttributesFromNode(node);
2155
2191
  const originalAttributes = { ...extractedAttributes };
2192
+ if (ctx.cmsContext && Object.keys(extractedAttributes).length > 0) {
2193
+ extractedAttributes = processCMSPropsTemplate(
2194
+ extractedAttributes,
2195
+ ctx.cmsContext,
2196
+ ctx.cmsLocale || ctx.locale
2197
+ );
2198
+ }
2156
2199
  const effectiveItemContext = ctx.templateContext || ctx.itemContext;
2157
2200
  if (effectiveItemContext && Object.keys(extractedAttributes).length > 0) {
2158
2201
  const effectiveLocale = ctx.cmsLocale || ctx.locale;
@@ -3191,7 +3234,8 @@ ${originalCSS}`);
3191
3234
  if (interactiveStylesMap.size === 0) return;
3192
3235
  const breakpointConfig2 = getCachedBreakpointConfig() || DEFAULT_BREAKPOINTS;
3193
3236
  const remConversionConfig2 = getCachedRemConversionConfig() || void 0;
3194
- const interactiveCSS = generateAllInteractiveCSS(interactiveStylesMap, breakpointConfig2, remConversionConfig2);
3237
+ const responsiveScalesConfig2 = getCachedResponsiveScalesConfig() || void 0;
3238
+ const interactiveCSS = generateAllInteractiveCSS(interactiveStylesMap, breakpointConfig2, remConversionConfig2, responsiveScalesConfig2);
3195
3239
  if (!interactiveCSS) return;
3196
3240
  if (document.head) {
3197
3241
  let styleTag = document.getElementById(interactiveStyleId);
@@ -4227,9 +4271,9 @@ var lightThemeColors = {
4227
4271
  backgroundTertiary: "#eaeef2",
4228
4272
  border: "#d0d7de",
4229
4273
  borderSecondary: "#d1d5da",
4230
- text: "#24292e",
4274
+ text: "#1a1a1a",
4231
4275
  textSecondary: "#586069",
4232
- textMuted: "#6a737d",
4276
+ textMuted: "#525a63",
4233
4277
  codeString: "#032f62",
4234
4278
  codeNumber: "#005cc5",
4235
4279
  codeKey: "#005cc5",
@@ -4274,9 +4318,9 @@ var darkThemeColors = {
4274
4318
  backgroundTertiary: "#252525",
4275
4319
  border: "#333333",
4276
4320
  borderSecondary: "#444444",
4277
- text: "#cccccc",
4321
+ text: "#ebebeb",
4278
4322
  textSecondary: "#cccccc",
4279
- textMuted: "#888888",
4323
+ textMuted: "#b0b0b0",
4280
4324
  codeString: "#ffffff",
4281
4325
  codeNumber: "#b5cea8",
4282
4326
  codeKey: "#9cdcfe",