@micromag/screen-share 0.3.541 → 0.3.569

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/es/index.js +2 -3
  2. package/package.json +13 -14
  3. package/lib/index.js +0 -480
package/es/index.js CHANGED
@@ -236,7 +236,6 @@ var ShareScreen = function ShareScreen(_ref) {
236
236
  };
237
237
  ShareScreen.propTypes = propTypes;
238
238
  ShareScreen.defaultProps = defaultProps;
239
- var ShareScreen$1 = ShareScreen;
240
239
 
241
240
  // import * as transforms from './transforms/index';
242
241
 
@@ -260,7 +259,7 @@ var definition = {
260
259
  "value": "Share"
261
260
  }]
262
261
  }),
263
- component: ShareScreen$1,
262
+ component: ShareScreen,
264
263
  layouts: ['top', 'middle', 'bottom'],
265
264
  // transforms,
266
265
  fields: [{
@@ -472,4 +471,4 @@ var definition = {
472
471
  }]
473
472
  };
474
473
 
475
- export { ShareScreen$1 as ShareScreen, definition as default };
474
+ export { ShareScreen, definition as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/screen-share",
3
- "version": "0.3.541",
3
+ "version": "0.3.569",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "keywords": [
@@ -34,12 +34,11 @@
34
34
  }
35
35
  ],
36
36
  "license": "ISC",
37
- "main": "lib/index.js",
37
+ "type": "module",
38
38
  "module": "es/index.js",
39
39
  "style": "assets/css/styles.css",
40
40
  "exports": {
41
41
  ".": {
42
- "require": "./lib/index.js",
43
42
  "import": "./es/index.js"
44
43
  },
45
44
  "./assets/css/styles": "./assets/css/styles.css",
@@ -65,16 +64,16 @@
65
64
  },
66
65
  "dependencies": {
67
66
  "@babel/runtime": "^7.13.10",
68
- "@micromag/core": "^0.3.541",
69
- "@micromag/element-background": "^0.3.541",
70
- "@micromag/element-container": "^0.3.541",
71
- "@micromag/element-footer": "^0.3.541",
72
- "@micromag/element-header": "^0.3.541",
73
- "@micromag/element-heading": "^0.3.541",
74
- "@micromag/element-layout": "^0.3.541",
75
- "@micromag/element-share-options": "^0.3.541",
76
- "@micromag/element-text": "^0.3.541",
77
- "@micromag/transforms": "^0.3.541",
67
+ "@micromag/core": "^0.3.569",
68
+ "@micromag/element-background": "^0.3.569",
69
+ "@micromag/element-container": "^0.3.569",
70
+ "@micromag/element-footer": "^0.3.569",
71
+ "@micromag/element-header": "^0.3.569",
72
+ "@micromag/element-heading": "^0.3.569",
73
+ "@micromag/element-layout": "^0.3.569",
74
+ "@micromag/element-share-options": "^0.3.569",
75
+ "@micromag/element-text": "^0.3.569",
76
+ "@micromag/transforms": "^0.3.569",
78
77
  "classnames": "^2.2.6",
79
78
  "lodash": "^4.17.21",
80
79
  "prop-types": "^15.7.2",
@@ -85,5 +84,5 @@
85
84
  "access": "public",
86
85
  "registry": "https://registry.npmjs.org/"
87
86
  },
88
- "gitHead": "6c04a7e327b5fbc096785c11320b3fbd3c5751c8"
87
+ "gitHead": "ceb71f23a32ab8df4a1563a1e5cd5598e539de4d"
89
88
  }
package/lib/index.js DELETED
@@ -1,480 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var reactIntl = require('react-intl');
6
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
- var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
8
- var classNames = require('classnames');
9
- var PropTypes = require('prop-types');
10
- var React = require('react');
11
- var core = require('@micromag/core');
12
- var components = require('@micromag/core/components');
13
- var contexts = require('@micromag/core/contexts');
14
- var hooks = require('@micromag/core/hooks');
15
- var utils = require('@micromag/core/utils');
16
- var Background = require('@micromag/element-background');
17
- var Container = require('@micromag/element-container');
18
- var Footer = require('@micromag/element-footer');
19
- var Header = require('@micromag/element-header');
20
- var Heading = require('@micromag/element-heading');
21
- var Layout = require('@micromag/element-layout');
22
- var ShareOptions = require('@micromag/element-share-options');
23
-
24
- var styles = {"container":"micromag-screen-share-container","background":"micromag-screen-share-background","disabled":"micromag-screen-share-disabled","hidden":"micromag-screen-share-hidden","placeholder":"micromag-screen-share-placeholder","content":"micromag-screen-share-content","emptyHeading":"micromag-screen-share-emptyHeading","emptyOptions":"micromag-screen-share-emptyOptions","heading":"micromag-screen-share-heading","layout":"micromag-screen-share-layout","shareOptions":"micromag-screen-share-shareOptions","isCentered":"micromag-screen-share-isCentered","shareButton":"micromag-screen-share-shareButton","header":"micromag-screen-share-header","footer":"micromag-screen-share-footer"};
25
-
26
- var propTypes = {
27
- layout: PropTypes.oneOf(['top', 'middle', 'bottom']),
28
- heading: core.PropTypes.headingElement,
29
- shareUrl: PropTypes.string,
30
- options: PropTypes.objectOf(PropTypes.bool),
31
- buttonsStyle: core.PropTypes.boxStyle,
32
- buttonsTextStyle: core.PropTypes.textStyle,
33
- centered: PropTypes.bool,
34
- spacing: PropTypes.number,
35
- background: core.PropTypes.backgroundElement,
36
- header: core.PropTypes.header,
37
- footer: core.PropTypes.footer,
38
- id: PropTypes.string,
39
- index: PropTypes.number,
40
- current: PropTypes.bool,
41
- active: PropTypes.bool,
42
- className: PropTypes.string
43
- };
44
- var defaultProps = {
45
- layout: 'top',
46
- heading: null,
47
- shareUrl: null,
48
- options: null,
49
- buttonsStyle: null,
50
- buttonsTextStyle: null,
51
- centered: false,
52
- spacing: 20,
53
- background: null,
54
- header: null,
55
- footer: null,
56
- id: null,
57
- index: null,
58
- current: true,
59
- active: true,
60
- className: null
61
- };
62
- var ShareScreen = function ShareScreen(_ref) {
63
- var layout = _ref.layout,
64
- heading = _ref.heading,
65
- shareUrl = _ref.shareUrl,
66
- options = _ref.options,
67
- buttonsStyle = _ref.buttonsStyle,
68
- buttonsTextStyle = _ref.buttonsTextStyle,
69
- centered = _ref.centered,
70
- spacing = _ref.spacing,
71
- background = _ref.background,
72
- header = _ref.header,
73
- footer = _ref.footer,
74
- id = _ref.id,
75
- index = _ref.index,
76
- current = _ref.current,
77
- active = _ref.active,
78
- className = _ref.className;
79
- var _useScreenSize = contexts.useScreenSize(),
80
- width = _useScreenSize.width,
81
- height = _useScreenSize.height,
82
- resolution = _useScreenSize.resolution;
83
- var _useScreenRenderConte = contexts.useScreenRenderContext(),
84
- isView = _useScreenRenderConte.isView,
85
- isPreview = _useScreenRenderConte.isPreview,
86
- isPlaceholder = _useScreenRenderConte.isPlaceholder,
87
- isEdit = _useScreenRenderConte.isEdit;
88
- var _useViewerContext = contexts.useViewerContext(),
89
- viewerTopHeight = _useViewerContext.topHeight,
90
- viewerBottomHeight = _useViewerContext.bottomHeight,
91
- viewerBottomSidesWidth = _useViewerContext.bottomSidesWidth;
92
- var _useViewerWebView = contexts.useViewerWebView(),
93
- openWebView = _useViewerWebView.open;
94
- var _usePlaybackContext = contexts.usePlaybackContext(),
95
- muted = _usePlaybackContext.muted;
96
- var mediaRef = contexts.usePlaybackMediaRef(current);
97
- var backgroundPlaying = current && (isView || isEdit);
98
- var backgroundShouldLoad = current || active;
99
- var hasHeader = utils.isHeaderFilled(header);
100
- var hasFooter = utils.isFooterFilled(footer);
101
- var footerProps = utils.getFooterProps(footer, {
102
- isView: isView,
103
- current: current,
104
- openWebView: openWebView,
105
- isPreview: isPreview
106
- });
107
- var _useDimensionObserver = hooks.useDimensionObserver(),
108
- headerRef = _useDimensionObserver.ref,
109
- _useDimensionObserver2 = _useDimensionObserver.height,
110
- headerHeight = _useDimensionObserver2 === void 0 ? 0 : _useDimensionObserver2;
111
- var _useDimensionObserver3 = hooks.useDimensionObserver(),
112
- footerRef = _useDimensionObserver3.ref,
113
- _useDimensionObserver4 = _useDimensionObserver3.height,
114
- footerHeight = _useDimensionObserver4 === void 0 ? 0 : _useDimensionObserver4;
115
- var currentUrl = React.useMemo(function () {
116
- if (typeof window === 'undefined') return '';
117
- var _ref2 = window.location || {},
118
- _ref2$hostname = _ref2.hostname,
119
- hostname = _ref2$hostname === void 0 ? null : _ref2$hostname,
120
- _ref2$pathname = _ref2.pathname,
121
- pathname = _ref2$pathname === void 0 ? null : _ref2$pathname;
122
- var parts = pathname.split('/');
123
- /**
124
- * for the last portion of the path, if it's equal to the screen index,
125
- * or the screen id, then don't include it in the share URL.
126
- * This makes sure we're not doing a `.replace()` that might remove a part
127
- * from the slug of the current Micromag.
128
- * (e.g. if the url is `/10-reasons-to-lorem-ipsum` and the share screen
129
- * is on screen 10, then a string replace would remove the `/10` from the
130
- * URL)
131
- */
132
- return parts.reduce(function (acc, part, i) {
133
- return (
134
- // it's equal to the screen index, or equal to the screen ID, or it's empty
135
- i === parts.length - 1 && parseInt(part, 10) === index || part === id || part === '' ? acc : "".concat(acc, "/").concat(part)
136
- );
137
- }, hostname);
138
- }, [index, id]);
139
-
140
- // if not share URl was specified, default to the currentURL (without the screen index/id part)
141
- var finalShareURL = shareUrl || currentUrl;
142
- var defaultOptions = options !== null ? ['email', 'facebook', 'twitter', 'linkedin', 'whatsapp'] : [];
143
- var selectedOptions = options !== null ? Object.keys(options).reduce(function (acc, key) {
144
- if (!options[key]) return acc;
145
- return [].concat(_toConsumableArray(acc), [key]);
146
- }, []) : defaultOptions;
147
- var trackingEnabled = isView;
148
- var trackEvent = hooks.useTrackScreenEvent('share');
149
- var onClickShare = React.useCallback(function (type) {
150
- if (trackingEnabled) {
151
- trackEvent('click_share', type, {
152
- shareUrl: finalShareURL
153
- });
154
- }
155
- }, [trackEvent]);
156
- return /*#__PURE__*/React.createElement("div", {
157
- className: classNames([styles.container, _defineProperty(_defineProperty({}, className, className !== null), styles.isPlaceholder, isPlaceholder)]),
158
- "data-screen-ready": true
159
- }, /*#__PURE__*/React.createElement(Container, {
160
- width: width,
161
- height: height,
162
- className: styles.content
163
- }, /*#__PURE__*/React.createElement(Layout, {
164
- className: styles.layout,
165
- verticalAlign: layout,
166
- fullscreen: true,
167
- style: !isPlaceholder ? {
168
- padding: spacing,
169
- paddingTop: (!isPreview ? viewerTopHeight : 0) + (headerHeight || spacing),
170
- paddingBottom: (current && !isPreview ? viewerBottomHeight : 0) + (footerHeight || spacing)
171
- } : null
172
- }, !isPlaceholder && hasHeader ? /*#__PURE__*/React.createElement("div", {
173
- className: styles.header,
174
- ref: headerRef,
175
- style: {
176
- paddingTop: spacing / 2,
177
- paddingBottom: spacing,
178
- paddingLeft: spacing,
179
- paddingRight: spacing,
180
- transform: "translate(0px, ".concat(viewerTopHeight, "px)")
181
- }
182
- }, /*#__PURE__*/React.createElement(Header, header)) : null, /*#__PURE__*/React.createElement(components.ScreenElement, {
183
- key: "title",
184
- placeholder: "title",
185
- emptyLabel: /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
186
- id: "X7kRRa",
187
- defaultMessage: [{
188
- "type": 0,
189
- "value": "Heading"
190
- }]
191
- }),
192
- emptyClassName: styles.emptyHeading,
193
- isEmpty: !heading || (heading === null || heading === void 0 ? void 0 : heading.body) === ''
194
- }, heading ? /*#__PURE__*/React.createElement(Heading, Object.assign({
195
- className: classNames([styles.heading])
196
- }, heading)) : null), /*#__PURE__*/React.createElement(Layout.Spacer, {
197
- key: "spacer",
198
- size: 5
199
- }), /*#__PURE__*/React.createElement(components.ScreenElement, {
200
- key: "share-options",
201
- placeholder: "share-options",
202
- emptyLabel: /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
203
- id: "RucIeL",
204
- defaultMessage: [{
205
- "type": 0,
206
- "value": "Share options"
207
- }]
208
- }),
209
- emptyClassName: styles.emptyOptions,
210
- isEmpty: !options
211
- }, /*#__PURE__*/React.createElement(ShareOptions, {
212
- className: classNames([styles.shareOptions, _defineProperty({}, styles.isCentered, centered)]),
213
- buttonClassName: styles.shareButton,
214
- url: finalShareURL,
215
- options: selectedOptions,
216
- onShare: onClickShare,
217
- buttonsStyle: buttonsStyle,
218
- buttonsTextStyle: buttonsTextStyle
219
- })), !isPlaceholder && hasFooter ? /*#__PURE__*/React.createElement("div", {
220
- className: styles.footer,
221
- ref: footerRef,
222
- style: {
223
- paddingTop: spacing,
224
- paddingBottom: spacing / 2,
225
- paddingLeft: Math.max(viewerBottomSidesWidth - spacing, 0),
226
- paddingRight: Math.max(viewerBottomSidesWidth - spacing, 0)
227
- }
228
- }, /*#__PURE__*/React.createElement(Footer, footerProps)) : null)), !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {
229
- background: background,
230
- width: width,
231
- height: height,
232
- resolution: resolution,
233
- playing: backgroundPlaying,
234
- muted: muted,
235
- shouldLoad: backgroundShouldLoad,
236
- mediaRef: mediaRef,
237
- withoutVideo: isPreview,
238
- className: styles.background
239
- }) : null);
240
- };
241
- ShareScreen.propTypes = propTypes;
242
- ShareScreen.defaultProps = defaultProps;
243
- var ShareScreen$1 = ShareScreen;
244
-
245
- // import * as transforms from './transforms/index';
246
-
247
- var definition = {
248
- id: 'share',
249
- type: 'screen',
250
- group: {
251
- label: reactIntl.defineMessage({
252
- id: "64JlRq",
253
- defaultMessage: [{
254
- "type": 0,
255
- "value": "Share"
256
- }]
257
- }),
258
- order: 12
259
- },
260
- title: reactIntl.defineMessage({
261
- id: "5mk1b+",
262
- defaultMessage: [{
263
- "type": 0,
264
- "value": "Share"
265
- }]
266
- }),
267
- component: ShareScreen$1,
268
- layouts: ['top', 'middle', 'bottom'],
269
- // transforms,
270
- fields: [{
271
- name: 'layout',
272
- type: 'screen-layout',
273
- defaultValue: 'top',
274
- label: reactIntl.defineMessage({
275
- id: "4iBXj2",
276
- defaultMessage: [{
277
- "type": 0,
278
- "value": "Layout"
279
- }]
280
- })
281
- }, {
282
- name: 'shareUrl',
283
- type: 'url',
284
- label: reactIntl.defineMessage({
285
- id: "0R+nB5",
286
- defaultMessage: [{
287
- "type": 0,
288
- "value": "Custom URL"
289
- }]
290
- }),
291
- help: reactIntl.defineMessage({
292
- id: "bQsPrs",
293
- defaultMessage: [{
294
- "type": 0,
295
- "value": "If this field is left empty, this Micromag's URL will be shared."
296
- }]
297
- })
298
- }, {
299
- name: 'heading',
300
- type: 'heading-element',
301
- theme: {
302
- textStyle: 'heading2'
303
- },
304
- label: reactIntl.defineMessage({
305
- id: "wx5PI0",
306
- defaultMessage: [{
307
- "type": 0,
308
- "value": "Heading"
309
- }]
310
- })
311
- }, {
312
- name: 'options',
313
- type: 'fields',
314
- isList: true,
315
- label: reactIntl.defineMessage({
316
- id: "4js1kW",
317
- defaultMessage: [{
318
- "type": 0,
319
- "value": "Share Options"
320
- }]
321
- }),
322
- fields: [{
323
- name: 'copylink',
324
- type: 'toggle',
325
- defaultValue: true,
326
- label: reactIntl.defineMessage({
327
- id: "rKuiKj",
328
- defaultMessage: [{
329
- "type": 0,
330
- "value": "Copy link"
331
- }]
332
- })
333
- }, {
334
- name: 'facebook',
335
- type: 'toggle',
336
- defaultValue: true,
337
- label: reactIntl.defineMessage({
338
- id: "r+bcpa",
339
- defaultMessage: [{
340
- "type": 0,
341
- "value": "Facebook"
342
- }]
343
- })
344
- }, {
345
- name: 'twitter',
346
- type: 'toggle',
347
- defaultValue: true,
348
- label: reactIntl.defineMessage({
349
- id: "mlucL+",
350
- defaultMessage: [{
351
- "type": 0,
352
- "value": "Twitter"
353
- }]
354
- })
355
- }, {
356
- name: 'linkedin',
357
- type: 'toggle',
358
- defaultValue: true,
359
- label: reactIntl.defineMessage({
360
- id: "hvxkzE",
361
- defaultMessage: [{
362
- "type": 0,
363
- "value": "LinkedIn"
364
- }]
365
- })
366
- }, {
367
- name: 'whatsapp',
368
- type: 'toggle',
369
- defaultValue: true,
370
- label: reactIntl.defineMessage({
371
- id: "3B9cb3",
372
- defaultMessage: [{
373
- "type": 0,
374
- "value": "Whatsapp"
375
- }]
376
- })
377
- },
378
- // {
379
- // name: 'facebookMessenger',
380
- // type: 'toggle',
381
- // defaultValue: true,
382
- // label: defineMessage({
383
- // defaultMessage: 'Facebook Messenger',
384
- // description: 'Field label',
385
- // }),
386
- // },
387
- {
388
- name: 'email',
389
- type: 'toggle',
390
- defaultValue: true,
391
- label: reactIntl.defineMessage({
392
- id: "LI0Gz4",
393
- defaultMessage: [{
394
- "type": 0,
395
- "value": "Email"
396
- }]
397
- })
398
- }, {
399
- name: 'sms',
400
- type: 'toggle',
401
- defaultValue: true,
402
- label: reactIntl.defineMessage({
403
- id: "d3va12",
404
- defaultMessage: [{
405
- "type": 0,
406
- "value": "SMS"
407
- }]
408
- })
409
- }]
410
- }, {
411
- name: 'buttonsTextStyle',
412
- type: 'text-style-form',
413
- label: reactIntl.defineMessage({
414
- id: "gwPu/I",
415
- defaultMessage: [{
416
- "type": 0,
417
- "value": "Buttons text"
418
- }]
419
- })
420
- }, {
421
- name: 'buttonsStyle',
422
- type: 'box-style-form',
423
- label: reactIntl.defineMessage({
424
- id: "l5uLMd",
425
- defaultMessage: [{
426
- "type": 0,
427
- "value": "Buttons"
428
- }]
429
- })
430
- }, {
431
- name: 'background',
432
- type: 'background',
433
- label: reactIntl.defineMessage({
434
- id: "+MPZRu",
435
- defaultMessage: [{
436
- "type": 0,
437
- "value": "Background"
438
- }]
439
- })
440
- }, {
441
- name: 'header',
442
- type: 'header',
443
- label: reactIntl.defineMessage({
444
- id: "rhuDxI",
445
- defaultMessage: [{
446
- "type": 0,
447
- "value": "Header"
448
- }]
449
- }),
450
- theme: {
451
- badge: {
452
- label: {
453
- textStyle: 'badge'
454
- },
455
- boxStyle: 'badge'
456
- }
457
- }
458
- }, {
459
- name: 'footer',
460
- type: 'footer',
461
- label: reactIntl.defineMessage({
462
- id: "g4nybp",
463
- defaultMessage: [{
464
- "type": 0,
465
- "value": "Footer"
466
- }]
467
- }),
468
- theme: {
469
- callToAction: {
470
- label: {
471
- textStyle: 'cta'
472
- },
473
- boxStyle: 'cta'
474
- }
475
- }
476
- }]
477
- };
478
-
479
- exports.ShareScreen = ShareScreen$1;
480
- exports.default = definition;