@washingtonpost/subs-de-inputs 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,29 @@
1
- import React, { useState, useEffect } from 'react';
2
- import { Icon, theme, Select, styled } from '@washingtonpost/wpds-ui-kit';
3
- import { useWindowSize } from '@washingtonpost/subs-hooks';
4
- import { ChevronDown } from '@washingtonpost/wpds-assets';
5
1
  import { getCookie, WPGeo, ENDPOINTS, ResponseStatus } from '@washingtonpost/subs-sdk';
6
2
 
3
+ var CollectionBehaviors = {
4
+ COLLECT: 'COLLECT',
5
+ DO_NOT_COLLECT: 'DO_NOT_COLLECT'
6
+ };
7
+ var IngestResponseState = {
8
+ SUCCESS: '100',
9
+ SYSTEM_ERROR: '101',
10
+ INVALID_TYPE: '102',
11
+ INVALID_IDENTIFIER: '103',
12
+ INVALID_DATA: '104',
13
+ INVALID_ATTRIBUTE_DEFINITION: '105',
14
+ INVALID_META_DEFINITION: '106'
15
+ };
16
+
17
+ var hasRequiredPrivacyCookies = function hasRequiredPrivacyCookies() {
18
+ var _WPGeo;
19
+ if (typeof window === 'undefined') {
20
+ return false;
21
+ }
22
+ var wp_usp = getCookie('wp_usp');
23
+ var countryCode = (_WPGeo = WPGeo()) == null ? void 0 : _WPGeo.country_code;
24
+ return !!(wp_usp && countryCode === 'US');
25
+ };
26
+
7
27
  function _regeneratorRuntime() {
8
28
  _regeneratorRuntime = function () {
9
29
  return exports;
@@ -335,458 +355,68 @@ function _asyncToGenerator(fn) {
335
355
  });
336
356
  };
337
357
  }
338
- function _extends() {
339
- _extends = Object.assign ? Object.assign.bind() : function (target) {
340
- for (var i = 1; i < arguments.length; i++) {
341
- var source = arguments[i];
342
- for (var key in source) {
343
- if (Object.prototype.hasOwnProperty.call(source, key)) {
344
- target[key] = source[key];
345
- }
346
- }
347
- }
348
- return target;
349
- };
350
- return _extends.apply(this, arguments);
351
- }
352
-
353
- var I1pDataInputTypes;
354
- (function (I1pDataInputTypes) {
355
- I1pDataInputTypes["DROPDOWN"] = "dropdown";
356
- })(I1pDataInputTypes || (I1pDataInputTypes = {}));
357
- var I1pIngestDataTypes;
358
- (function (I1pIngestDataTypes) {
359
- I1pIngestDataTypes["JOB_LEVEL"] = "profile_job_level";
360
- I1pIngestDataTypes["JOB_INDUSTRY"] = "profile_job_industry";
361
- I1pIngestDataTypes["NY_PERSONAL_GOALS"] = "new_year_personal_goals";
362
- I1pIngestDataTypes["NY_HOBBIES"] = "new_year_hobbies";
363
- I1pIngestDataTypes["NY_PROFESSIONAL_GOALS"] = "new_year_professional_goals";
364
- I1pIngestDataTypes["NY_INDUSTRY"] = "new_year_industry";
365
- I1pIngestDataTypes["NY_NEWS_LOCATION"] = "new_year_news_location";
366
- })(I1pIngestDataTypes || (I1pIngestDataTypes = {}));
367
- var I1pDataIngestTypes;
368
- (function (I1pDataIngestTypes) {
369
- I1pDataIngestTypes["EXPLICIT"] = "explicit";
370
- I1pDataIngestTypes["IMPLICIT"] = "implicit";
371
- })(I1pDataIngestTypes || (I1pDataIngestTypes = {}));
372
- var IngestResponseState;
373
- (function (IngestResponseState) {
374
- IngestResponseState["SUCCESS"] = "100";
375
- IngestResponseState["SYSTEM_ERROR"] = "101";
376
- IngestResponseState["INVALID_TYPE"] = "102";
377
- IngestResponseState["INVALID_IDENTIFIER"] = "103";
378
- IngestResponseState["INVALID_DATA"] = "104";
379
- IngestResponseState["INVALID_ATTRIBUTE_DEFINITION"] = "105";
380
- IngestResponseState["INVALID_META_DEFINITION"] = "106";
381
- })(IngestResponseState || (IngestResponseState = {}));
382
-
383
- var StyledMobileSelect = /*#__PURE__*/styled('select', {
384
- padding: '12px 16px 12px 6px',
385
- display: 'flex',
386
- justifyContent: 'space-between',
387
- width: '100%',
388
- backgroundColor: '$secondary',
389
- color: '$primary',
390
- fontFamily: '$meta',
391
- fontSize: '$100',
392
- fontWeight: '$light',
393
- lineHeight: '$125',
394
- paddingBlockRight: '$125',
395
- textOverflow: 'ellipsis',
396
- position: 'relative',
397
- borderColor: 'transparent',
398
- borderRightWidth: '10px',
399
- borderRightColor: 'transparent',
400
- appearance: 'none',
401
- '-webkit-appearance': 'none',
402
- '&:disabled': {
403
- backgroundColor: theme.colors.disabled,
404
- borderColor: theme.colors.disabled,
405
- color: theme.colors.onDisabled,
406
- cursor: 'not-allowed'
407
- }
408
- });
409
- var StyledSelectWrapper = /*#__PURE__*/styled('div', {
410
- width: '100%',
411
- maxWidth: '380px',
412
- borderRadius: '$012',
413
- borderColor: '$subtle',
414
- borderStyle: 'solid',
415
- borderWidth: '1px',
416
- backgroundColor: '$secondary',
417
- position: 'relative'
418
- });
419
- var StyledMobileOption = /*#__PURE__*/styled('option', {
420
- fontFamily: 'inherit',
421
- fontSize: 'inherit',
422
- color: 'inherit'
423
- });
424
- var Dropdown = function Dropdown(_ref) {
425
- var id = _ref.id,
426
- label = _ref.label,
427
- values = _ref.values,
428
- _ref$required = _ref.required,
429
- required = _ref$required === void 0 ? false : _ref$required,
430
- defaultValue = _ref.defaultValue,
431
- _ref$onChange = _ref.onChange,
432
- onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
433
- _ref$disabled = _ref.disabled,
434
- disabled = _ref$disabled === void 0 ? false : _ref$disabled;
435
- var _useState = useState(),
436
- answer = _useState[0],
437
- setAnswer = _useState[1];
438
- var _useWindowSize = useWindowSize(),
439
- isMobileSize = _useWindowSize.isMobileSize;
440
- useEffect(function () {
441
- if (answer) onChange(answer);
442
- }, [answer]);
443
- var defaultValueProp = defaultValue ? {
444
- defaultValue: defaultValue
445
- } : {};
446
- var disabledProp = disabled ? {
447
- disabled: true
448
- } : {};
449
- var defaultValuePropMobile = function defaultValuePropMobile(value) {
450
- return value === defaultValue ? {
451
- selected: true
452
- } : {};
453
- };
454
- return isMobileSize ? React.createElement(StyledSelectWrapper, null, React.createElement(StyledMobileSelect, _extends({
455
- id: "",
456
- required: required,
457
- onChange: function onChange(e) {
458
- return setAnswer(e.target.value);
459
- },
460
- placeholder: label
461
- }, disabledProp), React.createElement("label", null, label), React.createElement(StyledMobileOption, {
462
- value: "",
463
- disabled: true,
464
- selected: true,
465
- style: {
466
- color: '#666666'
467
- }
468
- }, label), values.map(function (value) {
469
- return React.createElement(StyledMobileOption, _extends({
470
- value: value,
471
- key: value
472
- }, defaultValuePropMobile(value)), value);
473
- })), React.createElement(Icon, {
474
- label: "",
475
- size: "100",
476
- fill: theme.colors['gray80'],
477
- style: {
478
- pointerEvents: 'none',
479
- position: 'absolute',
480
- right: '10px',
481
- top: '50%',
482
- transform: 'translateY(-50%)'
483
- }
484
- }, React.createElement(ChevronDown, {
485
- style: {
486
- position: 'absolute',
487
- right: '10px'
488
- }
489
- }))) : React.createElement(Select.Root, _extends({
490
- onValueChange: function onValueChange(e) {
491
- return setAnswer(e);
492
- },
493
- required: required
494
- }, defaultValueProp, disabledProp), React.createElement(Select.Trigger, {
495
- "data-test-id": id + "-dropdown-label"
496
- }, React.createElement(Select.Label, null, label), React.createElement(Select.Value, null)), React.createElement(Select.Content, {
497
- css: {
498
- zIndex: 8
499
- },
500
- "data-test-id": id + "-dropdown-input"
501
- }, values.map(function (value) {
502
- return React.createElement(Select.Item, {
503
- value: value,
504
- key: value
505
- }, value);
506
- })));
507
- };
508
-
509
- var hasRequiredPrivacyCookies = function hasRequiredPrivacyCookies() {
510
- var _WPGeo;
511
- if (typeof window === 'undefined') {
512
- return false;
513
- }
514
- var wp_usp = getCookie('wp_usp');
515
- var countryCode = (_WPGeo = WPGeo()) == null ? void 0 : _WPGeo.country_code;
516
- return !!(wp_usp && countryCode === 'US');
517
- };
518
358
 
519
359
  var base = ENDPOINTS.base + "/de/v1";
520
360
  var JSONHeaders = {
521
361
  Accept: 'application/json',
522
362
  'Content-Type': 'application/json'
523
363
  };
524
- var ingest = /*#__PURE__*/function () {
525
- var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(submitData, metadata) {
526
- var url, wapo_login_id, jucid, ga, payload, response, json;
364
+ var attributesCache = {};
365
+ var getAttributes = /*#__PURE__*/function () {
366
+ var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
367
+ var fieldName, fieldNames, url, data, json, attributes;
527
368
  return _regeneratorRuntime().wrap(function _callee$(_context) {
528
369
  while (1) switch (_context.prev = _context.next) {
529
370
  case 0:
530
- url = base + "/ingest";
531
- wapo_login_id = getCookie('wapo_login_id');
532
- if (hasRequiredPrivacyCookies()) {
533
- _context.next = 4;
371
+ fieldName = _ref.fieldName;
372
+ if (!attributesCache[fieldName]) {
373
+ _context.next = 3;
534
374
  break;
535
375
  }
536
- throw new Error('does not satisfy cookie check');
537
- case 4:
538
- jucid = localStorage.getItem('uuid');
539
- ga = getCookie('_ga');
540
- payload = {
541
- jucid: jucid,
542
- ga: ga,
543
- type: I1pDataIngestTypes.EXPLICIT,
544
- wapo_login_id: wapo_login_id,
545
- data: submitData,
546
- metadata: metadata
547
- };
548
- _context.prev = 7;
549
- _context.next = 10;
550
- return fetch(url, {
551
- method: 'POST',
376
+ return _context.abrupt("return", attributesCache[fieldName]);
377
+ case 3:
378
+ fieldNames = [fieldName];
379
+ _context.prev = 4;
380
+ url = new URL(base + "/attributes");
381
+ url.searchParams.set('attributes', fieldNames.join(','));
382
+ _context.next = 9;
383
+ return fetch(url.toString(), {
552
384
  credentials: 'include',
553
- headers: JSONHeaders,
554
- body: JSON.stringify(payload)
385
+ headers: JSONHeaders
555
386
  });
556
- case 10:
557
- response = _context.sent;
558
- _context.next = 13;
559
- return response.json();
560
- case 13:
387
+ case 9:
388
+ data = _context.sent;
389
+ _context.next = 12;
390
+ return data.json();
391
+ case 12:
561
392
  json = _context.sent;
562
- return _context.abrupt("return", json);
563
- case 17:
564
- _context.prev = 17;
565
- _context.t0 = _context["catch"](7);
566
- console.debug(_context.t0);
567
- return _context.abrupt("return", null);
568
- case 21:
569
- case "end":
570
- return _context.stop();
571
- }
572
- }, _callee, null, [[7, 17]]);
573
- }));
574
- return function ingest(_x, _x2) {
575
- return _ref.apply(this, arguments);
576
- };
577
- }();
578
-
579
- var sendGAEvent = function sendGAEvent(props) {
580
- if (typeof window === 'undefined') {
581
- if (process.env.NODE_ENV !== "production") console.warn('NO WINDOW');
582
- return;
583
- }
584
- // Initialize dataLayer if needed
585
- window.dataLayer = window.dataLayer || [];
586
- var eventData = _extends({}, props);
587
- window.dataLayer.push(eventData);
588
- };
589
- var sendToGA = /*#__PURE__*/function () {
590
- var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(submitData, metadata) {
591
- var keysToSubmit;
592
- return _regeneratorRuntime().wrap(function _callee$(_context) {
593
- while (1) switch (_context.prev = _context.next) {
594
- case 0:
595
- if (hasRequiredPrivacyCookies()) {
596
- _context.next = 2;
393
+ if (!(data.ok && json.status === ResponseStatus.SUCCESS)) {
394
+ _context.next = 19;
597
395
  break;
598
396
  }
599
- throw new Error('does not satisfy cookie check');
600
- case 2:
601
- keysToSubmit = Object.keys(submitData);
602
- keysToSubmit.forEach(function (key) {
603
- if (Object.values(I1pIngestDataTypes).includes(key)) {
604
- var _sendGAEvent;
605
- sendGAEvent((_sendGAEvent = {
606
- event: 'site-onpage-click',
607
- action: 'site-onpage-click',
608
- category: 'profile',
609
- label: key,
610
- 'de-label': key
611
- }, _sendGAEvent[key] = submitData[key], _sendGAEvent.section = 'profile', _sendGAEvent.subsection = metadata.source, _sendGAEvent));
612
- }
613
- });
614
- return _context.abrupt("return", true);
615
- case 5:
397
+ attributes = json.attributes || [];
398
+ attributesCache[fieldName] = attributes;
399
+ return _context.abrupt("return", attributes);
400
+ case 19:
401
+ return _context.abrupt("return", []);
402
+ case 20:
403
+ _context.next = 26;
404
+ break;
405
+ case 22:
406
+ _context.prev = 22;
407
+ _context.t0 = _context["catch"](4);
408
+ console.debug(_context.t0);
409
+ return _context.abrupt("return", []);
410
+ case 26:
616
411
  case "end":
617
412
  return _context.stop();
618
413
  }
619
- }, _callee);
414
+ }, _callee, null, [[4, 22]]);
620
415
  }));
621
- return function sendToGA(_x, _x2) {
622
- return _ref.apply(this, arguments);
416
+ return function getAttributes(_x) {
417
+ return _ref2.apply(this, arguments);
623
418
  };
624
419
  }();
625
420
 
626
- var getDefaultSubmitData = function getDefaultSubmitData(formOptions) {
627
- var defaultSubmitData = {};
628
- formOptions.forEach(function (formOption) {
629
- if (formOption.default_value) {
630
- if (formOption.input_type === I1pDataInputTypes.DROPDOWN && formOption.values) {
631
- var values = formOption.values.filter(function (value) {
632
- return value.archived !== true;
633
- }).map(function (value) {
634
- return value.name;
635
- });
636
- if (values.includes(formOption.default_value)) {
637
- defaultSubmitData[formOption.id] = [formOption.default_value];
638
- }
639
- } else {
640
- defaultSubmitData[formOption.id] = [formOption.default_value];
641
- }
642
- }
643
- });
644
- return defaultSubmitData;
645
- };
646
-
647
- var DataEnrichmentForm = function DataEnrichmentForm(_ref) {
648
- var submit = _ref.submit,
649
- source = _ref.source,
650
- ingestType = _ref.ingestType,
651
- _ref$formOptions = _ref.formOptions,
652
- formOptions = _ref$formOptions === void 0 ? [] : _ref$formOptions,
653
- _ref$onChange = _ref.onChange,
654
- onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
655
- _ref$onFinished = _ref.onFinished,
656
- onFinished = _ref$onFinished === void 0 ? function () {} : _ref$onFinished,
657
- _ref$handleSubmit = _ref.handleSubmit,
658
- handleSubmit = _ref$handleSubmit === void 0 ? function () {} : _ref$handleSubmit,
659
- _ref$disabled = _ref.disabled,
660
- disabled = _ref$disabled === void 0 ? false : _ref$disabled;
661
- var _useState = useState(false),
662
- render = _useState[0],
663
- setRender = _useState[1];
664
- var _useState2 = useState(getDefaultSubmitData(formOptions)),
665
- submitData = _useState2[0],
666
- setSubmitData = _useState2[1];
667
- var _useState3 = useState(true),
668
- missingRequiredFields = _useState3[0],
669
- setMissingRequiredFields = _useState3[1];
670
- useEffect(function () {
671
- if (hasRequiredPrivacyCookies()) {
672
- setRender(true);
673
- } else {
674
- console.error('does not satisfy cookie check');
675
- onFinished(true, true);
676
- }
677
- }, []);
678
- useEffect(function () {
679
- // check for required fields that haven't been completed yet
680
- var missingRequiredFields = formOptions.filter(function (option) {
681
- if (option.required && option.input_type === I1pDataInputTypes.DROPDOWN && !submitData[option.id]) {
682
- return true;
683
- }
684
- return false;
685
- });
686
- setMissingRequiredFields(missingRequiredFields.length > 0);
687
- onChange(submitData, missingRequiredFields.length === 0);
688
- }, [JSON.stringify(submitData)]);
689
- useEffect(function () {
690
- _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
691
- var result, isError, _result;
692
- return _regeneratorRuntime().wrap(function _callee$(_context) {
693
- while (1) switch (_context.prev = _context.next) {
694
- case 0:
695
- if (!submit) {
696
- _context.next = 17;
697
- break;
698
- }
699
- if (!(Object.keys(submitData).length >= 1)) {
700
- _context.next = 16;
701
- break;
702
- }
703
- if (!(ingestType === I1pDataIngestTypes.EXPLICIT)) {
704
- _context.next = 10;
705
- break;
706
- }
707
- _context.next = 5;
708
- return ingest(submitData, {
709
- source: source
710
- });
711
- case 5:
712
- result = _context.sent;
713
- isError = result && result.status !== ResponseStatus.SUCCESS;
714
- onFinished(true, isError);
715
- _context.next = 14;
716
- break;
717
- case 10:
718
- _context.next = 12;
719
- return sendToGA(submitData, {
720
- source: source
721
- });
722
- case 12:
723
- _result = _context.sent;
724
- onFinished(true, _result);
725
- case 14:
726
- _context.next = 17;
727
- break;
728
- case 16:
729
- onFinished(true, false);
730
- case 17:
731
- case "end":
732
- return _context.stop();
733
- }
734
- }, _callee);
735
- }))();
736
- }, [submit]);
737
- if (!render) return React.createElement(React.Fragment, null);
738
- return React.createElement("form", {
739
- method: "post",
740
- onSubmit: function onSubmit(e) {
741
- e.preventDefault();
742
- handleSubmit(e);
743
- }
744
- }, formOptions.map(function (formOption) {
745
- if (formOption.input_type === I1pDataInputTypes.DROPDOWN && formOption.values) {
746
- // sort and filter out archived values
747
- var values = formOption.values.sort(function (a, b) {
748
- return a.order - b.order;
749
- }).filter(function (value) {
750
- return value.archived !== true;
751
- });
752
- return React.createElement(OptionWrapper, {
753
- "data-private": true,
754
- key: formOption.id
755
- }, React.createElement(Dropdown, {
756
- id: formOption.id,
757
- label: formOption.input_label,
758
- values: values.map(function (value) {
759
- return value.name;
760
- }),
761
- required: formOption.required,
762
- defaultValue: formOption.default_value,
763
- onChange: function onChange(value) {
764
- var _extends2;
765
- setSubmitData(_extends({}, submitData, (_extends2 = {}, _extends2[formOption.id] = [value], _extends2)));
766
- },
767
- disabled: disabled
768
- }));
769
- }
770
- return null;
771
- }), React.createElement("input", {
772
- type: "submit",
773
- hidden: true,
774
- disabled: missingRequiredFields || disabled,
775
- "data-qa": "1p-data-inputs-submit"
776
- }));
777
- };
778
- var OptionWrapper = /*#__PURE__*/styled('div', {
779
- boxSizing: 'border-box',
780
- display: 'flex',
781
- marginBottom: '$100',
782
- flexDirection: 'column',
783
- '& button': {
784
- padding: '1px 6px'
785
- },
786
- '& *': {
787
- boxSizing: 'border-box'
788
- }
789
- });
790
-
791
- export { DataEnrichmentForm, I1pDataIngestTypes, I1pDataInputTypes, I1pIngestDataTypes, IngestResponseState, hasRequiredPrivacyCookies, ingest, sendToGA };
421
+ export { CollectionBehaviors, IngestResponseState, getAttributes, hasRequiredPrivacyCookies };
792
422
  //# sourceMappingURL=subs-de-inputs.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subs-de-inputs.esm.js","sources":["../src/interfaces/index.ts","../src/components/Dropdown/index.tsx","../src/utils/hasRequiredPrivacyCookies.ts","../src/services/dataEnrichment.ts","../src/services/sendToGA.ts","../src/utils/getDefaultSubmitData.ts","../src/components/DataEnrichmentForm/index.tsx"],"sourcesContent":["import { FormEventHandler } from 'react';\n\nexport enum I1pDataInputTypes {\n DROPDOWN = 'dropdown',\n}\n\nexport enum I1pIngestDataTypes {\n JOB_LEVEL = 'profile_job_level',\n JOB_INDUSTRY = 'profile_job_industry',\n NY_PERSONAL_GOALS = 'new_year_personal_goals',\n NY_HOBBIES = 'new_year_hobbies',\n NY_PROFESSIONAL_GOALS = 'new_year_professional_goals',\n NY_INDUSTRY = 'new_year_industry',\n NY_NEWS_LOCATION = 'new_year_news_location',\n}\n\nexport interface I1pDataInputValue {\n archived: boolean;\n name: string;\n order: number;\n date_created?: string;\n last_modified_date?: string;\n}\n\nexport interface I1pDataInputProps {\n id: I1pIngestDataTypes;\n input_label: string;\n input_prompt?: string;\n input_type: I1pDataInputTypes;\n required: boolean;\n default_value?: string;\n values?: Array<I1pDataInputValue>;\n}\n\nexport interface I1pDataFormSubmitData {\n [key: string]: string[];\n}\n\nexport enum I1pDataIngestTypes {\n EXPLICIT = 'explicit',\n IMPLICIT = 'implicit',\n}\n\nexport interface I1pDataFormProps {\n source: string;\n submit?: boolean;\n ingestType: I1pDataIngestTypes;\n onChange?: (\n submitData: I1pDataFormSubmitData,\n requiredFieldsReady: boolean\n ) => void;\n onFinished?: (isFinished: boolean, isError: boolean) => void;\n formOptions?: Array<I1pDataInputProps>;\n handleSubmit?: FormEventHandler<HTMLFormElement>;\n disabled?: boolean;\n}\n\nexport type I1pIngestPropsData = {\n [key in I1pIngestDataTypes]?: string[];\n};\n\nexport interface I1pIngestProps {\n type: 'implicit' | 'explicit';\n data: I1pIngestPropsData;\n metadata?: Record<string, string | null | undefined>;\n [key: string]: any;\n}\n\nexport enum IngestResponseState {\n SUCCESS = '100',\n SYSTEM_ERROR = '101',\n INVALID_TYPE = '102',\n INVALID_IDENTIFIER = '103',\n INVALID_DATA = '104',\n INVALID_ATTRIBUTE_DEFINITION = '105',\n INVALID_META_DEFINITION = '106',\n}\n","import React, { useEffect, useState } from 'react';\nimport { Icon, Select, styled, theme } from '@washingtonpost/wpds-ui-kit';\nimport { useWindowSize } from '@washingtonpost/subs-hooks';\nimport { ChevronDown } from '@washingtonpost/wpds-assets';\n\ninterface IDropdownProps {\n id: string;\n label: string;\n values: Array<string>;\n required?: boolean;\n defaultValue?: string;\n onChange?: (value: string) => void;\n disabled?: boolean;\n}\n\nconst StyledMobileSelect = styled('select', {\n padding: '12px 16px 12px 6px',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n backgroundColor: '$secondary',\n color: '$primary',\n fontFamily: '$meta',\n fontSize: '$100',\n fontWeight: '$light',\n lineHeight: '$125',\n paddingBlockRight: '$125',\n textOverflow: 'ellipsis',\n position: 'relative',\n borderColor: 'transparent',\n borderRightWidth: '10px',\n borderRightColor: 'transparent',\n appearance: 'none',\n '-webkit-appearance': 'none',\n '&:disabled': {\n backgroundColor: theme.colors.disabled,\n borderColor: theme.colors.disabled,\n color: theme.colors.onDisabled,\n cursor: 'not-allowed',\n },\n});\n\nconst StyledSelectWrapper = styled('div', {\n width: '100%',\n maxWidth: '380px',\n borderRadius: '$012',\n borderColor: '$subtle',\n borderStyle: 'solid',\n borderWidth: '1px',\n backgroundColor: '$secondary',\n position: 'relative',\n});\n\nconst StyledMobileOption = styled('option', {\n fontFamily: 'inherit',\n fontSize: 'inherit',\n color: 'inherit',\n});\n\nexport const Dropdown = ({\n id,\n label,\n values,\n required = false,\n defaultValue,\n onChange = () => {},\n disabled = false,\n}: IDropdownProps) => {\n const [answer, setAnswer] = useState<string>();\n const { isMobileSize } = useWindowSize();\n\n useEffect(() => {\n if (answer) onChange(answer);\n }, [answer]);\n\n const defaultValueProp = defaultValue ? { defaultValue } : {};\n\n const disabledProp = disabled ? { disabled: true } : {};\n\n const defaultValuePropMobile = (value: string) => {\n return value === defaultValue ? { selected: true } : {};\n };\n\n return isMobileSize ? (\n <StyledSelectWrapper>\n <StyledMobileSelect\n id=\"\"\n required={required}\n onChange={(e) => setAnswer(e.target.value)}\n placeholder={label}\n {...disabledProp}\n >\n <label>{label}</label>\n <StyledMobileOption\n value=\"\"\n disabled\n selected\n style={{ color: '#666666' }}\n >\n {label}\n </StyledMobileOption>\n {values.map((value) => (\n <StyledMobileOption\n value={value}\n key={value}\n {...defaultValuePropMobile(value)}\n >\n {value}\n </StyledMobileOption>\n ))}\n </StyledMobileSelect>\n <Icon\n label=\"\"\n size=\"100\"\n fill={theme.colors['gray80']}\n style={{\n pointerEvents: 'none',\n position: 'absolute',\n right: '10px',\n top: '50%',\n transform: 'translateY(-50%)',\n }}\n >\n <ChevronDown style={{ position: 'absolute', right: '10px' }} />\n </Icon>\n </StyledSelectWrapper>\n ) : (\n <Select.Root\n onValueChange={(e) => setAnswer(e)}\n required={required}\n {...defaultValueProp}\n {...disabledProp}\n >\n <Select.Trigger data-test-id={`${id}-dropdown-label`}>\n <Select.Label>{label}</Select.Label>\n <Select.Value />\n </Select.Trigger>\n <Select.Content css={{ zIndex: 8 }} data-test-id={`${id}-dropdown-input`}>\n {values.map((value) => (\n <Select.Item value={value} key={value}>\n {value}\n </Select.Item>\n ))}\n </Select.Content>\n </Select.Root>\n );\n};\n","import { WPGeo, getCookie } from '@washingtonpost/subs-sdk';\n\nexport const hasRequiredPrivacyCookies = () => {\n if (typeof window === 'undefined') {\n return false;\n }\n\n const wp_usp = getCookie('wp_usp');\n\n const countryCode = WPGeo()?.country_code;\n\n return !!(wp_usp && countryCode === 'US');\n};\n","import { ENDPOINTS, getCookie } from '@washingtonpost/subs-sdk';\nimport {\n I1pDataIngestTypes,\n I1pIngestProps,\n I1pIngestPropsData,\n} from '../interfaces';\nimport { hasRequiredPrivacyCookies } from '../utils/hasRequiredPrivacyCookies';\n\nconst base = `${ENDPOINTS.base}/de/v1`;\n\nconst JSONHeaders = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n};\n\nexport const ingest = async (\n submitData: I1pIngestPropsData,\n metadata: { [key: string]: string }\n) => {\n const url = `${base}/ingest`;\n\n const wapo_login_id = getCookie('wapo_login_id');\n\n if (!hasRequiredPrivacyCookies()) {\n throw new Error('does not satisfy cookie check');\n }\n\n const jucid = localStorage.getItem('uuid');\n const ga = getCookie('_ga');\n\n const payload: I1pIngestProps = {\n jucid,\n ga,\n type: I1pDataIngestTypes.EXPLICIT,\n wapo_login_id, // TODO: move this to BE to read from cookie headers\n data: submitData,\n metadata,\n };\n\n try {\n const response = await fetch(url, {\n method: 'POST',\n credentials: 'include',\n headers: JSONHeaders,\n body: JSON.stringify(payload),\n });\n\n const json = await response.json();\n\n return json;\n } catch (e) {\n console.debug(e);\n return null;\n }\n};\n","import { I1pIngestDataTypes, I1pIngestPropsData } from '../interfaces';\nimport { hasRequiredPrivacyCookies } from '../utils/hasRequiredPrivacyCookies';\n\nexport interface ISendGAEvent {\n event: string;\n category: string;\n action: string;\n label: string;\n 'de-label': I1pIngestDataTypes;\n [key: string]: undefined | string | string[];\n}\n\nconst sendGAEvent = (props: ISendGAEvent): void => {\n if (typeof window === 'undefined') {\n if (__DEV__) console.warn('NO WINDOW');\n return;\n }\n // Initialize dataLayer if needed\n window.dataLayer = window.dataLayer || [];\n\n const eventData: Record<string, any> = {\n ...props,\n };\n window.dataLayer.push(eventData);\n};\n\nexport const sendToGA = async (\n submitData: I1pIngestPropsData,\n metadata: { [key: string]: string }\n) => {\n if (!hasRequiredPrivacyCookies()) {\n throw new Error('does not satisfy cookie check');\n }\n\n const keysToSubmit = Object.keys(submitData);\n\n keysToSubmit.forEach((key) => {\n if (Object.values(I1pIngestDataTypes).includes(key as I1pIngestDataTypes)) {\n sendGAEvent({\n event: 'site-onpage-click',\n action: 'site-onpage-click',\n category: 'profile',\n\n label: key,\n 'de-label': key as I1pIngestDataTypes,\n [key]: submitData[key as I1pIngestDataTypes],\n\n section: 'profile',\n subsection: metadata.source,\n });\n }\n });\n\n return true;\n};\n","import {\n I1pDataFormSubmitData,\n I1pDataInputProps,\n I1pDataInputTypes,\n} from '../interfaces';\n\nexport const getDefaultSubmitData = (formOptions: Array<I1pDataInputProps>) => {\n const defaultSubmitData: I1pDataFormSubmitData = {};\n formOptions.forEach((formOption) => {\n if (formOption.default_value) {\n if (\n formOption.input_type === I1pDataInputTypes.DROPDOWN &&\n formOption.values\n ) {\n const values = formOption.values\n .filter((value) => value.archived !== true)\n .map((value) => value.name);\n if (values.includes(formOption.default_value)) {\n defaultSubmitData[formOption.id] = [formOption.default_value];\n }\n } else {\n defaultSubmitData[formOption.id] = [formOption.default_value];\n }\n }\n });\n return defaultSubmitData;\n};\n","import React, { useEffect, useState } from 'react';\nimport { styled } from '@washingtonpost/wpds-ui-kit';\nimport {\n I1pDataFormProps,\n I1pDataFormSubmitData,\n I1pDataIngestTypes,\n I1pDataInputTypes,\n} from '../../interfaces';\nimport { Dropdown } from '../Dropdown';\nimport { ingest } from '../../services/dataEnrichment';\nimport { ResponseStatus } from '@washingtonpost/subs-sdk';\nimport { hasRequiredPrivacyCookies } from '../../utils/hasRequiredPrivacyCookies';\nimport { sendToGA } from '../../services/sendToGA';\nimport { getDefaultSubmitData } from '../../utils/getDefaultSubmitData';\n\nexport const DataEnrichmentForm = ({\n submit,\n source, // used to track where on the site data is collected\n ingestType,\n formOptions = [],\n onChange = () => {},\n onFinished = () => {},\n handleSubmit = () => {},\n disabled = false,\n}: I1pDataFormProps) => {\n const [render, setRender] = useState(false);\n\n const [submitData, setSubmitData] = useState<I1pDataFormSubmitData>(\n getDefaultSubmitData(formOptions)\n );\n const [missingRequiredFields, setMissingRequiredFields] = useState(true);\n\n useEffect(() => {\n if (hasRequiredPrivacyCookies()) {\n setRender(true);\n } else {\n console.error('does not satisfy cookie check');\n onFinished(true, true);\n }\n }, []);\n\n useEffect(() => {\n // check for required fields that haven't been completed yet\n const missingRequiredFields = formOptions.filter((option) => {\n if (\n option.required &&\n option.input_type === I1pDataInputTypes.DROPDOWN &&\n !submitData[option.id]\n ) {\n return true;\n }\n return false;\n });\n\n setMissingRequiredFields(missingRequiredFields.length > 0);\n\n onChange(submitData, missingRequiredFields.length === 0);\n }, [JSON.stringify(submitData)]);\n\n useEffect(() => {\n (async () => {\n if (submit) {\n if (Object.keys(submitData).length >= 1) {\n if (ingestType === I1pDataIngestTypes.EXPLICIT) {\n const result = await ingest(submitData, { source });\n\n const isError = result && result.status !== ResponseStatus.SUCCESS;\n onFinished(true, isError);\n } else {\n const result = await sendToGA(submitData, { source });\n onFinished(true, result);\n }\n } else {\n onFinished(true, false);\n }\n }\n })();\n }, [submit]);\n\n if (!render) return <></>;\n\n return (\n <form\n method=\"post\"\n onSubmit={(e) => {\n e.preventDefault();\n handleSubmit(e);\n }}\n >\n {formOptions.map((formOption) => {\n if (\n formOption.input_type === I1pDataInputTypes.DROPDOWN &&\n formOption.values\n ) {\n // sort and filter out archived values\n const values = formOption.values\n .sort((a, b) => a.order - b.order)\n .filter((value) => value.archived !== true);\n\n return (\n <OptionWrapper data-private key={formOption.id}>\n <Dropdown\n id={formOption.id}\n label={formOption.input_label}\n values={values.map((value) => value.name)}\n required={formOption.required}\n defaultValue={formOption.default_value}\n onChange={(value) => {\n setSubmitData({ ...submitData, [formOption.id]: [value] });\n }}\n disabled={disabled}\n />\n </OptionWrapper>\n );\n }\n return null;\n })}\n\n {/* so the user can hit 'Enter' to submit */}\n <input\n type=\"submit\"\n hidden\n disabled={missingRequiredFields || disabled}\n data-qa=\"1p-data-inputs-submit\"\n />\n </form>\n );\n};\n\nconst OptionWrapper = styled('div', {\n boxSizing: 'border-box',\n display: 'flex',\n marginBottom: '$100',\n flexDirection: 'column',\n '& button': {\n padding: '1px 6px',\n },\n '& *': { boxSizing: 'border-box' },\n});\n"],"names":["I1pDataInputTypes","I1pIngestDataTypes","I1pDataIngestTypes","IngestResponseState","StyledMobileSelect","styled","padding","display","justifyContent","width","backgroundColor","color","fontFamily","fontSize","fontWeight","lineHeight","paddingBlockRight","textOverflow","position","borderColor","borderRightWidth","borderRightColor","appearance","theme","colors","disabled","onDisabled","cursor","StyledSelectWrapper","maxWidth","borderRadius","borderStyle","borderWidth","StyledMobileOption","Dropdown","_ref","id","label","values","_ref$required","required","defaultValue","_ref$onChange","onChange","_ref$disabled","_useState","useState","answer","setAnswer","_useWindowSize","useWindowSize","isMobileSize","useEffect","defaultValueProp","disabledProp","defaultValuePropMobile","value","selected","React","_extends","e","target","placeholder","style","map","key","Icon","size","fill","pointerEvents","right","top","transform","ChevronDown","Select","Root","onValueChange","Trigger","Label","Value","Content","css","zIndex","Item","hasRequiredPrivacyCookies","window","wp_usp","getCookie","countryCode","_WPGeo","WPGeo","country_code","base","ENDPOINTS","JSONHeaders","Accept","ingest","_asyncToGenerator","_regeneratorRuntime","mark","_callee","submitData","metadata","url","wapo_login_id","jucid","ga","payload","response","json","wrap","_callee$","_context","prev","next","Error","localStorage","getItem","type","EXPLICIT","data","fetch","method","credentials","headers","body","JSON","stringify","sent","abrupt","t0","console","debug","stop","_x","_x2","apply","arguments","sendGAEvent","props","process","env","NODE_ENV","warn","dataLayer","eventData","push","sendToGA","keysToSubmit","Object","keys","forEach","includes","_sendGAEvent","event","action","category","section","subsection","source","getDefaultSubmitData","formOptions","defaultSubmitData","formOption","default_value","input_type","DROPDOWN","filter","archived","name","DataEnrichmentForm","submit","ingestType","_ref$formOptions","_ref$onFinished","onFinished","_ref$handleSubmit","handleSubmit","render","setRender","_useState2","setSubmitData","_useState3","missingRequiredFields","setMissingRequiredFields","error","option","length","result","isError","_result","status","ResponseStatus","SUCCESS","onSubmit","preventDefault","sort","a","b","order","OptionWrapper","input_label","_extends2","hidden","boxSizing","marginBottom","flexDirection"],"mappings":"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"}
1
+ {"version":3,"file":"subs-de-inputs.esm.js","sources":["../src/interfaces/index.ts","../src/utils/hasRequiredPrivacyCookies.ts","../src/services/dataEnrichment.ts"],"sourcesContent":["export type AttributeValue = {\n name: string;\n date_created: Number;\n last_modified_date: Number;\n archived: boolean;\n order: Number;\n};\n\nexport const CollectionBehaviors = {\n COLLECT: 'COLLECT',\n DO_NOT_COLLECT: 'DO_NOT_COLLECT',\n} as const;\n\nexport type Attribute = {\n name: string;\n approved_for_use: boolean;\n collection_behavior: (typeof CollectionBehaviors)[keyof typeof CollectionBehaviors];\n datatype: 'string';\n explicit: boolean;\n multiple_value: boolean;\n last_modified_date: Number;\n date_created: Number;\n values: Array<any>;\n};\n\nexport const IngestResponseState = {\n SUCCESS: '100',\n SYSTEM_ERROR: '101',\n INVALID_TYPE: '102',\n INVALID_IDENTIFIER: '103',\n INVALID_DATA: '104',\n INVALID_ATTRIBUTE_DEFINITION: '105',\n INVALID_META_DEFINITION: '106',\n} as const;\n","import { WPGeo, getCookie } from '@washingtonpost/subs-sdk';\n\nexport const hasRequiredPrivacyCookies = () => {\n if (typeof window === 'undefined') {\n return false;\n }\n\n const wp_usp = getCookie('wp_usp');\n\n const countryCode = WPGeo()?.country_code;\n\n return !!(wp_usp && countryCode === 'US');\n};\n","import { ENDPOINTS, ResponseStatus } from '@washingtonpost/subs-sdk';\n\nconst base = `${ENDPOINTS.base}/de/v1`;\n\nconst JSONHeaders = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n};\n\nconst attributesCache: Record<string, any> = {};\nexport const getAttributes = async ({ fieldName }: { fieldName: string }) => {\n if (attributesCache[fieldName]) {\n return attributesCache[fieldName];\n }\n\n const fieldNames = [fieldName];\n\n try {\n const url = new URL(`${base}/attributes`);\n url.searchParams.set('attributes', fieldNames.join(','));\n\n const data = await fetch(url.toString(), {\n credentials: 'include',\n headers: JSONHeaders,\n });\n const json = await data.json();\n\n if (data.ok && json.status === ResponseStatus.SUCCESS) {\n const attributes = json.attributes || [];\n attributesCache[fieldName] = attributes;\n return attributes;\n } else {\n return [];\n }\n } catch (e) {\n console.debug(e);\n return [];\n }\n};\n"],"names":["CollectionBehaviors","COLLECT","DO_NOT_COLLECT","IngestResponseState","SUCCESS","SYSTEM_ERROR","INVALID_TYPE","INVALID_IDENTIFIER","INVALID_DATA","INVALID_ATTRIBUTE_DEFINITION","INVALID_META_DEFINITION","hasRequiredPrivacyCookies","window","wp_usp","getCookie","countryCode","_WPGeo","WPGeo","country_code","base","ENDPOINTS","JSONHeaders","Accept","attributesCache","getAttributes","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref","fieldName","fieldNames","url","data","json","attributes","wrap","_callee$","_context","prev","next","abrupt","URL","searchParams","set","join","fetch","toString","credentials","headers","sent","ok","status","ResponseStatus","t0","console","debug","stop","_x","apply","arguments"],"mappings":";;IAQaA,mBAAmB,GAAG;EACjCC,OAAO,EAAE,SAAS;EAClBC,cAAc,EAAE;;IAeLC,mBAAmB,GAAG;EACjCC,OAAO,EAAE,KAAK;EACdC,YAAY,EAAE,KAAK;EACnBC,YAAY,EAAE,KAAK;EACnBC,kBAAkB,EAAE,KAAK;EACzBC,YAAY,EAAE,KAAK;EACnBC,4BAA4B,EAAE,KAAK;EACnCC,uBAAuB,EAAE;;;IC9BdC,yBAAyB,GAAG,SAA5BA,yBAAyBA;;EACpC,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,OAAO,KAAK;;EAGd,IAAMC,MAAM,GAAGC,SAAS,CAAC,QAAQ,CAAC;EAElC,IAAMC,WAAW,IAAAC,MAAA,GAAGC,KAAK,EAAE,qBAAPD,MAAA,CAASE,YAAY;EAEzC,OAAO,CAAC,EAAEL,MAAM,IAAIE,WAAW,KAAK,IAAI,CAAC;AAC3C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVD,IAAMI,IAAI,GAAMC,SAAS,CAACD,IAAI,WAAQ;AAEtC,IAAME,WAAW,GAAG;EAClBC,MAAM,EAAE,kBAAkB;EAC1B,cAAc,EAAE;CACjB;AAED,IAAMC,eAAe,GAAwB,EAAE;AAC/C,IAAaC,aAAa;EAAA,IAAAC,KAAA,gBAAAC,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAC,QAAAC,IAAA;IAAA,IAAAC,SAAA,EAAAC,UAAA,EAAAC,GAAA,EAAAC,IAAA,EAAAC,IAAA,EAAAC,UAAA;IAAA,OAAAT,mBAAA,GAAAU,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAASV,SAAS,GAAAD,IAAA,CAATC,SAAS;UAAA,KACzCR,eAAe,CAACQ,SAAS,CAAC;YAAAQ,QAAA,CAAAE,IAAA;YAAA;;UAAA,OAAAF,QAAA,CAAAG,MAAA,WACrBnB,eAAe,CAACQ,SAAS,CAAC;QAAA;UAG7BC,UAAU,GAAG,CAACD,SAAS,CAAC;UAAAQ,QAAA,CAAAC,IAAA;UAGtBP,GAAG,GAAG,IAAIU,GAAG,CAAIxB,IAAI,iBAAc;UACzCc,GAAG,CAACW,YAAY,CAACC,GAAG,CAAC,YAAY,EAAEb,UAAU,CAACc,IAAI,CAAC,GAAG,CAAC,CAAC;UAACP,QAAA,CAAAE,IAAA;UAAA,OAEtCM,KAAK,CAACd,GAAG,CAACe,QAAQ,EAAE,EAAE;YACvCC,WAAW,EAAE,SAAS;YACtBC,OAAO,EAAE7B;WACV,CAAC;QAAA;UAHIa,IAAI,GAAAK,QAAA,CAAAY,IAAA;UAAAZ,QAAA,CAAAE,IAAA;UAAA,OAISP,IAAI,CAACC,IAAI,EAAE;QAAA;UAAxBA,IAAI,GAAAI,QAAA,CAAAY,IAAA;UAAA,MAENjB,IAAI,CAACkB,EAAE,IAAIjB,IAAI,CAACkB,MAAM,KAAKC,cAAc,CAAClD,OAAO;YAAAmC,QAAA,CAAAE,IAAA;YAAA;;UAC7CL,UAAU,GAAGD,IAAI,CAACC,UAAU,IAAI,EAAE;UACxCb,eAAe,CAACQ,SAAS,CAAC,GAAGK,UAAU;UAAC,OAAAG,QAAA,CAAAG,MAAA,WACjCN,UAAU;QAAA;UAAA,OAAAG,QAAA,CAAAG,MAAA,WAEV,EAAE;QAAA;UAAAH,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAgB,EAAA,GAAAhB,QAAA;UAGXiB,OAAO,CAACC,KAAK,CAAAlB,QAAA,CAAAgB,EAAA,CAAG;UAAC,OAAAhB,QAAA,CAAAG,MAAA,WACV,EAAE;QAAA;QAAA;UAAA,OAAAH,QAAA,CAAAmB,IAAA;;OAAA7B,OAAA;GAEZ;EAAA,gBA5BYL,aAAaA,CAAAmC,EAAA;IAAA,OAAAlC,KAAA,CAAAmC,KAAA,OAAAC,SAAA;;AAAA,GA4BzB;;;;"}
@@ -1,2 +1,2 @@
1
- import { I1pDataFormSubmitData, I1pDataInputProps } from '../interfaces';
1
+ import { I1pDataInputProps } from '../interfaces';
2
2
  export declare const getDefaultSubmitData: (formOptions: Array<I1pDataInputProps>) => I1pDataFormSubmitData;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.1",
2
+ "version": "0.0.2",
3
3
  "license": "UNLICENSED",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -1,2 +0,0 @@
1
- import { I1pDataFormProps } from '../../interfaces';
2
- export declare const DataEnrichmentForm: ({ submit, source, ingestType, formOptions, onChange, onFinished, handleSubmit, disabled, }: I1pDataFormProps) => JSX.Element;
@@ -1,11 +0,0 @@
1
- interface IDropdownProps {
2
- id: string;
3
- label: string;
4
- values: Array<string>;
5
- required?: boolean;
6
- defaultValue?: string;
7
- onChange?: (value: string) => void;
8
- disabled?: boolean;
9
- }
10
- export declare const Dropdown: ({ id, label, values, required, defaultValue, onChange, disabled, }: IDropdownProps) => JSX.Element;
11
- export {};
@@ -1,12 +0,0 @@
1
- import { I1pIngestDataTypes, I1pIngestPropsData } from '../interfaces';
2
- export interface ISendGAEvent {
3
- event: string;
4
- category: string;
5
- action: string;
6
- label: string;
7
- 'de-label': I1pIngestDataTypes;
8
- [key: string]: undefined | string | string[];
9
- }
10
- export declare const sendToGA: (submitData: I1pIngestPropsData, metadata: {
11
- [key: string]: string;
12
- }) => Promise<boolean>;