@plasmicpkgs/plasmic-basic-components 0.0.2 → 0.0.3
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/Data.d.ts +32 -5
- package/dist/Embed.d.ts +5 -1
- package/dist/Iframe.d.ts +8 -3
- package/dist/ScrollRevealer.d.ts +12 -6
- package/dist/Video.d.ts +6 -0
- package/dist/index.d.ts +4 -0
- package/dist/plasmic-basic-components.cjs.development.js +160 -58
- package/dist/plasmic-basic-components.cjs.development.js.map +1 -1
- package/dist/plasmic-basic-components.cjs.production.min.js +1 -1
- package/dist/plasmic-basic-components.cjs.production.min.js.map +1 -1
- package/dist/plasmic-basic-components.esm.js +140 -59
- package/dist/plasmic-basic-components.esm.js.map +1 -1
- package/package.json +4 -13
- package/Data/dist/Data.d.ts +0 -97
- package/Data/dist/common.d.ts +0 -2
- package/Data/dist/index.cjs.js +0 -267
- package/Data/dist/index.cjs.js.map +0 -1
- package/Data/dist/index.esm.js +0 -246
- package/Data/dist/index.esm.js.map +0 -1
- package/Data/package.json +0 -6
- package/Embed/dist/Embed.d.ts +0 -8
- package/Embed/dist/common.d.ts +0 -2
- package/Embed/dist/index.cjs.js +0 -64
- package/Embed/dist/index.cjs.js.map +0 -1
- package/Embed/dist/index.esm.js +0 -55
- package/Embed/dist/index.esm.js.map +0 -1
- package/Embed/package.json +0 -6
- package/Iframe/dist/Iframe.d.ts +0 -8
- package/Iframe/dist/index.cjs.js +0 -62
- package/Iframe/dist/index.cjs.js.map +0 -1
- package/Iframe/dist/index.esm.js +0 -53
- package/Iframe/dist/index.esm.js.map +0 -1
- package/Iframe/package.json +0 -6
- package/ScrollRevealer/dist/ScrollRevealer.d.ts +0 -20
- package/ScrollRevealer/dist/index.cjs.js +0 -87
- package/ScrollRevealer/dist/index.cjs.js.map +0 -1
- package/ScrollRevealer/dist/index.esm.js +0 -77
- package/ScrollRevealer/dist/index.esm.js.map +0 -1
- package/ScrollRevealer/package.json +0 -6
- package/Video/dist/Video.d.ts +0 -3
- package/Video/dist/index.cjs.js +0 -100
- package/Video/dist/index.cjs.js.map +0 -1
- package/Video/dist/index.esm.js +0 -91
- package/Video/dist/index.esm.js.map +0 -1
- package/Video/package.json +0 -6
|
@@ -231,9 +231,11 @@ function DynamicCollectionGrid(_ref9) {
|
|
|
231
231
|
}
|
|
232
232
|
}));
|
|
233
233
|
}
|
|
234
|
-
var thisModule = "@plasmicpkgs/plasmic-basic-components
|
|
235
|
-
|
|
236
|
-
name: "
|
|
234
|
+
var thisModule = "@plasmicpkgs/plasmic-basic-components";
|
|
235
|
+
var dataProviderMeta = {
|
|
236
|
+
name: "hostless-data-provider",
|
|
237
|
+
displayName: "Data Provider",
|
|
238
|
+
importName: "DataProvider",
|
|
237
239
|
importPath: thisModule,
|
|
238
240
|
// description: "Makes some specified data available to the subtree in a context",
|
|
239
241
|
props: {
|
|
@@ -258,20 +260,27 @@ registerComponent(DataProvider, {
|
|
|
258
260
|
type: "slot",
|
|
259
261
|
defaultValue: [{
|
|
260
262
|
type: "component",
|
|
261
|
-
name: "
|
|
263
|
+
name: "hostless-dynamic-text",
|
|
262
264
|
props: {
|
|
263
265
|
selector: "celebrities.0.name"
|
|
264
266
|
}
|
|
265
267
|
}, {
|
|
266
268
|
type: "component",
|
|
267
|
-
name: "
|
|
269
|
+
name: "hostless-dynamic-image",
|
|
268
270
|
props: {
|
|
269
271
|
selector: "celebrities.0.profilePicture"
|
|
270
272
|
}
|
|
271
273
|
}]
|
|
272
274
|
}
|
|
273
275
|
}
|
|
274
|
-
}
|
|
276
|
+
};
|
|
277
|
+
function registerDataProvider(loader, customDataProviderMeta) {
|
|
278
|
+
if (loader) {
|
|
279
|
+
loader.registerComponent(DataProvider, customDataProviderMeta != null ? customDataProviderMeta : dataProviderMeta);
|
|
280
|
+
} else {
|
|
281
|
+
registerComponent(DataProvider, customDataProviderMeta != null ? customDataProviderMeta : dataProviderMeta);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
275
284
|
var dynamicPropsWithoutTag = {
|
|
276
285
|
propSelectors: {
|
|
277
286
|
type: "object",
|
|
@@ -289,33 +298,60 @@ var dynamicProps = /*#__PURE__*/_extends({}, dynamicPropsWithoutTag, {
|
|
|
289
298
|
}); // TODO Eventually we'll want to expose all the base HTML properties, but in the nicer way that we do within the studio.
|
|
290
299
|
|
|
291
300
|
|
|
292
|
-
|
|
293
|
-
name: "
|
|
301
|
+
var dynamicElementMeta = {
|
|
302
|
+
name: "hostless-dynamic-element",
|
|
303
|
+
displayName: "Dynamic Element",
|
|
304
|
+
importName: "DynamicElement",
|
|
294
305
|
importPath: thisModule,
|
|
295
|
-
props: _extends({}, dynamicProps, {
|
|
306
|
+
props: /*#__PURE__*/_extends({}, dynamicProps, {
|
|
296
307
|
children: "slot"
|
|
297
308
|
})
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
|
|
309
|
+
};
|
|
310
|
+
function registerDynamicElement(loader, customDynamicElementMeta) {
|
|
311
|
+
if (loader) {
|
|
312
|
+
loader.registerComponent(DynamicElement, customDynamicElementMeta != null ? customDynamicElementMeta : dynamicElementMeta);
|
|
313
|
+
} else {
|
|
314
|
+
registerComponent(DynamicElement, customDynamicElementMeta != null ? customDynamicElementMeta : dynamicElementMeta);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
var dynamicTextMeta = {
|
|
318
|
+
name: "hostless-dynamic-text",
|
|
319
|
+
importName: "DynamicText",
|
|
320
|
+
displayName: "Dynamic Text",
|
|
301
321
|
importPath: thisModule,
|
|
302
|
-
props: _extends({}, dynamicProps, {
|
|
322
|
+
props: /*#__PURE__*/_extends({}, dynamicProps, {
|
|
303
323
|
selector: {
|
|
304
324
|
type: "string",
|
|
305
325
|
description: "The selector expression to use to get the text, such as: someVariable.0.someField"
|
|
306
326
|
}
|
|
307
327
|
})
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
|
|
328
|
+
};
|
|
329
|
+
function registerDynamicText(loader, customDynamicTextMeta) {
|
|
330
|
+
if (loader) {
|
|
331
|
+
loader.registerComponent(DynamicText, customDynamicTextMeta != null ? customDynamicTextMeta : dynamicTextMeta);
|
|
332
|
+
} else {
|
|
333
|
+
registerComponent(DynamicText, customDynamicTextMeta != null ? customDynamicTextMeta : dynamicTextMeta);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
var dynamicImageMeta = {
|
|
337
|
+
name: "hostless-dynamic-image",
|
|
338
|
+
displayName: "Dynamic Image",
|
|
339
|
+
importName: "DynamicImage",
|
|
311
340
|
importPath: thisModule,
|
|
312
|
-
props: _extends({}, dynamicPropsWithoutTag, {
|
|
341
|
+
props: /*#__PURE__*/_extends({}, dynamicPropsWithoutTag, {
|
|
313
342
|
selector: {
|
|
314
343
|
type: "string",
|
|
315
344
|
description: "The selector expression to use to get the image source URL, such as: someVariable.0.someField"
|
|
316
345
|
}
|
|
317
346
|
})
|
|
318
|
-
}
|
|
347
|
+
};
|
|
348
|
+
function registerDynamicImage(loader, customDynamicImageMeta) {
|
|
349
|
+
if (loader) {
|
|
350
|
+
loader.registerComponent(DynamicImage, customDynamicImageMeta != null ? customDynamicImageMeta : dynamicImageMeta);
|
|
351
|
+
} else {
|
|
352
|
+
registerComponent(DynamicImage, customDynamicImageMeta != null ? customDynamicImageMeta : dynamicImageMeta);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
319
355
|
var dynamicCollectionProps = /*#__PURE__*/_extends({}, dynamicProps, {
|
|
320
356
|
selector: {
|
|
321
357
|
type: "string",
|
|
@@ -328,11 +364,20 @@ var dynamicCollectionProps = /*#__PURE__*/_extends({}, dynamicProps, {
|
|
|
328
364
|
},
|
|
329
365
|
children: "slot"
|
|
330
366
|
});
|
|
331
|
-
|
|
332
|
-
name: "
|
|
367
|
+
var dynamicCollectionMeta = {
|
|
368
|
+
name: "hostless-dynamic-collection",
|
|
369
|
+
displayName: "Dynamic Collection",
|
|
370
|
+
importName: "DynamicCollection",
|
|
333
371
|
importPath: thisModule,
|
|
334
372
|
props: dynamicCollectionProps
|
|
335
|
-
}
|
|
373
|
+
};
|
|
374
|
+
function registerDynamicCollection(loader, customDynamicCollectionMeta) {
|
|
375
|
+
if (loader) {
|
|
376
|
+
loader.registerComponent(DynamicCollection, customDynamicCollectionMeta != null ? customDynamicCollectionMeta : dynamicCollectionMeta);
|
|
377
|
+
} else {
|
|
378
|
+
registerComponent(DynamicCollection, customDynamicCollectionMeta != null ? customDynamicCollectionMeta : dynamicCollectionMeta);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
336
381
|
var dynamicCollectionGridProps = /*#__PURE__*/_extends({}, dynamicCollectionProps, {
|
|
337
382
|
columns: {
|
|
338
383
|
type: "number",
|
|
@@ -350,13 +395,21 @@ var dynamicCollectionGridProps = /*#__PURE__*/_extends({}, dynamicCollectionProp
|
|
|
350
395
|
description: "The gap between rows"
|
|
351
396
|
}
|
|
352
397
|
});
|
|
353
|
-
|
|
354
|
-
name: "
|
|
398
|
+
var dynamicCollectionGridMeta = {
|
|
399
|
+
name: "hostless-dynamic-collection-grid",
|
|
400
|
+
displayName: "Dynamic Collection Grid",
|
|
401
|
+
importName: "DynamicCollectionGrid",
|
|
355
402
|
importPath: thisModule,
|
|
356
403
|
props: dynamicCollectionGridProps
|
|
357
|
-
}
|
|
404
|
+
};
|
|
405
|
+
function registerDynamicCollectionGrid(loader, customDynamicCollectionGridMeta) {
|
|
406
|
+
if (loader) {
|
|
407
|
+
loader.registerComponent(DynamicCollectionGrid, customDynamicCollectionGridMeta != null ? customDynamicCollectionGridMeta : dynamicCollectionGridMeta);
|
|
408
|
+
} else {
|
|
409
|
+
registerComponent(DynamicCollectionGrid, customDynamicCollectionGridMeta != null ? customDynamicCollectionGridMeta : dynamicCollectionGridMeta);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
358
412
|
|
|
359
|
-
/** @format */
|
|
360
413
|
function Embed(_ref) {
|
|
361
414
|
var className = _ref.className,
|
|
362
415
|
code = _ref.code,
|
|
@@ -386,9 +439,11 @@ function Embed(_ref) {
|
|
|
386
439
|
}
|
|
387
440
|
});
|
|
388
441
|
}
|
|
389
|
-
|
|
390
|
-
name: "
|
|
391
|
-
|
|
442
|
+
var embedMeta = {
|
|
443
|
+
name: "hostless-embed",
|
|
444
|
+
displayName: "Embed",
|
|
445
|
+
importName: "Embed",
|
|
446
|
+
importPath: "@plasmicpkgs/plasmic-basic-components",
|
|
392
447
|
props: {
|
|
393
448
|
code: {
|
|
394
449
|
type: "string",
|
|
@@ -397,23 +452,29 @@ registerComponent(Embed, {
|
|
|
397
452
|
hideInEditor: {
|
|
398
453
|
type: "boolean",
|
|
399
454
|
displayName: "Hide in editor",
|
|
400
|
-
description: "Disable running the code while editing in Plasmic Studio (may require reload)"
|
|
455
|
+
description: "Disable running the code while editing in Plasmic Studio (may require reload)",
|
|
456
|
+
editOnly: true
|
|
401
457
|
}
|
|
402
458
|
},
|
|
403
|
-
isDefaultExport: true,
|
|
404
459
|
defaultStyles: {
|
|
405
460
|
maxWidth: "100%"
|
|
406
461
|
}
|
|
407
|
-
}
|
|
462
|
+
};
|
|
463
|
+
function registerEmbed(loader, customEmbedMeta) {
|
|
464
|
+
if (loader) {
|
|
465
|
+
loader.registerComponent(Embed, customEmbedMeta != null ? customEmbedMeta : embedMeta);
|
|
466
|
+
} else {
|
|
467
|
+
registerComponent(Embed, customEmbedMeta != null ? customEmbedMeta : embedMeta);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
408
470
|
|
|
409
|
-
/** @format */
|
|
410
471
|
function Iframe(_ref) {
|
|
411
|
-
var
|
|
472
|
+
var preview = _ref.preview,
|
|
412
473
|
src = _ref.src,
|
|
413
474
|
className = _ref.className;
|
|
414
475
|
var isEditing = useContext(PlasmicCanvasContext);
|
|
415
476
|
|
|
416
|
-
if (isEditing && !
|
|
477
|
+
if (isEditing && !preview) {
|
|
417
478
|
return React.createElement("div", {
|
|
418
479
|
className: className
|
|
419
480
|
}, React.createElement("div", {
|
|
@@ -441,27 +502,34 @@ function Iframe(_ref) {
|
|
|
441
502
|
className: className
|
|
442
503
|
});
|
|
443
504
|
}
|
|
444
|
-
|
|
445
|
-
name: "
|
|
446
|
-
|
|
505
|
+
var iframeMeta = {
|
|
506
|
+
name: "hostless-iframe",
|
|
507
|
+
displayName: "Iframe",
|
|
508
|
+
importName: "Iframe",
|
|
509
|
+
importPath: "@plasmicpkgs/plasmic-basic-components",
|
|
447
510
|
props: {
|
|
448
511
|
src: {
|
|
449
512
|
type: "string",
|
|
450
513
|
defaultValue: "https://www.example.com"
|
|
451
514
|
},
|
|
452
|
-
|
|
515
|
+
preview: {
|
|
453
516
|
type: "boolean",
|
|
454
|
-
displayName: "Preview",
|
|
455
517
|
description: "Load the iframe while editing in Plasmic Studio"
|
|
456
518
|
}
|
|
457
519
|
},
|
|
458
|
-
isDefaultExport: true,
|
|
459
520
|
defaultStyles: {
|
|
460
521
|
width: "300px",
|
|
461
522
|
height: "150px",
|
|
462
523
|
maxWidth: "100%"
|
|
463
524
|
}
|
|
464
|
-
}
|
|
525
|
+
};
|
|
526
|
+
function registerIframe(loader, customIframeMeta) {
|
|
527
|
+
if (loader) {
|
|
528
|
+
loader.registerComponent(Iframe, customIframeMeta != null ? customIframeMeta : iframeMeta);
|
|
529
|
+
} else {
|
|
530
|
+
registerComponent(Iframe, customIframeMeta != null ? customIframeMeta : iframeMeta);
|
|
531
|
+
}
|
|
532
|
+
}
|
|
465
533
|
|
|
466
534
|
function useDirectionalIntersection(_ref) {
|
|
467
535
|
var ref = _ref.ref,
|
|
@@ -527,10 +595,11 @@ function ScrollRevealer(_ref2) {
|
|
|
527
595
|
ref: intersectionRef
|
|
528
596
|
}, revealed ? children : null);
|
|
529
597
|
}
|
|
530
|
-
|
|
531
|
-
name: "
|
|
598
|
+
var scrollRevealerMeta = {
|
|
599
|
+
name: "hostless-scroll-revealer",
|
|
600
|
+
importName: "ScrollRevealer",
|
|
532
601
|
displayName: "Scroll Revealer",
|
|
533
|
-
importPath: "@plasmicpkgs/plasmic-basic-components
|
|
602
|
+
importPath: "@plasmicpkgs/plasmic-basic-components",
|
|
534
603
|
props: {
|
|
535
604
|
children: "slot",
|
|
536
605
|
scrollDownThreshold: {
|
|
@@ -546,21 +615,29 @@ registerComponent(ScrollRevealer, {
|
|
|
546
615
|
description: "While scrolling up, how much of the element (as a fraction) can still be scrolled in view before it disappears (defaults to 0, meaning you must scroll up until it's completely out of view)"
|
|
547
616
|
}
|
|
548
617
|
},
|
|
549
|
-
isDefaultExport: true,
|
|
550
618
|
defaultStyles: {
|
|
551
619
|
width: "stretch",
|
|
552
620
|
maxWidth: "100%"
|
|
553
621
|
}
|
|
554
|
-
}
|
|
622
|
+
};
|
|
623
|
+
function registerScrollRevealer(loader, customScrollRevealerMeta) {
|
|
624
|
+
if (loader) {
|
|
625
|
+
loader.registerComponent(ScrollRevealer, customScrollRevealerMeta != null ? customScrollRevealerMeta : scrollRevealerMeta);
|
|
626
|
+
} else {
|
|
627
|
+
registerComponent(ScrollRevealer, customScrollRevealerMeta != null ? customScrollRevealerMeta : scrollRevealerMeta);
|
|
628
|
+
}
|
|
629
|
+
}
|
|
555
630
|
|
|
556
631
|
var Video = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
557
632
|
return React.createElement("video", Object.assign({
|
|
558
633
|
ref: ref
|
|
559
634
|
}, props));
|
|
560
635
|
});
|
|
561
|
-
|
|
562
|
-
name: "
|
|
563
|
-
|
|
636
|
+
var videoMeta = {
|
|
637
|
+
name: "hostless-html-video",
|
|
638
|
+
importName: "Video",
|
|
639
|
+
displayName: "HTML Video",
|
|
640
|
+
importPath: "@plasmicpkgs/plasmic-basic-components",
|
|
564
641
|
props: {
|
|
565
642
|
src: {
|
|
566
643
|
type: "string",
|
|
@@ -593,13 +670,11 @@ registerComponent(Video, {
|
|
|
593
670
|
displayName: "Muted",
|
|
594
671
|
description: "Whether audio should be muted"
|
|
595
672
|
},
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
// "Image to show while video is downloading",
|
|
602
|
-
// },
|
|
673
|
+
poster: {
|
|
674
|
+
type: "imageUrl",
|
|
675
|
+
displayName: "Poster (placeholder) image",
|
|
676
|
+
description: "Image to show while video is downloading"
|
|
677
|
+
},
|
|
603
678
|
preload: {
|
|
604
679
|
type: "choice",
|
|
605
680
|
options: ["none", "metadata", "auto"],
|
|
@@ -607,13 +682,19 @@ registerComponent(Video, {
|
|
|
607
682
|
description: "Whether to preload nothing, metadata only, or the full video"
|
|
608
683
|
}
|
|
609
684
|
},
|
|
610
|
-
isDefaultExport: true,
|
|
611
685
|
defaultStyles: {
|
|
612
686
|
height: "hug",
|
|
613
687
|
width: "640px",
|
|
614
688
|
maxWidth: "100%"
|
|
615
689
|
}
|
|
616
|
-
}
|
|
690
|
+
};
|
|
691
|
+
function registerVideo(loader, customVideoMeta) {
|
|
692
|
+
if (loader) {
|
|
693
|
+
loader.registerComponent(Video, customVideoMeta != null ? customVideoMeta : videoMeta);
|
|
694
|
+
} else {
|
|
695
|
+
registerComponent(Video, customVideoMeta != null ? customVideoMeta : videoMeta);
|
|
696
|
+
}
|
|
697
|
+
}
|
|
617
698
|
|
|
618
|
-
export { DataContext, DataProvider, DynamicCollection, DynamicCollectionGrid, DynamicElement, DynamicImage, DynamicText, Embed, Iframe, ScrollRevealer, Video, applySelector, dynamicCollectionGridProps, dynamicCollectionProps, useDataEnv, useSelector, useSelectors };
|
|
699
|
+
export { DataContext, DataProvider, DynamicCollection, DynamicCollectionGrid, DynamicElement, DynamicImage, DynamicText, Embed, Iframe, ScrollRevealer, Video, applySelector, dataProviderMeta, dynamicCollectionGridMeta, dynamicCollectionGridProps, dynamicCollectionMeta, dynamicCollectionProps, dynamicElementMeta, dynamicImageMeta, dynamicTextMeta, embedMeta, iframeMeta, registerDataProvider, registerDynamicCollection, registerDynamicCollectionGrid, registerDynamicElement, registerDynamicImage, registerDynamicText, registerEmbed, registerIframe, registerScrollRevealer, registerVideo, scrollRevealerMeta, useDataEnv, useDirectionalIntersection, useSelector, useSelectors, videoMeta };
|
|
619
700
|
//# sourceMappingURL=plasmic-basic-components.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plasmic-basic-components.esm.js","sources":["../src/common.ts","../src/Data.tsx","../src/Embed.tsx","../src/Iframe.tsx","../src/ScrollRevealer.tsx","../src/Video.tsx"],"sourcesContent":["export const tuple = <T extends any[]>(...args: T): T => args;\n\nexport function ensure<T>(x: T | null | undefined): T {\n if (x === null || x === undefined) {\n debugger;\n throw new Error(`Value must not be undefined or null`);\n } else {\n return x;\n }\n}\n","/** @format */\n\nimport { repeatedElement } from \"@plasmicapp/host\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React, {\n ComponentProps,\n createContext,\n createElement,\n CSSProperties,\n ReactNode,\n useContext,\n} from \"react\";\nimport { tuple } from \"./common\";\n\nexport type DataDict = Record<string, any>;\n\nexport const DataContext = createContext<DataDict | undefined>(undefined);\n\nexport function applySelector(\n rawData: DataDict | undefined,\n selector: string | undefined\n): any {\n if (!selector) {\n return undefined;\n }\n let curData = rawData;\n for (const key of selector.split(\".\")) {\n curData = curData?.[key];\n }\n return curData;\n}\n\nexport type SelectorDict = Record<string, string | undefined>;\n\nexport function useSelector(selector: string | undefined): any {\n const rawData = useDataEnv();\n return applySelector(rawData, selector);\n}\n\nexport function useSelectors(selectors: SelectorDict = {}): any {\n const rawData = useDataEnv();\n return Object.fromEntries(\n Object.entries(selectors)\n .filter(([key, selector]) => !!key && !!selector)\n .map(([key, selector]) => tuple(key, applySelector(rawData, selector)))\n );\n}\n\nexport function useDataEnv() {\n return useContext(DataContext);\n}\n\nexport interface DataProviderProps {\n name?: string;\n data?: any;\n children?: ReactNode;\n}\n\nexport function DataProvider({ name, data, children }: DataProviderProps) {\n const existingEnv = useDataEnv() ?? {};\n if (!name) {\n return <>{children}</>;\n } else {\n return (\n <DataContext.Provider value={{ ...existingEnv, [name]: data }}>\n {children}\n </DataContext.Provider>\n );\n }\n}\n\nexport interface CommonDynamicProps {\n className?: string;\n tag?: string;\n propSelectors?: SelectorDict;\n}\n\nexport function DynamicElement<\n Tag extends keyof JSX.IntrinsicElements = \"div\"\n>({\n tag = \"div\",\n className,\n children,\n propSelectors,\n ...props\n}: CommonDynamicProps & ComponentProps<Tag>) {\n const computed = useSelectors(propSelectors);\n return createElement(tag, {\n children,\n ...props,\n ...computed,\n className: className + \" \" + computed.className,\n });\n}\n\nexport function DynamicText({\n selector,\n propSelectors,\n ...props\n}: CommonDynamicProps & {\n selector?: string;\n}) {\n return (\n <DynamicElement\n {...props}\n propSelectors={{ ...propSelectors, children: selector }}\n >\n {/*This is the default text*/}\n (DynamicText requires a selector)\n </DynamicElement>\n );\n}\n\nexport function DynamicImage({\n selector,\n propSelectors,\n ...props\n}: CommonDynamicProps &\n ComponentProps<\"img\"> & {\n selector?: string;\n }) {\n return (\n <DynamicElement<\"img\">\n tag={\"img\"}\n loading={\"lazy\"}\n style={{\n objectFit: \"cover\",\n }}\n {...props}\n propSelectors={{ ...propSelectors, src: selector }}\n // Default image placeholder\n src=\"https://studio.plasmic.app/static/img/placeholder.png\"\n />\n );\n}\n\nexport interface DynamicCollectionProps extends CommonDynamicProps {\n children?: ReactNode;\n style?: CSSProperties;\n loopItemName?: string;\n keySelector?: string;\n selector?: string;\n data?: any;\n}\n\nexport function DynamicCollection({\n selector,\n loopItemName,\n children,\n data,\n keySelector,\n ...props\n}: DynamicCollectionProps) {\n // Defaults to an array of three items.\n const finalData = data ?? useSelector(selector) ?? [1, 2, 3];\n return (\n <DynamicElement {...props}>\n {finalData?.map?.((item: any, index: number) => (\n <DataProvider\n key={applySelector(item, keySelector) ?? index}\n name={loopItemName}\n data={item}\n >\n {repeatedElement(index === 0, children)}\n </DataProvider>\n ))}\n </DynamicElement>\n );\n}\n\nexport interface DynamicCollectionGridProps extends DynamicCollectionProps {\n columns?: number;\n columnGap?: number;\n rowGap?: number;\n}\n\nexport function DynamicCollectionGrid({\n columns,\n columnGap = 0,\n rowGap = 0,\n ...props\n}: DynamicCollectionGridProps) {\n return (\n <DynamicCollection\n {...props}\n style={{\n display: \"grid\",\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n columnGap: `${columnGap}px`,\n rowGap: `${rowGap}px`,\n }}\n />\n );\n}\n\nconst thisModule = \"@plasmicpkgs/plasmic-basic-components/Data\";\n\nregisterComponent(DataProvider, {\n name: \"DataProvider\",\n importPath: thisModule,\n // description: \"Makes some specified data available to the subtree in a context\",\n props: {\n name: {\n type: \"string\",\n defaultValue: \"celebrities\",\n description: \"The name of the variable to store the data in\",\n },\n data: {\n type: \"object\",\n defaultValue: [\n {\n name: \"Fill Murray\",\n birthYear: 1950,\n profilePicture: [\"https://www.fillmurray.com/200/300\"],\n },\n {\n name: \"Place Cage\",\n birthYear: 1950,\n profilePicture: [\"https://www.placecage.com/200/300\"],\n },\n ],\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"component\",\n name: \"DynamicText\",\n props: {\n selector: \"celebrities.0.name\",\n },\n },\n {\n type: \"component\",\n name: \"DynamicImage\",\n props: {\n selector: \"celebrities.0.profilePicture\",\n },\n },\n ],\n },\n },\n});\n\nconst dynamicPropsWithoutTag = {\n propSelectors: {\n type: \"object\",\n // defaultValueHint: {},\n description:\n \"An object whose keys are prop names and values are selector expressions. Use this to set any prop to a dynamic value.\",\n },\n} as const;\n\nconst dynamicProps = {\n ...dynamicPropsWithoutTag,\n tag: {\n type: \"string\",\n // defaultValueHint: \"div\",\n description: \"The HTML tag to use\",\n },\n} as const;\n\n// TODO Eventually we'll want to expose all the base HTML properties, but in the nicer way that we do within the studio.\n\nregisterComponent(DynamicElement, {\n name: \"DynamicElement\",\n importPath: thisModule,\n props: { ...dynamicProps, children: \"slot\" },\n});\n\nregisterComponent(DynamicText, {\n name: \"DynamicText\",\n importPath: thisModule,\n props: {\n ...dynamicProps,\n selector: {\n type: \"string\",\n description:\n \"The selector expression to use to get the text, such as: someVariable.0.someField\",\n },\n },\n});\n\nregisterComponent(DynamicImage, {\n name: \"DynamicImage\",\n importPath: thisModule,\n props: {\n ...dynamicPropsWithoutTag,\n selector: {\n type: \"string\",\n description:\n \"The selector expression to use to get the image source URL, such as: someVariable.0.someField\",\n },\n },\n});\n\nexport const dynamicCollectionProps = {\n ...dynamicProps,\n selector: {\n type: \"string\",\n description:\n \"The selector expression to use to get the array of data to loop over, such as: someVariable.0.someField\",\n },\n loopItemName: {\n type: \"string\",\n defaultValue: \"item\",\n description:\n \"The name of the variable to use to store the current item in the loop\",\n },\n children: \"slot\",\n} as const;\n\nregisterComponent(DynamicCollection, {\n name: \"DynamicCollection\",\n importPath: thisModule,\n props: dynamicCollectionProps,\n});\n\nexport const dynamicCollectionGridProps = {\n ...dynamicCollectionProps,\n columns: {\n type: \"number\",\n defaultValue: 2,\n description: \"The number of columns to use in the grid\",\n },\n columnGap: {\n type: \"number\",\n defaultValue: 8,\n description: \"The gap between columns\",\n },\n rowGap: {\n type: \"number\",\n defaultValue: 8,\n description: \"The gap between rows\",\n },\n} as const;\n\nregisterComponent(DynamicCollectionGrid, {\n name: \"DynamicCollectionGrid\",\n importPath: thisModule,\n props: dynamicCollectionGridProps,\n});\n","/** @format */\n\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React, { useEffect, useRef } from \"react\";\nimport { ensure } from \"./common\";\n\nexport interface EmbedProps {\n className?: string;\n code: string;\n hideInEditor?: boolean;\n}\n\nexport default function Embed({\n className,\n code,\n hideInEditor = false,\n}: EmbedProps) {\n const rootElt = useRef<HTMLDivElement>(null);\n useEffect(() => {\n if (hideInEditor) {\n return;\n }\n Array.from(ensure(rootElt.current).querySelectorAll(\"script\")).forEach(\n (oldScript) => {\n const newScript = document.createElement(\"script\");\n Array.from(oldScript.attributes).forEach((attr) =>\n newScript.setAttribute(attr.name, attr.value)\n );\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n ensure(oldScript.parentNode).replaceChild(newScript, oldScript);\n }\n );\n }, [code, hideInEditor]);\n const effectiveCode = hideInEditor ? \"\" : code;\n return (\n <div\n ref={rootElt}\n className={className}\n dangerouslySetInnerHTML={{ __html: effectiveCode }}\n />\n );\n}\n\nregisterComponent(Embed, {\n name: \"Embed\",\n importPath: \"@plasmicpkgs/plasmic-basic-components/Embed\",\n props: {\n code: {\n type: \"string\",\n defaultValue: \"https://www.example.com\",\n },\n hideInEditor: {\n type: \"boolean\",\n displayName: \"Hide in editor\",\n description:\n \"Disable running the code while editing in Plasmic Studio (may require reload)\",\n },\n },\n isDefaultExport: true,\n defaultStyles: {\n maxWidth: \"100%\",\n },\n});\n","/** @format */\n\nimport { PlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React, { useContext } from \"react\";\n\nexport interface IframeProps {\n src: string;\n hideInEditor?: boolean;\n className?: string;\n}\n\nexport default function Iframe({ hideInEditor, src, className }: IframeProps) {\n const isEditing = useContext(PlasmicCanvasContext);\n if (isEditing && !hideInEditor) {\n return (\n <div className={className}>\n <div\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: \"#eee\",\n color: \"#888\",\n fontSize: \"36px\",\n fontFamily: \"sans-serif\",\n fontWeight: \"bold\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n overflow: \"hidden\",\n }}\n >\n Iframe placeholder\n </div>\n </div>\n );\n }\n return <iframe src={src} className={className} />;\n}\n\nregisterComponent(Iframe, {\n name: \"Iframe\",\n importPath: \"@plasmicpkgs/plasmic-basic-components/Iframe\",\n props: {\n src: {\n type: \"string\",\n defaultValue: \"https://www.example.com\",\n },\n hideInEditor: {\n type: \"boolean\",\n displayName: \"Preview\",\n description: \"Load the iframe while editing in Plasmic Studio\",\n },\n },\n isDefaultExport: true,\n defaultStyles: {\n width: \"300px\",\n height: \"150px\",\n maxWidth: \"100%\",\n },\n});\n","import registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React, {\n ReactNode,\n RefObject,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nexport function useDirectionalIntersection({\n ref,\n scrollDownThreshold = 0.5,\n scrollUpThreshold = 0,\n}: {\n ref: RefObject<HTMLElement>;\n scrollDownThreshold?: number;\n scrollUpThreshold?: number;\n}) {\n const [revealed, setRevealed] = useState(false);\n useEffect(() => {\n if (ref.current && typeof IntersectionObserver === \"function\") {\n const handler = (entries: IntersectionObserverEntry[]) => {\n if (entries[0].intersectionRatio >= scrollDownThreshold) {\n setRevealed(true);\n } else if (entries[0].intersectionRatio <= scrollUpThreshold) {\n setRevealed(false);\n }\n };\n\n const observer = new IntersectionObserver(handler, {\n root: null,\n rootMargin: \"0%\",\n threshold: [scrollUpThreshold, scrollDownThreshold],\n });\n observer.observe(ref.current);\n\n return () => {\n setRevealed(false);\n observer.disconnect();\n };\n }\n return () => {};\n }, [ref.current, scrollDownThreshold, scrollUpThreshold]);\n return revealed;\n}\n\n/**\n * Unlike react-awesome-reveal, ScrollRevealer:\n *\n * - has configurable thresholds\n * - triggers arbitrary render/unrender animations\n *\n * TODO: Merge this inta a general Reveal component, perhaps forking react-awesome-reveal, so that we don't have two different reveal components for users.\n */\nexport default function ScrollRevealer({\n children,\n className,\n scrollDownThreshold = 0.5,\n scrollUpThreshold = 0,\n}: {\n children?: ReactNode;\n className?: string;\n scrollUpThreshold?: number;\n scrollDownThreshold?: number;\n}) {\n const intersectionRef = useRef<HTMLDivElement>(null);\n const revealed = useDirectionalIntersection({\n ref: intersectionRef,\n scrollUpThreshold,\n scrollDownThreshold,\n });\n return (\n <div className={className} ref={intersectionRef}>\n {revealed ? children : null}\n </div>\n );\n}\n\nregisterComponent(ScrollRevealer, {\n name: \"ScrollRevealer\",\n displayName: \"Scroll Revealer\",\n importPath: \"@plasmicpkgs/plasmic-basic-components/ScrollRevealer\",\n props: {\n children: \"slot\",\n scrollDownThreshold: {\n type: \"number\",\n displayName: \"Scroll down threshold\",\n // defaultValueHint: 0.5,\n description:\n \"How much of the element (as a fraction) must you scroll into view for it to appear (defaults to 0.5)\",\n },\n scrollUpThreshold: {\n type: \"number\",\n displayName: \"Scroll up threshold\",\n // defaultValueHint: 0,\n description:\n \"While scrolling up, how much of the element (as a fraction) can still be scrolled in view before it disappears (defaults to 0, meaning you must scroll up until it's completely out of view)\",\n },\n },\n isDefaultExport: true,\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n },\n});\n","import registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React from \"react\";\n\ntype VideoProps = Pick<\n React.ComponentProps<\"video\">,\n | \"autoPlay\"\n | \"controls\"\n | \"loop\"\n | \"muted\"\n | \"playsInline\"\n | \"poster\"\n | \"preload\"\n | \"src\"\n>;\n\nconst Video = React.forwardRef<HTMLVideoElement, VideoProps>(\n (props: VideoProps, ref) => {\n return <video ref={ref} {...props} />;\n }\n);\n\nexport default Video;\n\nregisterComponent(Video, {\n name: \"Video\",\n importPath: \"@plasmicpkgs/plasmic-basic-components/Video\",\n props: {\n src: {\n type: \"string\",\n defaultValue:\n \"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm\",\n displayName: \"Source URL\",\n description: \"URL to a video file.\",\n },\n autoPlay: {\n type: \"boolean\",\n displayName: \"Auto Play\",\n description:\n \"Whether the video show automatically start playing when the player loads\",\n },\n controls: {\n type: \"boolean\",\n displayName: \"Show Controls\",\n description: \"Whether the video player controls should be displayed\",\n },\n playsInline: {\n type: \"boolean\",\n displayName: \"Plays inline\",\n description:\n \"Usually on mobile, when tilted landscape, videos can play fullscreen. Turn this on to prevent that.\",\n },\n loop: {\n type: \"boolean\",\n displayName: \"Loop\",\n description: \"Whether the video should be played again after it finishes\",\n },\n muted: {\n type: \"boolean\",\n displayName: \"Muted\",\n description: \"Whether audio should be muted\",\n },\n // TODO enable this once image is a type\n // poster: {\n // type: \"image\",\n // displayName: \"Poster (placeholder) image\",\n // description:\n // \"Image to show while video is downloading\",\n // },\n preload: {\n type: \"choice\",\n options: [\"none\", \"metadata\", \"auto\"],\n displayName: \"Preload\",\n description:\n \"Whether to preload nothing, metadata only, or the full video\",\n },\n },\n isDefaultExport: true,\n defaultStyles: {\n height: \"hug\",\n width: \"640px\",\n maxWidth: \"100%\",\n },\n});\n"],"names":["tuple","args","ensure","x","undefined","Error","DataContext","createContext","applySelector","rawData","selector","curData","split","key","useSelector","useDataEnv","useSelectors","selectors","Object","fromEntries","entries","filter","map","useContext","DataProvider","name","data","children","existingEnv","React","Provider","value","DynamicElement","tag","className","propSelectors","props","computed","createElement","DynamicText","DynamicImage","loading","style","objectFit","src","DynamicCollection","loopItemName","keySelector","finalData","item","index","repeatedElement","DynamicCollectionGrid","columns","columnGap","rowGap","display","gridTemplateColumns","thisModule","registerComponent","importPath","type","defaultValue","description","birthYear","profilePicture","dynamicPropsWithoutTag","dynamicProps","dynamicCollectionProps","dynamicCollectionGridProps","Embed","code","hideInEditor","rootElt","useRef","useEffect","Array","from","current","querySelectorAll","forEach","oldScript","newScript","document","attributes","attr","setAttribute","appendChild","createTextNode","innerHTML","parentNode","replaceChild","effectiveCode","ref","dangerouslySetInnerHTML","__html","displayName","isDefaultExport","defaultStyles","maxWidth","Iframe","isEditing","PlasmicCanvasContext","position","top","left","right","bottom","background","color","fontSize","fontFamily","fontWeight","alignItems","justifyContent","overflow","width","height","useDirectionalIntersection","scrollDownThreshold","scrollUpThreshold","useState","revealed","setRevealed","IntersectionObserver","handler","intersectionRatio","observer","root","rootMargin","threshold","observe","disconnect","ScrollRevealer","intersectionRef","Video","forwardRef","autoPlay","controls","playsInline","loop","muted","preload","options"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plasmic-basic-components.esm.js","sources":["../src/common.ts","../src/Data.tsx","../src/Embed.tsx","../src/Iframe.tsx","../src/ScrollRevealer.tsx","../src/Video.tsx"],"sourcesContent":["export const tuple = <T extends any[]>(...args: T): T => args;\n\nexport function ensure<T>(x: T | null | undefined): T {\n if (x === null || x === undefined) {\n debugger;\n throw new Error(`Value must not be undefined or null`);\n } else {\n return x;\n }\n}\n","import { ComponentMeta, repeatedElement } from \"@plasmicapp/host\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React, {\n ComponentProps,\n createContext,\n createElement,\n CSSProperties,\n ReactNode,\n useContext,\n} from \"react\";\nimport { tuple } from \"./common\";\n\nexport type DataDict = Record<string, any>;\n\nexport const DataContext = createContext<DataDict | undefined>(undefined);\n\nexport function applySelector(\n rawData: DataDict | undefined,\n selector: string | undefined\n): any {\n if (!selector) {\n return undefined;\n }\n let curData = rawData;\n for (const key of selector.split(\".\")) {\n curData = curData?.[key];\n }\n return curData;\n}\n\nexport type SelectorDict = Record<string, string | undefined>;\n\nexport function useSelector(selector: string | undefined): any {\n const rawData = useDataEnv();\n return applySelector(rawData, selector);\n}\n\nexport function useSelectors(selectors: SelectorDict = {}): any {\n const rawData = useDataEnv();\n return Object.fromEntries(\n Object.entries(selectors)\n .filter(([key, selector]) => !!key && !!selector)\n .map(([key, selector]) => tuple(key, applySelector(rawData, selector)))\n );\n}\n\nexport function useDataEnv() {\n return useContext(DataContext);\n}\n\nexport interface DataProviderProps {\n name?: string;\n data?: any;\n children?: ReactNode;\n}\n\nexport function DataProvider({ name, data, children }: DataProviderProps) {\n const existingEnv = useDataEnv() ?? {};\n if (!name) {\n return <>{children}</>;\n } else {\n return (\n <DataContext.Provider value={{ ...existingEnv, [name]: data }}>\n {children}\n </DataContext.Provider>\n );\n }\n}\n\nexport interface CommonDynamicProps {\n className?: string;\n tag?: string;\n propSelectors?: SelectorDict;\n}\n\nexport function DynamicElement<\n Tag extends keyof JSX.IntrinsicElements = \"div\"\n>({\n tag = \"div\",\n className,\n children,\n propSelectors,\n ...props\n}: CommonDynamicProps & ComponentProps<Tag>) {\n const computed = useSelectors(propSelectors);\n return createElement(tag, {\n children,\n ...props,\n ...computed,\n className: className + \" \" + computed.className,\n });\n}\n\nexport interface DynamicTextProps extends CommonDynamicProps {\n selector?: string;\n}\n\nexport function DynamicText({\n selector,\n propSelectors,\n ...props\n}: DynamicTextProps) {\n return (\n <DynamicElement\n {...props}\n propSelectors={{ ...propSelectors, children: selector }}\n >\n {/*This is the default text*/}\n (DynamicText requires a selector)\n </DynamicElement>\n );\n}\n\nexport interface DynamicImageProps\n extends CommonDynamicProps,\n ComponentProps<\"img\"> {\n selector?: string;\n}\n\nexport function DynamicImage({\n selector,\n propSelectors,\n ...props\n}: DynamicImageProps) {\n return (\n <DynamicElement<\"img\">\n tag={\"img\"}\n loading={\"lazy\"}\n style={{\n objectFit: \"cover\",\n }}\n {...props}\n propSelectors={{ ...propSelectors, src: selector }}\n // Default image placeholder\n src=\"https://studio.plasmic.app/static/img/placeholder.png\"\n />\n );\n}\n\nexport interface DynamicCollectionProps extends CommonDynamicProps {\n children?: ReactNode;\n style?: CSSProperties;\n loopItemName?: string;\n keySelector?: string;\n selector?: string;\n data?: any;\n}\n\nexport function DynamicCollection({\n selector,\n loopItemName,\n children,\n data,\n keySelector,\n ...props\n}: DynamicCollectionProps) {\n // Defaults to an array of three items.\n const finalData = data ?? useSelector(selector) ?? [1, 2, 3];\n return (\n <DynamicElement {...props}>\n {finalData?.map?.((item: any, index: number) => (\n <DataProvider\n key={applySelector(item, keySelector) ?? index}\n name={loopItemName}\n data={item}\n >\n {repeatedElement(index === 0, children)}\n </DataProvider>\n ))}\n </DynamicElement>\n );\n}\n\nexport interface DynamicCollectionGridProps extends DynamicCollectionProps {\n columns?: number;\n columnGap?: number;\n rowGap?: number;\n}\n\nexport function DynamicCollectionGrid({\n columns,\n columnGap = 0,\n rowGap = 0,\n ...props\n}: DynamicCollectionGridProps) {\n return (\n <DynamicCollection\n {...props}\n style={{\n display: \"grid\",\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n columnGap: `${columnGap}px`,\n rowGap: `${rowGap}px`,\n }}\n />\n );\n}\n\nconst thisModule = \"@plasmicpkgs/plasmic-basic-components\";\n\nexport const dataProviderMeta: ComponentMeta<DataProviderProps> = {\n name: \"hostless-data-provider\",\n displayName: \"Data Provider\",\n importName: \"DataProvider\",\n importPath: thisModule,\n // description: \"Makes some specified data available to the subtree in a context\",\n props: {\n name: {\n type: \"string\",\n defaultValue: \"celebrities\",\n description: \"The name of the variable to store the data in\",\n },\n data: {\n type: \"object\",\n defaultValue: [\n {\n name: \"Fill Murray\",\n birthYear: 1950,\n profilePicture: [\"https://www.fillmurray.com/200/300\"],\n },\n {\n name: \"Place Cage\",\n birthYear: 1950,\n profilePicture: [\"https://www.placecage.com/200/300\"],\n },\n ],\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"component\",\n name: \"hostless-dynamic-text\",\n props: {\n selector: \"celebrities.0.name\",\n },\n },\n {\n type: \"component\",\n name: \"hostless-dynamic-image\",\n props: {\n selector: \"celebrities.0.profilePicture\",\n },\n },\n ],\n },\n },\n};\n\nexport function registerDataProvider(\n loader?: { registerComponent: typeof registerComponent },\n customDataProviderMeta?: ComponentMeta<DataProviderProps>\n) {\n if (loader) {\n loader.registerComponent(\n DataProvider,\n customDataProviderMeta ?? dataProviderMeta\n );\n } else {\n registerComponent(DataProvider, customDataProviderMeta ?? dataProviderMeta);\n }\n}\n\nconst dynamicPropsWithoutTag = {\n propSelectors: {\n type: \"object\",\n // defaultValueHint: {},\n description:\n \"An object whose keys are prop names and values are selector expressions. Use this to set any prop to a dynamic value.\",\n },\n} as const;\n\nconst dynamicProps = {\n ...dynamicPropsWithoutTag,\n tag: {\n type: \"string\",\n // defaultValueHint: \"div\",\n description: \"The HTML tag to use\",\n },\n} as const;\n\n// TODO Eventually we'll want to expose all the base HTML properties, but in the nicer way that we do within the studio.\n\nexport const dynamicElementMeta: ComponentMeta<CommonDynamicProps> = {\n name: \"hostless-dynamic-element\",\n displayName: \"Dynamic Element\",\n importName: \"DynamicElement\",\n importPath: thisModule,\n props: { ...dynamicProps, children: \"slot\" },\n};\n\nexport function registerDynamicElement(\n loader?: { registerComponent: typeof registerComponent },\n customDynamicElementMeta?: ComponentMeta<CommonDynamicProps>\n) {\n if (loader) {\n loader.registerComponent(\n DynamicElement,\n customDynamicElementMeta ?? dynamicElementMeta\n );\n } else {\n registerComponent(\n DynamicElement,\n customDynamicElementMeta ?? dynamicElementMeta\n );\n }\n}\n\nexport const dynamicTextMeta: ComponentMeta<DynamicTextProps> = {\n name: \"hostless-dynamic-text\",\n importName: \"DynamicText\",\n displayName: \"Dynamic Text\",\n importPath: thisModule,\n props: {\n ...dynamicProps,\n selector: {\n type: \"string\",\n description:\n \"The selector expression to use to get the text, such as: someVariable.0.someField\",\n },\n },\n};\n\nexport function registerDynamicText(\n loader?: { registerComponent: typeof registerComponent },\n customDynamicTextMeta?: ComponentMeta<DynamicTextProps>\n) {\n if (loader) {\n loader.registerComponent(\n DynamicText,\n customDynamicTextMeta ?? dynamicTextMeta\n );\n } else {\n registerComponent(DynamicText, customDynamicTextMeta ?? dynamicTextMeta);\n }\n}\n\nexport const dynamicImageMeta: ComponentMeta<DynamicImageProps> = {\n name: \"hostless-dynamic-image\",\n displayName: \"Dynamic Image\",\n importName: \"DynamicImage\",\n importPath: thisModule,\n props: {\n ...dynamicPropsWithoutTag,\n selector: {\n type: \"string\",\n description:\n \"The selector expression to use to get the image source URL, such as: someVariable.0.someField\",\n },\n },\n};\n\nexport function registerDynamicImage(\n loader?: { registerComponent: typeof registerComponent },\n customDynamicImageMeta?: ComponentMeta<DynamicImageProps>\n) {\n if (loader) {\n loader.registerComponent(\n DynamicImage,\n customDynamicImageMeta ?? dynamicImageMeta\n );\n } else {\n registerComponent(DynamicImage, customDynamicImageMeta ?? dynamicImageMeta);\n }\n}\n\nexport const dynamicCollectionProps = {\n ...dynamicProps,\n selector: {\n type: \"string\",\n description:\n \"The selector expression to use to get the array of data to loop over, such as: someVariable.0.someField\",\n },\n loopItemName: {\n type: \"string\",\n defaultValue: \"item\",\n description:\n \"The name of the variable to use to store the current item in the loop\",\n },\n children: \"slot\",\n} as const;\n\nexport const dynamicCollectionMeta: ComponentMeta<DynamicCollectionProps> = {\n name: \"hostless-dynamic-collection\",\n displayName: \"Dynamic Collection\",\n importName: \"DynamicCollection\",\n importPath: thisModule,\n props: dynamicCollectionProps,\n};\n\nexport function registerDynamicCollection(\n loader?: { registerComponent: typeof registerComponent },\n customDynamicCollectionMeta?: ComponentMeta<DynamicCollectionProps>\n) {\n if (loader) {\n loader.registerComponent(\n DynamicCollection,\n customDynamicCollectionMeta ?? dynamicCollectionMeta\n );\n } else {\n registerComponent(\n DynamicCollection,\n customDynamicCollectionMeta ?? dynamicCollectionMeta\n );\n }\n}\n\nexport const dynamicCollectionGridProps = {\n ...dynamicCollectionProps,\n columns: {\n type: \"number\",\n defaultValue: 2,\n description: \"The number of columns to use in the grid\",\n },\n columnGap: {\n type: \"number\",\n defaultValue: 8,\n description: \"The gap between columns\",\n },\n rowGap: {\n type: \"number\",\n defaultValue: 8,\n description: \"The gap between rows\",\n },\n} as const;\n\nexport const dynamicCollectionGridMeta: ComponentMeta<DynamicCollectionGridProps> = {\n name: \"hostless-dynamic-collection-grid\",\n displayName: \"Dynamic Collection Grid\",\n importName: \"DynamicCollectionGrid\",\n importPath: thisModule,\n props: dynamicCollectionGridProps,\n};\n\nexport function registerDynamicCollectionGrid(\n loader?: { registerComponent: typeof registerComponent },\n customDynamicCollectionGridMeta?: ComponentMeta<DynamicCollectionGridProps>\n) {\n if (loader) {\n loader.registerComponent(\n DynamicCollectionGrid,\n customDynamicCollectionGridMeta ?? dynamicCollectionGridMeta\n );\n } else {\n registerComponent(\n DynamicCollectionGrid,\n customDynamicCollectionGridMeta ?? dynamicCollectionGridMeta\n );\n }\n}\n","import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport React, { useEffect, useRef } from \"react\";\nimport { ensure } from \"./common\";\n\nexport interface EmbedProps {\n className?: string;\n code: string;\n hideInEditor?: boolean;\n}\n\nexport default function Embed({\n className,\n code,\n hideInEditor = false,\n}: EmbedProps) {\n const rootElt = useRef<HTMLDivElement>(null);\n useEffect(() => {\n if (hideInEditor) {\n return;\n }\n Array.from(ensure(rootElt.current).querySelectorAll(\"script\")).forEach(\n (oldScript) => {\n const newScript = document.createElement(\"script\");\n Array.from(oldScript.attributes).forEach((attr) =>\n newScript.setAttribute(attr.name, attr.value)\n );\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n ensure(oldScript.parentNode).replaceChild(newScript, oldScript);\n }\n );\n }, [code, hideInEditor]);\n const effectiveCode = hideInEditor ? \"\" : code;\n return (\n <div\n ref={rootElt}\n className={className}\n dangerouslySetInnerHTML={{ __html: effectiveCode }}\n />\n );\n}\n\nexport const embedMeta: ComponentMeta<EmbedProps> = {\n name: \"hostless-embed\",\n displayName: \"Embed\",\n importName: \"Embed\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n code: {\n type: \"string\",\n defaultValue: \"https://www.example.com\",\n },\n hideInEditor: {\n type: \"boolean\",\n displayName: \"Hide in editor\",\n description:\n \"Disable running the code while editing in Plasmic Studio (may require reload)\",\n editOnly: true,\n },\n },\n defaultStyles: {\n maxWidth: \"100%\",\n },\n};\n\nexport function registerEmbed(\n loader?: { registerComponent: typeof registerComponent },\n customEmbedMeta?: ComponentMeta<EmbedProps>\n) {\n if (loader) {\n loader.registerComponent(Embed, customEmbedMeta ?? embedMeta);\n } else {\n registerComponent(Embed, customEmbedMeta ?? embedMeta);\n }\n}\n","import { ComponentMeta, PlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React, { useContext } from \"react\";\n\nexport interface IframeProps {\n src: string;\n preview?: boolean;\n className?: string;\n}\n\nexport default function Iframe({ preview, src, className }: IframeProps) {\n const isEditing = useContext(PlasmicCanvasContext);\n if (isEditing && !preview) {\n return (\n <div className={className}>\n <div\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: \"#eee\",\n color: \"#888\",\n fontSize: \"36px\",\n fontFamily: \"sans-serif\",\n fontWeight: \"bold\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n overflow: \"hidden\",\n }}\n >\n Iframe placeholder\n </div>\n </div>\n );\n }\n return <iframe src={src} className={className} />;\n}\n\nexport const iframeMeta: ComponentMeta<IframeProps> = {\n name: \"hostless-iframe\",\n displayName: \"Iframe\",\n importName: \"Iframe\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n src: {\n type: \"string\",\n defaultValue: \"https://www.example.com\",\n },\n preview: {\n type: \"boolean\",\n description: \"Load the iframe while editing in Plasmic Studio\",\n },\n },\n defaultStyles: {\n width: \"300px\",\n height: \"150px\",\n maxWidth: \"100%\",\n },\n};\n\nexport function registerIframe(\n loader?: { registerComponent: typeof registerComponent },\n customIframeMeta?: ComponentMeta<IframeProps>\n) {\n if (loader) {\n loader.registerComponent(Iframe, customIframeMeta ?? iframeMeta);\n } else {\n registerComponent(Iframe, customIframeMeta ?? iframeMeta);\n }\n}\n","import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport React, {\n ReactNode,\n RefObject,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nexport function useDirectionalIntersection({\n ref,\n scrollDownThreshold = 0.5,\n scrollUpThreshold = 0,\n}: {\n ref: RefObject<HTMLElement>;\n scrollDownThreshold?: number;\n scrollUpThreshold?: number;\n}) {\n const [revealed, setRevealed] = useState(false);\n useEffect(() => {\n if (ref.current && typeof IntersectionObserver === \"function\") {\n const handler = (entries: IntersectionObserverEntry[]) => {\n if (entries[0].intersectionRatio >= scrollDownThreshold) {\n setRevealed(true);\n } else if (entries[0].intersectionRatio <= scrollUpThreshold) {\n setRevealed(false);\n }\n };\n\n const observer = new IntersectionObserver(handler, {\n root: null,\n rootMargin: \"0%\",\n threshold: [scrollUpThreshold, scrollDownThreshold],\n });\n observer.observe(ref.current);\n\n return () => {\n setRevealed(false);\n observer.disconnect();\n };\n }\n return () => {};\n }, [ref.current, scrollDownThreshold, scrollUpThreshold]);\n return revealed;\n}\n\nexport interface ScrollRevealerProps {\n children?: ReactNode;\n className?: string;\n scrollUpThreshold?: number;\n scrollDownThreshold?: number;\n}\n\n/**\n * Unlike react-awesome-reveal, ScrollRevealer:\n *\n * - has configurable thresholds\n * - triggers arbitrary render/unrender animations\n *\n * TODO: Merge this inta a general Reveal component, perhaps forking react-awesome-reveal, so that we don't have two different reveal components for users.\n */\nexport default function ScrollRevealer({\n children,\n className,\n scrollDownThreshold = 0.5,\n scrollUpThreshold = 0,\n}: ScrollRevealerProps) {\n const intersectionRef = useRef<HTMLDivElement>(null);\n const revealed = useDirectionalIntersection({\n ref: intersectionRef,\n scrollUpThreshold,\n scrollDownThreshold,\n });\n return (\n <div className={className} ref={intersectionRef}>\n {revealed ? children : null}\n </div>\n );\n}\n\nexport const scrollRevealerMeta: ComponentMeta<ScrollRevealerProps> = {\n name: \"hostless-scroll-revealer\",\n importName: \"ScrollRevealer\",\n displayName: \"Scroll Revealer\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n children: \"slot\",\n scrollDownThreshold: {\n type: \"number\",\n displayName: \"Scroll down threshold\",\n // defaultValueHint: 0.5,\n description:\n \"How much of the element (as a fraction) must you scroll into view for it to appear (defaults to 0.5)\",\n },\n scrollUpThreshold: {\n type: \"number\",\n displayName: \"Scroll up threshold\",\n // defaultValueHint: 0,\n description:\n \"While scrolling up, how much of the element (as a fraction) can still be scrolled in view before it disappears (defaults to 0, meaning you must scroll up until it's completely out of view)\",\n },\n },\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n },\n};\n\nexport function registerScrollRevealer(\n loader?: { registerComponent: typeof registerComponent },\n customScrollRevealerMeta?: ComponentMeta<ScrollRevealerProps>\n) {\n if (loader) {\n loader.registerComponent(\n ScrollRevealer,\n customScrollRevealerMeta ?? scrollRevealerMeta\n );\n } else {\n registerComponent(\n ScrollRevealer,\n customScrollRevealerMeta ?? scrollRevealerMeta\n );\n }\n}\n","import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport React from \"react\";\n\nexport type VideoProps = Pick<\n React.ComponentProps<\"video\">,\n | \"autoPlay\"\n | \"controls\"\n | \"loop\"\n | \"muted\"\n | \"playsInline\"\n | \"poster\"\n | \"preload\"\n | \"src\"\n>;\n\nconst Video = React.forwardRef<HTMLVideoElement, VideoProps>(\n (props: VideoProps, ref) => {\n return <video ref={ref} {...props} />;\n }\n);\n\nexport default Video;\n\nexport const videoMeta: ComponentMeta<VideoProps> = {\n name: \"hostless-html-video\",\n importName: \"Video\",\n displayName: \"HTML Video\",\n importPath: \"@plasmicpkgs/plasmic-basic-components\",\n props: {\n src: {\n type: \"string\",\n defaultValue:\n \"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm\",\n displayName: \"Source URL\",\n description: \"URL to a video file.\",\n },\n autoPlay: {\n type: \"boolean\",\n displayName: \"Auto Play\",\n description:\n \"Whether the video show automatically start playing when the player loads\",\n },\n controls: {\n type: \"boolean\",\n displayName: \"Show Controls\",\n description: \"Whether the video player controls should be displayed\",\n },\n playsInline: {\n type: \"boolean\",\n displayName: \"Plays inline\",\n description:\n \"Usually on mobile, when tilted landscape, videos can play fullscreen. Turn this on to prevent that.\",\n },\n loop: {\n type: \"boolean\",\n displayName: \"Loop\",\n description: \"Whether the video should be played again after it finishes\",\n },\n muted: {\n type: \"boolean\",\n displayName: \"Muted\",\n description: \"Whether audio should be muted\",\n },\n poster: {\n type: \"imageUrl\",\n displayName: \"Poster (placeholder) image\",\n description: \"Image to show while video is downloading\",\n },\n preload: {\n type: \"choice\",\n options: [\"none\", \"metadata\", \"auto\"],\n displayName: \"Preload\",\n description:\n \"Whether to preload nothing, metadata only, or the full video\",\n },\n },\n defaultStyles: {\n height: \"hug\",\n width: \"640px\",\n maxWidth: \"100%\",\n },\n};\n\nexport function registerVideo(\n loader?: { registerComponent: typeof registerComponent },\n customVideoMeta?: ComponentMeta<VideoProps>\n) {\n if (loader) {\n loader.registerComponent(Video, customVideoMeta ?? videoMeta);\n } else {\n registerComponent(Video, customVideoMeta ?? videoMeta);\n }\n}\n"],"names":["tuple","args","ensure","x","undefined","Error","DataContext","createContext","applySelector","rawData","selector","curData","split","key","useSelector","useDataEnv","useSelectors","selectors","Object","fromEntries","entries","filter","map","useContext","DataProvider","name","data","children","existingEnv","React","Provider","value","DynamicElement","tag","className","propSelectors","props","computed","createElement","DynamicText","DynamicImage","loading","style","objectFit","src","DynamicCollection","loopItemName","keySelector","finalData","item","index","repeatedElement","DynamicCollectionGrid","columns","columnGap","rowGap","display","gridTemplateColumns","thisModule","dataProviderMeta","displayName","importName","importPath","type","defaultValue","description","birthYear","profilePicture","registerDataProvider","loader","customDataProviderMeta","registerComponent","dynamicPropsWithoutTag","dynamicProps","dynamicElementMeta","registerDynamicElement","customDynamicElementMeta","dynamicTextMeta","registerDynamicText","customDynamicTextMeta","dynamicImageMeta","registerDynamicImage","customDynamicImageMeta","dynamicCollectionProps","dynamicCollectionMeta","registerDynamicCollection","customDynamicCollectionMeta","dynamicCollectionGridProps","dynamicCollectionGridMeta","registerDynamicCollectionGrid","customDynamicCollectionGridMeta","Embed","code","hideInEditor","rootElt","useRef","useEffect","Array","from","current","querySelectorAll","forEach","oldScript","newScript","document","attributes","attr","setAttribute","appendChild","createTextNode","innerHTML","parentNode","replaceChild","effectiveCode","ref","dangerouslySetInnerHTML","__html","embedMeta","editOnly","defaultStyles","maxWidth","registerEmbed","customEmbedMeta","Iframe","preview","isEditing","PlasmicCanvasContext","position","top","left","right","bottom","background","color","fontSize","fontFamily","fontWeight","alignItems","justifyContent","overflow","iframeMeta","width","height","registerIframe","customIframeMeta","useDirectionalIntersection","scrollDownThreshold","scrollUpThreshold","useState","revealed","setRevealed","IntersectionObserver","handler","intersectionRatio","observer","root","rootMargin","threshold","observe","disconnect","ScrollRevealer","intersectionRef","scrollRevealerMeta","registerScrollRevealer","customScrollRevealerMeta","Video","forwardRef","videoMeta","autoPlay","controls","playsInline","loop","muted","poster","preload","options","registerVideo","customVideoMeta"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasmicpkgs/plasmic-basic-components",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "Plasmic registration call for the HTML5 video element",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"module": "dist/plasmic-basic-components.esm.js",
|
|
8
8
|
"files": [
|
|
9
|
-
"dist"
|
|
10
|
-
"Data",
|
|
11
|
-
"Embed",
|
|
12
|
-
"Iframe",
|
|
13
|
-
"ScrollRevealer",
|
|
14
|
-
"Video"
|
|
9
|
+
"dist"
|
|
15
10
|
],
|
|
16
11
|
"size-limit": [
|
|
17
12
|
{
|
|
@@ -24,7 +19,7 @@
|
|
|
24
19
|
}
|
|
25
20
|
],
|
|
26
21
|
"scripts": {
|
|
27
|
-
"build": "tsdx build
|
|
22
|
+
"build": "tsdx build",
|
|
28
23
|
"start": "tsdx watch",
|
|
29
24
|
"test": "tsdx test --passWithNoTests",
|
|
30
25
|
"lint": "tsdx lint",
|
|
@@ -33,19 +28,15 @@
|
|
|
33
28
|
"analyze": "size-limit --why"
|
|
34
29
|
},
|
|
35
30
|
"devDependencies": {
|
|
36
|
-
"@rollup/plugin-commonjs": "^19.0.0",
|
|
37
|
-
"@rollup/plugin-node-resolve": "^13.0.0",
|
|
38
31
|
"@size-limit/preset-small-lib": "^4.11.0",
|
|
39
32
|
"@types/node": "^14.0.26",
|
|
40
|
-
"rollup": "^2.47.0",
|
|
41
|
-
"rollup-plugin-typescript2": "^0.30.0",
|
|
42
33
|
"size-limit": "^4.11.0",
|
|
43
34
|
"tsdx": "^0.14.1",
|
|
44
35
|
"tslib": "^2.2.0",
|
|
45
36
|
"typescript": "^3.9.7"
|
|
46
37
|
},
|
|
47
38
|
"dependencies": {
|
|
48
|
-
"@plasmicapp/host": "^0.0.
|
|
39
|
+
"@plasmicapp/host": "^0.0.37"
|
|
49
40
|
},
|
|
50
41
|
"peerDependencies": {
|
|
51
42
|
"react": ">=16.8.0",
|