@micromag/core 0.3.703 → 0.3.706
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/es/contexts.js +225 -8
- package/package.json +3 -2
package/es/contexts.js
CHANGED
|
@@ -2,11 +2,13 @@ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
|
2
2
|
import isString from 'lodash/isString';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import React, { useContext, useMemo, useState, useEffect, useCallback, useRef } from 'react';
|
|
5
|
-
import { ComponentsManager,
|
|
5
|
+
import { ComponentsManager, PropTypes as PropTypes$1, FieldsManager, ScreensManager, ColorsParser, Tracking } from '@micromag/core';
|
|
6
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
7
|
+
import JSCookie from 'js-cookie';
|
|
8
|
+
import { defineMessages, useIntl } from 'react-intl';
|
|
6
9
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
7
10
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
8
11
|
import uniqBy from 'lodash/uniqBy';
|
|
9
|
-
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
10
12
|
import { getJSON } from '@folklore/fetch';
|
|
11
13
|
import isObject from 'lodash/isObject';
|
|
12
14
|
import { loadGoogleApi, loadGoogleMaps } from '@folklore/services';
|
|
@@ -14,7 +16,6 @@ import { getDisplayName, getScreenExtraField } from '@micromag/core/utils';
|
|
|
14
16
|
import { useUrlGenerator } from '@folklore/routes';
|
|
15
17
|
export { RoutesContext, RoutesProvider, useRoutes, useUrlGenerator } from '@folklore/routes';
|
|
16
18
|
import { useLocation } from 'wouter';
|
|
17
|
-
import { useIntl } from 'react-intl';
|
|
18
19
|
import { TrackingContext, TrackingContainer } from '@folklore/tracking';
|
|
19
20
|
export { TrackingContext } from '@folklore/tracking';
|
|
20
21
|
import EventEmitter from 'wolfy87-eventemitter';
|
|
@@ -133,13 +134,13 @@ var useElementComponent = function useElementComponent(name) {
|
|
|
133
134
|
/**
|
|
134
135
|
* Provider
|
|
135
136
|
*/
|
|
136
|
-
var propTypes$
|
|
137
|
+
var propTypes$j = {
|
|
137
138
|
children: PropTypes.node.isRequired,
|
|
138
139
|
namespace: PropTypes.string,
|
|
139
140
|
manager: PropTypes.instanceOf(ComponentsManager),
|
|
140
141
|
components: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.object, PropTypes.func]))
|
|
141
142
|
};
|
|
142
|
-
var defaultProps$
|
|
143
|
+
var defaultProps$j = {
|
|
143
144
|
namespace: null,
|
|
144
145
|
components: {},
|
|
145
146
|
manager: null
|
|
@@ -157,8 +158,224 @@ var ComponentsProvider = function ComponentsProvider(_ref) {
|
|
|
157
158
|
value: finalManager
|
|
158
159
|
}, children);
|
|
159
160
|
};
|
|
160
|
-
ComponentsProvider.propTypes = propTypes$
|
|
161
|
-
ComponentsProvider.defaultProps = defaultProps$
|
|
161
|
+
ComponentsProvider.propTypes = propTypes$j;
|
|
162
|
+
ComponentsProvider.defaultProps = defaultProps$j;
|
|
163
|
+
|
|
164
|
+
var messages = defineMessages({
|
|
165
|
+
functionality_title: {
|
|
166
|
+
id: "consent.functionality_title",
|
|
167
|
+
defaultMessage: [{
|
|
168
|
+
"type": 0,
|
|
169
|
+
"value": "Functionnal"
|
|
170
|
+
}]
|
|
171
|
+
},
|
|
172
|
+
functionality_description: {
|
|
173
|
+
id: "consent.functionality_description",
|
|
174
|
+
defaultMessage: [{
|
|
175
|
+
"type": 0,
|
|
176
|
+
"value": "Cookies required for the site to function properly."
|
|
177
|
+
}]
|
|
178
|
+
},
|
|
179
|
+
analytics_title: {
|
|
180
|
+
id: "consent.analytics_title",
|
|
181
|
+
defaultMessage: [{
|
|
182
|
+
"type": 0,
|
|
183
|
+
"value": "Analytics"
|
|
184
|
+
}]
|
|
185
|
+
},
|
|
186
|
+
analytics_description: {
|
|
187
|
+
id: "consent.analytics_description",
|
|
188
|
+
defaultMessage: [{
|
|
189
|
+
"type": 0,
|
|
190
|
+
"value": "Cookies used to measure user behavior."
|
|
191
|
+
}]
|
|
192
|
+
},
|
|
193
|
+
ad_storage_title: {
|
|
194
|
+
id: "consent.ad_storage_title",
|
|
195
|
+
defaultMessage: [{
|
|
196
|
+
"type": 0,
|
|
197
|
+
"value": "Ad Storage"
|
|
198
|
+
}]
|
|
199
|
+
},
|
|
200
|
+
ad_storage_description: {
|
|
201
|
+
id: "consent.ad_storage_description",
|
|
202
|
+
defaultMessage: [{
|
|
203
|
+
"type": 0,
|
|
204
|
+
"value": "Cookies used for advertising purposes."
|
|
205
|
+
}]
|
|
206
|
+
},
|
|
207
|
+
ad_personalization_title: {
|
|
208
|
+
id: "consent.ad_personalization_title",
|
|
209
|
+
defaultMessage: [{
|
|
210
|
+
"type": 0,
|
|
211
|
+
"value": "Ad Personalization"
|
|
212
|
+
}]
|
|
213
|
+
},
|
|
214
|
+
ad_personalization_description: {
|
|
215
|
+
id: "consent.ad_personalization_description",
|
|
216
|
+
defaultMessage: [{
|
|
217
|
+
"type": 0,
|
|
218
|
+
"value": "Cookies used for ad targeting."
|
|
219
|
+
}]
|
|
220
|
+
},
|
|
221
|
+
ad_user_data_title: {
|
|
222
|
+
id: "consent.ad_user_data_title",
|
|
223
|
+
defaultMessage: [{
|
|
224
|
+
"type": 0,
|
|
225
|
+
"value": "User Ad Data"
|
|
226
|
+
}]
|
|
227
|
+
},
|
|
228
|
+
ad_user_data_description: {
|
|
229
|
+
id: "consent.ad_user_data_description",
|
|
230
|
+
defaultMessage: [{
|
|
231
|
+
"type": 0,
|
|
232
|
+
"value": "Cookies used for user-specific ad data."
|
|
233
|
+
}]
|
|
234
|
+
},
|
|
235
|
+
personalization_storage_title: {
|
|
236
|
+
id: "consent.personalization_storage_title",
|
|
237
|
+
defaultMessage: [{
|
|
238
|
+
"type": 0,
|
|
239
|
+
"value": "Personalization Storage"
|
|
240
|
+
}]
|
|
241
|
+
},
|
|
242
|
+
personalization_storage_description: {
|
|
243
|
+
id: "consent.personalization_storage_description",
|
|
244
|
+
defaultMessage: [{
|
|
245
|
+
"type": 0,
|
|
246
|
+
"value": "Cookies used for personalizing user experience."
|
|
247
|
+
}]
|
|
248
|
+
},
|
|
249
|
+
security_storage_title: {
|
|
250
|
+
id: "consent.security_storage_title",
|
|
251
|
+
defaultMessage: [{
|
|
252
|
+
"type": 0,
|
|
253
|
+
"value": "Security Storage"
|
|
254
|
+
}]
|
|
255
|
+
},
|
|
256
|
+
security_storage_description: {
|
|
257
|
+
id: "consent.security_storage_description",
|
|
258
|
+
defaultMessage: [{
|
|
259
|
+
"type": 0,
|
|
260
|
+
"value": "Cookies used for security purposes."
|
|
261
|
+
}]
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
var consentStates = [{
|
|
265
|
+
id: 'functionality_storage',
|
|
266
|
+
label: messages.functionality_title,
|
|
267
|
+
description: messages.functionality_description,
|
|
268
|
+
value: true,
|
|
269
|
+
disabled: true
|
|
270
|
+
}, {
|
|
271
|
+
id: 'security_storage',
|
|
272
|
+
label: messages.security_storage_title,
|
|
273
|
+
description: messages.security_storage_description,
|
|
274
|
+
value: true
|
|
275
|
+
}, {
|
|
276
|
+
id: 'personalization_storage',
|
|
277
|
+
label: messages.personalization_storage_title,
|
|
278
|
+
description: messages.personalization_storage_description,
|
|
279
|
+
value: true
|
|
280
|
+
}, {
|
|
281
|
+
id: 'analytics_storage',
|
|
282
|
+
label: messages.analytics_title,
|
|
283
|
+
description: messages.analytics_description,
|
|
284
|
+
value: true
|
|
285
|
+
}, {
|
|
286
|
+
id: 'ad_storage',
|
|
287
|
+
label: messages.ad_storage_title,
|
|
288
|
+
description: messages.ad_storage_description,
|
|
289
|
+
value: true
|
|
290
|
+
}, {
|
|
291
|
+
id: 'ad_personalization',
|
|
292
|
+
label: messages.ad_personalization_title,
|
|
293
|
+
description: messages.ad_personalization_description,
|
|
294
|
+
value: true
|
|
295
|
+
}, {
|
|
296
|
+
id: 'ad_user_data',
|
|
297
|
+
label: messages.ad_user_data_title,
|
|
298
|
+
description: messages.ad_user_data_description,
|
|
299
|
+
value: true
|
|
300
|
+
}];
|
|
301
|
+
var ConsentContext = /*#__PURE__*/React.createContext({
|
|
302
|
+
consent: null,
|
|
303
|
+
setConsent: function setConsent() {}
|
|
304
|
+
});
|
|
305
|
+
var useConsent = function useConsent() {
|
|
306
|
+
return useContext(ConsentContext);
|
|
307
|
+
};
|
|
308
|
+
var propTypes$i = {
|
|
309
|
+
children: PropTypes.node.isRequired,
|
|
310
|
+
consent: PropTypes$1.consent
|
|
311
|
+
};
|
|
312
|
+
var defaultProps$i = {
|
|
313
|
+
consent: ['functionality_storage', 'analytics_storage', 'ad_storage', 'ad_personalization', 'ad_user_data']
|
|
314
|
+
};
|
|
315
|
+
var ConsentProvider = function ConsentProvider(_ref) {
|
|
316
|
+
var providedConsent = _ref.consent,
|
|
317
|
+
children = _ref.children;
|
|
318
|
+
var baseConsent = useMemo(function () {
|
|
319
|
+
return (providedConsent || consentStates || []).map(function (item) {
|
|
320
|
+
if (isString(item)) {
|
|
321
|
+
return (consentStates || []).find(function (it) {
|
|
322
|
+
return it.id === item;
|
|
323
|
+
}) || null;
|
|
324
|
+
}
|
|
325
|
+
return item || null;
|
|
326
|
+
}).filter(function (it) {
|
|
327
|
+
return it !== null;
|
|
328
|
+
}).map(function (it) {
|
|
329
|
+
return _objectSpread(_objectSpread({}, it), {}, {
|
|
330
|
+
value:
|
|
331
|
+
// eslint-disable-next-line no-nested-ternary
|
|
332
|
+
JSCookie.get(it.id) === 'granted' ? true : JSCookie.get(it.id) === 'denied' ? false : it.value
|
|
333
|
+
});
|
|
334
|
+
});
|
|
335
|
+
}, [providedConsent]);
|
|
336
|
+
var _useState = useState(baseConsent),
|
|
337
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
338
|
+
consent = _useState2[0],
|
|
339
|
+
setConsentState = _useState2[1];
|
|
340
|
+
useEffect(function () {
|
|
341
|
+
if (baseConsent) {
|
|
342
|
+
setConsentState(baseConsent);
|
|
343
|
+
}
|
|
344
|
+
}, [baseConsent, setConsentState]);
|
|
345
|
+
var setConsent = useCallback(function (values) {
|
|
346
|
+
JSCookie.set('show_consent', values === null || values === undefined, {
|
|
347
|
+
secure: true,
|
|
348
|
+
expires: 182
|
|
349
|
+
});
|
|
350
|
+
(values || []).forEach(function (it) {
|
|
351
|
+
if (it.value === true) {
|
|
352
|
+
JSCookie.set(it.id, 'granted', {
|
|
353
|
+
secure: true,
|
|
354
|
+
expires: 182
|
|
355
|
+
});
|
|
356
|
+
} else if (it.value === false) {
|
|
357
|
+
JSCookie.set(it.id, 'denied', {
|
|
358
|
+
secure: true,
|
|
359
|
+
expires: 182
|
|
360
|
+
});
|
|
361
|
+
} else {
|
|
362
|
+
JSCookie.remove(it.id);
|
|
363
|
+
}
|
|
364
|
+
});
|
|
365
|
+
setConsentState(values);
|
|
366
|
+
}, [setConsentState]);
|
|
367
|
+
var value = useMemo(function () {
|
|
368
|
+
return {
|
|
369
|
+
consent: consent,
|
|
370
|
+
setConsent: setConsent
|
|
371
|
+
};
|
|
372
|
+
}, [consent, setConsent]);
|
|
373
|
+
return /*#__PURE__*/React.createElement(ConsentContext.Provider, {
|
|
374
|
+
value: value
|
|
375
|
+
}, children);
|
|
376
|
+
};
|
|
377
|
+
ConsentProvider.propTypes = propTypes$i;
|
|
378
|
+
ConsentProvider.defaultProps = defaultProps$i;
|
|
162
379
|
|
|
163
380
|
var FieldsContext = /*#__PURE__*/React.createContext(null);
|
|
164
381
|
var useFieldsManager = function useFieldsManager() {
|
|
@@ -1421,4 +1638,4 @@ var VisitorProvider = function VisitorProvider(_ref) {
|
|
|
1421
1638
|
VisitorProvider.propTypes = propTypes;
|
|
1422
1639
|
VisitorProvider.defaultProps = defaultProps;
|
|
1423
1640
|
|
|
1424
|
-
export { ComponentsContext, ComponentsProvider, ELEMENTS_NAMESPACE, EditorContext, EditorProvider, FIELDS_NAMESPACE, FORMS_NAMESPACE, FieldContext, FieldContextProvider, FieldsContext, FieldsProvider, FieldsValueContext, FieldsValueContextProvider, FontsContext, FontsProvider, GoogleApiClientContext, GoogleApiClientProvider, GoogleKeysContext, GoogleKeysProvider, GoogleMapsClientContext, GoogleMapsClientProvider, MODALS_NAMESPACE, ModalsContext, ModalsProvider, PanelsContext, PanelsProvider, PlaybackContext, PlaybackProvider, SCREENS_NAMESPACE, ScreenContext, ScreenProvider, ScreenSizeContext, ScreenSizeProvider, ScreensContext, ScreensProvider, StoryContext, StoryProvider, TrackingProvider, ViewerContext, ViewerProvider, VisitorContext, VisitorProvider, useComponent, useComponents, useComponentsManager, useEditor, useElementComponent, useElementsComponents, useElementsComponentsManager, useFieldComponent, useFieldContext, useFieldDefinition, useFieldsComponents, useFieldsComponentsManager, useFieldsManager, useFieldsValue, useFonts, useFormComponent, useFormsComponents, useFormsComponentsManager, useGetColors, useGoogleApiClient, useGoogleFonts, useGoogleKeys, useGoogleMapsClient, useModalComponent, useModals, useModalsComponents, useModalsComponentsManager, usePanels, usePlaybackContext, usePlaybackMediaRef, useRouteBack, useRoutePush, useScreen, useScreenComponent, useScreenData, useScreenDefinition, useScreenRenderContext, useScreenSize, useScreenState, useScreensComponents, useScreensComponentsManager, useScreensManager, useSetVisitor, useStory, useStoryContext, useTracking, useViewerContainer, useViewerContext, useViewerEvents, useViewerInteraction, useViewerNavigation, useViewerSize, useViewerWebView, useVisitor, useVisitorContext, withGoogleApiClient, withGoogleMapsClient, withModals, withPanels };
|
|
1641
|
+
export { ComponentsContext, ComponentsProvider, ConsentContext, ConsentProvider, ELEMENTS_NAMESPACE, EditorContext, EditorProvider, FIELDS_NAMESPACE, FORMS_NAMESPACE, FieldContext, FieldContextProvider, FieldsContext, FieldsProvider, FieldsValueContext, FieldsValueContextProvider, FontsContext, FontsProvider, GoogleApiClientContext, GoogleApiClientProvider, GoogleKeysContext, GoogleKeysProvider, GoogleMapsClientContext, GoogleMapsClientProvider, MODALS_NAMESPACE, ModalsContext, ModalsProvider, PanelsContext, PanelsProvider, PlaybackContext, PlaybackProvider, SCREENS_NAMESPACE, ScreenContext, ScreenProvider, ScreenSizeContext, ScreenSizeProvider, ScreensContext, ScreensProvider, StoryContext, StoryProvider, TrackingProvider, ViewerContext, ViewerProvider, VisitorContext, VisitorProvider, useComponent, useComponents, useComponentsManager, useConsent, useEditor, useElementComponent, useElementsComponents, useElementsComponentsManager, useFieldComponent, useFieldContext, useFieldDefinition, useFieldsComponents, useFieldsComponentsManager, useFieldsManager, useFieldsValue, useFonts, useFormComponent, useFormsComponents, useFormsComponentsManager, useGetColors, useGoogleApiClient, useGoogleFonts, useGoogleKeys, useGoogleMapsClient, useModalComponent, useModals, useModalsComponents, useModalsComponentsManager, usePanels, usePlaybackContext, usePlaybackMediaRef, useRouteBack, useRoutePush, useScreen, useScreenComponent, useScreenData, useScreenDefinition, useScreenRenderContext, useScreenSize, useScreenState, useScreensComponents, useScreensComponentsManager, useScreensManager, useSetVisitor, useStory, useStoryContext, useTracking, useViewerContainer, useViewerContext, useViewerEvents, useViewerInteraction, useViewerNavigation, useViewerSize, useViewerWebView, useVisitor, useVisitorContext, withGoogleApiClient, withGoogleMapsClient, withModals, withPanels };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@micromag/core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.706",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"keywords": [
|
|
@@ -126,6 +126,7 @@
|
|
|
126
126
|
"debug": "^4.3.4",
|
|
127
127
|
"flat": "^6.0.1",
|
|
128
128
|
"hoist-non-react-statics": "^3.3.2",
|
|
129
|
+
"js-cookie": "^3.0.5",
|
|
129
130
|
"lodash": "^4.17.21",
|
|
130
131
|
"prop-types": "^15.7.2",
|
|
131
132
|
"query-string": "^9.0.0",
|
|
@@ -144,5 +145,5 @@
|
|
|
144
145
|
"access": "public",
|
|
145
146
|
"registry": "https://registry.npmjs.org/"
|
|
146
147
|
},
|
|
147
|
-
"gitHead": "
|
|
148
|
+
"gitHead": "1797e88940f701824f9b047784d8f5a872b6a790"
|
|
148
149
|
}
|