@marvalt/wparser 0.1.10 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -372,6 +372,20 @@ declare function extractButtonsFromInnerBlocks(block: WordPressBlock): Array<{
372
372
  url: string;
373
373
  isExternal?: boolean;
374
374
  }>;
375
+ /**
376
+ * Extract text alignment from inner blocks
377
+ * Recursively searches for heading or paragraph blocks with textAlign attribute
378
+ * Also checks group blocks for justifyContent in layout
379
+ */
380
+ declare function extractTextAlignFromInnerBlocks(block: WordPressBlock): 'left' | 'center' | 'right' | null;
381
+ /**
382
+ * Parse contentPosition string into horizontal and vertical alignment
383
+ * Format: "horizontal vertical" (e.g., "center center", "left top", "right bottom")
384
+ */
385
+ declare function parseContentPosition(contentPosition: string | undefined): {
386
+ horizontal: 'left' | 'center' | 'right';
387
+ vertical: 'top' | 'center' | 'bottom';
388
+ };
375
389
  /**
376
390
  * Extract video iframe HTML from innerBlocks (finds HTML block with iframe)
377
391
  */
@@ -428,5 +442,5 @@ interface SectionWrapperProps {
428
442
  */
429
443
  declare const SectionWrapper: React$1.FC<SectionWrapperProps>;
430
444
 
431
- export { SectionWrapper, WPContent, WPErrorBoundary, WPPage, buildClassName, convertImageToCloudflareVariant, convertImageUrl, convertImageUrls, createDefaultRegistry, createEnhancedRegistry, extractAlignment, extractBackgroundImage, extractButtonsFromInnerBlocks, extractContent, extractDimRatio, extractFontSize, extractHeadingLevel, extractImageAttributes, extractImageUrl, extractMediaPosition, extractMinHeight, extractOverlayColor, extractSubtitleFromInnerBlocks, extractTextAlign, extractTextFromHTML, extractTitle, extractTitleFromInnerBlocks, extractVerticalAlignment, extractVideoIframeFromInnerBlocks, findMatchingMapping, findShortcodes, getAlignmentClasses, getBlockTextContent, getCloudflareVariantUrl, getContainerClasses, getContentSpacingClasses, getFontSizeClasses, getImageAttributes, getImageUrl, getSectionSpacingClasses, getTextAlignClasses, isCloudflareImageUrl, matchesPattern, parseGutenbergBlocks, parseShortcodeAttrs, renderNodes, renderTextWithShortcodes };
445
+ export { SectionWrapper, WPContent, WPErrorBoundary, WPPage, buildClassName, convertImageToCloudflareVariant, convertImageUrl, convertImageUrls, createDefaultRegistry, createEnhancedRegistry, extractAlignment, extractBackgroundImage, extractButtonsFromInnerBlocks, extractContent, extractDimRatio, extractFontSize, extractHeadingLevel, extractImageAttributes, extractImageUrl, extractMediaPosition, extractMinHeight, extractOverlayColor, extractSubtitleFromInnerBlocks, extractTextAlign, extractTextAlignFromInnerBlocks, extractTextFromHTML, extractTitle, extractTitleFromInnerBlocks, extractVerticalAlignment, extractVideoIframeFromInnerBlocks, findMatchingMapping, findShortcodes, getAlignmentClasses, getBlockTextContent, getCloudflareVariantUrl, getContainerClasses, getContentSpacingClasses, getFontSizeClasses, getImageAttributes, getImageUrl, getSectionSpacingClasses, getTextAlignClasses, isCloudflareImageUrl, matchesPattern, parseContentPosition, parseGutenbergBlocks, parseShortcodeAttrs, renderNodes, renderTextWithShortcodes };
432
446
  export type { AuthMode, BlockPattern, BlockRenderer, BlockRendererProps, CloudflareVariantOptions, ComponentMapping, ComponentRegistry, EnhancedRegistry, ImageConversionOptions, ParseOptions, ParsedShortcode, RenderContext, RenderOptions, SectionWrapperProps, ShortcodeAttributes, ShortcodeRenderer, WPContentProps, WPNode, WPPageProps, WordPressBlock, WordPressEmbedded, WordPressFeaturedMedia, WordPressPageMinimal, WordPressTitleField };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,6BAA6B,EAC7B,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,yBAAyB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,6BAA6B,EAC7B,iCAAiC,EACjC,+BAA+B,EAC/B,+BAA+B,EAC/B,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC"}
package/dist/index.esm.js CHANGED
@@ -2420,6 +2420,57 @@ function extractButtonsFromInnerBlocks(block) {
2420
2420
  }
2421
2421
  return buttons;
2422
2422
  }
2423
+ /**
2424
+ * Extract text alignment from inner blocks
2425
+ * Recursively searches for heading or paragraph blocks with textAlign attribute
2426
+ * Also checks group blocks for justifyContent in layout
2427
+ */
2428
+ function extractTextAlignFromInnerBlocks(block) {
2429
+ const innerBlocks = block.innerBlocks || [];
2430
+ // Recursively search for heading or paragraph blocks with textAlign
2431
+ for (const innerBlock of innerBlocks) {
2432
+ if (innerBlock.name === 'core/heading' || innerBlock.name === 'core/paragraph') {
2433
+ const attrs = innerBlock.attributes || {};
2434
+ const textAlign = attrs['textAlign'];
2435
+ if (textAlign === 'left' || textAlign === 'center' || textAlign === 'right') {
2436
+ return textAlign;
2437
+ }
2438
+ }
2439
+ // Check group blocks for justifyContent
2440
+ if (innerBlock.name === 'core/group') {
2441
+ const attrs = innerBlock.attributes || {};
2442
+ const layout = attrs['layout'];
2443
+ const justifyContent = layout?.justifyContent;
2444
+ if (justifyContent === 'left')
2445
+ return 'left';
2446
+ if (justifyContent === 'center')
2447
+ return 'center';
2448
+ if (justifyContent === 'right')
2449
+ return 'right';
2450
+ }
2451
+ // Recursively search nested blocks
2452
+ const nestedAlign = extractTextAlignFromInnerBlocks(innerBlock);
2453
+ if (nestedAlign)
2454
+ return nestedAlign;
2455
+ }
2456
+ return null;
2457
+ }
2458
+ /**
2459
+ * Parse contentPosition string into horizontal and vertical alignment
2460
+ * Format: "horizontal vertical" (e.g., "center center", "left top", "right bottom")
2461
+ */
2462
+ function parseContentPosition(contentPosition) {
2463
+ if (!contentPosition) {
2464
+ return { horizontal: 'left', vertical: 'center' };
2465
+ }
2466
+ const parts = contentPosition.trim().split(/\s+/);
2467
+ const horizontal = parts[0] || 'left';
2468
+ const vertical = parts[1] || 'center';
2469
+ return {
2470
+ horizontal: (horizontal === 'center' || horizontal === 'right' ? horizontal : 'left'),
2471
+ vertical: (vertical === 'top' || vertical === 'bottom' ? vertical : 'center'),
2472
+ };
2473
+ }
2423
2474
  /**
2424
2475
  * Extract video iframe HTML from innerBlocks (finds HTML block with iframe)
2425
2476
  */
@@ -2525,5 +2576,5 @@ const SectionWrapper = ({ children, background = 'light', spacing = 'medium', co
2525
2576
  return (jsxRuntimeExports.jsx("section", { className: buildClassName(backgroundClasses[finalBackground] || backgroundClasses.light, spacingClasses[finalSpacing] || spacingClasses.medium, containerClasses[finalContainer] || containerClasses.contained, className), children: children }));
2526
2577
  };
2527
2578
 
2528
- export { SectionWrapper, WPContent, WPErrorBoundary, WPPage, buildClassName, convertImageToCloudflareVariant, convertImageUrl, convertImageUrls, createDefaultRegistry, createEnhancedRegistry, extractAlignment, extractBackgroundImage, extractButtonsFromInnerBlocks, extractContent, extractDimRatio, extractFontSize, extractHeadingLevel, extractImageAttributes, extractImageUrl, extractMediaPosition, extractMinHeight, extractOverlayColor, extractSubtitleFromInnerBlocks, extractTextAlign, extractTextFromHTML, extractTitle, extractTitleFromInnerBlocks, extractVerticalAlignment, extractVideoIframeFromInnerBlocks, findMatchingMapping, findShortcodes, getAlignmentClasses, getBlockTextContent, getCloudflareVariantUrl, getContainerClasses, getContentSpacingClasses, getFontSizeClasses, getImageAttributes, getImageUrl, getSectionSpacingClasses, getTextAlignClasses, isCloudflareImageUrl, matchesPattern, parseGutenbergBlocks, parseShortcodeAttrs, renderNodes, renderTextWithShortcodes };
2579
+ export { SectionWrapper, WPContent, WPErrorBoundary, WPPage, buildClassName, convertImageToCloudflareVariant, convertImageUrl, convertImageUrls, createDefaultRegistry, createEnhancedRegistry, extractAlignment, extractBackgroundImage, extractButtonsFromInnerBlocks, extractContent, extractDimRatio, extractFontSize, extractHeadingLevel, extractImageAttributes, extractImageUrl, extractMediaPosition, extractMinHeight, extractOverlayColor, extractSubtitleFromInnerBlocks, extractTextAlign, extractTextAlignFromInnerBlocks, extractTextFromHTML, extractTitle, extractTitleFromInnerBlocks, extractVerticalAlignment, extractVideoIframeFromInnerBlocks, findMatchingMapping, findShortcodes, getAlignmentClasses, getBlockTextContent, getCloudflareVariantUrl, getContainerClasses, getContentSpacingClasses, getFontSizeClasses, getImageAttributes, getImageUrl, getSectionSpacingClasses, getTextAlignClasses, isCloudflareImageUrl, matchesPattern, parseContentPosition, parseGutenbergBlocks, parseShortcodeAttrs, renderNodes, renderTextWithShortcodes };
2529
2580
  //# sourceMappingURL=index.esm.js.map