@chaibuilder/sdk 2.0.0-beta.81 → 2.0.0-beta.82

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 (41) hide show
  1. package/dist/ChaiThemeFn-DcE5RdLQ.cjs +236 -0
  2. package/dist/ChaiThemeFn-DzirXKjI.js +237 -0
  3. package/dist/CodeEditor-C8_JzwHn.cjs +81 -0
  4. package/dist/CodeEditor-DdIk_PEV.js +81 -0
  5. package/dist/Topbar-62QmCKWL.cjs +18 -0
  6. package/dist/Topbar-Cqt0j3Yt.js +18 -0
  7. package/dist/context-menu-DHla8ofZ.js +893 -0
  8. package/dist/context-menu-DawHUIXd.cjs +923 -0
  9. package/dist/core.cjs +11709 -5
  10. package/dist/core.js +6845 -3957
  11. package/dist/getSplitClasses-BuALfSLX.js +54 -0
  12. package/dist/getSplitClasses-mbQmvwI3.cjs +53 -0
  13. package/dist/iconBase-BSrIcOaG.cjs +146 -0
  14. package/dist/iconBase-CWgVxu0A.js +147 -0
  15. package/dist/plugin-BcTnEZwx.cjs +26 -0
  16. package/dist/plugin-DGEKY3uC.js +27 -0
  17. package/dist/render.cjs +247 -2
  18. package/dist/render.js +205 -150
  19. package/dist/runtime.cjs +9 -1
  20. package/dist/sdk.css +1336 -1
  21. package/dist/tailwind.cjs +78 -1
  22. package/dist/tailwind.js +21 -19
  23. package/dist/ui.cjs +378 -1
  24. package/dist/ui.js +254 -244
  25. package/dist/web-blocks.cjs +1679 -2
  26. package/dist/web-blocks.js +747 -518
  27. package/package.json +1 -1
  28. package/dist/ChaiThemeFn-Cort9tch.js +0 -201
  29. package/dist/ChaiThemeFn-DQu-2Eh9.cjs +0 -13
  30. package/dist/CodeEditor-B2x4yruH.cjs +0 -1
  31. package/dist/CodeEditor-VcQsGvTM.js +0 -65
  32. package/dist/Topbar-BQsjWb-A.js +0 -16
  33. package/dist/Topbar-DEw_kBMz.cjs +0 -1
  34. package/dist/context-menu-C4lLV8gP.cjs +0 -1
  35. package/dist/context-menu-D5ViOi6K.js +0 -831
  36. package/dist/getSplitClasses-DodqA_KW.cjs +0 -1
  37. package/dist/getSplitClasses-DphwgQiE.js +0 -48
  38. package/dist/iconBase-Cn2BsTrq.cjs +0 -1
  39. package/dist/iconBase-DHfFLkem.js +0 -124
  40. package/dist/plugin-2xcljWGM.cjs +0 -1
  41. package/dist/plugin-kUMxtQR5.js +0 -24
@@ -0,0 +1,54 @@
1
+ const STYLES_KEY = "#styles:";
2
+ const ROOT_TEMP_KEY = "__ADD_BLOCK_INTERNAL_ROOT";
3
+ const getSplitChaiClasses = (classesString) => {
4
+ classesString = classesString.replace(STYLES_KEY, "");
5
+ if (!classesString) return { baseClasses: "", classes: "" };
6
+ const parts = classesString.split(/,(?![^\[]*\])/);
7
+ if (parts.length === 1) {
8
+ return { baseClasses: "", classes: parts[0].trim() };
9
+ }
10
+ const [baseClasses, ...rest] = parts;
11
+ return {
12
+ baseClasses: baseClasses.trim(),
13
+ classes: rest.join(",").trim().replace(/ +(?= )/g, "")
14
+ };
15
+ };
16
+ if (import.meta.vitest) {
17
+ describe("getSplitChaiClasses", () => {
18
+ it("should return the base classes and the classes", () => {
19
+ const classesMap = {
20
+ [`,styles-2`]: { baseClasses: "", classes: "styles-2" },
21
+ [`styles-1,styles-2`]: { baseClasses: "styles-1", classes: "styles-2" },
22
+ [`,bg-[linear-gradient(-10deg,black,transparent_100%)]`]: {
23
+ baseClasses: "",
24
+ classes: "bg-[linear-gradient(-10deg,black,transparent_100%)]"
25
+ },
26
+ [`styles-1,bg-[linear-gradient(-10deg,black,transparent_100%)]`]: {
27
+ baseClasses: "styles-1",
28
+ classes: "bg-[linear-gradient(-10deg,black,transparent_100%)]"
29
+ },
30
+ ["someclass"]: {
31
+ baseClasses: "",
32
+ classes: "someclass"
33
+ },
34
+ [",bg-red-500 text-center font-bold"]: {
35
+ baseClasses: "",
36
+ classes: "bg-red-500 text-center font-bold"
37
+ },
38
+ ["bg-[linear-gradient(-10deg,black,transparent_100%)], bg-[linear-gradient(-10deg,black,transparent_100%)]"]: {
39
+ baseClasses: "bg-[linear-gradient(-10deg,black,transparent_100%)]",
40
+ classes: "bg-[linear-gradient(-10deg,black,transparent_100%)]"
41
+ }
42
+ };
43
+ for (let key in classesMap) {
44
+ const result = getSplitChaiClasses(`${STYLES_KEY}${key}`);
45
+ expect(result).toEqual(classesMap[key]);
46
+ }
47
+ });
48
+ });
49
+ }
50
+ export {
51
+ ROOT_TEMP_KEY as R,
52
+ STYLES_KEY as S,
53
+ getSplitChaiClasses as g
54
+ };
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ const STYLES_KEY = "#styles:";
3
+ const ROOT_TEMP_KEY = "__ADD_BLOCK_INTERNAL_ROOT";
4
+ const getSplitChaiClasses = (classesString) => {
5
+ classesString = classesString.replace(STYLES_KEY, "");
6
+ if (!classesString) return { baseClasses: "", classes: "" };
7
+ const parts = classesString.split(/,(?![^\[]*\])/);
8
+ if (parts.length === 1) {
9
+ return { baseClasses: "", classes: parts[0].trim() };
10
+ }
11
+ const [baseClasses, ...rest] = parts;
12
+ return {
13
+ baseClasses: baseClasses.trim(),
14
+ classes: rest.join(",").trim().replace(/ +(?= )/g, "")
15
+ };
16
+ };
17
+ if (void 0) {
18
+ describe("getSplitChaiClasses", () => {
19
+ it("should return the base classes and the classes", () => {
20
+ const classesMap = {
21
+ [`,styles-2`]: { baseClasses: "", classes: "styles-2" },
22
+ [`styles-1,styles-2`]: { baseClasses: "styles-1", classes: "styles-2" },
23
+ [`,bg-[linear-gradient(-10deg,black,transparent_100%)]`]: {
24
+ baseClasses: "",
25
+ classes: "bg-[linear-gradient(-10deg,black,transparent_100%)]"
26
+ },
27
+ [`styles-1,bg-[linear-gradient(-10deg,black,transparent_100%)]`]: {
28
+ baseClasses: "styles-1",
29
+ classes: "bg-[linear-gradient(-10deg,black,transparent_100%)]"
30
+ },
31
+ ["someclass"]: {
32
+ baseClasses: "",
33
+ classes: "someclass"
34
+ },
35
+ [",bg-red-500 text-center font-bold"]: {
36
+ baseClasses: "",
37
+ classes: "bg-red-500 text-center font-bold"
38
+ },
39
+ ["bg-[linear-gradient(-10deg,black,transparent_100%)], bg-[linear-gradient(-10deg,black,transparent_100%)]"]: {
40
+ baseClasses: "bg-[linear-gradient(-10deg,black,transparent_100%)]",
41
+ classes: "bg-[linear-gradient(-10deg,black,transparent_100%)]"
42
+ }
43
+ };
44
+ for (let key in classesMap) {
45
+ const result = getSplitChaiClasses(`${STYLES_KEY}${key}`);
46
+ expect(result).toEqual(classesMap[key]);
47
+ }
48
+ });
49
+ });
50
+ }
51
+ exports.ROOT_TEMP_KEY = ROOT_TEMP_KEY;
52
+ exports.STYLES_KEY = STYLES_KEY;
53
+ exports.getSplitChaiClasses = getSplitChaiClasses;
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ require("lodash-es");
3
+ const clsx = require("clsx");
4
+ const tailwindMerge = require("tailwind-merge");
5
+ const React = require("react");
6
+ function generateUUID(length = 6, chars = "abcdefghijklmnopqrstuvwxyzABCD") {
7
+ let result = "";
8
+ for (let i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)];
9
+ return result;
10
+ }
11
+ const getBreakpointValue = (width) => width >= 1536 ? "2XL" : width >= 1280 ? "XL" : width >= 1024 ? "LG" : width >= 768 ? "MD" : width >= 640 ? "SM" : "XS";
12
+ const cn = (...inputs) => tailwindMerge.twMerge(clsx.clsx(inputs));
13
+ var DefaultContext = {
14
+ color: void 0,
15
+ size: void 0,
16
+ className: void 0,
17
+ style: void 0,
18
+ attr: void 0
19
+ };
20
+ var IconContext = React.createContext && /* @__PURE__ */ React.createContext(DefaultContext);
21
+ var _excluded = ["attr", "size", "title"];
22
+ function _objectWithoutProperties(source, excluded) {
23
+ if (source == null) return {};
24
+ var target = _objectWithoutPropertiesLoose(source, excluded);
25
+ var key, i;
26
+ if (Object.getOwnPropertySymbols) {
27
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
28
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
29
+ key = sourceSymbolKeys[i];
30
+ if (excluded.indexOf(key) >= 0) continue;
31
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
32
+ target[key] = source[key];
33
+ }
34
+ }
35
+ return target;
36
+ }
37
+ function _objectWithoutPropertiesLoose(source, excluded) {
38
+ if (source == null) return {};
39
+ var target = {};
40
+ for (var key in source) {
41
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
42
+ if (excluded.indexOf(key) >= 0) continue;
43
+ target[key] = source[key];
44
+ }
45
+ }
46
+ return target;
47
+ }
48
+ function _extends() {
49
+ _extends = Object.assign ? Object.assign.bind() : function(target) {
50
+ for (var i = 1; i < arguments.length; i++) {
51
+ var source = arguments[i];
52
+ for (var key in source) {
53
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
54
+ target[key] = source[key];
55
+ }
56
+ }
57
+ }
58
+ return target;
59
+ };
60
+ return _extends.apply(this, arguments);
61
+ }
62
+ function ownKeys(e, r) {
63
+ var t = Object.keys(e);
64
+ if (Object.getOwnPropertySymbols) {
65
+ var o = Object.getOwnPropertySymbols(e);
66
+ r && (o = o.filter(function(r2) {
67
+ return Object.getOwnPropertyDescriptor(e, r2).enumerable;
68
+ })), t.push.apply(t, o);
69
+ }
70
+ return t;
71
+ }
72
+ function _objectSpread(e) {
73
+ for (var r = 1; r < arguments.length; r++) {
74
+ var t = null != arguments[r] ? arguments[r] : {};
75
+ r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
76
+ _defineProperty(e, r2, t[r2]);
77
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
78
+ Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
79
+ });
80
+ }
81
+ return e;
82
+ }
83
+ function _defineProperty(obj, key, value) {
84
+ key = _toPropertyKey(key);
85
+ if (key in obj) {
86
+ Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
87
+ } else {
88
+ obj[key] = value;
89
+ }
90
+ return obj;
91
+ }
92
+ function _toPropertyKey(t) {
93
+ var i = _toPrimitive(t, "string");
94
+ return "symbol" == typeof i ? i : i + "";
95
+ }
96
+ function _toPrimitive(t, r) {
97
+ if ("object" != typeof t || !t) return t;
98
+ var e = t[Symbol.toPrimitive];
99
+ if (void 0 !== e) {
100
+ var i = e.call(t, r || "default");
101
+ if ("object" != typeof i) return i;
102
+ throw new TypeError("@@toPrimitive must return a primitive value.");
103
+ }
104
+ return ("string" === r ? String : Number)(t);
105
+ }
106
+ function Tree2Element(tree) {
107
+ return tree && tree.map((node, i) => /* @__PURE__ */ React.createElement(node.tag, _objectSpread({
108
+ key: i
109
+ }, node.attr), Tree2Element(node.child)));
110
+ }
111
+ function GenIcon(data) {
112
+ return (props) => /* @__PURE__ */ React.createElement(IconBase, _extends({
113
+ attr: _objectSpread({}, data.attr)
114
+ }, props), Tree2Element(data.child));
115
+ }
116
+ function IconBase(props) {
117
+ var elem = (conf) => {
118
+ var {
119
+ attr,
120
+ size,
121
+ title
122
+ } = props, svgProps = _objectWithoutProperties(props, _excluded);
123
+ var computedSize = size || conf.size || "1em";
124
+ var className;
125
+ if (conf.className) className = conf.className;
126
+ if (props.className) className = (className ? className + " " : "") + props.className;
127
+ return /* @__PURE__ */ React.createElement("svg", _extends({
128
+ stroke: "currentColor",
129
+ fill: "currentColor",
130
+ strokeWidth: "0"
131
+ }, conf.attr, attr, svgProps, {
132
+ className,
133
+ style: _objectSpread(_objectSpread({
134
+ color: props.color || conf.color
135
+ }, conf.style), props.style),
136
+ height: computedSize,
137
+ width: computedSize,
138
+ xmlns: "http://www.w3.org/2000/svg"
139
+ }), title && /* @__PURE__ */ React.createElement("title", null, title), props.children);
140
+ };
141
+ return IconContext !== void 0 ? /* @__PURE__ */ React.createElement(IconContext.Consumer, null, (conf) => elem(conf)) : elem(DefaultContext);
142
+ }
143
+ exports.GenIcon = GenIcon;
144
+ exports.cn = cn;
145
+ exports.generateUUID = generateUUID;
146
+ exports.getBreakpointValue = getBreakpointValue;
@@ -0,0 +1,147 @@
1
+ import "lodash-es";
2
+ import { clsx } from "clsx";
3
+ import { twMerge } from "tailwind-merge";
4
+ import React__default from "react";
5
+ function generateUUID(length = 6, chars = "abcdefghijklmnopqrstuvwxyzABCD") {
6
+ let result = "";
7
+ for (let i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)];
8
+ return result;
9
+ }
10
+ const getBreakpointValue = (width) => width >= 1536 ? "2XL" : width >= 1280 ? "XL" : width >= 1024 ? "LG" : width >= 768 ? "MD" : width >= 640 ? "SM" : "XS";
11
+ const cn = (...inputs) => twMerge(clsx(inputs));
12
+ var DefaultContext = {
13
+ color: void 0,
14
+ size: void 0,
15
+ className: void 0,
16
+ style: void 0,
17
+ attr: void 0
18
+ };
19
+ var IconContext = React__default.createContext && /* @__PURE__ */ React__default.createContext(DefaultContext);
20
+ var _excluded = ["attr", "size", "title"];
21
+ function _objectWithoutProperties(source, excluded) {
22
+ if (source == null) return {};
23
+ var target = _objectWithoutPropertiesLoose(source, excluded);
24
+ var key, i;
25
+ if (Object.getOwnPropertySymbols) {
26
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
27
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
28
+ key = sourceSymbolKeys[i];
29
+ if (excluded.indexOf(key) >= 0) continue;
30
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
31
+ target[key] = source[key];
32
+ }
33
+ }
34
+ return target;
35
+ }
36
+ function _objectWithoutPropertiesLoose(source, excluded) {
37
+ if (source == null) return {};
38
+ var target = {};
39
+ for (var key in source) {
40
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
41
+ if (excluded.indexOf(key) >= 0) continue;
42
+ target[key] = source[key];
43
+ }
44
+ }
45
+ return target;
46
+ }
47
+ function _extends() {
48
+ _extends = Object.assign ? Object.assign.bind() : function(target) {
49
+ for (var i = 1; i < arguments.length; i++) {
50
+ var source = arguments[i];
51
+ for (var key in source) {
52
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
53
+ target[key] = source[key];
54
+ }
55
+ }
56
+ }
57
+ return target;
58
+ };
59
+ return _extends.apply(this, arguments);
60
+ }
61
+ function ownKeys(e, r) {
62
+ var t = Object.keys(e);
63
+ if (Object.getOwnPropertySymbols) {
64
+ var o = Object.getOwnPropertySymbols(e);
65
+ r && (o = o.filter(function(r2) {
66
+ return Object.getOwnPropertyDescriptor(e, r2).enumerable;
67
+ })), t.push.apply(t, o);
68
+ }
69
+ return t;
70
+ }
71
+ function _objectSpread(e) {
72
+ for (var r = 1; r < arguments.length; r++) {
73
+ var t = null != arguments[r] ? arguments[r] : {};
74
+ r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
75
+ _defineProperty(e, r2, t[r2]);
76
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
77
+ Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
78
+ });
79
+ }
80
+ return e;
81
+ }
82
+ function _defineProperty(obj, key, value) {
83
+ key = _toPropertyKey(key);
84
+ if (key in obj) {
85
+ Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
86
+ } else {
87
+ obj[key] = value;
88
+ }
89
+ return obj;
90
+ }
91
+ function _toPropertyKey(t) {
92
+ var i = _toPrimitive(t, "string");
93
+ return "symbol" == typeof i ? i : i + "";
94
+ }
95
+ function _toPrimitive(t, r) {
96
+ if ("object" != typeof t || !t) return t;
97
+ var e = t[Symbol.toPrimitive];
98
+ if (void 0 !== e) {
99
+ var i = e.call(t, r || "default");
100
+ if ("object" != typeof i) return i;
101
+ throw new TypeError("@@toPrimitive must return a primitive value.");
102
+ }
103
+ return ("string" === r ? String : Number)(t);
104
+ }
105
+ function Tree2Element(tree) {
106
+ return tree && tree.map((node, i) => /* @__PURE__ */ React__default.createElement(node.tag, _objectSpread({
107
+ key: i
108
+ }, node.attr), Tree2Element(node.child)));
109
+ }
110
+ function GenIcon(data) {
111
+ return (props) => /* @__PURE__ */ React__default.createElement(IconBase, _extends({
112
+ attr: _objectSpread({}, data.attr)
113
+ }, props), Tree2Element(data.child));
114
+ }
115
+ function IconBase(props) {
116
+ var elem = (conf) => {
117
+ var {
118
+ attr,
119
+ size,
120
+ title
121
+ } = props, svgProps = _objectWithoutProperties(props, _excluded);
122
+ var computedSize = size || conf.size || "1em";
123
+ var className;
124
+ if (conf.className) className = conf.className;
125
+ if (props.className) className = (className ? className + " " : "") + props.className;
126
+ return /* @__PURE__ */ React__default.createElement("svg", _extends({
127
+ stroke: "currentColor",
128
+ fill: "currentColor",
129
+ strokeWidth: "0"
130
+ }, conf.attr, attr, svgProps, {
131
+ className,
132
+ style: _objectSpread(_objectSpread({
133
+ color: props.color || conf.color
134
+ }, conf.style), props.style),
135
+ height: computedSize,
136
+ width: computedSize,
137
+ xmlns: "http://www.w3.org/2000/svg"
138
+ }), title && /* @__PURE__ */ React__default.createElement("title", null, title), props.children);
139
+ };
140
+ return IconContext !== void 0 ? /* @__PURE__ */ React__default.createElement(IconContext.Consumer, null, (conf) => elem(conf)) : elem(DefaultContext);
141
+ }
142
+ export {
143
+ GenIcon as G,
144
+ getBreakpointValue as a,
145
+ cn as c,
146
+ generateUUID as g
147
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ const ChaiThemeFn = require("./ChaiThemeFn-DcE5RdLQ.cjs");
3
+ const getChaiBuilderTheme = (themeOptions = ChaiThemeFn.defaultThemeOptions) => {
4
+ return {
5
+ container: {
6
+ center: true,
7
+ padding: "1rem",
8
+ screens: { "2xl": "1400px" }
9
+ },
10
+ ...ChaiThemeFn.getChaiThemeOptions(themeOptions)
11
+ };
12
+ };
13
+ const chaiBuilderPlugin = ChaiThemeFn.plugin(function({ addBase, theme }) {
14
+ addBase({
15
+ "h1,h2,h3,h4,h5,h6": {
16
+ fontFamily: theme("fontFamily.heading")
17
+ },
18
+ body: {
19
+ fontFamily: theme("fontFamily.body"),
20
+ color: theme("colors.foreground"),
21
+ backgroundColor: theme("colors.background")
22
+ }
23
+ });
24
+ });
25
+ exports.chaiBuilderPlugin = chaiBuilderPlugin;
26
+ exports.getChaiBuilderTheme = getChaiBuilderTheme;
@@ -0,0 +1,27 @@
1
+ import { g as getChaiThemeOptions, d as defaultThemeOptions, p as plugin } from "./ChaiThemeFn-DzirXKjI.js";
2
+ const getChaiBuilderTheme = (themeOptions = defaultThemeOptions) => {
3
+ return {
4
+ container: {
5
+ center: true,
6
+ padding: "1rem",
7
+ screens: { "2xl": "1400px" }
8
+ },
9
+ ...getChaiThemeOptions(themeOptions)
10
+ };
11
+ };
12
+ const chaiBuilderPlugin = plugin(function({ addBase, theme }) {
13
+ addBase({
14
+ "h1,h2,h3,h4,h5,h6": {
15
+ fontFamily: theme("fontFamily.heading")
16
+ },
17
+ body: {
18
+ fontFamily: theme("fontFamily.body"),
19
+ color: theme("colors.foreground"),
20
+ backgroundColor: theme("colors.background")
21
+ }
22
+ });
23
+ });
24
+ export {
25
+ chaiBuilderPlugin as c,
26
+ getChaiBuilderTheme as g
27
+ };