@wireweave/core 2.5.1 → 2.6.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -8173,6 +8173,39 @@ function generateAccessibilityStyles(prefix) {
8173
8173
  }`;
8174
8174
  }
8175
8175
 
8176
+ // src/renderer/styles/divider.ts
8177
+ function generateDividerStyles(prefix = "wf") {
8178
+ return `
8179
+ /* Divider */
8180
+ .${prefix}-divider {
8181
+ margin: 8px 0;
8182
+ border: none;
8183
+ border-top: 1px solid var(--${prefix}-border);
8184
+ flex-shrink: 0;
8185
+ }
8186
+
8187
+ /* Vertical Divider */
8188
+ .${prefix}-divider.${prefix}-divider-vertical {
8189
+ margin: 0 8px;
8190
+ border-top: none;
8191
+ border-left: 1px solid var(--${prefix}-border);
8192
+ align-self: stretch;
8193
+ width: 0;
8194
+ height: auto;
8195
+ }
8196
+
8197
+ /* Auto vertical in row context */
8198
+ .${prefix}-row > .${prefix}-divider {
8199
+ margin: 0 8px;
8200
+ border-top: none;
8201
+ border-left: 1px solid var(--${prefix}-border);
8202
+ align-self: stretch;
8203
+ width: 0;
8204
+ height: auto;
8205
+ }
8206
+ `.trim();
8207
+ }
8208
+
8176
8209
  // src/renderer/styles/annotation.ts
8177
8210
  function generateAnnotationStyles(_theme, prefix) {
8178
8211
  return `/* Annotation Components */
@@ -8287,6 +8320,7 @@ function generateComponentStyles(_theme, prefix = "wf") {
8287
8320
  generateNavigationStyles(_theme, prefix),
8288
8321
  generateSemanticMarkerStyles(_theme, prefix),
8289
8322
  generateAccessibilityStyles(prefix),
8323
+ generateDividerStyles(prefix),
8290
8324
  generateAnnotationStyles(_theme, prefix)
8291
8325
  ];
8292
8326
  return parts.join("\n\n");
@@ -8563,7 +8597,10 @@ function generateSizeClasses(prefix) {
8563
8597
  /* Background Utilities */
8564
8598
  .${prefix}-bg-muted { background-color: var(--${prefix}-muted); background: rgba(0, 0, 0, 0.05); }
8565
8599
  .${prefix}-bg-primary { background-color: var(--${prefix}-primary); }
8566
- .${prefix}-bg-secondary { background-color: var(--${prefix}-secondary); }`;
8600
+ .${prefix}-bg-secondary { background-color: var(--${prefix}-secondary); }
8601
+
8602
+ /* Border Utilities */
8603
+ .${prefix}-border { border: 1px solid var(--${prefix}-border); }`;
8567
8604
  }
8568
8605
  function generateLayoutClasses(prefix) {
8569
8606
  return `/* Layout Components */
@@ -56370,7 +56407,8 @@ ${items}
56370
56407
  function renderDivider(node, ctx) {
56371
56408
  const styles = ctx.buildCommonStyles(node);
56372
56409
  const styleAttr = styles ? ` style="${styles}"` : "";
56373
- return `<hr class="${ctx.prefix}-divider"${styleAttr} />`;
56410
+ const verticalClass = node.vertical ? ` ${ctx.prefix}-divider-vertical` : "";
56411
+ return `<hr class="${ctx.prefix}-divider${verticalClass}"${styleAttr} />`;
56374
56412
  }
56375
56413
 
56376
56414
  // src/renderer/html/renderers/annotation.ts
@@ -56706,6 +56744,7 @@ ${title}${children}
56706
56744
  if (props.bg === "muted") classes.push(`${p}-bg-muted`);
56707
56745
  if (props.bg === "primary") classes.push(`${p}-bg-primary`);
56708
56746
  if (props.bg === "secondary") classes.push(`${p}-bg-secondary`);
56747
+ if (props.border === true) classes.push(`${p}-border`);
56709
56748
  return classes;
56710
56749
  }
56711
56750
  // ===========================================
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as AnyNode, a as AccordionNode, b as AlertNode, c as AvatarNode, B as BadgeNode, d as BreadcrumbNode, e as ButtonNode, C as CardNode, f as CheckboxNode, g as ColNode, h as ContainerComponentNode, i as ContainerNode, D as DataNode, j as DisplayNode, k as DividerComponentNode, l as DrawerNode, m as DropdownNode, F as FeedbackNode, n as FooterNode, G as GridNode, H as HeaderNode, I as IconNode, o as ImageNode, p as InputComponentNode, q as InputNode, L as LayoutNode, r as LeafNode, s as LinkNode, t as ListNode, M as MainNode, u as ModalNode, N as NavNode, v as NavigationNode, w as NodeType, O as OverlayNode, P as PageNode, x as PlaceholderNode, y as PopoverNode, z as ProgressNode, R as RadioNode, E as RowNode, S as SectionNode, J as SelectNode, K as SidebarNode, Q as SliderNode, T as SpinnerNode, U as SwitchNode, V as TableNode, W as TabsNode, X as TextContentNode, Y as TextNode, Z as TextareaNode, _ as TitleNode, $ as ToastNode, a0 as TooltipNode, a1 as WireframeDocument } from './types-EbEsGNxL.cjs';
2
- export { a2 as AlertVariant, a3 as AlignValue, a4 as AnchorPosition, a5 as AnnotationItemNode, a6 as AnnotationNode, a7 as AnnotationsNode, a8 as AppearanceProps, a9 as AvatarSize, aa as AvatarSizeToken, ab as BadgeSize, ac as BadgeSizeToken, ad as BadgeVariant, ae as BaseNode, af as BreadcrumbItem, ag as ButtonSize, ah as ButtonSizeToken, ai as ButtonVariant, aj as CommonProps, ak as DirectionValue, al as DividerNode, am as DrawerPosition, an as DropdownItemNode, ao as FlexProps, ap as GridProps, aq as HeightValue, ar as IconSize, as as IconSizeToken, at as InputType, au as InteractiveProps, av as JustifyValue, aw as ListItemNode, ax as MarkerColor, ay as MarkerNode, az as NavBlockItem, aA as NavChild, aB as NavDivider, aC as NavGroupNode, aD as NavItem, aE as Position, aF as PositionProps, aG as RelativeNode, aH as SelectOption, aI as ShadowValue, aJ as SizeProps, aK as SourceLocation, aL as SpacingProps, aM as SpacingValue, aN as SpinnerSize, aO as SpinnerSizeToken, aP as StackNode, aQ as TabNode, aR as TextAlign, aS as TextSize, aT as TextSizeToken, aU as TextWeight, aV as TitleLevel, aW as ToastPosition, aX as TooltipPosition, aY as ValueWithUnit, aZ as WidthValue } from './types-EbEsGNxL.cjs';
1
+ import { A as AnyNode, a as AccordionNode, b as AlertNode, c as AvatarNode, B as BadgeNode, d as BreadcrumbNode, e as ButtonNode, C as CardNode, f as CheckboxNode, g as ColNode, h as ContainerComponentNode, i as ContainerNode, D as DataNode, j as DisplayNode, k as DividerComponentNode, l as DrawerNode, m as DropdownNode, F as FeedbackNode, n as FooterNode, G as GridNode, H as HeaderNode, I as IconNode, o as ImageNode, p as InputComponentNode, q as InputNode, L as LayoutNode, r as LeafNode, s as LinkNode, t as ListNode, M as MainNode, u as ModalNode, N as NavNode, v as NavigationNode, w as NodeType, O as OverlayNode, P as PageNode, x as PlaceholderNode, y as PopoverNode, z as ProgressNode, R as RadioNode, E as RowNode, S as SectionNode, J as SelectNode, K as SidebarNode, Q as SliderNode, T as SpinnerNode, U as SwitchNode, V as TableNode, W as TabsNode, X as TextContentNode, Y as TextNode, Z as TextareaNode, _ as TitleNode, $ as ToastNode, a0 as TooltipNode, a1 as WireframeDocument } from './types-CQDDIeyC.cjs';
2
+ export { a2 as AlertVariant, a3 as AlignValue, a4 as AnchorPosition, a5 as AnnotationItemNode, a6 as AnnotationNode, a7 as AnnotationsNode, a8 as AppearanceProps, a9 as AvatarSize, aa as AvatarSizeToken, ab as BadgeSize, ac as BadgeSizeToken, ad as BadgeVariant, ae as BaseNode, af as BreadcrumbItem, ag as ButtonSize, ah as ButtonSizeToken, ai as ButtonVariant, aj as CommonProps, ak as DirectionValue, al as DividerNode, am as DrawerPosition, an as DropdownItemNode, ao as FlexProps, ap as GridProps, aq as HeightValue, ar as IconSize, as as IconSizeToken, at as InputType, au as InteractiveProps, av as JustifyValue, aw as ListItemNode, ax as MarkerColor, ay as MarkerNode, az as NavBlockItem, aA as NavChild, aB as NavDivider, aC as NavGroupNode, aD as NavItem, aE as Position, aF as PositionProps, aG as RelativeNode, aH as SelectOption, aI as ShadowValue, aJ as SizeProps, aK as SourceLocation, aL as SpacingProps, aM as SpacingValue, aN as SpinnerSize, aO as SpinnerSizeToken, aP as StackNode, aQ as TabNode, aR as TextAlign, aS as TextSize, aT as TextSizeToken, aU as TextWeight, aV as TitleLevel, aW as ToastPosition, aX as TooltipPosition, aY as ValueWithUnit, aZ as WidthValue } from './types-CQDDIeyC.cjs';
3
3
  export { ExpectedToken, ParseError, ParseErrorInfo, ParseOptions, ParseResult, getErrors, isValid, parse, tryParse } from './parser.cjs';
4
4
  export { HtmlRenderer, IconData, IconElement, RenderContext, RenderOptions, RenderResult, SvgRenderOptions, SvgRenderResult, ThemeColors, ThemeConfig, createHtmlRenderer, darkTheme, defaultTheme, generateComponentStyles, generateStyles, getIconData, getTheme, lucideIcons, render, renderIconSvg, renderToHtml, renderToSvg } from './renderer.cjs';
5
5
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as AnyNode, a as AccordionNode, b as AlertNode, c as AvatarNode, B as BadgeNode, d as BreadcrumbNode, e as ButtonNode, C as CardNode, f as CheckboxNode, g as ColNode, h as ContainerComponentNode, i as ContainerNode, D as DataNode, j as DisplayNode, k as DividerComponentNode, l as DrawerNode, m as DropdownNode, F as FeedbackNode, n as FooterNode, G as GridNode, H as HeaderNode, I as IconNode, o as ImageNode, p as InputComponentNode, q as InputNode, L as LayoutNode, r as LeafNode, s as LinkNode, t as ListNode, M as MainNode, u as ModalNode, N as NavNode, v as NavigationNode, w as NodeType, O as OverlayNode, P as PageNode, x as PlaceholderNode, y as PopoverNode, z as ProgressNode, R as RadioNode, E as RowNode, S as SectionNode, J as SelectNode, K as SidebarNode, Q as SliderNode, T as SpinnerNode, U as SwitchNode, V as TableNode, W as TabsNode, X as TextContentNode, Y as TextNode, Z as TextareaNode, _ as TitleNode, $ as ToastNode, a0 as TooltipNode, a1 as WireframeDocument } from './types-EbEsGNxL.js';
2
- export { a2 as AlertVariant, a3 as AlignValue, a4 as AnchorPosition, a5 as AnnotationItemNode, a6 as AnnotationNode, a7 as AnnotationsNode, a8 as AppearanceProps, a9 as AvatarSize, aa as AvatarSizeToken, ab as BadgeSize, ac as BadgeSizeToken, ad as BadgeVariant, ae as BaseNode, af as BreadcrumbItem, ag as ButtonSize, ah as ButtonSizeToken, ai as ButtonVariant, aj as CommonProps, ak as DirectionValue, al as DividerNode, am as DrawerPosition, an as DropdownItemNode, ao as FlexProps, ap as GridProps, aq as HeightValue, ar as IconSize, as as IconSizeToken, at as InputType, au as InteractiveProps, av as JustifyValue, aw as ListItemNode, ax as MarkerColor, ay as MarkerNode, az as NavBlockItem, aA as NavChild, aB as NavDivider, aC as NavGroupNode, aD as NavItem, aE as Position, aF as PositionProps, aG as RelativeNode, aH as SelectOption, aI as ShadowValue, aJ as SizeProps, aK as SourceLocation, aL as SpacingProps, aM as SpacingValue, aN as SpinnerSize, aO as SpinnerSizeToken, aP as StackNode, aQ as TabNode, aR as TextAlign, aS as TextSize, aT as TextSizeToken, aU as TextWeight, aV as TitleLevel, aW as ToastPosition, aX as TooltipPosition, aY as ValueWithUnit, aZ as WidthValue } from './types-EbEsGNxL.js';
1
+ import { A as AnyNode, a as AccordionNode, b as AlertNode, c as AvatarNode, B as BadgeNode, d as BreadcrumbNode, e as ButtonNode, C as CardNode, f as CheckboxNode, g as ColNode, h as ContainerComponentNode, i as ContainerNode, D as DataNode, j as DisplayNode, k as DividerComponentNode, l as DrawerNode, m as DropdownNode, F as FeedbackNode, n as FooterNode, G as GridNode, H as HeaderNode, I as IconNode, o as ImageNode, p as InputComponentNode, q as InputNode, L as LayoutNode, r as LeafNode, s as LinkNode, t as ListNode, M as MainNode, u as ModalNode, N as NavNode, v as NavigationNode, w as NodeType, O as OverlayNode, P as PageNode, x as PlaceholderNode, y as PopoverNode, z as ProgressNode, R as RadioNode, E as RowNode, S as SectionNode, J as SelectNode, K as SidebarNode, Q as SliderNode, T as SpinnerNode, U as SwitchNode, V as TableNode, W as TabsNode, X as TextContentNode, Y as TextNode, Z as TextareaNode, _ as TitleNode, $ as ToastNode, a0 as TooltipNode, a1 as WireframeDocument } from './types-CQDDIeyC.js';
2
+ export { a2 as AlertVariant, a3 as AlignValue, a4 as AnchorPosition, a5 as AnnotationItemNode, a6 as AnnotationNode, a7 as AnnotationsNode, a8 as AppearanceProps, a9 as AvatarSize, aa as AvatarSizeToken, ab as BadgeSize, ac as BadgeSizeToken, ad as BadgeVariant, ae as BaseNode, af as BreadcrumbItem, ag as ButtonSize, ah as ButtonSizeToken, ai as ButtonVariant, aj as CommonProps, ak as DirectionValue, al as DividerNode, am as DrawerPosition, an as DropdownItemNode, ao as FlexProps, ap as GridProps, aq as HeightValue, ar as IconSize, as as IconSizeToken, at as InputType, au as InteractiveProps, av as JustifyValue, aw as ListItemNode, ax as MarkerColor, ay as MarkerNode, az as NavBlockItem, aA as NavChild, aB as NavDivider, aC as NavGroupNode, aD as NavItem, aE as Position, aF as PositionProps, aG as RelativeNode, aH as SelectOption, aI as ShadowValue, aJ as SizeProps, aK as SourceLocation, aL as SpacingProps, aM as SpacingValue, aN as SpinnerSize, aO as SpinnerSizeToken, aP as StackNode, aQ as TabNode, aR as TextAlign, aS as TextSize, aT as TextSizeToken, aU as TextWeight, aV as TitleLevel, aW as ToastPosition, aX as TooltipPosition, aY as ValueWithUnit, aZ as WidthValue } from './types-CQDDIeyC.js';
3
3
  export { ExpectedToken, ParseError, ParseErrorInfo, ParseOptions, ParseResult, getErrors, isValid, parse, tryParse } from './parser.js';
4
4
  export { HtmlRenderer, IconData, IconElement, RenderContext, RenderOptions, RenderResult, SvgRenderOptions, SvgRenderResult, ThemeColors, ThemeConfig, createHtmlRenderer, darkTheme, defaultTheme, generateComponentStyles, generateStyles, getIconData, getTheme, lucideIcons, render, renderIconSvg, renderToHtml, renderToSvg } from './renderer.js';
5
5
 
package/dist/index.js CHANGED
@@ -8033,6 +8033,39 @@ function generateAccessibilityStyles(prefix) {
8033
8033
  }`;
8034
8034
  }
8035
8035
 
8036
+ // src/renderer/styles/divider.ts
8037
+ function generateDividerStyles(prefix = "wf") {
8038
+ return `
8039
+ /* Divider */
8040
+ .${prefix}-divider {
8041
+ margin: 8px 0;
8042
+ border: none;
8043
+ border-top: 1px solid var(--${prefix}-border);
8044
+ flex-shrink: 0;
8045
+ }
8046
+
8047
+ /* Vertical Divider */
8048
+ .${prefix}-divider.${prefix}-divider-vertical {
8049
+ margin: 0 8px;
8050
+ border-top: none;
8051
+ border-left: 1px solid var(--${prefix}-border);
8052
+ align-self: stretch;
8053
+ width: 0;
8054
+ height: auto;
8055
+ }
8056
+
8057
+ /* Auto vertical in row context */
8058
+ .${prefix}-row > .${prefix}-divider {
8059
+ margin: 0 8px;
8060
+ border-top: none;
8061
+ border-left: 1px solid var(--${prefix}-border);
8062
+ align-self: stretch;
8063
+ width: 0;
8064
+ height: auto;
8065
+ }
8066
+ `.trim();
8067
+ }
8068
+
8036
8069
  // src/renderer/styles/annotation.ts
8037
8070
  function generateAnnotationStyles(_theme, prefix) {
8038
8071
  return `/* Annotation Components */
@@ -8147,6 +8180,7 @@ function generateComponentStyles(_theme, prefix = "wf") {
8147
8180
  generateNavigationStyles(_theme, prefix),
8148
8181
  generateSemanticMarkerStyles(_theme, prefix),
8149
8182
  generateAccessibilityStyles(prefix),
8183
+ generateDividerStyles(prefix),
8150
8184
  generateAnnotationStyles(_theme, prefix)
8151
8185
  ];
8152
8186
  return parts.join("\n\n");
@@ -8423,7 +8457,10 @@ function generateSizeClasses(prefix) {
8423
8457
  /* Background Utilities */
8424
8458
  .${prefix}-bg-muted { background-color: var(--${prefix}-muted); background: rgba(0, 0, 0, 0.05); }
8425
8459
  .${prefix}-bg-primary { background-color: var(--${prefix}-primary); }
8426
- .${prefix}-bg-secondary { background-color: var(--${prefix}-secondary); }`;
8460
+ .${prefix}-bg-secondary { background-color: var(--${prefix}-secondary); }
8461
+
8462
+ /* Border Utilities */
8463
+ .${prefix}-border { border: 1px solid var(--${prefix}-border); }`;
8427
8464
  }
8428
8465
  function generateLayoutClasses(prefix) {
8429
8466
  return `/* Layout Components */
@@ -56230,7 +56267,8 @@ ${items}
56230
56267
  function renderDivider(node, ctx) {
56231
56268
  const styles = ctx.buildCommonStyles(node);
56232
56269
  const styleAttr = styles ? ` style="${styles}"` : "";
56233
- return `<hr class="${ctx.prefix}-divider"${styleAttr} />`;
56270
+ const verticalClass = node.vertical ? ` ${ctx.prefix}-divider-vertical` : "";
56271
+ return `<hr class="${ctx.prefix}-divider${verticalClass}"${styleAttr} />`;
56234
56272
  }
56235
56273
 
56236
56274
  // src/renderer/html/renderers/annotation.ts
@@ -56566,6 +56604,7 @@ ${title}${children}
56566
56604
  if (props.bg === "muted") classes.push(`${p}-bg-muted`);
56567
56605
  if (props.bg === "primary") classes.push(`${p}-bg-primary`);
56568
56606
  if (props.bg === "secondary") classes.push(`${p}-bg-secondary`);
56607
+ if (props.border === true) classes.push(`${p}-border`);
56569
56608
  return classes;
56570
56609
  }
56571
56610
  // ===========================================
package/dist/parser.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { aK as SourceLocation, a1 as WireframeDocument } from './types-EbEsGNxL.cjs';
1
+ import { aK as SourceLocation, a1 as WireframeDocument } from './types-CQDDIeyC.cjs';
2
2
 
3
3
  /**
4
4
  * Parser module for wireweave
package/dist/parser.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { aK as SourceLocation, a1 as WireframeDocument } from './types-EbEsGNxL.js';
1
+ import { aK as SourceLocation, a1 as WireframeDocument } from './types-CQDDIeyC.js';
2
2
 
3
3
  /**
4
4
  * Parser module for wireweave
package/dist/renderer.cjs CHANGED
@@ -1322,6 +1322,39 @@ function generateAccessibilityStyles(prefix) {
1322
1322
  }`;
1323
1323
  }
1324
1324
 
1325
+ // src/renderer/styles/divider.ts
1326
+ function generateDividerStyles(prefix = "wf") {
1327
+ return `
1328
+ /* Divider */
1329
+ .${prefix}-divider {
1330
+ margin: 8px 0;
1331
+ border: none;
1332
+ border-top: 1px solid var(--${prefix}-border);
1333
+ flex-shrink: 0;
1334
+ }
1335
+
1336
+ /* Vertical Divider */
1337
+ .${prefix}-divider.${prefix}-divider-vertical {
1338
+ margin: 0 8px;
1339
+ border-top: none;
1340
+ border-left: 1px solid var(--${prefix}-border);
1341
+ align-self: stretch;
1342
+ width: 0;
1343
+ height: auto;
1344
+ }
1345
+
1346
+ /* Auto vertical in row context */
1347
+ .${prefix}-row > .${prefix}-divider {
1348
+ margin: 0 8px;
1349
+ border-top: none;
1350
+ border-left: 1px solid var(--${prefix}-border);
1351
+ align-self: stretch;
1352
+ width: 0;
1353
+ height: auto;
1354
+ }
1355
+ `.trim();
1356
+ }
1357
+
1325
1358
  // src/renderer/styles/annotation.ts
1326
1359
  function generateAnnotationStyles(_theme, prefix) {
1327
1360
  return `/* Annotation Components */
@@ -1436,6 +1469,7 @@ function generateComponentStyles(_theme, prefix = "wf") {
1436
1469
  generateNavigationStyles(_theme, prefix),
1437
1470
  generateSemanticMarkerStyles(_theme, prefix),
1438
1471
  generateAccessibilityStyles(prefix),
1472
+ generateDividerStyles(prefix),
1439
1473
  generateAnnotationStyles(_theme, prefix)
1440
1474
  ];
1441
1475
  return parts.join("\n\n");
@@ -1712,7 +1746,10 @@ function generateSizeClasses(prefix) {
1712
1746
  /* Background Utilities */
1713
1747
  .${prefix}-bg-muted { background-color: var(--${prefix}-muted); background: rgba(0, 0, 0, 0.05); }
1714
1748
  .${prefix}-bg-primary { background-color: var(--${prefix}-primary); }
1715
- .${prefix}-bg-secondary { background-color: var(--${prefix}-secondary); }`;
1749
+ .${prefix}-bg-secondary { background-color: var(--${prefix}-secondary); }
1750
+
1751
+ /* Border Utilities */
1752
+ .${prefix}-border { border: 1px solid var(--${prefix}-border); }`;
1716
1753
  }
1717
1754
  function generateLayoutClasses(prefix) {
1718
1755
  return `/* Layout Components */
@@ -49490,7 +49527,8 @@ ${items}
49490
49527
  function renderDivider(node, ctx) {
49491
49528
  const styles = ctx.buildCommonStyles(node);
49492
49529
  const styleAttr = styles ? ` style="${styles}"` : "";
49493
- return `<hr class="${ctx.prefix}-divider"${styleAttr} />`;
49530
+ const verticalClass = node.vertical ? ` ${ctx.prefix}-divider-vertical` : "";
49531
+ return `<hr class="${ctx.prefix}-divider${verticalClass}"${styleAttr} />`;
49494
49532
  }
49495
49533
 
49496
49534
  // src/renderer/html/renderers/annotation.ts
@@ -49826,6 +49864,7 @@ ${title}${children}
49826
49864
  if (props.bg === "muted") classes.push(`${p}-bg-muted`);
49827
49865
  if (props.bg === "primary") classes.push(`${p}-bg-primary`);
49828
49866
  if (props.bg === "secondary") classes.push(`${p}-bg-secondary`);
49867
+ if (props.border === true) classes.push(`${p}-border`);
49829
49868
  return classes;
49830
49869
  }
49831
49870
  // ===========================================
@@ -1,4 +1,4 @@
1
- import { a1 as WireframeDocument, A as AnyNode, P as PageNode } from './types-EbEsGNxL.cjs';
1
+ import { a1 as WireframeDocument, A as AnyNode, P as PageNode } from './types-CQDDIeyC.cjs';
2
2
 
3
3
  /**
4
4
  * Renderer type definitions for wireweave
@@ -1,4 +1,4 @@
1
- import { a1 as WireframeDocument, A as AnyNode, P as PageNode } from './types-EbEsGNxL.js';
1
+ import { a1 as WireframeDocument, A as AnyNode, P as PageNode } from './types-CQDDIeyC.js';
2
2
 
3
3
  /**
4
4
  * Renderer type definitions for wireweave
package/dist/renderer.js CHANGED
@@ -1284,6 +1284,39 @@ function generateAccessibilityStyles(prefix) {
1284
1284
  }`;
1285
1285
  }
1286
1286
 
1287
+ // src/renderer/styles/divider.ts
1288
+ function generateDividerStyles(prefix = "wf") {
1289
+ return `
1290
+ /* Divider */
1291
+ .${prefix}-divider {
1292
+ margin: 8px 0;
1293
+ border: none;
1294
+ border-top: 1px solid var(--${prefix}-border);
1295
+ flex-shrink: 0;
1296
+ }
1297
+
1298
+ /* Vertical Divider */
1299
+ .${prefix}-divider.${prefix}-divider-vertical {
1300
+ margin: 0 8px;
1301
+ border-top: none;
1302
+ border-left: 1px solid var(--${prefix}-border);
1303
+ align-self: stretch;
1304
+ width: 0;
1305
+ height: auto;
1306
+ }
1307
+
1308
+ /* Auto vertical in row context */
1309
+ .${prefix}-row > .${prefix}-divider {
1310
+ margin: 0 8px;
1311
+ border-top: none;
1312
+ border-left: 1px solid var(--${prefix}-border);
1313
+ align-self: stretch;
1314
+ width: 0;
1315
+ height: auto;
1316
+ }
1317
+ `.trim();
1318
+ }
1319
+
1287
1320
  // src/renderer/styles/annotation.ts
1288
1321
  function generateAnnotationStyles(_theme, prefix) {
1289
1322
  return `/* Annotation Components */
@@ -1398,6 +1431,7 @@ function generateComponentStyles(_theme, prefix = "wf") {
1398
1431
  generateNavigationStyles(_theme, prefix),
1399
1432
  generateSemanticMarkerStyles(_theme, prefix),
1400
1433
  generateAccessibilityStyles(prefix),
1434
+ generateDividerStyles(prefix),
1401
1435
  generateAnnotationStyles(_theme, prefix)
1402
1436
  ];
1403
1437
  return parts.join("\n\n");
@@ -1674,7 +1708,10 @@ function generateSizeClasses(prefix) {
1674
1708
  /* Background Utilities */
1675
1709
  .${prefix}-bg-muted { background-color: var(--${prefix}-muted); background: rgba(0, 0, 0, 0.05); }
1676
1710
  .${prefix}-bg-primary { background-color: var(--${prefix}-primary); }
1677
- .${prefix}-bg-secondary { background-color: var(--${prefix}-secondary); }`;
1711
+ .${prefix}-bg-secondary { background-color: var(--${prefix}-secondary); }
1712
+
1713
+ /* Border Utilities */
1714
+ .${prefix}-border { border: 1px solid var(--${prefix}-border); }`;
1678
1715
  }
1679
1716
  function generateLayoutClasses(prefix) {
1680
1717
  return `/* Layout Components */
@@ -49452,7 +49489,8 @@ ${items}
49452
49489
  function renderDivider(node, ctx) {
49453
49490
  const styles = ctx.buildCommonStyles(node);
49454
49491
  const styleAttr = styles ? ` style="${styles}"` : "";
49455
- return `<hr class="${ctx.prefix}-divider"${styleAttr} />`;
49492
+ const verticalClass = node.vertical ? ` ${ctx.prefix}-divider-vertical` : "";
49493
+ return `<hr class="${ctx.prefix}-divider${verticalClass}"${styleAttr} />`;
49456
49494
  }
49457
49495
 
49458
49496
  // src/renderer/html/renderers/annotation.ts
@@ -49788,6 +49826,7 @@ ${title}${children}
49788
49826
  if (props.bg === "muted") classes.push(`${p}-bg-muted`);
49789
49827
  if (props.bg === "primary") classes.push(`${p}-bg-primary`);
49790
49828
  if (props.bg === "secondary") classes.push(`${p}-bg-secondary`);
49829
+ if (props.border === true) classes.push(`${p}-border`);
49791
49830
  return classes;
49792
49831
  }
49793
49832
  // ===========================================
@@ -505,6 +505,7 @@ interface BreadcrumbNode extends BaseNode, CommonProps {
505
505
  }
506
506
  interface DividerComponentNode extends BaseNode, CommonProps {
507
507
  type: 'Divider';
508
+ vertical?: boolean;
508
509
  }
509
510
  type MarkerColor = 'blue' | 'red' | 'green' | 'yellow' | 'purple' | 'orange';
510
511
  /**
@@ -505,6 +505,7 @@ interface BreadcrumbNode extends BaseNode, CommonProps {
505
505
  }
506
506
  interface DividerComponentNode extends BaseNode, CommonProps {
507
507
  type: 'Divider';
508
+ vertical?: boolean;
508
509
  }
509
510
  type MarkerColor = 'blue' | 'red' | 'green' | 'yellow' | 'purple' | 'orange';
510
511
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wireweave/core",
3
- "version": "2.5.1",
3
+ "version": "2.6.0-beta.0",
4
4
  "description": "Core parser and renderer for wireweave",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",