@uniformdev/canvas-vue 19.48.0 → 19.48.1-alpha.8

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.mts CHANGED
@@ -20,7 +20,7 @@ declare const DefaultNotImplementedComponent: vue_demi.DefineComponent<{
20
20
  type: PropType<ComponentInstance>;
21
21
  required: true;
22
22
  };
23
- }>>, {}>;
23
+ }>>, {}, {}>;
24
24
 
25
25
  interface TestComponent {
26
26
  slots?: {
@@ -115,7 +115,7 @@ declare const UniformText: vue_demi.DefineComponent<{
115
115
  }>>, {
116
116
  as: string | undefined;
117
117
  isMultiline: boolean | undefined;
118
- }>;
118
+ }, {}>;
119
119
 
120
120
  type UniformComponentProps = {
121
121
  /** A dynamic vue component that provides data to the Uniform Canvas SlotContent component via provide/inject */
@@ -411,7 +411,7 @@ declare const UniformComponent: vue_demi.DefineComponent<{
411
411
  };
412
412
  }>>, {
413
413
  behaviorTracking: "onLoad" | "onView" | undefined;
414
- }>;
414
+ }, {}>;
415
415
 
416
416
  type UseUniformContextualEditingProps = {
417
417
  initialCompositionValue?: Ref<RootComponentInstance | undefined>;
@@ -1518,7 +1518,23 @@ declare const UniformComposition: vue_demi.DefineComponent<{
1518
1518
  };
1519
1519
  }>>, {
1520
1520
  behaviorTracking: "onLoad" | "onView" | undefined;
1521
- }>;
1521
+ }, {}>;
1522
+
1523
+ type UniformPlaygroundProps = Pick<UniformCompositionProps, 'resolveRenderer'>;
1524
+ /**
1525
+ * Playground where you can freely live preview your components and pattern.
1526
+ */
1527
+ declare const UniformPlayground: vue_demi.DefineComponent<{
1528
+ resolveRenderer: {
1529
+ type: PropType<ResolveRenderer | undefined>;
1530
+ };
1531
+ }, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
1532
+ [key: string]: any;
1533
+ }>, unknown, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{
1534
+ resolveRenderer: {
1535
+ type: PropType<ResolveRenderer | undefined>;
1536
+ };
1537
+ }>>, {}, {}>;
1522
1538
 
1523
1539
  type RichTextComponentProps<TNode extends RichTextNode = RichTextNode> = {
1524
1540
  node: TNode;
@@ -1570,7 +1586,7 @@ declare const UniformRichText: vue_demi.DefineComponent<{
1570
1586
  type: PropType<RenderRichTextComponentResolver | undefined>;
1571
1587
  required: false;
1572
1588
  };
1573
- }>>, {}>;
1589
+ }>>, {}, {}>;
1574
1590
 
1575
1591
  type UniformRichTextNodeProps = {
1576
1592
  node: RichTextNode;
@@ -1596,7 +1612,7 @@ declare const UniformRichTextNode: vue_demi.DefineComponent<{
1596
1612
  type: PropType<RenderRichTextComponentResolver | undefined>;
1597
1613
  required: false;
1598
1614
  };
1599
- }>>, {}>;
1615
+ }>>, {}, {}>;
1600
1616
 
1601
1617
  type UniformSlotProps = {
1602
1618
  /** Name of the slot to render */
@@ -1626,7 +1642,7 @@ declare const UniformSlot: vue_demi.DefineComponent<{
1626
1642
  resolveRenderer: {
1627
1643
  type: PropType<ResolveRenderer | undefined>;
1628
1644
  };
1629
- }>>, {}>;
1645
+ }>>, {}, {}>;
1630
1646
 
1631
1647
  type UseCompositionEventEffectOptions = Omit<Partial<SubscribeToCompositionOptions>, 'callback' | 'compositionId'> & {
1632
1648
  compositionIdRef: Ref<SubscribeToCompositionOptions['compositionId']>;
@@ -1646,4 +1662,4 @@ declare const globalCompositionEnhancerInjectionKey = "uniformGlobalCompositionE
1646
1662
  */
1647
1663
  declare function convertComponentToProps<T = unknown>(component: ComponentInstance): ComponentProps<T>;
1648
1664
 
1649
- export { ComponentProps, DefaultNotImplementedComponent, DefaultNotImplementedComponentProps, HeadingRichTextNode, LinkRichTextNode, ListItemRichTextNode, ListRichTextNode, ParagraphRichTextNode, PersonalizeComponent, QuoteRichTextNode, RenderRichTextComponentResolver, ResolveRenderer, RichTextComponentProps, RichTextRendererComponent, RootRichTextNode, TestComponent, TextRichTextNode, UniformComponent, UniformComponentProps, UniformComposition, UniformCompositionProps, UniformRichText, UniformRichTextNode, UniformRichTextNodeProps, UniformRichTextProps, UniformSlot, UniformSlotProps, UniformText, UniformTextProps, UseCompositionEventEffectOptions, UseUniformContextualEditingProps, convertComponentToProps, globalCompositionEnhancerInjectionKey, useCompositionEventEffect, useUniformContextualEditing, useUniformCurrentComponent, useUniformCurrentComposition };
1665
+ export { ComponentProps, DefaultNotImplementedComponent, DefaultNotImplementedComponentProps, HeadingRichTextNode, LinkRichTextNode, ListItemRichTextNode, ListRichTextNode, ParagraphRichTextNode, PersonalizeComponent, QuoteRichTextNode, RenderRichTextComponentResolver, ResolveRenderer, RichTextComponentProps, RichTextRendererComponent, RootRichTextNode, TestComponent, TextRichTextNode, UniformComponent, UniformComponentProps, UniformComposition, UniformCompositionProps, UniformPlayground, UniformPlaygroundProps, UniformRichText, UniformRichTextNode, UniformRichTextNodeProps, UniformRichTextProps, UniformSlot, UniformSlotProps, UniformText, UniformTextProps, UseCompositionEventEffectOptions, UseUniformContextualEditingProps, convertComponentToProps, globalCompositionEnhancerInjectionKey, useCompositionEventEffect, useUniformContextualEditing, useUniformCurrentComponent, useUniformCurrentComposition };
package/dist/index.d.ts CHANGED
@@ -20,7 +20,7 @@ declare const DefaultNotImplementedComponent: vue_demi.DefineComponent<{
20
20
  type: PropType<ComponentInstance>;
21
21
  required: true;
22
22
  };
23
- }>>, {}>;
23
+ }>>, {}, {}>;
24
24
 
25
25
  interface TestComponent {
26
26
  slots?: {
@@ -115,7 +115,7 @@ declare const UniformText: vue_demi.DefineComponent<{
115
115
  }>>, {
116
116
  as: string | undefined;
117
117
  isMultiline: boolean | undefined;
118
- }>;
118
+ }, {}>;
119
119
 
120
120
  type UniformComponentProps = {
121
121
  /** A dynamic vue component that provides data to the Uniform Canvas SlotContent component via provide/inject */
@@ -411,7 +411,7 @@ declare const UniformComponent: vue_demi.DefineComponent<{
411
411
  };
412
412
  }>>, {
413
413
  behaviorTracking: "onLoad" | "onView" | undefined;
414
- }>;
414
+ }, {}>;
415
415
 
416
416
  type UseUniformContextualEditingProps = {
417
417
  initialCompositionValue?: Ref<RootComponentInstance | undefined>;
@@ -1518,7 +1518,23 @@ declare const UniformComposition: vue_demi.DefineComponent<{
1518
1518
  };
1519
1519
  }>>, {
1520
1520
  behaviorTracking: "onLoad" | "onView" | undefined;
1521
- }>;
1521
+ }, {}>;
1522
+
1523
+ type UniformPlaygroundProps = Pick<UniformCompositionProps, 'resolveRenderer'>;
1524
+ /**
1525
+ * Playground where you can freely live preview your components and pattern.
1526
+ */
1527
+ declare const UniformPlayground: vue_demi.DefineComponent<{
1528
+ resolveRenderer: {
1529
+ type: PropType<ResolveRenderer | undefined>;
1530
+ };
1531
+ }, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
1532
+ [key: string]: any;
1533
+ }>, unknown, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{
1534
+ resolveRenderer: {
1535
+ type: PropType<ResolveRenderer | undefined>;
1536
+ };
1537
+ }>>, {}, {}>;
1522
1538
 
1523
1539
  type RichTextComponentProps<TNode extends RichTextNode = RichTextNode> = {
1524
1540
  node: TNode;
@@ -1570,7 +1586,7 @@ declare const UniformRichText: vue_demi.DefineComponent<{
1570
1586
  type: PropType<RenderRichTextComponentResolver | undefined>;
1571
1587
  required: false;
1572
1588
  };
1573
- }>>, {}>;
1589
+ }>>, {}, {}>;
1574
1590
 
1575
1591
  type UniformRichTextNodeProps = {
1576
1592
  node: RichTextNode;
@@ -1596,7 +1612,7 @@ declare const UniformRichTextNode: vue_demi.DefineComponent<{
1596
1612
  type: PropType<RenderRichTextComponentResolver | undefined>;
1597
1613
  required: false;
1598
1614
  };
1599
- }>>, {}>;
1615
+ }>>, {}, {}>;
1600
1616
 
1601
1617
  type UniformSlotProps = {
1602
1618
  /** Name of the slot to render */
@@ -1626,7 +1642,7 @@ declare const UniformSlot: vue_demi.DefineComponent<{
1626
1642
  resolveRenderer: {
1627
1643
  type: PropType<ResolveRenderer | undefined>;
1628
1644
  };
1629
- }>>, {}>;
1645
+ }>>, {}, {}>;
1630
1646
 
1631
1647
  type UseCompositionEventEffectOptions = Omit<Partial<SubscribeToCompositionOptions>, 'callback' | 'compositionId'> & {
1632
1648
  compositionIdRef: Ref<SubscribeToCompositionOptions['compositionId']>;
@@ -1646,4 +1662,4 @@ declare const globalCompositionEnhancerInjectionKey = "uniformGlobalCompositionE
1646
1662
  */
1647
1663
  declare function convertComponentToProps<T = unknown>(component: ComponentInstance): ComponentProps<T>;
1648
1664
 
1649
- export { ComponentProps, DefaultNotImplementedComponent, DefaultNotImplementedComponentProps, HeadingRichTextNode, LinkRichTextNode, ListItemRichTextNode, ListRichTextNode, ParagraphRichTextNode, PersonalizeComponent, QuoteRichTextNode, RenderRichTextComponentResolver, ResolveRenderer, RichTextComponentProps, RichTextRendererComponent, RootRichTextNode, TestComponent, TextRichTextNode, UniformComponent, UniformComponentProps, UniformComposition, UniformCompositionProps, UniformRichText, UniformRichTextNode, UniformRichTextNodeProps, UniformRichTextProps, UniformSlot, UniformSlotProps, UniformText, UniformTextProps, UseCompositionEventEffectOptions, UseUniformContextualEditingProps, convertComponentToProps, globalCompositionEnhancerInjectionKey, useCompositionEventEffect, useUniformContextualEditing, useUniformCurrentComponent, useUniformCurrentComposition };
1665
+ export { ComponentProps, DefaultNotImplementedComponent, DefaultNotImplementedComponentProps, HeadingRichTextNode, LinkRichTextNode, ListItemRichTextNode, ListRichTextNode, ParagraphRichTextNode, PersonalizeComponent, QuoteRichTextNode, RenderRichTextComponentResolver, ResolveRenderer, RichTextComponentProps, RichTextRendererComponent, RootRichTextNode, TestComponent, TextRichTextNode, UniformComponent, UniformComponentProps, UniformComposition, UniformCompositionProps, UniformPlayground, UniformPlaygroundProps, UniformRichText, UniformRichTextNode, UniformRichTextNodeProps, UniformRichTextProps, UniformSlot, UniformSlotProps, UniformText, UniformTextProps, UseCompositionEventEffectOptions, UseUniformContextualEditingProps, convertComponentToProps, globalCompositionEnhancerInjectionKey, useCompositionEventEffect, useUniformContextualEditing, useUniformCurrentComponent, useUniformCurrentComposition };
package/dist/index.esm.js CHANGED
@@ -384,20 +384,37 @@ var UniformComposition = defineComponent4({
384
384
  );
385
385
  }
386
386
  });
387
+ var UniformComposition_default = UniformComposition;
388
+
389
+ // src/components/UniformPlayground.ts
390
+ import { EMPTY_COMPOSITION as EMPTY_COMPOSITION2 } from "@uniformdev/canvas";
391
+ import { defineComponent as defineComponent5, h as h5 } from "vue-demi";
392
+ var UniformPlayground = defineComponent5({
393
+ name: "UniformPlayground",
394
+ inheritAttrs: false,
395
+ props: {
396
+ resolveRenderer: {
397
+ type: Object
398
+ }
399
+ },
400
+ setup(props) {
401
+ return () => h5(UniformComposition_default, { data: EMPTY_COMPOSITION2, resolveRenderer: props.resolveRenderer });
402
+ }
403
+ });
387
404
 
388
405
  // src/components/UniformRichText/nodes/HeadingRichTextNode.ts
389
- import { h as h5 } from "vue-demi";
406
+ import { h as h6 } from "vue-demi";
390
407
  var HeadingRichTextNode = (props, context) => {
391
408
  const { tag } = props.node;
392
- return h5(tag != null ? tag : "h1", {}, context.slots);
409
+ return h6(tag != null ? tag : "h1", {}, context.slots);
393
410
  };
394
411
 
395
412
  // src/components/UniformRichText/nodes/LinkRichTextNode.ts
396
413
  import { linkParamValueToHref } from "@uniformdev/richtext";
397
- import { h as h6 } from "vue-demi";
414
+ import { h as h7 } from "vue-demi";
398
415
  var LinkRichTextNode = (props, context) => {
399
416
  const { link } = props.node;
400
- return h6(
417
+ return h7(
401
418
  "a",
402
419
  {
403
420
  href: linkParamValueToHref(link)
@@ -407,10 +424,10 @@ var LinkRichTextNode = (props, context) => {
407
424
  };
408
425
 
409
426
  // src/components/UniformRichText/nodes/ListItemRichTextNode.ts
410
- import { h as h7 } from "vue-demi";
427
+ import { h as h8 } from "vue-demi";
411
428
  var ListItemRichTextNode = (props, context) => {
412
429
  const { value } = props.node;
413
- return h7(
430
+ return h8(
414
431
  "li",
415
432
  {
416
433
  value: Number.isFinite(value) && value > 0 ? value : void 0
@@ -420,18 +437,18 @@ var ListItemRichTextNode = (props, context) => {
420
437
  };
421
438
 
422
439
  // src/components/UniformRichText/nodes/ListRichTextNode.ts
423
- import { h as h8 } from "vue-demi";
440
+ import { h as h9 } from "vue-demi";
424
441
  var ListRichTextNode = (props, context) => {
425
442
  const { tag } = props.node;
426
- return h8(tag != null ? tag : "h1", {}, context.slots);
443
+ return h9(tag != null ? tag : "h1", {}, context.slots);
427
444
  };
428
445
 
429
446
  // src/components/UniformRichText/nodes/ParagraphRichTextNode.ts
430
447
  import { isPureDirection, isPureTextAlign } from "@uniformdev/richtext";
431
- import { h as h9 } from "vue-demi";
448
+ import { h as h10 } from "vue-demi";
432
449
  var ParagraphRichTextNode = (props, context) => {
433
450
  const { format, direction } = props.node;
434
- return h9(
451
+ return h10(
435
452
  "p",
436
453
  {
437
454
  dir: isPureDirection(direction) ? direction : void 0,
@@ -442,61 +459,61 @@ var ParagraphRichTextNode = (props, context) => {
442
459
  };
443
460
 
444
461
  // src/components/UniformRichText/nodes/QuoteRichTextNode.ts
445
- import { h as h10 } from "vue-demi";
462
+ import { h as h11 } from "vue-demi";
446
463
  var QuoteRichTextNode = (_, context) => {
447
- return h10("blockquote", {}, context.slots);
464
+ return h11("blockquote", {}, context.slots);
448
465
  };
449
466
 
450
467
  // src/components/UniformRichText/nodes/RootRichTextNode.ts
451
- import { h as h11 } from "vue-demi";
468
+ import { h as h12 } from "vue-demi";
452
469
  var RootRichTextNode = (props, c) => {
453
- return h11(() => c.slots.default ? c.slots.default() : null);
470
+ return h12(() => c.slots.default ? c.slots.default() : null);
454
471
  };
455
472
 
456
473
  // src/components/UniformRichText/nodes/TextRichTextNode.ts
457
474
  import { getRichTextTagsFromTextFormat } from "@uniformdev/richtext";
458
- import { h as h12 } from "vue-demi";
475
+ import { h as h13 } from "vue-demi";
459
476
  var TextRichTextNode = (props) => {
460
477
  const { format, text } = props.node;
461
478
  const tags = getRichTextTagsFromTextFormat(format);
462
479
  return tags.length > 0 ? tags.reduceRight(
463
480
  (children, tag) => {
464
- return h12(tag, null, children);
481
+ return h13(tag, null, children);
465
482
  },
466
483
  {
467
484
  default: () => text
468
485
  }
469
- ) : h12(() => text);
486
+ ) : h13(() => text);
470
487
  };
471
488
 
472
489
  // src/components/UniformRichText/UniformRichText.ts
473
490
  import { isRichTextNode as isRichTextNode2 } from "@uniformdev/richtext";
474
- import { computed as computed4, defineComponent as defineComponent6, h as h17 } from "vue-demi";
491
+ import { computed as computed4, defineComponent as defineComponent7, h as h18 } from "vue-demi";
475
492
 
476
493
  // src/components/UniformRichText/UniformRichTextNode.ts
477
494
  import { isRichTextNode } from "@uniformdev/richtext";
478
- import { defineComponent as defineComponent5, h as h16 } from "vue-demi";
495
+ import { defineComponent as defineComponent6, h as h17 } from "vue-demi";
479
496
 
480
497
  // src/components/UniformRichText/nodes/CodeRichTextNode.ts
481
- import { h as h13 } from "vue-demi";
498
+ import { h as h14 } from "vue-demi";
482
499
  var CodeRichTextNode = (_, context) => {
483
- return h13("pre", {}, h13("code", {}, context.slots));
500
+ return h14("pre", {}, h14("code", {}, context.slots));
484
501
  };
485
502
 
486
503
  // src/components/UniformRichText/nodes/LinebreakRichTextNode.ts
487
- import { h as h14 } from "vue-demi";
504
+ import { h as h15 } from "vue-demi";
488
505
  var LinebreakRichTextNode = () => {
489
- return h14("br", {});
506
+ return h15("br", {});
490
507
  };
491
508
 
492
509
  // src/components/UniformRichText/nodes/TabRichTextNode.ts
493
- import { h as h15 } from "vue-demi";
510
+ import { h as h16 } from "vue-demi";
494
511
  var TabRichTextNode = () => {
495
- return h15("", {}, " ");
512
+ return h16("", {}, " ");
496
513
  };
497
514
 
498
515
  // src/components/UniformRichText/UniformRichTextNode.ts
499
- var UniformRichTextNode = defineComponent5({
516
+ var UniformRichTextNode = defineComponent6({
500
517
  name: "UniformRichTextNode",
501
518
  props: {
502
519
  node: {
@@ -521,13 +538,13 @@ var UniformRichTextNode = defineComponent5({
521
538
  return () => null;
522
539
  }
523
540
  const children = node.children ? node.children.map(
524
- (childNode) => h16(
541
+ (childNode) => h17(
525
542
  UniformRichTextNode,
526
543
  { node: childNode, resolveRichTextRenderer: props.resolveRichTextRenderer },
527
544
  context.slots
528
545
  )
529
546
  ) : [];
530
- return () => h16(NodeRenderer, { node, children: h16(() => children) }, () => children);
547
+ return () => h17(NodeRenderer, { node, children: h17(() => children) }, () => children);
531
548
  }
532
549
  });
533
550
  var rendererMap = /* @__PURE__ */ new Map([
@@ -548,7 +565,7 @@ var resolveRichTextDefaultRenderer = (node) => {
548
565
  };
549
566
 
550
567
  // src/components/UniformRichText/UniformRichText.ts
551
- var UniformRichText = defineComponent6({
568
+ var UniformRichText = defineComponent7({
552
569
  name: "UniformRichText",
553
570
  props: {
554
571
  parameterId: {
@@ -570,7 +587,7 @@ var UniformRichText = defineComponent6({
570
587
  });
571
588
  const root = (_a = value.value) == null ? void 0 : _a.root;
572
589
  if (isRichTextNode2(root)) {
573
- return () => h17(
590
+ return () => h18(
574
591
  UniformRichTextNode,
575
592
  {
576
593
  node: root,
@@ -594,7 +611,7 @@ import {
594
611
  mapSlotToTestVariations
595
612
  } from "@uniformdev/canvas";
596
613
  import { Personalize, Test } from "@uniformdev/context-vue";
597
- import { computed as computed5, defineComponent as defineComponent7, h as h18 } from "vue-demi";
614
+ import { computed as computed5, defineComponent as defineComponent8, h as h19 } from "vue-demi";
598
615
 
599
616
  // src/helpers/convertComponentToProps.ts
600
617
  function convertComponentToProps(component) {
@@ -619,7 +636,7 @@ function normalizePropName(name) {
619
636
  }
620
637
 
621
638
  // src/components/UniformSlot.ts
622
- var UniformSlot = defineComponent7({
639
+ var UniformSlot = defineComponent8({
623
640
  name: "UniformSlot",
624
641
  inheritAttrs: false,
625
642
  props: {
@@ -665,7 +682,7 @@ function renderPersonalizeComponent(component, resolveRenderer) {
665
682
  const parameters = component == null ? void 0 : component.parameters;
666
683
  const processedVariants = mapSlotToPersonalizedVariations((_a = component.slots) == null ? void 0 : _a.pz);
667
684
  const name = (_d = (_c = (_b = component.parameters) == null ? void 0 : _b.trackingEventName) == null ? void 0 : _c.value) != null ? _d : "Untitled Personalization";
668
- return h18(Personalize, {
685
+ return h19(Personalize, {
669
686
  name,
670
687
  // TODO: Fix the `as unknown`
671
688
  component: (variant) => resolveRenderer(variant),
@@ -678,7 +695,7 @@ function renderTestComponent(component, resolveRenderer) {
678
695
  const variants = (_b = (_a = component == null ? void 0 : component.slots) == null ? void 0 : _a.test) != null ? _b : [];
679
696
  const testName = (_e = (_d = (_c = component == null ? void 0 : component.parameters) == null ? void 0 : _c.test) == null ? void 0 : _d.value) != null ? _e : "Untitled Test";
680
697
  const finalVariants = mapSlotToTestVariations(variants);
681
- return h18(Test, {
698
+ return h19(Test, {
682
699
  variations: finalVariants,
683
700
  name: testName,
684
701
  component: (variant) => resolveRenderer(variant)
@@ -732,13 +749,13 @@ function renderComponent({
732
749
  const resolvedComponent = resolveRenderer == null ? void 0 : resolveRenderer(component);
733
750
  if (resolvedComponent) {
734
751
  const props = convertComponentToProps(component);
735
- return h18(
752
+ return h19(
736
753
  UniformComponent,
737
754
  { data: component, resolveRenderer },
738
- () => h18(
755
+ () => h19(
739
756
  ContextualEditingComponentWrapper,
740
757
  { component, parentComponent, slotName, indexInSlot, slotChildrenCount },
741
- { default: () => h18(resolvedComponent, props), emptyPlaceholder }
758
+ { default: () => h19(resolvedComponent, props), emptyPlaceholder }
742
759
  )
743
760
  );
744
761
  }
@@ -746,7 +763,7 @@ function renderComponent({
746
763
  `[canvas] found component of type '${component.type}' which the 'resolveRenderer' prop returned no component for. Nothing will be rendered. The resolveRenderer function may need to be extended to handle the new type.`,
747
764
  component
748
765
  );
749
- return h18("");
766
+ return h19("");
750
767
  }
751
768
 
752
769
  // src/components/UniformText.ts
@@ -755,9 +772,9 @@ import {
755
772
  ATTRIBUTE_PARAMETER_VALUE,
756
773
  ATTRIBUTE_PLACEHOLDER
757
774
  } from "@uniformdev/canvas";
758
- import { computed as computed6, defineComponent as defineComponent8, h as h19, ref as ref2 } from "vue-demi";
775
+ import { computed as computed6, defineComponent as defineComponent9, h as h20, ref as ref2 } from "vue-demi";
759
776
  var DEFAULT_ELEMENT_TYPE = "span";
760
- var UniformText = defineComponent8({
777
+ var UniformText = defineComponent9({
761
778
  name: "UniformText",
762
779
  inheritAttrs: true,
763
780
  props: {
@@ -809,7 +826,7 @@ var UniformText = defineComponent8({
809
826
  if (!isContextualEditing) {
810
827
  return () => {
811
828
  var _a2, _b, _c, _d;
812
- return h19(
829
+ return h20(
813
830
  (_a2 = props.as) != null ? _a2 : DEFAULT_ELEMENT_TYPE,
814
831
  { style: props.isMultiline ? { whiteSpace: "pre-wrap" } : {} },
815
832
  (_d = (_c = (_b = context.slots).default) == null ? void 0 : _c.call(_b, value.value)) != null ? _d : value.value
@@ -820,7 +837,7 @@ var UniformText = defineComponent8({
820
837
  const computedPlaceholder = typeof placeholderProp === "function" ? placeholderProp({ id: props.parameterId }) : placeholderProp;
821
838
  return () => {
822
839
  var _a2, _b, _c, _d, _e;
823
- return h19(
840
+ return h20(
824
841
  (_a2 = props.as) != null ? _a2 : DEFAULT_ELEMENT_TYPE,
825
842
  {
826
843
  ...getParameterAttributes({
@@ -892,6 +909,7 @@ export {
892
909
  TextRichTextNode,
893
910
  UniformComponent,
894
911
  UniformComposition,
912
+ UniformPlayground,
895
913
  UniformRichText,
896
914
  UniformRichTextNode,
897
915
  UniformSlot,
package/dist/index.js CHANGED
@@ -31,13 +31,14 @@ __export(src_exports, {
31
31
  TextRichTextNode: () => TextRichTextNode,
32
32
  UniformComponent: () => UniformComponent,
33
33
  UniformComposition: () => UniformComposition,
34
+ UniformPlayground: () => UniformPlayground,
34
35
  UniformRichText: () => UniformRichText,
35
36
  UniformRichTextNode: () => UniformRichTextNode,
36
37
  UniformSlot: () => UniformSlot,
37
38
  UniformText: () => UniformText,
38
39
  convertComponentToProps: () => convertComponentToProps,
39
40
  createUniformApiEnhancer: () => import_canvas3.createUniformApiEnhancer,
40
- getParameterAttributes: () => import_canvas8.getParameterAttributes,
41
+ getParameterAttributes: () => import_canvas9.getParameterAttributes,
41
42
  globalCompositionEnhancerInjectionKey: () => globalCompositionEnhancerInjectionKey,
42
43
  useCompositionEventEffect: () => useCompositionEventEffect,
43
44
  useUniformContextualEditing: () => useUniformContextualEditing,
@@ -404,20 +405,37 @@ var UniformComposition = (0, import_vue_demi5.defineComponent)({
404
405
  );
405
406
  }
406
407
  });
408
+ var UniformComposition_default = UniformComposition;
407
409
 
408
- // src/components/UniformRichText/nodes/HeadingRichTextNode.ts
410
+ // src/components/UniformPlayground.ts
411
+ var import_canvas5 = require("@uniformdev/canvas");
409
412
  var import_vue_demi6 = require("vue-demi");
413
+ var UniformPlayground = (0, import_vue_demi6.defineComponent)({
414
+ name: "UniformPlayground",
415
+ inheritAttrs: false,
416
+ props: {
417
+ resolveRenderer: {
418
+ type: Object
419
+ }
420
+ },
421
+ setup(props) {
422
+ return () => (0, import_vue_demi6.h)(UniformComposition_default, { data: import_canvas5.EMPTY_COMPOSITION, resolveRenderer: props.resolveRenderer });
423
+ }
424
+ });
425
+
426
+ // src/components/UniformRichText/nodes/HeadingRichTextNode.ts
427
+ var import_vue_demi7 = require("vue-demi");
410
428
  var HeadingRichTextNode = (props, context) => {
411
429
  const { tag } = props.node;
412
- return (0, import_vue_demi6.h)(tag != null ? tag : "h1", {}, context.slots);
430
+ return (0, import_vue_demi7.h)(tag != null ? tag : "h1", {}, context.slots);
413
431
  };
414
432
 
415
433
  // src/components/UniformRichText/nodes/LinkRichTextNode.ts
416
434
  var import_richtext = require("@uniformdev/richtext");
417
- var import_vue_demi7 = require("vue-demi");
435
+ var import_vue_demi8 = require("vue-demi");
418
436
  var LinkRichTextNode = (props, context) => {
419
437
  const { link } = props.node;
420
- return (0, import_vue_demi7.h)(
438
+ return (0, import_vue_demi8.h)(
421
439
  "a",
422
440
  {
423
441
  href: (0, import_richtext.linkParamValueToHref)(link)
@@ -427,10 +445,10 @@ var LinkRichTextNode = (props, context) => {
427
445
  };
428
446
 
429
447
  // src/components/UniformRichText/nodes/ListItemRichTextNode.ts
430
- var import_vue_demi8 = require("vue-demi");
448
+ var import_vue_demi9 = require("vue-demi");
431
449
  var ListItemRichTextNode = (props, context) => {
432
450
  const { value } = props.node;
433
- return (0, import_vue_demi8.h)(
451
+ return (0, import_vue_demi9.h)(
434
452
  "li",
435
453
  {
436
454
  value: Number.isFinite(value) && value > 0 ? value : void 0
@@ -440,18 +458,18 @@ var ListItemRichTextNode = (props, context) => {
440
458
  };
441
459
 
442
460
  // src/components/UniformRichText/nodes/ListRichTextNode.ts
443
- var import_vue_demi9 = require("vue-demi");
461
+ var import_vue_demi10 = require("vue-demi");
444
462
  var ListRichTextNode = (props, context) => {
445
463
  const { tag } = props.node;
446
- return (0, import_vue_demi9.h)(tag != null ? tag : "h1", {}, context.slots);
464
+ return (0, import_vue_demi10.h)(tag != null ? tag : "h1", {}, context.slots);
447
465
  };
448
466
 
449
467
  // src/components/UniformRichText/nodes/ParagraphRichTextNode.ts
450
468
  var import_richtext2 = require("@uniformdev/richtext");
451
- var import_vue_demi10 = require("vue-demi");
469
+ var import_vue_demi11 = require("vue-demi");
452
470
  var ParagraphRichTextNode = (props, context) => {
453
471
  const { format, direction } = props.node;
454
- return (0, import_vue_demi10.h)(
472
+ return (0, import_vue_demi11.h)(
455
473
  "p",
456
474
  {
457
475
  dir: (0, import_richtext2.isPureDirection)(direction) ? direction : void 0,
@@ -462,61 +480,61 @@ var ParagraphRichTextNode = (props, context) => {
462
480
  };
463
481
 
464
482
  // src/components/UniformRichText/nodes/QuoteRichTextNode.ts
465
- var import_vue_demi11 = require("vue-demi");
483
+ var import_vue_demi12 = require("vue-demi");
466
484
  var QuoteRichTextNode = (_, context) => {
467
- return (0, import_vue_demi11.h)("blockquote", {}, context.slots);
485
+ return (0, import_vue_demi12.h)("blockquote", {}, context.slots);
468
486
  };
469
487
 
470
488
  // src/components/UniformRichText/nodes/RootRichTextNode.ts
471
- var import_vue_demi12 = require("vue-demi");
489
+ var import_vue_demi13 = require("vue-demi");
472
490
  var RootRichTextNode = (props, c) => {
473
- return (0, import_vue_demi12.h)(() => c.slots.default ? c.slots.default() : null);
491
+ return (0, import_vue_demi13.h)(() => c.slots.default ? c.slots.default() : null);
474
492
  };
475
493
 
476
494
  // src/components/UniformRichText/nodes/TextRichTextNode.ts
477
495
  var import_richtext3 = require("@uniformdev/richtext");
478
- var import_vue_demi13 = require("vue-demi");
496
+ var import_vue_demi14 = require("vue-demi");
479
497
  var TextRichTextNode = (props) => {
480
498
  const { format, text } = props.node;
481
499
  const tags = (0, import_richtext3.getRichTextTagsFromTextFormat)(format);
482
500
  return tags.length > 0 ? tags.reduceRight(
483
501
  (children, tag) => {
484
- return (0, import_vue_demi13.h)(tag, null, children);
502
+ return (0, import_vue_demi14.h)(tag, null, children);
485
503
  },
486
504
  {
487
505
  default: () => text
488
506
  }
489
- ) : (0, import_vue_demi13.h)(() => text);
507
+ ) : (0, import_vue_demi14.h)(() => text);
490
508
  };
491
509
 
492
510
  // src/components/UniformRichText/UniformRichText.ts
493
511
  var import_richtext5 = require("@uniformdev/richtext");
494
- var import_vue_demi18 = require("vue-demi");
512
+ var import_vue_demi19 = require("vue-demi");
495
513
 
496
514
  // src/components/UniformRichText/UniformRichTextNode.ts
497
515
  var import_richtext4 = require("@uniformdev/richtext");
498
- var import_vue_demi17 = require("vue-demi");
516
+ var import_vue_demi18 = require("vue-demi");
499
517
 
500
518
  // src/components/UniformRichText/nodes/CodeRichTextNode.ts
501
- var import_vue_demi14 = require("vue-demi");
519
+ var import_vue_demi15 = require("vue-demi");
502
520
  var CodeRichTextNode = (_, context) => {
503
- return (0, import_vue_demi14.h)("pre", {}, (0, import_vue_demi14.h)("code", {}, context.slots));
521
+ return (0, import_vue_demi15.h)("pre", {}, (0, import_vue_demi15.h)("code", {}, context.slots));
504
522
  };
505
523
 
506
524
  // src/components/UniformRichText/nodes/LinebreakRichTextNode.ts
507
- var import_vue_demi15 = require("vue-demi");
525
+ var import_vue_demi16 = require("vue-demi");
508
526
  var LinebreakRichTextNode = () => {
509
- return (0, import_vue_demi15.h)("br", {});
527
+ return (0, import_vue_demi16.h)("br", {});
510
528
  };
511
529
 
512
530
  // src/components/UniformRichText/nodes/TabRichTextNode.ts
513
- var import_vue_demi16 = require("vue-demi");
531
+ var import_vue_demi17 = require("vue-demi");
514
532
  var TabRichTextNode = () => {
515
- return (0, import_vue_demi16.h)("", {}, " ");
533
+ return (0, import_vue_demi17.h)("", {}, " ");
516
534
  };
517
535
 
518
536
  // src/components/UniformRichText/UniformRichTextNode.ts
519
- var UniformRichTextNode = (0, import_vue_demi17.defineComponent)({
537
+ var UniformRichTextNode = (0, import_vue_demi18.defineComponent)({
520
538
  name: "UniformRichTextNode",
521
539
  props: {
522
540
  node: {
@@ -541,13 +559,13 @@ var UniformRichTextNode = (0, import_vue_demi17.defineComponent)({
541
559
  return () => null;
542
560
  }
543
561
  const children = node.children ? node.children.map(
544
- (childNode) => (0, import_vue_demi17.h)(
562
+ (childNode) => (0, import_vue_demi18.h)(
545
563
  UniformRichTextNode,
546
564
  { node: childNode, resolveRichTextRenderer: props.resolveRichTextRenderer },
547
565
  context.slots
548
566
  )
549
567
  ) : [];
550
- return () => (0, import_vue_demi17.h)(NodeRenderer, { node, children: (0, import_vue_demi17.h)(() => children) }, () => children);
568
+ return () => (0, import_vue_demi18.h)(NodeRenderer, { node, children: (0, import_vue_demi18.h)(() => children) }, () => children);
551
569
  }
552
570
  });
553
571
  var rendererMap = /* @__PURE__ */ new Map([
@@ -568,7 +586,7 @@ var resolveRichTextDefaultRenderer = (node) => {
568
586
  };
569
587
 
570
588
  // src/components/UniformRichText/UniformRichText.ts
571
- var UniformRichText = (0, import_vue_demi18.defineComponent)({
589
+ var UniformRichText = (0, import_vue_demi19.defineComponent)({
572
590
  name: "UniformRichText",
573
591
  props: {
574
592
  parameterId: {
@@ -583,14 +601,14 @@ var UniformRichText = (0, import_vue_demi18.defineComponent)({
583
601
  setup(props, context) {
584
602
  var _a;
585
603
  const { data: componentData } = useUniformCurrentComponent();
586
- const value = (0, import_vue_demi18.computed)(() => {
604
+ const value = (0, import_vue_demi19.computed)(() => {
587
605
  var _a2;
588
606
  const parameter = (_a2 = componentData == null ? void 0 : componentData.parameters) == null ? void 0 : _a2[props.parameterId];
589
607
  return parameter == null ? void 0 : parameter.value;
590
608
  });
591
609
  const root = (_a = value.value) == null ? void 0 : _a.root;
592
610
  if ((0, import_richtext5.isRichTextNode)(root)) {
593
- return () => (0, import_vue_demi18.h)(
611
+ return () => (0, import_vue_demi19.h)(
594
612
  UniformRichTextNode,
595
613
  {
596
614
  node: root,
@@ -605,9 +623,9 @@ var UniformRichText = (0, import_vue_demi18.defineComponent)({
605
623
  });
606
624
 
607
625
  // src/components/UniformSlot.ts
608
- var import_canvas5 = require("@uniformdev/canvas");
626
+ var import_canvas6 = require("@uniformdev/canvas");
609
627
  var import_context_vue2 = require("@uniformdev/context-vue");
610
- var import_vue_demi19 = require("vue-demi");
628
+ var import_vue_demi20 = require("vue-demi");
611
629
 
612
630
  // src/helpers/convertComponentToProps.ts
613
631
  function convertComponentToProps(component) {
@@ -632,7 +650,7 @@ function normalizePropName(name) {
632
650
  }
633
651
 
634
652
  // src/components/UniformSlot.ts
635
- var UniformSlot = (0, import_vue_demi19.defineComponent)({
653
+ var UniformSlot = (0, import_vue_demi20.defineComponent)({
636
654
  name: "UniformSlot",
637
655
  inheritAttrs: false,
638
656
  props: {
@@ -651,7 +669,7 @@ var UniformSlot = (0, import_vue_demi19.defineComponent)({
651
669
  if (!parentData || !resolveRenderer) {
652
670
  throw new Error("<UniformSlot /> can only be used inside a <UniformComposition />");
653
671
  }
654
- const slotItems = (0, import_vue_demi19.computed)(() => {
672
+ const slotItems = (0, import_vue_demi20.computed)(() => {
655
673
  var _a2, _b, _c;
656
674
  if (props.name) {
657
675
  return (_b = (_a2 = parentData.slots) == null ? void 0 : _a2[props.name]) != null ? _b : [];
@@ -676,9 +694,9 @@ var UniformSlot = (0, import_vue_demi19.defineComponent)({
676
694
  function renderPersonalizeComponent(component, resolveRenderer) {
677
695
  var _a, _b, _c, _d, _e, _f;
678
696
  const parameters = component == null ? void 0 : component.parameters;
679
- const processedVariants = (0, import_canvas5.mapSlotToPersonalizedVariations)((_a = component.slots) == null ? void 0 : _a.pz);
697
+ const processedVariants = (0, import_canvas6.mapSlotToPersonalizedVariations)((_a = component.slots) == null ? void 0 : _a.pz);
680
698
  const name = (_d = (_c = (_b = component.parameters) == null ? void 0 : _b.trackingEventName) == null ? void 0 : _c.value) != null ? _d : "Untitled Personalization";
681
- return (0, import_vue_demi19.h)(import_context_vue2.Personalize, {
699
+ return (0, import_vue_demi20.h)(import_context_vue2.Personalize, {
682
700
  name,
683
701
  // TODO: Fix the `as unknown`
684
702
  component: (variant) => resolveRenderer(variant),
@@ -690,8 +708,8 @@ function renderTestComponent(component, resolveRenderer) {
690
708
  var _a, _b, _c, _d, _e;
691
709
  const variants = (_b = (_a = component == null ? void 0 : component.slots) == null ? void 0 : _a.test) != null ? _b : [];
692
710
  const testName = (_e = (_d = (_c = component == null ? void 0 : component.parameters) == null ? void 0 : _c.test) == null ? void 0 : _d.value) != null ? _e : "Untitled Test";
693
- const finalVariants = (0, import_canvas5.mapSlotToTestVariations)(variants);
694
- return (0, import_vue_demi19.h)(import_context_vue2.Test, {
711
+ const finalVariants = (0, import_canvas6.mapSlotToTestVariations)(variants);
712
+ return (0, import_vue_demi20.h)(import_context_vue2.Test, {
695
713
  variations: finalVariants,
696
714
  name: testName,
697
715
  component: (variant) => resolveRenderer(variant)
@@ -706,7 +724,7 @@ function renderComponent({
706
724
  slotChildrenCount,
707
725
  emptyPlaceholder
708
726
  }) {
709
- if (component.type === import_canvas5.CANVAS_TEST_TYPE) {
727
+ if (component.type === import_canvas6.CANVAS_TEST_TYPE) {
710
728
  return renderTestComponent(
711
729
  component,
712
730
  (variantComponent) => {
@@ -715,16 +733,16 @@ function renderComponent({
715
733
  component: variantComponent,
716
734
  resolveRenderer,
717
735
  parentComponent: component,
718
- slotName: import_canvas5.CANVAS_TEST_SLOT,
719
- slotChildrenCount: (_a = component == null ? void 0 : component.slots) == null ? void 0 : _a[import_canvas5.CANVAS_TEST_SLOT].length,
720
- indexInSlot: (_b = component == null ? void 0 : component.slots) == null ? void 0 : _b[import_canvas5.CANVAS_TEST_SLOT].findIndex(
736
+ slotName: import_canvas6.CANVAS_TEST_SLOT,
737
+ slotChildrenCount: (_a = component == null ? void 0 : component.slots) == null ? void 0 : _a[import_canvas6.CANVAS_TEST_SLOT].length,
738
+ indexInSlot: (_b = component == null ? void 0 : component.slots) == null ? void 0 : _b[import_canvas6.CANVAS_TEST_SLOT].findIndex(
721
739
  ({ _id }) => variantComponent._id === _id
722
740
  )
723
741
  });
724
742
  }
725
743
  );
726
744
  }
727
- if (component.type === import_canvas5.CANVAS_PERSONALIZE_TYPE) {
745
+ if (component.type === import_canvas6.CANVAS_PERSONALIZE_TYPE) {
728
746
  return renderPersonalizeComponent(
729
747
  component,
730
748
  (variantComponent) => {
@@ -733,9 +751,9 @@ function renderComponent({
733
751
  component: variantComponent,
734
752
  resolveRenderer,
735
753
  parentComponent: component,
736
- slotName: import_canvas5.CANVAS_PERSONALIZE_SLOT,
737
- slotChildrenCount: (_a = component == null ? void 0 : component.slots) == null ? void 0 : _a[import_canvas5.CANVAS_PERSONALIZE_SLOT].length,
738
- indexInSlot: (_b = component == null ? void 0 : component.slots) == null ? void 0 : _b[import_canvas5.CANVAS_PERSONALIZE_SLOT].findIndex(
754
+ slotName: import_canvas6.CANVAS_PERSONALIZE_SLOT,
755
+ slotChildrenCount: (_a = component == null ? void 0 : component.slots) == null ? void 0 : _a[import_canvas6.CANVAS_PERSONALIZE_SLOT].length,
756
+ indexInSlot: (_b = component == null ? void 0 : component.slots) == null ? void 0 : _b[import_canvas6.CANVAS_PERSONALIZE_SLOT].findIndex(
739
757
  ({ _id }) => variantComponent._id === _id
740
758
  )
741
759
  });
@@ -745,13 +763,13 @@ function renderComponent({
745
763
  const resolvedComponent = resolveRenderer == null ? void 0 : resolveRenderer(component);
746
764
  if (resolvedComponent) {
747
765
  const props = convertComponentToProps(component);
748
- return (0, import_vue_demi19.h)(
766
+ return (0, import_vue_demi20.h)(
749
767
  UniformComponent,
750
768
  { data: component, resolveRenderer },
751
- () => (0, import_vue_demi19.h)(
769
+ () => (0, import_vue_demi20.h)(
752
770
  ContextualEditingComponentWrapper,
753
771
  { component, parentComponent, slotName, indexInSlot, slotChildrenCount },
754
- { default: () => (0, import_vue_demi19.h)(resolvedComponent, props), emptyPlaceholder }
772
+ { default: () => (0, import_vue_demi20.h)(resolvedComponent, props), emptyPlaceholder }
755
773
  )
756
774
  );
757
775
  }
@@ -759,14 +777,14 @@ function renderComponent({
759
777
  `[canvas] found component of type '${component.type}' which the 'resolveRenderer' prop returned no component for. Nothing will be rendered. The resolveRenderer function may need to be extended to handle the new type.`,
760
778
  component
761
779
  );
762
- return (0, import_vue_demi19.h)("");
780
+ return (0, import_vue_demi20.h)("");
763
781
  }
764
782
 
765
783
  // src/components/UniformText.ts
766
- var import_canvas6 = require("@uniformdev/canvas");
767
- var import_vue_demi20 = require("vue-demi");
784
+ var import_canvas7 = require("@uniformdev/canvas");
785
+ var import_vue_demi21 = require("vue-demi");
768
786
  var DEFAULT_ELEMENT_TYPE = "span";
769
- var UniformText = (0, import_vue_demi20.defineComponent)({
787
+ var UniformText = (0, import_vue_demi21.defineComponent)({
770
788
  name: "UniformText",
771
789
  inheritAttrs: true,
772
790
  props: {
@@ -790,22 +808,22 @@ var UniformText = (0, import_vue_demi20.defineComponent)({
790
808
  var _a;
791
809
  const { data: componentData, contextualEditingDefaultPlaceholder } = useUniformCurrentComponent();
792
810
  const { isContextualEditing } = useUniformCurrentComposition();
793
- const isFocused = (0, import_vue_demi20.ref)(false);
794
- const parameter = (0, import_vue_demi20.computed)(
811
+ const isFocused = (0, import_vue_demi21.ref)(false);
812
+ const parameter = (0, import_vue_demi21.computed)(
795
813
  () => {
796
814
  var _a2;
797
815
  return (_a2 = componentData == null ? void 0 : componentData.parameters) == null ? void 0 : _a2[props.parameterId];
798
816
  }
799
817
  );
800
- const value = (0, import_vue_demi20.computed)(() => {
818
+ const value = (0, import_vue_demi21.computed)(() => {
801
819
  var _a2;
802
820
  return (_a2 = parameter.value) == null ? void 0 : _a2.value;
803
821
  });
804
- const isEditable = (0, import_vue_demi20.computed)(() => {
822
+ const isEditable = (0, import_vue_demi21.computed)(() => {
805
823
  var _a2, _b, _c;
806
824
  return (_c = (_b = (_a2 = parameter.value) == null ? void 0 : _a2._contextualEditing) == null ? void 0 : _b.isEditable) != null ? _c : false;
807
825
  });
808
- const shouldSkipCustomRendering = (0, import_vue_demi20.computed)(() => isFocused.value && isEditable.value);
826
+ const shouldSkipCustomRendering = (0, import_vue_demi21.computed)(() => isFocused.value && isEditable.value);
809
827
  const handleOnFocus = () => {
810
828
  isFocused.value = true;
811
829
  };
@@ -818,7 +836,7 @@ var UniformText = (0, import_vue_demi20.defineComponent)({
818
836
  if (!isContextualEditing) {
819
837
  return () => {
820
838
  var _a2, _b, _c, _d;
821
- return (0, import_vue_demi20.h)(
839
+ return (0, import_vue_demi21.h)(
822
840
  (_a2 = props.as) != null ? _a2 : DEFAULT_ELEMENT_TYPE,
823
841
  { style: props.isMultiline ? { whiteSpace: "pre-wrap" } : {} },
824
842
  (_d = (_c = (_b = context.slots).default) == null ? void 0 : _c.call(_b, value.value)) != null ? _d : value.value
@@ -829,17 +847,17 @@ var UniformText = (0, import_vue_demi20.defineComponent)({
829
847
  const computedPlaceholder = typeof placeholderProp === "function" ? placeholderProp({ id: props.parameterId }) : placeholderProp;
830
848
  return () => {
831
849
  var _a2, _b, _c, _d, _e;
832
- return (0, import_vue_demi20.h)(
850
+ return (0, import_vue_demi21.h)(
833
851
  (_a2 = props.as) != null ? _a2 : DEFAULT_ELEMENT_TYPE,
834
852
  {
835
- ...(0, import_canvas8.getParameterAttributes)({
853
+ ...(0, import_canvas9.getParameterAttributes)({
836
854
  component: componentData,
837
855
  id: props.parameterId,
838
856
  isMultiline: props.isMultiline
839
857
  }),
840
- [import_canvas6.ATTRIBUTE_PARAMETER_VALUE]: (_b = value.value) != null ? _b : "",
841
- [import_canvas6.ATTRIBUTE_PARAMETER_TYPE]: "text",
842
- [import_canvas6.ATTRIBUTE_PLACEHOLDER]: computedPlaceholder,
858
+ [import_canvas7.ATTRIBUTE_PARAMETER_VALUE]: (_b = value.value) != null ? _b : "",
859
+ [import_canvas7.ATTRIBUTE_PARAMETER_TYPE]: "text",
860
+ [import_canvas7.ATTRIBUTE_PLACEHOLDER]: computedPlaceholder,
843
861
  style: props.isMultiline ? { whiteSpace: "pre-wrap" } : {},
844
862
  onFocus: handleOnFocus,
845
863
  onBlur: handleOnBlur
@@ -851,8 +869,8 @@ var UniformText = (0, import_vue_demi20.defineComponent)({
851
869
  });
852
870
 
853
871
  // src/composables/useCompositionEventEffect.ts
854
- var import_canvas7 = require("@uniformdev/canvas");
855
- var import_vue_demi21 = require("vue-demi");
872
+ var import_canvas8 = require("@uniformdev/canvas");
873
+ var import_vue_demi22 = require("vue-demi");
856
874
  async function useCompositionEventEffect({
857
875
  enabled,
858
876
  projectId,
@@ -860,19 +878,19 @@ async function useCompositionEventEffect({
860
878
  effect
861
879
  }) {
862
880
  let unsubscribe;
863
- (0, import_vue_demi21.watch)(
881
+ (0, import_vue_demi22.watch)(
864
882
  [() => enabled, () => compositionIdRef.value, () => projectId],
865
883
  async () => {
866
884
  unsubscribe == null ? void 0 : unsubscribe();
867
885
  if (!enabled || !compositionIdRef.value || !projectId) {
868
886
  return;
869
887
  }
870
- const eventBus = await (0, import_canvas7.createEventBus)();
888
+ const eventBus = await (0, import_canvas8.createEventBus)();
871
889
  if (eventBus) {
872
- unsubscribe = (0, import_canvas7.subscribeToComposition)({
890
+ unsubscribe = (0, import_canvas8.subscribeToComposition)({
873
891
  eventBus,
874
892
  compositionId: compositionIdRef.value,
875
- compositionState: import_canvas7.CANVAS_DRAFT_STATE,
893
+ compositionState: import_canvas8.CANVAS_DRAFT_STATE,
876
894
  projectId,
877
895
  callback: effect,
878
896
  event: "updated"
@@ -884,7 +902,7 @@ async function useCompositionEventEffect({
884
902
  }
885
903
 
886
904
  // src/helpers/getParameterAttributes.ts
887
- var import_canvas8 = require("@uniformdev/canvas");
905
+ var import_canvas9 = require("@uniformdev/canvas");
888
906
  // Annotate the CommonJS export names for ESM import in node:
889
907
  0 && (module.exports = {
890
908
  DefaultNotImplementedComponent,
@@ -898,6 +916,7 @@ var import_canvas8 = require("@uniformdev/canvas");
898
916
  TextRichTextNode,
899
917
  UniformComponent,
900
918
  UniformComposition,
919
+ UniformPlayground,
901
920
  UniformRichText,
902
921
  UniformRichTextNode,
903
922
  UniformSlot,
package/dist/index.mjs CHANGED
@@ -384,20 +384,37 @@ var UniformComposition = defineComponent4({
384
384
  );
385
385
  }
386
386
  });
387
+ var UniformComposition_default = UniformComposition;
388
+
389
+ // src/components/UniformPlayground.ts
390
+ import { EMPTY_COMPOSITION as EMPTY_COMPOSITION2 } from "@uniformdev/canvas";
391
+ import { defineComponent as defineComponent5, h as h5 } from "vue-demi";
392
+ var UniformPlayground = defineComponent5({
393
+ name: "UniformPlayground",
394
+ inheritAttrs: false,
395
+ props: {
396
+ resolveRenderer: {
397
+ type: Object
398
+ }
399
+ },
400
+ setup(props) {
401
+ return () => h5(UniformComposition_default, { data: EMPTY_COMPOSITION2, resolveRenderer: props.resolveRenderer });
402
+ }
403
+ });
387
404
 
388
405
  // src/components/UniformRichText/nodes/HeadingRichTextNode.ts
389
- import { h as h5 } from "vue-demi";
406
+ import { h as h6 } from "vue-demi";
390
407
  var HeadingRichTextNode = (props, context) => {
391
408
  const { tag } = props.node;
392
- return h5(tag != null ? tag : "h1", {}, context.slots);
409
+ return h6(tag != null ? tag : "h1", {}, context.slots);
393
410
  };
394
411
 
395
412
  // src/components/UniformRichText/nodes/LinkRichTextNode.ts
396
413
  import { linkParamValueToHref } from "@uniformdev/richtext";
397
- import { h as h6 } from "vue-demi";
414
+ import { h as h7 } from "vue-demi";
398
415
  var LinkRichTextNode = (props, context) => {
399
416
  const { link } = props.node;
400
- return h6(
417
+ return h7(
401
418
  "a",
402
419
  {
403
420
  href: linkParamValueToHref(link)
@@ -407,10 +424,10 @@ var LinkRichTextNode = (props, context) => {
407
424
  };
408
425
 
409
426
  // src/components/UniformRichText/nodes/ListItemRichTextNode.ts
410
- import { h as h7 } from "vue-demi";
427
+ import { h as h8 } from "vue-demi";
411
428
  var ListItemRichTextNode = (props, context) => {
412
429
  const { value } = props.node;
413
- return h7(
430
+ return h8(
414
431
  "li",
415
432
  {
416
433
  value: Number.isFinite(value) && value > 0 ? value : void 0
@@ -420,18 +437,18 @@ var ListItemRichTextNode = (props, context) => {
420
437
  };
421
438
 
422
439
  // src/components/UniformRichText/nodes/ListRichTextNode.ts
423
- import { h as h8 } from "vue-demi";
440
+ import { h as h9 } from "vue-demi";
424
441
  var ListRichTextNode = (props, context) => {
425
442
  const { tag } = props.node;
426
- return h8(tag != null ? tag : "h1", {}, context.slots);
443
+ return h9(tag != null ? tag : "h1", {}, context.slots);
427
444
  };
428
445
 
429
446
  // src/components/UniformRichText/nodes/ParagraphRichTextNode.ts
430
447
  import { isPureDirection, isPureTextAlign } from "@uniformdev/richtext";
431
- import { h as h9 } from "vue-demi";
448
+ import { h as h10 } from "vue-demi";
432
449
  var ParagraphRichTextNode = (props, context) => {
433
450
  const { format, direction } = props.node;
434
- return h9(
451
+ return h10(
435
452
  "p",
436
453
  {
437
454
  dir: isPureDirection(direction) ? direction : void 0,
@@ -442,61 +459,61 @@ var ParagraphRichTextNode = (props, context) => {
442
459
  };
443
460
 
444
461
  // src/components/UniformRichText/nodes/QuoteRichTextNode.ts
445
- import { h as h10 } from "vue-demi";
462
+ import { h as h11 } from "vue-demi";
446
463
  var QuoteRichTextNode = (_, context) => {
447
- return h10("blockquote", {}, context.slots);
464
+ return h11("blockquote", {}, context.slots);
448
465
  };
449
466
 
450
467
  // src/components/UniformRichText/nodes/RootRichTextNode.ts
451
- import { h as h11 } from "vue-demi";
468
+ import { h as h12 } from "vue-demi";
452
469
  var RootRichTextNode = (props, c) => {
453
- return h11(() => c.slots.default ? c.slots.default() : null);
470
+ return h12(() => c.slots.default ? c.slots.default() : null);
454
471
  };
455
472
 
456
473
  // src/components/UniformRichText/nodes/TextRichTextNode.ts
457
474
  import { getRichTextTagsFromTextFormat } from "@uniformdev/richtext";
458
- import { h as h12 } from "vue-demi";
475
+ import { h as h13 } from "vue-demi";
459
476
  var TextRichTextNode = (props) => {
460
477
  const { format, text } = props.node;
461
478
  const tags = getRichTextTagsFromTextFormat(format);
462
479
  return tags.length > 0 ? tags.reduceRight(
463
480
  (children, tag) => {
464
- return h12(tag, null, children);
481
+ return h13(tag, null, children);
465
482
  },
466
483
  {
467
484
  default: () => text
468
485
  }
469
- ) : h12(() => text);
486
+ ) : h13(() => text);
470
487
  };
471
488
 
472
489
  // src/components/UniformRichText/UniformRichText.ts
473
490
  import { isRichTextNode as isRichTextNode2 } from "@uniformdev/richtext";
474
- import { computed as computed4, defineComponent as defineComponent6, h as h17 } from "vue-demi";
491
+ import { computed as computed4, defineComponent as defineComponent7, h as h18 } from "vue-demi";
475
492
 
476
493
  // src/components/UniformRichText/UniformRichTextNode.ts
477
494
  import { isRichTextNode } from "@uniformdev/richtext";
478
- import { defineComponent as defineComponent5, h as h16 } from "vue-demi";
495
+ import { defineComponent as defineComponent6, h as h17 } from "vue-demi";
479
496
 
480
497
  // src/components/UniformRichText/nodes/CodeRichTextNode.ts
481
- import { h as h13 } from "vue-demi";
498
+ import { h as h14 } from "vue-demi";
482
499
  var CodeRichTextNode = (_, context) => {
483
- return h13("pre", {}, h13("code", {}, context.slots));
500
+ return h14("pre", {}, h14("code", {}, context.slots));
484
501
  };
485
502
 
486
503
  // src/components/UniformRichText/nodes/LinebreakRichTextNode.ts
487
- import { h as h14 } from "vue-demi";
504
+ import { h as h15 } from "vue-demi";
488
505
  var LinebreakRichTextNode = () => {
489
- return h14("br", {});
506
+ return h15("br", {});
490
507
  };
491
508
 
492
509
  // src/components/UniformRichText/nodes/TabRichTextNode.ts
493
- import { h as h15 } from "vue-demi";
510
+ import { h as h16 } from "vue-demi";
494
511
  var TabRichTextNode = () => {
495
- return h15("", {}, " ");
512
+ return h16("", {}, " ");
496
513
  };
497
514
 
498
515
  // src/components/UniformRichText/UniformRichTextNode.ts
499
- var UniformRichTextNode = defineComponent5({
516
+ var UniformRichTextNode = defineComponent6({
500
517
  name: "UniformRichTextNode",
501
518
  props: {
502
519
  node: {
@@ -521,13 +538,13 @@ var UniformRichTextNode = defineComponent5({
521
538
  return () => null;
522
539
  }
523
540
  const children = node.children ? node.children.map(
524
- (childNode) => h16(
541
+ (childNode) => h17(
525
542
  UniformRichTextNode,
526
543
  { node: childNode, resolveRichTextRenderer: props.resolveRichTextRenderer },
527
544
  context.slots
528
545
  )
529
546
  ) : [];
530
- return () => h16(NodeRenderer, { node, children: h16(() => children) }, () => children);
547
+ return () => h17(NodeRenderer, { node, children: h17(() => children) }, () => children);
531
548
  }
532
549
  });
533
550
  var rendererMap = /* @__PURE__ */ new Map([
@@ -548,7 +565,7 @@ var resolveRichTextDefaultRenderer = (node) => {
548
565
  };
549
566
 
550
567
  // src/components/UniformRichText/UniformRichText.ts
551
- var UniformRichText = defineComponent6({
568
+ var UniformRichText = defineComponent7({
552
569
  name: "UniformRichText",
553
570
  props: {
554
571
  parameterId: {
@@ -570,7 +587,7 @@ var UniformRichText = defineComponent6({
570
587
  });
571
588
  const root = (_a = value.value) == null ? void 0 : _a.root;
572
589
  if (isRichTextNode2(root)) {
573
- return () => h17(
590
+ return () => h18(
574
591
  UniformRichTextNode,
575
592
  {
576
593
  node: root,
@@ -594,7 +611,7 @@ import {
594
611
  mapSlotToTestVariations
595
612
  } from "@uniformdev/canvas";
596
613
  import { Personalize, Test } from "@uniformdev/context-vue";
597
- import { computed as computed5, defineComponent as defineComponent7, h as h18 } from "vue-demi";
614
+ import { computed as computed5, defineComponent as defineComponent8, h as h19 } from "vue-demi";
598
615
 
599
616
  // src/helpers/convertComponentToProps.ts
600
617
  function convertComponentToProps(component) {
@@ -619,7 +636,7 @@ function normalizePropName(name) {
619
636
  }
620
637
 
621
638
  // src/components/UniformSlot.ts
622
- var UniformSlot = defineComponent7({
639
+ var UniformSlot = defineComponent8({
623
640
  name: "UniformSlot",
624
641
  inheritAttrs: false,
625
642
  props: {
@@ -665,7 +682,7 @@ function renderPersonalizeComponent(component, resolveRenderer) {
665
682
  const parameters = component == null ? void 0 : component.parameters;
666
683
  const processedVariants = mapSlotToPersonalizedVariations((_a = component.slots) == null ? void 0 : _a.pz);
667
684
  const name = (_d = (_c = (_b = component.parameters) == null ? void 0 : _b.trackingEventName) == null ? void 0 : _c.value) != null ? _d : "Untitled Personalization";
668
- return h18(Personalize, {
685
+ return h19(Personalize, {
669
686
  name,
670
687
  // TODO: Fix the `as unknown`
671
688
  component: (variant) => resolveRenderer(variant),
@@ -678,7 +695,7 @@ function renderTestComponent(component, resolveRenderer) {
678
695
  const variants = (_b = (_a = component == null ? void 0 : component.slots) == null ? void 0 : _a.test) != null ? _b : [];
679
696
  const testName = (_e = (_d = (_c = component == null ? void 0 : component.parameters) == null ? void 0 : _c.test) == null ? void 0 : _d.value) != null ? _e : "Untitled Test";
680
697
  const finalVariants = mapSlotToTestVariations(variants);
681
- return h18(Test, {
698
+ return h19(Test, {
682
699
  variations: finalVariants,
683
700
  name: testName,
684
701
  component: (variant) => resolveRenderer(variant)
@@ -732,13 +749,13 @@ function renderComponent({
732
749
  const resolvedComponent = resolveRenderer == null ? void 0 : resolveRenderer(component);
733
750
  if (resolvedComponent) {
734
751
  const props = convertComponentToProps(component);
735
- return h18(
752
+ return h19(
736
753
  UniformComponent,
737
754
  { data: component, resolveRenderer },
738
- () => h18(
755
+ () => h19(
739
756
  ContextualEditingComponentWrapper,
740
757
  { component, parentComponent, slotName, indexInSlot, slotChildrenCount },
741
- { default: () => h18(resolvedComponent, props), emptyPlaceholder }
758
+ { default: () => h19(resolvedComponent, props), emptyPlaceholder }
742
759
  )
743
760
  );
744
761
  }
@@ -746,7 +763,7 @@ function renderComponent({
746
763
  `[canvas] found component of type '${component.type}' which the 'resolveRenderer' prop returned no component for. Nothing will be rendered. The resolveRenderer function may need to be extended to handle the new type.`,
747
764
  component
748
765
  );
749
- return h18("");
766
+ return h19("");
750
767
  }
751
768
 
752
769
  // src/components/UniformText.ts
@@ -755,9 +772,9 @@ import {
755
772
  ATTRIBUTE_PARAMETER_VALUE,
756
773
  ATTRIBUTE_PLACEHOLDER
757
774
  } from "@uniformdev/canvas";
758
- import { computed as computed6, defineComponent as defineComponent8, h as h19, ref as ref2 } from "vue-demi";
775
+ import { computed as computed6, defineComponent as defineComponent9, h as h20, ref as ref2 } from "vue-demi";
759
776
  var DEFAULT_ELEMENT_TYPE = "span";
760
- var UniformText = defineComponent8({
777
+ var UniformText = defineComponent9({
761
778
  name: "UniformText",
762
779
  inheritAttrs: true,
763
780
  props: {
@@ -809,7 +826,7 @@ var UniformText = defineComponent8({
809
826
  if (!isContextualEditing) {
810
827
  return () => {
811
828
  var _a2, _b, _c, _d;
812
- return h19(
829
+ return h20(
813
830
  (_a2 = props.as) != null ? _a2 : DEFAULT_ELEMENT_TYPE,
814
831
  { style: props.isMultiline ? { whiteSpace: "pre-wrap" } : {} },
815
832
  (_d = (_c = (_b = context.slots).default) == null ? void 0 : _c.call(_b, value.value)) != null ? _d : value.value
@@ -820,7 +837,7 @@ var UniformText = defineComponent8({
820
837
  const computedPlaceholder = typeof placeholderProp === "function" ? placeholderProp({ id: props.parameterId }) : placeholderProp;
821
838
  return () => {
822
839
  var _a2, _b, _c, _d, _e;
823
- return h19(
840
+ return h20(
824
841
  (_a2 = props.as) != null ? _a2 : DEFAULT_ELEMENT_TYPE,
825
842
  {
826
843
  ...getParameterAttributes({
@@ -892,6 +909,7 @@ export {
892
909
  TextRichTextNode,
893
910
  UniformComponent,
894
911
  UniformComposition,
912
+ UniformPlayground,
895
913
  UniformRichText,
896
914
  UniformRichTextNode,
897
915
  UniformSlot,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/canvas-vue",
3
- "version": "19.48.0",
3
+ "version": "19.48.1-alpha.8+0418d546a",
4
4
  "description": "Vue SDK for Uniform Canvas",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "./dist/index.js",
@@ -23,9 +23,9 @@
23
23
  "document": "api-extractor run --local"
24
24
  },
25
25
  "dependencies": {
26
- "@uniformdev/canvas": "19.48.0",
27
- "@uniformdev/context-vue": "19.48.0",
28
- "@uniformdev/richtext": "19.48.0",
26
+ "@uniformdev/canvas": "19.48.1-alpha.8+0418d546a",
27
+ "@uniformdev/context-vue": "19.48.1-alpha.8+0418d546a",
28
+ "@uniformdev/richtext": "19.48.1-alpha.8+0418d546a",
29
29
  "vue-demi": "^0.14.0"
30
30
  },
31
31
  "peerDependencies": {
@@ -43,7 +43,7 @@
43
43
  "@vue/server-test-utils": "1.3.0",
44
44
  "@vue/test-utils": "2.4.0",
45
45
  "@vue/vue3-jest": "^29.2.4",
46
- "vue": "3.2.47",
46
+ "vue": "3.3.4",
47
47
  "vue-server-renderer": "2.7.14",
48
48
  "vue-template-compiler": "2.7.14"
49
49
  },
@@ -59,5 +59,5 @@
59
59
  "publishConfig": {
60
60
  "access": "public"
61
61
  },
62
- "gitHead": "046d1410326925dc79a1556a8d5190c74df50d12"
62
+ "gitHead": "0418d546ad78898515544d07f095ff03809c611c"
63
63
  }