@simple-builder/react 1.0.8 → 1.0.10

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.
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkI2LWMDYD_js = require('./chunk-I2LWMDYD.js');
4
- var chunkLJSVUW4D_js = require('./chunk-LJSVUW4D.js');
3
+ var chunkNKBSQAU6_js = require('./chunk-NKBSQAU6.js');
4
+ var chunkGP4CVRJO_js = require('./chunk-GP4CVRJO.js');
5
5
  var React2 = require('react');
6
6
 
7
7
  function _interopNamespace(e) {
@@ -25,17 +25,17 @@ function _interopNamespace(e) {
25
25
  var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
26
26
 
27
27
  var BuilderHeader = () => {
28
- const { save } = chunkI2LWMDYD_js.useBuilder();
29
- return /* @__PURE__ */ React2__namespace.createElement("div", { className: "sb-grid sb-grid-cols-3 sb-gap-4 sb-items-center sb-p-2 sb-shadow-lg sb-sticky sb-inset-x-0 sb-top-0 sb-bg-background sb-z-30" }, /* @__PURE__ */ React2__namespace.createElement("div", { className: "sb-flex sb-gap-4 sb-items-center" }, /* @__PURE__ */ React2__namespace.createElement(chunkI2LWMDYD_js.Button, { variant: "ghost", size: "sm", onClick: save }, "Opslaan")));
28
+ const { save } = chunkNKBSQAU6_js.useBuilder();
29
+ return /* @__PURE__ */ React2__namespace.createElement("div", { className: "sb-grid sb-grid-cols-3 sb-gap-4 sb-items-center sb-p-2 sb-shadow-lg sb-sticky sb-inset-x-0 sb-top-0 sb-bg-background sb-z-30" }, /* @__PURE__ */ React2__namespace.createElement("div", { className: "sb-flex sb-gap-4 sb-items-center" }, /* @__PURE__ */ React2__namespace.createElement(chunkNKBSQAU6_js.Button, { variant: "ghost", size: "sm", onClick: save }, "Opslaan")));
30
30
  };
31
31
 
32
32
  // src/components/builder-content.tsx
33
33
  var BuilderContent = (props) => {
34
- return /* @__PURE__ */ React2__namespace.createElement(chunkI2LWMDYD_js.BuilderProvider, { content: props.content }, /* @__PURE__ */ React2__namespace.createElement(BuilderContentInner, null));
34
+ return /* @__PURE__ */ React2__namespace.createElement(chunkNKBSQAU6_js.BuilderProvider, { content: props.content }, /* @__PURE__ */ React2__namespace.createElement(BuilderContentInner, null));
35
35
  };
36
36
  var BuilderContentInner = () => {
37
- const { content } = chunkI2LWMDYD_js.useBuilder();
38
- return /* @__PURE__ */ React2__namespace.createElement(React2__namespace.Fragment, null, /* @__PURE__ */ React2__namespace.createElement(BuilderHeader, null), /* @__PURE__ */ React2__namespace.createElement(chunkLJSVUW4D_js.BuildContainer, { name: "root", edit: true, multiple: true, content }));
37
+ const { content } = chunkNKBSQAU6_js.useBuilder();
38
+ return /* @__PURE__ */ React2__namespace.createElement(React2__namespace.Fragment, null, /* @__PURE__ */ React2__namespace.createElement(BuilderHeader, null), /* @__PURE__ */ React2__namespace.createElement(chunkGP4CVRJO_js.BuildContainer, { name: "root", edit: true, multiple: true, content }));
39
39
  };
40
40
  var builder_content_default = BuilderContent;
41
41
 
@@ -186,6 +186,9 @@
186
186
  .sb-right-1 {
187
187
  right: 0.25rem;
188
188
  }
189
+ .sb-right-2 {
190
+ right: 0.5rem;
191
+ }
189
192
  .sb-right-3 {
190
193
  right: 0.75rem;
191
194
  }
@@ -198,6 +201,9 @@
198
201
  .sb-top-1\/2 {
199
202
  top: 50%;
200
203
  }
204
+ .sb-top-2 {
205
+ top: 0.5rem;
206
+ }
201
207
  .sb-top-\[50\%\] {
202
208
  top: 50%;
203
209
  }
@@ -254,6 +260,12 @@
254
260
  .sb-h-11 {
255
261
  height: 2.75rem;
256
262
  }
263
+ .sb-h-2 {
264
+ height: 0.5rem;
265
+ }
266
+ .sb-h-2\.5 {
267
+ height: 0.625rem;
268
+ }
257
269
  .sb-h-28 {
258
270
  height: 7rem;
259
271
  }
@@ -278,12 +290,24 @@
278
290
  .sb-h-auto {
279
291
  height: auto;
280
292
  }
293
+ .sb-h-full {
294
+ height: 100%;
295
+ }
296
+ .sb-max-h-\[80vh\] {
297
+ max-height: 80vh;
298
+ }
281
299
  .sb-min-h-\[60px\] {
282
300
  min-height: 60px;
283
301
  }
284
302
  .sb-w-11 {
285
303
  width: 2.75rem;
286
304
  }
305
+ .sb-w-2 {
306
+ width: 0.5rem;
307
+ }
308
+ .sb-w-2\.5 {
309
+ width: 0.625rem;
310
+ }
287
311
  .sb-w-28 {
288
312
  width: 7rem;
289
313
  }
@@ -308,6 +332,9 @@
308
332
  .sb-w-8 {
309
333
  width: 2rem;
310
334
  }
335
+ .sb-w-\[89\%\] {
336
+ width: 89%;
337
+ }
311
338
  .sb-w-auto {
312
339
  width: auto;
313
340
  }
@@ -365,6 +392,14 @@
365
392
  .sb-cursor-pointer {
366
393
  cursor: pointer;
367
394
  }
395
+ .sb-touch-none {
396
+ touch-action: none;
397
+ }
398
+ .sb-select-none {
399
+ -webkit-user-select: none;
400
+ -moz-user-select: none;
401
+ user-select: none;
402
+ }
368
403
  .sb-grid-cols-2 {
369
404
  grid-template-columns: repeat(2, minmax(0, 1fr));
370
405
  }
@@ -457,6 +492,9 @@
457
492
  .sb-rounded {
458
493
  border-radius: 0.25rem;
459
494
  }
495
+ .sb-rounded-\[inherit\] {
496
+ border-radius: inherit;
497
+ }
460
498
  .sb-rounded-full {
461
499
  border-radius: 9999px;
462
500
  }
@@ -481,12 +519,27 @@
481
519
  .sb-border-b-2 {
482
520
  border-bottom-width: 2px;
483
521
  }
522
+ .sb-border-l {
523
+ border-left-width: 1px;
524
+ }
525
+ .sb-border-t {
526
+ border-top-width: 1px;
527
+ }
528
+ .sb-border-dashed {
529
+ border-style: dashed;
530
+ }
484
531
  .sb-border-input {
485
532
  border-color: hsl(var(--sb-input));
486
533
  }
487
534
  .sb-border-transparent {
488
535
  border-color: transparent;
489
536
  }
537
+ .sb-border-l-transparent {
538
+ border-left-color: transparent;
539
+ }
540
+ .sb-border-t-transparent {
541
+ border-top-color: transparent;
542
+ }
490
543
  .sb-bg-accent {
491
544
  background-color: hsl(var(--sb-accent));
492
545
  }
@@ -496,6 +549,9 @@
496
549
  .sb-bg-background\/80 {
497
550
  background-color: hsl(var(--sb-background) / 0.8);
498
551
  }
552
+ .sb-bg-border {
553
+ background-color: hsl(var(--sb-border));
554
+ }
499
555
  .sb-bg-card {
500
556
  background-color: hsl(var(--sb-card));
501
557
  }
@@ -554,6 +610,9 @@
554
610
  .sb-p-6 {
555
611
  padding: 1.5rem;
556
612
  }
613
+ .sb-p-\[1px\] {
614
+ padding: 1px;
615
+ }
557
616
  .sb-px-2 {
558
617
  padding-left: 0.5rem;
559
618
  padding-right: 0.5rem;
@@ -656,6 +715,9 @@
656
715
  .sb-text-destructive-foreground {
657
716
  color: hsl(var(--sb-destructive-foreground));
658
717
  }
718
+ .sb-text-foreground\/70 {
719
+ color: hsl(var(--sb-foreground) / 0.7);
720
+ }
659
721
  .sb-text-muted-foreground {
660
722
  color: hsl(var(--sb-muted-foreground));
661
723
  }
@@ -901,6 +963,9 @@
901
963
  .hover\:sb-text-accent-foreground:hover {
902
964
  color: hsl(var(--sb-accent-foreground));
903
965
  }
966
+ .hover\:sb-text-foreground:hover {
967
+ color: hsl(var(--sb-foreground));
968
+ }
904
969
  .hover\:sb-text-muted-foreground:hover {
905
970
  color: hsl(var(--sb-muted-foreground));
906
971
  }
@@ -1,5 +1,5 @@
1
- import { BuilderProvider, useBuilder, Button } from './chunk-4Z4JII4A.mjs';
2
- import { BuildContainer } from './chunk-S3NVED5S.mjs';
1
+ import { BuilderProvider, useBuilder, Button } from './chunk-2PY5SZFT.mjs';
2
+ import { BuildContainer } from './chunk-LEULOM72.mjs';
3
3
  import * as React2 from 'react';
4
4
 
5
5
  var BuilderHeader = () => {
@@ -1,4 +1,4 @@
1
- import { tv, builder, insertAt } from './chunk-S3NVED5S.mjs';
1
+ import { tv, builder, insertAt } from './chunk-LEULOM72.mjs';
2
2
  import * as React from 'react';
3
3
  import { Slot } from '@radix-ui/react-slot';
4
4
 
@@ -12,9 +12,7 @@ var BuilderProvider = (props) => {
12
12
  );
13
13
  const getItem = React.useCallback(
14
14
  (id) => {
15
- const res = findRecursive(content, (item) => item.id === id);
16
- console.log("RES", res);
17
- return res;
15
+ return findRecursive(content, (item) => item.id === id);
18
16
  },
19
17
  [content]
20
18
  );
@@ -1,4 +1,4 @@
1
- import { BuildContainer } from './chunk-S3NVED5S.mjs';
1
+ import { BuildContainer } from './chunk-LEULOM72.mjs';
2
2
  import * as React from 'react';
3
3
  import { lazy } from 'react';
4
4
 
@@ -15,6 +15,6 @@ var StaticContent = (props) => {
15
15
  };
16
16
 
17
17
  // src/index.ts
18
- var BuilderContent = lazy(() => import('./builder-content-WVKVDIRR.mjs'));
18
+ var BuilderContent = lazy(() => import('./builder-content-O76OYDYN.mjs'));
19
19
 
20
20
  export { BuilderContent, StaticContent };
@@ -85,49 +85,6 @@ var tv = tailwindVariants.createTV({
85
85
  var insertAt = (items, index, item) => {
86
86
  return Array.isArray(items) ? [...items.slice(0, index), item, ...items.slice(index)] : [item];
87
87
  };
88
- var spacing = {
89
- parse: (input) => {
90
- if (typeof input !== "string")
91
- return {
92
- top: 0,
93
- right: 0,
94
- bottom: 0,
95
- left: 0
96
- };
97
- const matches = input.match(/(\d+)/gm);
98
- const [top = 0, right = 0, bottom = 0, left = 0] = matches?.map((match) => +match) || [];
99
- switch (matches?.length) {
100
- case 1:
101
- return { top, right: top, bottom: top, left: top };
102
- case 2:
103
- return { top, bottom: top, left: right, right };
104
- case 3:
105
- return { top, right, left: right, bottom };
106
- default:
107
- return { top, right, bottom, left };
108
- }
109
- },
110
- stringify: ({
111
- top = 0,
112
- right = 0,
113
- bottom = 0,
114
- left = 0
115
- }) => {
116
- if ([right, bottom, left].every((v) => v === top)) {
117
- if (top === 0)
118
- return;
119
- return `${top}px`;
120
- } else if (top === bottom && left === right) {
121
- return `${top}px ${left}px`;
122
- } else {
123
- return `${top}px ${right}px ${bottom}px ${left}px`;
124
- }
125
- },
126
- isIndipendent: (input) => {
127
- const { top, right, bottom, left } = spacing.parse(input || "");
128
- return top !== bottom || right !== left;
129
- }
130
- };
131
88
 
132
89
  // src/components/design-wrapper.tsx
133
90
  var DesignWrapper = (props) => {
@@ -159,7 +116,7 @@ var DesignWrapper = (props) => {
159
116
  `.replace(/\s\s+/g, " ")));
160
117
  };
161
118
  var BuildContainerInner = React3__namespace.lazy(
162
- () => import('./build-container-client-64PFJ5XN.js')
119
+ () => import('./build-container-client-SEAT672S.js')
163
120
  );
164
121
  var BuildContainer = (props) => {
165
122
  const { content, edit, name } = props;
@@ -176,5 +133,4 @@ exports.Image = Image;
176
133
  exports.builder = builder;
177
134
  exports.cn = cn;
178
135
  exports.insertAt = insertAt;
179
- exports.spacing = spacing;
180
136
  exports.tv = tv;
@@ -61,49 +61,6 @@ var tv = createTV({
61
61
  var insertAt = (items, index, item) => {
62
62
  return Array.isArray(items) ? [...items.slice(0, index), item, ...items.slice(index)] : [item];
63
63
  };
64
- var spacing = {
65
- parse: (input) => {
66
- if (typeof input !== "string")
67
- return {
68
- top: 0,
69
- right: 0,
70
- bottom: 0,
71
- left: 0
72
- };
73
- const matches = input.match(/(\d+)/gm);
74
- const [top = 0, right = 0, bottom = 0, left = 0] = matches?.map((match) => +match) || [];
75
- switch (matches?.length) {
76
- case 1:
77
- return { top, right: top, bottom: top, left: top };
78
- case 2:
79
- return { top, bottom: top, left: right, right };
80
- case 3:
81
- return { top, right, left: right, bottom };
82
- default:
83
- return { top, right, bottom, left };
84
- }
85
- },
86
- stringify: ({
87
- top = 0,
88
- right = 0,
89
- bottom = 0,
90
- left = 0
91
- }) => {
92
- if ([right, bottom, left].every((v) => v === top)) {
93
- if (top === 0)
94
- return;
95
- return `${top}px`;
96
- } else if (top === bottom && left === right) {
97
- return `${top}px ${left}px`;
98
- } else {
99
- return `${top}px ${right}px ${bottom}px ${left}px`;
100
- }
101
- },
102
- isIndipendent: (input) => {
103
- const { top, right, bottom, left } = spacing.parse(input || "");
104
- return top !== bottom || right !== left;
105
- }
106
- };
107
64
 
108
65
  // src/components/design-wrapper.tsx
109
66
  var DesignWrapper = (props) => {
@@ -135,7 +92,7 @@ var DesignWrapper = (props) => {
135
92
  `.replace(/\s\s+/g, " ")));
136
93
  };
137
94
  var BuildContainerInner = React3.lazy(
138
- () => import('./build-container-client-TRHCXW7W.mjs')
95
+ () => import('./build-container-client-WS5CHAV7.mjs')
139
96
  );
140
97
  var BuildContainer = (props) => {
141
98
  const { content, edit, name } = props;
@@ -146,4 +103,4 @@ var BuildContainer = (props) => {
146
103
  return /* @__PURE__ */ React3.createElement(React3.Suspense, { fallback: /* @__PURE__ */ React3.createElement("div", null, "Loading...") }, /* @__PURE__ */ React3.createElement(BuildContainerInner, { ...props }));
147
104
  };
148
105
 
149
- export { BuildContainer, DesignWrapper, Image, builder, cn, insertAt, spacing, tv };
106
+ export { BuildContainer, DesignWrapper, Image, builder, cn, insertAt, tv };
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkLJSVUW4D_js = require('./chunk-LJSVUW4D.js');
3
+ var chunkGP4CVRJO_js = require('./chunk-GP4CVRJO.js');
4
4
  var React = require('react');
5
5
  var reactSlot = require('@radix-ui/react-slot');
6
6
 
@@ -34,9 +34,7 @@ var BuilderProvider = (props) => {
34
34
  );
35
35
  const getItem = React__namespace.useCallback(
36
36
  (id) => {
37
- const res = findRecursive(content, (item) => item.id === id);
38
- console.log("RES", res);
39
- return res;
37
+ return findRecursive(content, (item) => item.id === id);
40
38
  },
41
39
  [content]
42
40
  );
@@ -58,7 +56,7 @@ var BuilderProvider = (props) => {
58
56
  );
59
57
  const addContent = React__namespace.useCallback(
60
58
  (name, container, parent, index = 0) => {
61
- const component = chunkLJSVUW4D_js.builder.getComponent(name);
59
+ const component = chunkGP4CVRJO_js.builder.getComponent(name);
62
60
  if (!component) {
63
61
  throw new Error(`[simple-builder]: Component "${name}" not found`);
64
62
  }
@@ -80,7 +78,7 @@ var BuilderProvider = (props) => {
80
78
  }
81
79
  };
82
80
  if (!parent) {
83
- setContent((content2) => chunkLJSVUW4D_js.insertAt(content2, index, entry));
81
+ setContent((content2) => chunkGP4CVRJO_js.insertAt(content2, index, entry));
84
82
  return;
85
83
  }
86
84
  setContent(
@@ -90,7 +88,7 @@ var BuilderProvider = (props) => {
90
88
  ...item,
91
89
  content: {
92
90
  ...item.content,
93
- [container]: chunkLJSVUW4D_js.insertAt(item.content?.[container], index, entry)
91
+ [container]: chunkGP4CVRJO_js.insertAt(item.content?.[container], index, entry)
94
92
  }
95
93
  };
96
94
  }
@@ -218,7 +216,7 @@ var findRecursive = (items, predicate, key = "content") => {
218
216
  }
219
217
  }
220
218
  };
221
- var buttonVariants = chunkLJSVUW4D_js.tv({
219
+ var buttonVariants = chunkGP4CVRJO_js.tv({
222
220
  base: "sb-inline-flex sb-uppercase sb-font-roboto sb-items-center sb-justify-center sb-whitespace-nowrap sb-rounded-md sb-text-xs sb-font-semibold ring-offset-background sb-transition-colors focus-visible:sb-outline-none focus-visible:sb-ring-2 focus-visible:ring-ring focus-visible:sb-ring-offset-2 disabled:sb-pointer-events-none disabled:sb-opacity-50",
223
221
  variants: {
224
222
  variant: {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkLJSVUW4D_js = require('./chunk-LJSVUW4D.js');
3
+ var chunkGP4CVRJO_js = require('./chunk-GP4CVRJO.js');
4
4
  var React = require('react');
5
5
 
6
6
  function _interopNamespace(e) {
@@ -25,7 +25,7 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
25
25
 
26
26
  var StaticContent = (props) => {
27
27
  return /* @__PURE__ */ React__namespace.createElement(
28
- chunkLJSVUW4D_js.BuildContainer,
28
+ chunkGP4CVRJO_js.BuildContainer,
29
29
  {
30
30
  name: "root",
31
31
  edit: false,
@@ -36,7 +36,7 @@ var StaticContent = (props) => {
36
36
  };
37
37
 
38
38
  // src/index.ts
39
- var BuilderContent = React.lazy(() => import('./builder-content-XAIOE6LA.js'));
39
+ var BuilderContent = React.lazy(() => import('./builder-content-FXMV6TNF.js'));
40
40
 
41
41
  exports.BuilderContent = BuilderContent;
42
42
  exports.StaticContent = StaticContent;
package/dist/index.css CHANGED
@@ -186,6 +186,9 @@
186
186
  .sb-right-1 {
187
187
  right: 0.25rem;
188
188
  }
189
+ .sb-right-2 {
190
+ right: 0.5rem;
191
+ }
189
192
  .sb-right-3 {
190
193
  right: 0.75rem;
191
194
  }
@@ -198,6 +201,9 @@
198
201
  .sb-top-1\/2 {
199
202
  top: 50%;
200
203
  }
204
+ .sb-top-2 {
205
+ top: 0.5rem;
206
+ }
201
207
  .sb-top-\[50\%\] {
202
208
  top: 50%;
203
209
  }
@@ -254,6 +260,12 @@
254
260
  .sb-h-11 {
255
261
  height: 2.75rem;
256
262
  }
263
+ .sb-h-2 {
264
+ height: 0.5rem;
265
+ }
266
+ .sb-h-2\.5 {
267
+ height: 0.625rem;
268
+ }
257
269
  .sb-h-28 {
258
270
  height: 7rem;
259
271
  }
@@ -278,12 +290,24 @@
278
290
  .sb-h-auto {
279
291
  height: auto;
280
292
  }
293
+ .sb-h-full {
294
+ height: 100%;
295
+ }
296
+ .sb-max-h-\[80vh\] {
297
+ max-height: 80vh;
298
+ }
281
299
  .sb-min-h-\[60px\] {
282
300
  min-height: 60px;
283
301
  }
284
302
  .sb-w-11 {
285
303
  width: 2.75rem;
286
304
  }
305
+ .sb-w-2 {
306
+ width: 0.5rem;
307
+ }
308
+ .sb-w-2\.5 {
309
+ width: 0.625rem;
310
+ }
287
311
  .sb-w-28 {
288
312
  width: 7rem;
289
313
  }
@@ -308,6 +332,9 @@
308
332
  .sb-w-8 {
309
333
  width: 2rem;
310
334
  }
335
+ .sb-w-\[89\%\] {
336
+ width: 89%;
337
+ }
311
338
  .sb-w-auto {
312
339
  width: auto;
313
340
  }
@@ -365,6 +392,14 @@
365
392
  .sb-cursor-pointer {
366
393
  cursor: pointer;
367
394
  }
395
+ .sb-touch-none {
396
+ touch-action: none;
397
+ }
398
+ .sb-select-none {
399
+ -webkit-user-select: none;
400
+ -moz-user-select: none;
401
+ user-select: none;
402
+ }
368
403
  .sb-grid-cols-2 {
369
404
  grid-template-columns: repeat(2, minmax(0, 1fr));
370
405
  }
@@ -457,6 +492,9 @@
457
492
  .sb-rounded {
458
493
  border-radius: 0.25rem;
459
494
  }
495
+ .sb-rounded-\[inherit\] {
496
+ border-radius: inherit;
497
+ }
460
498
  .sb-rounded-full {
461
499
  border-radius: 9999px;
462
500
  }
@@ -481,12 +519,27 @@
481
519
  .sb-border-b-2 {
482
520
  border-bottom-width: 2px;
483
521
  }
522
+ .sb-border-l {
523
+ border-left-width: 1px;
524
+ }
525
+ .sb-border-t {
526
+ border-top-width: 1px;
527
+ }
528
+ .sb-border-dashed {
529
+ border-style: dashed;
530
+ }
484
531
  .sb-border-input {
485
532
  border-color: hsl(var(--sb-input));
486
533
  }
487
534
  .sb-border-transparent {
488
535
  border-color: transparent;
489
536
  }
537
+ .sb-border-l-transparent {
538
+ border-left-color: transparent;
539
+ }
540
+ .sb-border-t-transparent {
541
+ border-top-color: transparent;
542
+ }
490
543
  .sb-bg-accent {
491
544
  background-color: hsl(var(--sb-accent));
492
545
  }
@@ -496,6 +549,9 @@
496
549
  .sb-bg-background\/80 {
497
550
  background-color: hsl(var(--sb-background) / 0.8);
498
551
  }
552
+ .sb-bg-border {
553
+ background-color: hsl(var(--sb-border));
554
+ }
499
555
  .sb-bg-card {
500
556
  background-color: hsl(var(--sb-card));
501
557
  }
@@ -554,6 +610,9 @@
554
610
  .sb-p-6 {
555
611
  padding: 1.5rem;
556
612
  }
613
+ .sb-p-\[1px\] {
614
+ padding: 1px;
615
+ }
557
616
  .sb-px-2 {
558
617
  padding-left: 0.5rem;
559
618
  padding-right: 0.5rem;
@@ -656,6 +715,9 @@
656
715
  .sb-text-destructive-foreground {
657
716
  color: hsl(var(--sb-destructive-foreground));
658
717
  }
718
+ .sb-text-foreground\/70 {
719
+ color: hsl(var(--sb-foreground) / 0.7);
720
+ }
659
721
  .sb-text-muted-foreground {
660
722
  color: hsl(var(--sb-muted-foreground));
661
723
  }
@@ -901,6 +963,9 @@
901
963
  .hover\:sb-text-accent-foreground:hover {
902
964
  color: hsl(var(--sb-accent-foreground));
903
965
  }
966
+ .hover\:sb-text-foreground:hover {
967
+ color: hsl(var(--sb-foreground));
968
+ }
904
969
  .hover\:sb-text-muted-foreground:hover {
905
970
  color: hsl(var(--sb-muted-foreground));
906
971
  }
package/dist/index.d.mts CHANGED
@@ -2,18 +2,21 @@ import * as React from 'react';
2
2
  import * as _simple_builder_server from '@simple-builder/server';
3
3
  import { BuilderContent as BuilderContent$1, ContentItem } from '@simple-builder/server';
4
4
 
5
- type InputType = "string" | "number" | "boolean" | "longText" | "richText" | "file" | "color" | "date";
5
+ type InputType = "string" | "number" | "boolean" | "longText" | "richText" | "file" | "color" | "date" | "grouped";
6
6
  type ComponentInput<T extends InputType> = {
7
7
  type: T;
8
8
  name: string;
9
9
  friendlyName?: string;
10
10
  helperText?: string;
11
11
  defaultValue?: any;
12
+ multiple?: boolean;
12
13
  } & (T extends "string" ? {
13
14
  enum?: string[] | {
14
15
  label: string;
15
16
  value: any;
16
17
  };
18
+ } : {}) & (T extends "grouped" ? {
19
+ inputs: ComponentInput<any>[];
17
20
  } : {});
18
21
  type Component = {
19
22
  component: (props?: any) => JSX.Element;
@@ -21,7 +24,7 @@ type Component = {
21
24
  friendlyName?: string;
22
25
  icon?: any;
23
26
  description?: string;
24
- inputs?: ComponentInput<any>[];
27
+ inputs?: ComponentInput<InputType>[];
25
28
  defaults?: Record<string, unknown>;
26
29
  defaultStyles?: ContentItem["styles"];
27
30
  };
package/dist/index.d.ts CHANGED
@@ -2,18 +2,21 @@ import * as React from 'react';
2
2
  import * as _simple_builder_server from '@simple-builder/server';
3
3
  import { BuilderContent as BuilderContent$1, ContentItem } from '@simple-builder/server';
4
4
 
5
- type InputType = "string" | "number" | "boolean" | "longText" | "richText" | "file" | "color" | "date";
5
+ type InputType = "string" | "number" | "boolean" | "longText" | "richText" | "file" | "color" | "date" | "grouped";
6
6
  type ComponentInput<T extends InputType> = {
7
7
  type: T;
8
8
  name: string;
9
9
  friendlyName?: string;
10
10
  helperText?: string;
11
11
  defaultValue?: any;
12
+ multiple?: boolean;
12
13
  } & (T extends "string" ? {
13
14
  enum?: string[] | {
14
15
  label: string;
15
16
  value: any;
16
17
  };
18
+ } : {}) & (T extends "grouped" ? {
19
+ inputs: ComponentInput<any>[];
17
20
  } : {});
18
21
  type Component = {
19
22
  component: (props?: any) => JSX.Element;
@@ -21,7 +24,7 @@ type Component = {
21
24
  friendlyName?: string;
22
25
  icon?: any;
23
26
  description?: string;
24
- inputs?: ComponentInput<any>[];
27
+ inputs?: ComponentInput<InputType>[];
25
28
  defaults?: Record<string, unknown>;
26
29
  defaultStyles?: ContentItem["styles"];
27
30
  };
package/dist/index.js CHANGED
@@ -1,23 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var chunkMSCSJUNQ_js = require('./chunk-MSCSJUNQ.js');
4
- var chunkLJSVUW4D_js = require('./chunk-LJSVUW4D.js');
3
+ var chunkQNNLXAGD_js = require('./chunk-QNNLXAGD.js');
4
+ var chunkGP4CVRJO_js = require('./chunk-GP4CVRJO.js');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "BuilderContent", {
9
9
  enumerable: true,
10
- get: function () { return chunkMSCSJUNQ_js.BuilderContent; }
10
+ get: function () { return chunkQNNLXAGD_js.BuilderContent; }
11
11
  });
12
12
  Object.defineProperty(exports, "StaticContent", {
13
13
  enumerable: true,
14
- get: function () { return chunkMSCSJUNQ_js.StaticContent; }
14
+ get: function () { return chunkQNNLXAGD_js.StaticContent; }
15
15
  });
16
16
  Object.defineProperty(exports, "BuildContainer", {
17
17
  enumerable: true,
18
- get: function () { return chunkLJSVUW4D_js.BuildContainer; }
18
+ get: function () { return chunkGP4CVRJO_js.BuildContainer; }
19
19
  });
20
20
  Object.defineProperty(exports, "builder", {
21
21
  enumerable: true,
22
- get: function () { return chunkLJSVUW4D_js.builder; }
22
+ get: function () { return chunkGP4CVRJO_js.builder; }
23
23
  });
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export { BuilderContent, StaticContent } from './chunk-EFA2EAPD.mjs';
2
- export { BuildContainer, builder } from './chunk-S3NVED5S.mjs';
1
+ export { BuilderContent, StaticContent } from './chunk-BP6PJZIZ.mjs';
2
+ export { BuildContainer, builder } from './chunk-LEULOM72.mjs';