@bettercms-ai/ui 0.11.0 → 0.13.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/{Video-Cy-JnoBB.d.ts → Video-c2HnnOCp.d.ts} +4 -2
- package/dist/blocks.d.ts +1 -1
- package/dist/blocks.js +8 -2
- package/dist/blocks.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +20 -5
- package/dist/index.js.map +1 -1
- package/dist/registry.js +8 -2
- package/dist/registry.js.map +1 -1
- package/dist/renderer.js +20 -5
- package/dist/renderer.js.map +1 -1
- package/dist/resolve.js +2 -1
- package/dist/resolve.js.map +1 -1
- package/package.json +4 -3
package/dist/renderer.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
+
// src/renderer.tsx
|
|
4
|
+
import { splitButtonStyle } from "@bettercms-ai/types";
|
|
5
|
+
|
|
3
6
|
// src/blocks/Heading.tsx
|
|
4
7
|
import { jsx } from "react/jsx-runtime";
|
|
5
8
|
function Heading({
|
|
@@ -555,7 +558,8 @@ function Image({
|
|
|
555
558
|
"data-bcms-field": field,
|
|
556
559
|
"data-bcms-kind": kind
|
|
557
560
|
}) {
|
|
558
|
-
|
|
561
|
+
const sized = typeof width === "number" && width > 0;
|
|
562
|
+
return /* @__PURE__ */ jsxs2("figure", { className: cn(sized ? "max-w-full" : "w-full", className), children: [
|
|
559
563
|
/* @__PURE__ */ jsx4(
|
|
560
564
|
"img",
|
|
561
565
|
{
|
|
@@ -566,7 +570,8 @@ function Image({
|
|
|
566
570
|
sizes,
|
|
567
571
|
"data-bcms-field": field,
|
|
568
572
|
"data-bcms-kind": kind,
|
|
569
|
-
|
|
573
|
+
style: sized ? { width: `${width}px`, maxWidth: "100%", height: "auto" } : void 0,
|
|
574
|
+
className: cn(!sized && "w-full", "h-auto rounded-md object-cover"),
|
|
570
575
|
loading: "lazy"
|
|
571
576
|
}
|
|
572
577
|
),
|
|
@@ -585,8 +590,10 @@ function Button({
|
|
|
585
590
|
fullWidth = false,
|
|
586
591
|
arrow = false,
|
|
587
592
|
icon: iconProp,
|
|
593
|
+
newTab = false,
|
|
588
594
|
align = "left",
|
|
589
595
|
className = "",
|
|
596
|
+
style,
|
|
590
597
|
"data-bcms-field": field,
|
|
591
598
|
"data-bcms-kind": kind
|
|
592
599
|
}) {
|
|
@@ -618,8 +625,10 @@ function Button({
|
|
|
618
625
|
"a",
|
|
619
626
|
{
|
|
620
627
|
href,
|
|
628
|
+
...newTab === true ? { target: "_blank", rel: "noopener noreferrer" } : {},
|
|
621
629
|
"data-bcms-field": field,
|
|
622
630
|
"data-bcms-kind": kind,
|
|
631
|
+
style,
|
|
623
632
|
className: cn(baseStyles, variantStyles[buttonVariantOf(variant)], alignClass, sizeClass, fullClass, className),
|
|
624
633
|
children: [
|
|
625
634
|
icon && /* @__PURE__ */ jsx5("span", { className: "mr-2 inline-flex", dangerouslySetInnerHTML: { __html: buttonIconSvg(icon, "bcms-btn-icon") } }),
|
|
@@ -961,6 +970,11 @@ function blockStyleToReactStyle(style) {
|
|
|
961
970
|
import "react";
|
|
962
971
|
import { jsx as jsx15, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
963
972
|
var CONTAINER_TYPES = /* @__PURE__ */ new Set(["columns", "section", "slider", "tabs"]);
|
|
973
|
+
function styleOf(block) {
|
|
974
|
+
if (block.type !== "button") return { wrapper: blockStyleToReactStyle(block.style), paint: {} };
|
|
975
|
+
const { placement, paint } = splitButtonStyle(block.style);
|
|
976
|
+
return { wrapper: blockStyleToReactStyle(placement), paint: paint ? { style: paint } : {} };
|
|
977
|
+
}
|
|
964
978
|
function bindingProps(block, annotate) {
|
|
965
979
|
if (!annotate || !block.id) return {};
|
|
966
980
|
switch (block.type) {
|
|
@@ -991,8 +1005,8 @@ function resolveBlock(block, className, annotate = false) {
|
|
|
991
1005
|
);
|
|
992
1006
|
}
|
|
993
1007
|
const Component = entry.component;
|
|
994
|
-
const blockStyle =
|
|
995
|
-
const el = /* @__PURE__ */ jsx15(Component, { ...block.props, className, ...bindingProps(block, annotate) });
|
|
1008
|
+
const { wrapper: blockStyle, paint } = styleOf(block);
|
|
1009
|
+
const el = /* @__PURE__ */ jsx15(Component, { ...block.props, ...paint, className, ...bindingProps(block, annotate) });
|
|
996
1010
|
return blockStyle ? /* @__PURE__ */ jsx15("div", { style: blockStyle, children: el }) : el;
|
|
997
1011
|
}
|
|
998
1012
|
function BlockRenderer({
|
|
@@ -1016,11 +1030,12 @@ function BlockRenderer({
|
|
|
1016
1030
|
}
|
|
1017
1031
|
const Component = entry.component;
|
|
1018
1032
|
const containerProps = CONTAINER_TYPES.has(block.type) ? { renderBlock: renderBlock ?? ((child) => resolveBlock(child, void 0, annotate)) } : {};
|
|
1019
|
-
const blockStyle =
|
|
1033
|
+
const { wrapper: blockStyle, paint } = styleOf(block);
|
|
1020
1034
|
const el = /* @__PURE__ */ jsx15(
|
|
1021
1035
|
Component,
|
|
1022
1036
|
{
|
|
1023
1037
|
...block.props,
|
|
1038
|
+
...paint,
|
|
1024
1039
|
className,
|
|
1025
1040
|
...containerProps,
|
|
1026
1041
|
...bindingProps(block, annotate)
|