@braze/web-sdk 3.5.1 → 4.0.0
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/README.md +5 -11
- package/index.d.ts +472 -549
- package/package.json +8 -7
- package/shared-lib/braze-shared-lib.js +1 -0
- package/shared-lib/encoding-utils.js +1 -0
- package/shared-lib/event-types.js +1 -0
- package/shared-lib/guid.js +1 -0
- package/shared-lib/indexed-db-adapter.js +1 -0
- package/shared-lib/logger.js +1 -0
- package/shared-lib/supported-options.js +1 -0
- package/src/Card/card-manager-factory.js +1 -0
- package/src/Card/card-manager.js +1 -0
- package/src/Card/display/card-display.js +1 -0
- package/src/Card/index.js +1 -0
- package/src/Card/log-card-click.js +1 -0
- package/src/Card/log-card-dismissal.js +1 -0
- package/src/Card/log-card-impressions.js +1 -0
- package/src/Card/models/banner.js +1 -0
- package/src/Card/models/captioned-image.js +1 -0
- package/src/Card/models/card.js +1 -0
- package/src/Card/models/classic-card.js +1 -0
- package/src/Card/models/control-card.js +1 -0
- package/src/Card/models/index.js +1 -0
- package/src/Card/util/card-factory.js +1 -0
- package/src/ContentCards/content-cards-provider-factory.js +1 -0
- package/src/ContentCards/content-cards-provider.js +1 -0
- package/src/ContentCards/content-cards.js +1 -0
- package/src/ContentCards/get-cached-content-cards.js +1 -0
- package/src/ContentCards/index.js +1 -0
- package/src/ContentCards/log-content-cards-displayed.js +1 -0
- package/src/ContentCards/request-content-cards-refresh.js +1 -0
- package/src/ContentCards/subscribe-to-content-cards-updates.js +1 -0
- package/src/ContentCards/ui/hide-content-cards.js +1 -0
- package/src/ContentCards/ui/show-content-cards.js +1 -0
- package/src/ContentCards/ui/toggle-content-cards.js +1 -0
- package/src/Core/add-sdk-metadata.js +1 -0
- package/src/Core/braze-sdk-metadata.js +1 -0
- package/src/Core/change-user.js +1 -0
- package/src/Core/destroy.js +1 -0
- package/src/Core/device-properties.js +1 -0
- package/src/Core/disable-sdk.js +1 -0
- package/src/Core/enable-sdk.js +1 -0
- package/src/Core/get-device-id.js +1 -0
- package/src/Core/get-user.js +1 -0
- package/src/Core/handle-braze-action.js +1 -0
- package/src/Core/index.js +1 -0
- package/src/Core/initialize.js +1 -0
- package/src/Core/is-disabled.js +1 -0
- package/src/Core/log-custom-event.js +1 -0
- package/src/Core/log-purchase.js +1 -0
- package/src/Core/open-session.js +1 -0
- package/src/Core/remove-all-subscriptions.js +1 -0
- package/src/Core/remove-subscription.js +1 -0
- package/src/Core/request-immediate-data-flush.js +1 -0
- package/src/Core/set-logger.js +1 -0
- package/src/Core/set-sdk-authentication-signature.js +1 -0
- package/src/Core/subscribe-to-sdk-authentication-failures.js +1 -0
- package/src/Core/toggle-logging.js +1 -0
- package/src/Core/wipe-data.js +1 -0
- package/src/Feed/feed-provider-factory.js +1 -0
- package/src/Feed/feed-provider.js +1 -0
- package/src/Feed/feed.js +1 -0
- package/src/Feed/get-cached-feed.js +1 -0
- package/src/Feed/index.js +1 -0
- package/src/Feed/log-feed-displayed.js +1 -0
- package/src/Feed/request-feed-refresh.js +1 -0
- package/src/Feed/subscribe-to-feed-updates.js +1 -0
- package/src/Feed/ui/hide-feed.js +1 -0
- package/src/Feed/ui/show-feed.js +1 -0
- package/src/Feed/ui/toggle-feed.js +1 -0
- package/src/InAppMessage/display/get-animation-effect.js +1 -0
- package/src/InAppMessage/display/html-message-to-html.js +1 -0
- package/src/InAppMessage/display/in-app-message-to-html.js +1 -0
- package/src/InAppMessage/display/modal-utils.js +1 -0
- package/src/InAppMessage/in-app-message-factory.js +1 -0
- package/src/InAppMessage/in-app-message-manager-factory.js +1 -0
- package/src/InAppMessage/in-app-message-manager.js +1 -0
- package/src/InAppMessage/index.js +1 -0
- package/src/InAppMessage/log-in-app-message-button-click.js +1 -0
- package/src/InAppMessage/log-in-app-message-click.js +1 -0
- package/src/InAppMessage/log-in-app-message-html-click.js +1 -0
- package/src/InAppMessage/log-in-app-message-impression.js +1 -0
- package/src/InAppMessage/models/control-message.js +1 -0
- package/src/InAppMessage/models/full-screen-message.js +1 -0
- package/src/InAppMessage/models/html-message.js +1 -0
- package/src/InAppMessage/models/in-app-message-button.js +1 -0
- package/src/InAppMessage/models/in-app-message.js +1 -0
- package/src/InAppMessage/models/modal-message.js +1 -0
- package/src/InAppMessage/models/slide-up-message.js +1 -0
- package/src/InAppMessage/models/templated-in-app-message.js +1 -0
- package/src/InAppMessage/subscribe-to-in-app-message.js +1 -0
- package/src/InAppMessage/ui/automatically-show-in-app-messages.js +1 -0
- package/src/InAppMessage/ui/show-in-app-message.js +1 -0
- package/src/Push/index.js +1 -0
- package/src/Push/is-push-blocked.js +1 -0
- package/src/Push/is-push-permission-granted.js +1 -0
- package/src/Push/is-push-supported.js +1 -0
- package/src/Push/push-manager-factory.js +1 -0
- package/src/Push/push-manager.js +1 -0
- package/src/Push/request-push-permission.js +1 -0
- package/src/Push/unregister-push.js +1 -0
- package/src/User/index.js +1 -0
- package/src/User/user-manager.js +1 -0
- package/src/User/user.js +1 -0
- package/src/common/base-feed.js +1 -0
- package/src/common/base-provider.js +1 -0
- package/src/common/constants.js +1 -0
- package/src/common/event-logger.js +1 -0
- package/src/common/feed-display.js +1 -0
- package/src/common/translations.js +1 -0
- package/src/index.js +1 -0
- package/src/l10n/l10n-manager-factory.js +1 -0
- package/src/l10n/l10n-manager.js +1 -0
- package/src/managers/auth-manager.js +1 -0
- package/src/managers/braze-instance.js +1 -0
- package/src/managers/device-manager.js +1 -0
- package/src/managers/network-manager.js +1 -0
- package/src/managers/server-config-manager.js +1 -0
- package/src/managers/session-manager.js +1 -0
- package/src/managers/storage-manager-factory.js +1 -0
- package/src/managers/storage-manager.js +1 -0
- package/src/managers/subscription-manager.js +1 -0
- package/src/models/backend-errors.js +1 -0
- package/src/models/braze-event.js +1 -0
- package/src/models/braze-sdk-metadata.js +1 -0
- package/src/models/device.js +1 -0
- package/src/models/identifier.js +1 -0
- package/src/models/push-token.js +1 -0
- package/src/models/request-result.js +1 -0
- package/src/models/server-config.js +1 -0
- package/src/request-controller.js +1 -0
- package/src/triggers/models/custom-event-data.js +1 -0
- package/src/triggers/models/custom-event-property-data.js +1 -0
- package/src/triggers/models/filter-set.js +1 -0
- package/src/triggers/models/filter.js +1 -0
- package/src/triggers/models/in-app-message-click-data.js +1 -0
- package/src/triggers/models/purchase-data.js +1 -0
- package/src/triggers/models/purchase-property-data.js +1 -0
- package/src/triggers/models/push-click-data.js +1 -0
- package/src/triggers/models/trigger-condition.js +1 -0
- package/src/triggers/models/trigger-events.js +1 -0
- package/src/triggers/models/trigger.js +1 -0
- package/src/triggers/triggers-provider-factory.js +1 -0
- package/src/triggers/triggers-provider.js +1 -0
- package/src/ui/js/attach-css.js +1 -0
- package/src/ui/js/feed-css.js +1 -0
- package/src/ui/js/iam-css.js +1 -0
- package/src/ui/js/index.js +1 -0
- package/src/ui/js/load-font-awesome.js +1 -0
- package/src/util/base-device-parser.js +1 -0
- package/src/util/braze-actions.js +1 -0
- package/src/util/browser-detector.js +1 -0
- package/src/util/client-hints-parser.js +1 -0
- package/src/util/code-utils.js +1 -0
- package/src/util/color-utils.js +1 -0
- package/src/util/component-utils.js +1 -0
- package/src/util/date-utils.js +1 -0
- package/src/util/deprecation-utils.js +1 -0
- package/src/util/device-constants.js +1 -0
- package/src/util/dom-utils.js +1 -0
- package/src/util/key-codes.js +1 -0
- package/src/util/math.js +1 -0
- package/src/util/net.js +1 -0
- package/src/util/string-utils.js +1 -0
- package/src/util/url-utils.js +1 -0
- package/src/util/user-agent-parser.js +1 -0
- package/src/util/validation-utils.js +1 -0
- package/src/util/window-utils.js +1 -0
- package/appboy.min.js +0 -278
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{isArray as p,isDate as bt,isObject as zt,keys as X}from"./code-utils.js";import{getByteLength as U}from"./string-utils.js";import r from"../../shared-lib/braze-shared-lib.js";import{toValidBackendTimeString as gt}from"./date-utils.js";import A from"./braze-actions.js";export const CUSTOM_DATA_REGEX=/^[^\x00-\x1F\x22]+$/;export const EMAIL_ADDRESS_REGEX=new RegExp(/^.+@.+\..+$/);export const CUSTOM_PROPERTIES_MAX_SIZE_BYTES=51200;export const CUSTOM_PROPERTIES_MAX_SIZE_STRING="50KB";export const BRAZE_ACTION_URI_REGEX=/^brazeActions:\/\/v\d+\//;export function _validatePropertyType(e){const t=typeof e;return null==e||"number"===t||"boolean"===t||bt(e)||"string"===t}export function _validateNestedProperties(e,t){if(p(e)&&p(t)){for(let r=0;r<e.length&&r<t.length;r++)if(bt(e[r])&&(t[r]=gt(e[r])),!_validateNestedProperties(e[r],t[r]))return!1}else{if(!zt(e))return _validatePropertyType(e);for(const r of X(e))if(bt(e[r])&&(t[r]=gt(e[r])),!_validateNestedProperties(e[r],t[r]))return!1}return!0}export function _validateEventPropertyValue(e,t,n,o){let i;return i=zt(e)||p(e)?_validateNestedProperties(e,t):_validatePropertyType(e),i||r.D.error(`Cannot ${n} because ${o} "${e}" is invalid.`),i}export function validateStandardString(e,t,n,o){const i="string"==typeof e||null===e&&o;return i||r.D.error(`Cannot ${t} because ${n} "${e}" is invalid.`),i}export function validateCustomString(e,t,n){const o=null!=e&&"string"==typeof e&&(""===e||e.match(CUSTOM_DATA_REGEX));return o||r.D.error(`Cannot ${t} because ${n} "${e}" is invalid.`),o}export function validateCustomProperties(e,t,n,o,i){if(null==e&&(e={}),"object"!=typeof e||p(e))return r.D.error(`${t} requires that ${n} be an object. Ignoring ${i}.`),[!1,null];const a=JSON.stringify(e);if(U(a)>51200)return r.D.error(`Could not ${o} because ${n} was greater than the max size of 50KB.`),[!1,null];let s;try{s=JSON.parse(a)}catch(e){return r.D.error(`Could not ${o} because ${n} did not contain valid JSON.`),[!1,null]}for(let t in e){if(!validateCustomString(t,o,`the ${i} property name`))return[!1,null];const r=e[t];if(null==r){delete e[t],delete s[t];continue}bt(r)&&(s[t]=gt(r));if(!_validateEventPropertyValue(r,s[t],o,`the ${i} property "${t}"`))return[!1,null]}return[!0,s]}export function isValidEmail(e){return"string"==typeof e&&null!=e.toLowerCase().match(EMAIL_ADDRESS_REGEX)}export function isValidBrazeActionJson(e){if(!(A.properties.type in e))return!1;switch(e[A.properties.type]){case A.types.de:if(A.properties.ue in e)return!0;break;case A.types.logCustomEvent:case A.types.setEmailNotificationSubscriptionType:case A.types.setPushNotificationSubscriptionType:case A.types.setCustomUserAttribute:case A.types.addToSubscriptionGroup:case A.types.removeFromSubscriptionGroup:case A.types.addToCustomAttributeArray:case A.types.removeFromCustomAttributeArray:case A.types.me:case A.types.pe:if(A.properties.fe in e)return!0;break;case A.types.requestPushPermission:return!0;default:return!1}return!1}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const ORIENTATION={PORTRAIT:0,LANDSCAPE:1};export function _isPhone(){return screen.width<=600}export function _getOrientation(){if("orientation"in window)return 90===Math.abs(window.orientation)||270===window.orientation?ORIENTATION.LANDSCAPE:ORIENTATION.PORTRAIT;if("screen"in window){let n=window.screen.orientation||screen.mozOrientation||screen.msOrientation;return null!=n&&"object"==typeof n&&(n=n.type),"landscape-primary"===n||"landscape-secondary"===n?ORIENTATION.LANDSCAPE:ORIENTATION.PORTRAIT}return ORIENTATION.PORTRAIT}export function _openUri(n,e,r){e||null!=r&&r.metaKey?window.open(n):window.location=n}export function _getCurrentUrl(){return window.location.href}export const WindowUtils={openUri:_openUri,ji:_isPhone,wi:_getOrientation,Pn:_getCurrentUrl};
|