@measured/puck-plugin-heading-analyzer 0.14.2-canary.e6e01c6 → 0.14.3-canary.061cc2a
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/index.js +1765 -386
- package/package.json +2 -2
package/dist/index.js
CHANGED
@@ -34978,36 +34978,33 @@ function querySelectorAll(parentNode, selector) {
|
|
34978
34978
|
function getOptions(shared2, fromBinding) {
|
34979
34979
|
return __spreadValues(__spreadValues({}, shared2), fromBinding);
|
34980
34980
|
}
|
34981
|
-
function bindEvent(
|
34981
|
+
function bindEvent(win, binding, options) {
|
34982
34982
|
let timer;
|
34983
|
-
if (
|
34983
|
+
if (!loaded) {
|
34984
34984
|
timer = setInterval(() => {
|
34985
|
-
|
34986
|
-
|
34987
|
-
|
34988
|
-
clearInterval(timer);
|
34985
|
+
if (win.document.readyState === "complete") {
|
34986
|
+
win.addEventListener(binding.eventName, binding.fn, options);
|
34987
|
+
loaded = true;
|
34989
34988
|
}
|
34990
34989
|
}, 100);
|
34991
|
-
|
34990
|
+
} else {
|
34991
|
+
win.addEventListener(binding.eventName, binding.fn, options);
|
34992
34992
|
}
|
34993
|
-
const win = getWin(el);
|
34994
|
-
win == null ? void 0 : win.addEventListener(binding.eventName, binding.fn, options);
|
34995
34993
|
return timer;
|
34996
34994
|
}
|
34997
34995
|
function bindEvents(el, bindings, sharedOptions) {
|
34998
34996
|
const unbindings = bindings.flatMap((binding) => {
|
34999
34997
|
const iframes = querySelectorAll(window.document, "[data-rfd-iframe]");
|
35000
|
-
const
|
35001
|
-
return
|
35002
|
-
if (!
|
34998
|
+
const windows = [el, ...iframes.map((iframe) => iframe.contentWindow)];
|
34999
|
+
return windows.map((win) => {
|
35000
|
+
if (!win)
|
35003
35001
|
return function unbind() {
|
35004
35002
|
};
|
35005
35003
|
const options = getOptions(sharedOptions, binding.options);
|
35006
|
-
const timer = bindEvent(
|
35004
|
+
const timer = bindEvent(win, binding, options);
|
35007
35005
|
return function unbind() {
|
35008
35006
|
clearInterval(timer);
|
35009
|
-
|
35010
|
-
win == null ? void 0 : win.removeEventListener(binding.eventName, binding.fn, options);
|
35007
|
+
win.removeEventListener(binding.eventName, binding.fn, options);
|
35011
35008
|
};
|
35012
35009
|
});
|
35013
35010
|
});
|
@@ -35207,6 +35204,26 @@ function getFurthestAway({
|
|
35207
35204
|
}).sort((a2, b) => b.distance - a2.distance);
|
35208
35205
|
return sorted[0] ? sorted[0].id : null;
|
35209
35206
|
}
|
35207
|
+
function normalizeFamilies(pageBorderBox, candidates) {
|
35208
|
+
const families = candidates.reduce((acc, candidate) => {
|
35209
|
+
var _a3;
|
35210
|
+
const familyName = ((_a3 = candidate.parents[0]) == null ? void 0 : _a3.id) || candidate.descriptor.id;
|
35211
|
+
const family = acc[familyName] || [];
|
35212
|
+
const generation = candidate.parents.length;
|
35213
|
+
family[generation] = [...family[generation] || [], candidate];
|
35214
|
+
return __spreadProps(__spreadValues({}, acc), {
|
35215
|
+
[familyName]: family
|
35216
|
+
});
|
35217
|
+
}, {});
|
35218
|
+
return Object.keys(families).map((familyName) => {
|
35219
|
+
const family = families[familyName].flat();
|
35220
|
+
const reversedFamily = [...family].reverse();
|
35221
|
+
const chosenMember = reversedFamily.find((member) => {
|
35222
|
+
return pageBorderBox.center.x < member.page.borderBox.right && pageBorderBox.center.x > member.page.borderBox.left && pageBorderBox.center.y > member.page.borderBox.top && pageBorderBox.center.y < member.page.borderBox.bottom;
|
35223
|
+
});
|
35224
|
+
return chosenMember || family[0];
|
35225
|
+
});
|
35226
|
+
}
|
35210
35227
|
function getDroppableOver({
|
35211
35228
|
pageBorderBox,
|
35212
35229
|
draggable: draggable2,
|
@@ -35247,10 +35264,14 @@ function getDroppableOver({
|
|
35247
35264
|
if (candidates.length === 1) {
|
35248
35265
|
return candidates[0].descriptor.id;
|
35249
35266
|
}
|
35267
|
+
const normalizedCandidates = normalizeFamilies(pageBorderBox, candidates);
|
35268
|
+
if (normalizedCandidates.length === 1) {
|
35269
|
+
return normalizedCandidates[0].descriptor.id;
|
35270
|
+
}
|
35250
35271
|
return getFurthestAway({
|
35251
35272
|
pageBorderBox,
|
35252
35273
|
draggable: draggable2,
|
35253
|
-
candidates
|
35274
|
+
candidates: normalizedCandidates
|
35254
35275
|
});
|
35255
35276
|
}
|
35256
35277
|
function getIsDisplaced({
|
@@ -35935,20 +35956,22 @@ function offsetPoint(x, y, win) {
|
|
35935
35956
|
let offsetY = 0;
|
35936
35957
|
if (win.parent !== win.self) {
|
35937
35958
|
const iframe = win.frameElement;
|
35938
|
-
|
35939
|
-
|
35940
|
-
|
35941
|
-
|
35942
|
-
|
35943
|
-
|
35944
|
-
|
35945
|
-
|
35946
|
-
|
35947
|
-
|
35948
|
-
|
35949
|
-
|
35950
|
-
|
35951
|
-
|
35959
|
+
if (iframe) {
|
35960
|
+
const rect = iframe.getBoundingClientRect();
|
35961
|
+
const transform = getTransform(iframe);
|
35962
|
+
offsetX = rect.left;
|
35963
|
+
offsetY = rect.top;
|
35964
|
+
if (transform) {
|
35965
|
+
const {
|
35966
|
+
x: transformedX,
|
35967
|
+
y: transformedY
|
35968
|
+
} = applyTransformPoint(x, y, transform.matrix, transform.origin);
|
35969
|
+
const point2 = {
|
35970
|
+
x: transformedX + offsetX,
|
35971
|
+
y: transformedY + offsetY
|
35972
|
+
};
|
35973
|
+
return point2;
|
35974
|
+
}
|
35952
35975
|
}
|
35953
35976
|
}
|
35954
35977
|
const point = {
|
@@ -37621,7 +37644,7 @@ function getBody() {
|
|
37621
37644
|
!document.body ? process.env.NODE_ENV !== "production" ? invariant2(false, "document.body is not ready") : invariant2(false) : void 0;
|
37622
37645
|
return document.body;
|
37623
37646
|
}
|
37624
|
-
var import_react5, import_react_dom2, isProduction$1, spacesAndTabs, lineStartWithSpaces, clean$2, getDevMessage, getFormattedMessage, isDisabledFlag, warning2, error,
|
37647
|
+
var import_react5, import_react_dom2, isProduction$1, spacesAndTabs, lineStartWithSpaces, clean$2, getDevMessage, getFormattedMessage, isDisabledFlag, warning2, error, loaded, isProduction2, prefix$1, RbdInvariant, ErrorBoundary, dragHandleUsageInstructions, position, onDragStart, withLocation, withCombine, onDragUpdate, returnedToStart, onDragEnd, preset, preset$1, origin, add, subtract, isEqual$1, negate, patch, distance2, closest$1, apply, executeClip, offsetByPosition, getCorners, noSpacing2, scroll$1, increase, clip2, getSubject, scrollDroppable, toDroppableMap, toDraggableMap, toDroppableList, toDraggableList, getDraggablesInsideDroppable, removeDraggableFromList, moveToNextCombine, isHomeOf, noDisplacedBy, emptyGroups, noImpact, noImpact$1, isWithin, isPartiallyVisibleThroughFrame, isTotallyVisibleThroughFrame, vertical, horizontal, isTotallyVisibleThroughFrameOnAxis, getDroppableDisplaced, isVisibleInDroppable, isVisibleInViewport, isVisible$1, isPartiallyVisible, isTotallyVisible, isTotallyVisibleOnAxis, getShouldAnimate, fromCombine, fromReorder, moveToNextIndex, getCombinedItemDisplacement, whenCombining, distanceFromStartToBorderBoxCenter, distanceFromEndToBorderBoxCenter, getCrossAxisBorderBoxCenter, goAfter, goBefore, goIntoStart, whenReordering, withDroppableDisplacement, getResultWithoutDroppableDisplacement, getPageBorderBoxCenterFromImpact, scrollViewport, speculativelyIncrease, withViewportDisplacement, getClientFromPageBorderBoxCenter, isTotallyVisibleInNewLocation, moveToNextPlace, getKnownActive, getBestCrossAxisDroppable, getCurrentPageBorderBoxCenter, getCurrentPageBorderBox, getClosestDraggable, getDisplacedBy, getRequiredGrowthForPlaceholder, withMaxScroll, addPlaceholder, removePlaceholder, moveToNewDroppable, moveCrossAxis, whatIsDraggedOver, getDroppableOver$1, moveInDirection, offsetRectByPosition, withDroppableScroll, getReorderImpact, combineThresholdDivisor, getCombineImpact, getDragImpact, patchDroppableMap, clearUnusedPlaceholder, recomputePlaceholders, update, recompute, getClientBorderBoxCenter, refreshSnap, getHomeLocation, getLiftEffect, patchDimensionMap, start, finish, offsetDraggable, getFrame, adjustAdditionsForScrollChanges, timingsKey, publishWhileDraggingInVirtual, isSnapping, postDroppableChange, idle$2, reducer, beforeInitialCapture, lift$1, initialPublish, publishWhileDragging, collectionStarting, updateDroppableScroll, updateDroppableIsEnabled, updateDroppableIsCombineEnabled, move, moveByWindowScroll, updateViewportMaxScroll, moveUp, moveDown, moveRight, moveLeft, flush, animateDrop, completeDrop, drop$1, dropPending, dropAnimationFinished, lift, style, curves, combine, timings, outOfTheWayTiming, transitions, moveTo, transforms, minDropTime, maxDropTime, dropTimeRange, maxDropTimeAtDistance, cancelDropModifier, getDropDuration, getNewHomeClientOffset, getDropImpact, dropMiddleware, drop, getWindowScroll3, shouldEnd, scrollListener, scrollListener$1, getExpiringAnnounce, getAsyncMarshal, areLocationsEqual, isCombineEqual, isCriticalEqual, withTimings, getDragStart, getPublisher, responders, dropAnimationFinishMiddleware, dropAnimationFinish, dropAnimationFlushOnScrollMiddleware, dropAnimationFlushOnScroll, dimensionMarshalStopper, focus, shouldStop, autoScroll, pendingDrop, pendingDrop$1, composeEnhancers, createStore2, clean$1, getMaxScroll, getDocumentElement, getMaxWindowScroll, getViewport, getInitialPublish, createDimensionMarshal, canStartDrag, scrollWindow, getScrollableDroppables, getScrollableDroppableOver, getBestScrollableDroppable, defaultAutoScrollerOptions, getDistanceThresholds, getPercentage, minScroll, getValueFromDistance, dampenValueByTime, getValue, getScrollOnAxis, adjustForSizeLimits, clean, getScroll$1, smallestSigned, getOverlap, canPartiallyScroll, canScrollWindow, getWindowOverlap, canScrollDroppable, getDroppableOverlap, getWindowScrollChange, getDroppableScrollChange, iframeCache, createCol, matrixPattern, getMatrix, getOrigin, findNearestTransform, defaultTransform, getTransform, applyTransformPoint, applyTransformRect, applyTransformSpacing, applyTransformBox, resetToOrigin, getIframeScroll, scroll, createFluidScroller, createJumpScroller, createAutoScroller, prefix2, dragHandle, draggable, droppable, scrollContainer, makeGetSelector, getStyles, noPointerEvents, getStyles$1, useIsomorphicLayoutEffect2, useLayoutEffect2, getHead, createStyleEl, alwaysDataAttr, dynamicDataAttr, getWindowFromEl, dragHandleCache, StoreContext, getBodyElement, visuallyHidden, visuallyHidden$1, getId, count$1, defaults, useUniqueId$1, AppContext, peerDependencies, semver, getVersion, isSatisfied, checkReactVersion, suffix, checkDoctype, tab, enter, escape, space, pageUp, pageDown, end, home, arrowLeft, arrowUp, arrowRight, arrowDown, preventedKeys, preventStandardKeyEvents, supportedEventName, supportedPageVisibilityEventName, primaryButton, sloppyClickThreshold, idle$1, scrollJumpKeys, idle, timeForLongPress, forcePressThreshold, interactiveTagNames, getBorderBoxCenterPosition, supportedMatchesName, defaultSensors, createResponders, createAutoScrollerOptions, count, useUniqueContextId$1, zIndexOptions, getDraggingTransition, getDraggingOpacity, getShouldDraggingAnimate, applyOffsetBox, DroppableContext, Draggable, Draggable$1, isStrictEqual, whatIsDraggedOverFromResult, getCombineWithFromResult, getCombineWithFromImpact, atRest, makeMapStateToProps$1, mapDispatchToProps$1, ConnectedDraggable, ConnectedDraggable$1, getScroll, isEqual2, isScroll, isAuto, isVisible, isEither, isBoth, isElementScrollable, isBodyScrollable, getClosestScrollable, getClosestScrollable$1, getIsFixed, getEnv, getDroppableDimension, getClient, getParents, getDimension, immediate, delayed, getListenerOptions, getScrollable, getClosestScrollableFromDrag, empty, getSize, getStyle, Placeholder, Placeholder$1, shared, standard, virtual, AnimateInOut, Droppable, Droppable$1, defaultProps, attachDefaultPropsToOwnProps, isMatchingType, getDraggable, makeMapStateToProps, mapDispatchToProps, ConnectedDroppable, ConnectedDroppable$1;
|
37625
37648
|
var init_dnd_esm = __esm({
|
37626
37649
|
"../../node_modules/@measured/dnd/dist/dnd.esm.js"() {
|
37627
37650
|
init_react_import();
|
@@ -37650,13 +37673,7 @@ var init_dnd_esm = __esm({
|
|
37650
37673
|
isDisabledFlag = "__@hello-pangea/dnd-disable-dev-warnings";
|
37651
37674
|
warning2 = log.bind(null, "warn");
|
37652
37675
|
error = log.bind(null, "error");
|
37653
|
-
|
37654
|
-
let win = el;
|
37655
|
-
if (el.nodeName === "IFRAME") {
|
37656
|
-
win = el.contentWindow;
|
37657
|
-
}
|
37658
|
-
return win;
|
37659
|
-
};
|
37676
|
+
loaded = false;
|
37660
37677
|
isProduction2 = process.env.NODE_ENV === "production";
|
37661
37678
|
prefix$1 = "Invariant failed";
|
37662
37679
|
RbdInvariant = class extends Error {
|
@@ -41035,7 +41052,7 @@ var init_dnd_esm = __esm({
|
|
41035
41052
|
}
|
41036
41053
|
if (!el.parentElement) {
|
41037
41054
|
const refWindow = el.ownerDocument.defaultView;
|
41038
|
-
if (refWindow && refWindow.self !== refWindow.parent) {
|
41055
|
+
if (refWindow && refWindow.self !== refWindow.parent && refWindow.frameElement) {
|
41039
41056
|
const iframe = refWindow.frameElement;
|
41040
41057
|
return findNearestTransform(iframe);
|
41041
41058
|
}
|
@@ -41157,7 +41174,7 @@ var init_dnd_esm = __esm({
|
|
41157
41174
|
}) => {
|
41158
41175
|
const el = querySelectorAllIframe(`[data-rfd-draggable-id="${state.critical.draggable.id}"]`)[0];
|
41159
41176
|
const win = (el == null ? void 0 : el.ownerDocument.defaultView) || window;
|
41160
|
-
const isInIframe = win !== window;
|
41177
|
+
const isInIframe = win !== window && win.frameElement;
|
41161
41178
|
if (isInIframe) {
|
41162
41179
|
const iframe = win.frameElement;
|
41163
41180
|
const viewportBox = getBox(iframe);
|
@@ -41996,7 +42013,8 @@ var init_dnd_esm = __esm({
|
|
41996
42013
|
client,
|
41997
42014
|
page,
|
41998
42015
|
closest: closest2,
|
41999
|
-
transform
|
42016
|
+
transform,
|
42017
|
+
parents
|
42000
42018
|
}) => {
|
42001
42019
|
const frame = (() => {
|
42002
42020
|
if (!closest2) {
|
@@ -42045,7 +42063,8 @@ var init_dnd_esm = __esm({
|
|
42045
42063
|
page,
|
42046
42064
|
frame,
|
42047
42065
|
subject,
|
42048
|
-
transform
|
42066
|
+
transform,
|
42067
|
+
parents
|
42049
42068
|
};
|
42050
42069
|
return dimension;
|
42051
42070
|
};
|
@@ -42082,6 +42101,27 @@ var init_dnd_esm = __esm({
|
|
42082
42101
|
});
|
42083
42102
|
return client;
|
42084
42103
|
};
|
42104
|
+
getParents = (ref2) => {
|
42105
|
+
var _a3;
|
42106
|
+
const contextId = ref2.getAttribute(`${prefix2}-droppable-context-id`);
|
42107
|
+
const parentDescriptors = [];
|
42108
|
+
if (!contextId)
|
42109
|
+
return [];
|
42110
|
+
let currentEl = ref2;
|
42111
|
+
while (currentEl) {
|
42112
|
+
currentEl = (_a3 = currentEl.parentElement) == null ? void 0 : _a3.closest(`[${prefix2}-droppable-context-id="${contextId}"]`);
|
42113
|
+
const id = currentEl == null ? void 0 : currentEl.getAttribute(`${prefix2}-droppable-id`);
|
42114
|
+
if (id) {
|
42115
|
+
parentDescriptors.push({
|
42116
|
+
id,
|
42117
|
+
mode: "standard",
|
42118
|
+
type: "DEFAULT"
|
42119
|
+
});
|
42120
|
+
}
|
42121
|
+
}
|
42122
|
+
parentDescriptors.reverse();
|
42123
|
+
return parentDescriptors;
|
42124
|
+
};
|
42085
42125
|
getDimension = ({
|
42086
42126
|
ref: ref2,
|
42087
42127
|
descriptor,
|
@@ -42117,6 +42157,7 @@ var init_dnd_esm = __esm({
|
|
42117
42157
|
shouldClipSubject
|
42118
42158
|
};
|
42119
42159
|
})();
|
42160
|
+
const parents = getParents(ref2);
|
42120
42161
|
const dimension = getDroppableDimension({
|
42121
42162
|
descriptor,
|
42122
42163
|
isEnabled: !isDropDisabled,
|
@@ -42126,7 +42167,8 @@ var init_dnd_esm = __esm({
|
|
42126
42167
|
client,
|
42127
42168
|
page,
|
42128
42169
|
closest: closest2,
|
42129
|
-
transform
|
42170
|
+
transform,
|
42171
|
+
parents
|
42130
42172
|
});
|
42131
42173
|
return dimension;
|
42132
42174
|
};
|
@@ -42597,6 +42639,1291 @@ var init_dnd_esm = __esm({
|
|
42597
42639
|
}
|
42598
42640
|
});
|
42599
42641
|
|
42642
|
+
// ../../node_modules/ua-parser-js/src/ua-parser.js
|
42643
|
+
var require_ua_parser = __commonJS({
|
42644
|
+
"../../node_modules/ua-parser-js/src/ua-parser.js"(exports, module2) {
|
42645
|
+
init_react_import();
|
42646
|
+
(function(window2, undefined2) {
|
42647
|
+
"use strict";
|
42648
|
+
var LIBVERSION = "1.0.37", EMPTY = "", UNKNOWN = "?", FUNC_TYPE = "function", UNDEF_TYPE = "undefined", OBJ_TYPE = "object", STR_TYPE = "string", MAJOR = "major", MODEL = "model", NAME = "name", TYPE2 = "type", VENDOR = "vendor", VERSION = "version", ARCHITECTURE = "architecture", CONSOLE = "console", MOBILE = "mobile", TABLET = "tablet", SMARTTV = "smarttv", WEARABLE = "wearable", EMBEDDED = "embedded", UA_MAX_LENGTH = 500;
|
42649
|
+
var AMAZON = "Amazon", APPLE = "Apple", ASUS = "ASUS", BLACKBERRY = "BlackBerry", BROWSER = "Browser", CHROME = "Chrome", EDGE = "Edge", FIREFOX = "Firefox", GOOGLE = "Google", HUAWEI = "Huawei", LG = "LG", MICROSOFT = "Microsoft", MOTOROLA = "Motorola", OPERA = "Opera", SAMSUNG = "Samsung", SHARP = "Sharp", SONY = "Sony", XIAOMI = "Xiaomi", ZEBRA = "Zebra", FACEBOOK = "Facebook", CHROMIUM_OS = "Chromium OS", MAC_OS = "Mac OS";
|
42650
|
+
var extend = function(regexes2, extensions) {
|
42651
|
+
var mergedRegexes = {};
|
42652
|
+
for (var i2 in regexes2) {
|
42653
|
+
if (extensions[i2] && extensions[i2].length % 2 === 0) {
|
42654
|
+
mergedRegexes[i2] = extensions[i2].concat(regexes2[i2]);
|
42655
|
+
} else {
|
42656
|
+
mergedRegexes[i2] = regexes2[i2];
|
42657
|
+
}
|
42658
|
+
}
|
42659
|
+
return mergedRegexes;
|
42660
|
+
}, enumerize = function(arr) {
|
42661
|
+
var enums = {};
|
42662
|
+
for (var i2 = 0; i2 < arr.length; i2++) {
|
42663
|
+
enums[arr[i2].toUpperCase()] = arr[i2];
|
42664
|
+
}
|
42665
|
+
return enums;
|
42666
|
+
}, has = function(str1, str2) {
|
42667
|
+
return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;
|
42668
|
+
}, lowerize = function(str) {
|
42669
|
+
return str.toLowerCase();
|
42670
|
+
}, majorize = function(version2) {
|
42671
|
+
return typeof version2 === STR_TYPE ? version2.replace(/[^\d\.]/g, EMPTY).split(".")[0] : undefined2;
|
42672
|
+
}, trim = function(str, len) {
|
42673
|
+
if (typeof str === STR_TYPE) {
|
42674
|
+
str = str.replace(/^\s\s*/, EMPTY);
|
42675
|
+
return typeof len === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);
|
42676
|
+
}
|
42677
|
+
};
|
42678
|
+
var rgxMapper = function(ua, arrays) {
|
42679
|
+
var i2 = 0, j, k, p, q, matches, match;
|
42680
|
+
while (i2 < arrays.length && !matches) {
|
42681
|
+
var regex = arrays[i2], props = arrays[i2 + 1];
|
42682
|
+
j = k = 0;
|
42683
|
+
while (j < regex.length && !matches) {
|
42684
|
+
if (!regex[j]) {
|
42685
|
+
break;
|
42686
|
+
}
|
42687
|
+
matches = regex[j++].exec(ua);
|
42688
|
+
if (!!matches) {
|
42689
|
+
for (p = 0; p < props.length; p++) {
|
42690
|
+
match = matches[++k];
|
42691
|
+
q = props[p];
|
42692
|
+
if (typeof q === OBJ_TYPE && q.length > 0) {
|
42693
|
+
if (q.length === 2) {
|
42694
|
+
if (typeof q[1] == FUNC_TYPE) {
|
42695
|
+
this[q[0]] = q[1].call(this, match);
|
42696
|
+
} else {
|
42697
|
+
this[q[0]] = q[1];
|
42698
|
+
}
|
42699
|
+
} else if (q.length === 3) {
|
42700
|
+
if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {
|
42701
|
+
this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined2;
|
42702
|
+
} else {
|
42703
|
+
this[q[0]] = match ? match.replace(q[1], q[2]) : undefined2;
|
42704
|
+
}
|
42705
|
+
} else if (q.length === 4) {
|
42706
|
+
this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined2;
|
42707
|
+
}
|
42708
|
+
} else {
|
42709
|
+
this[q] = match ? match : undefined2;
|
42710
|
+
}
|
42711
|
+
}
|
42712
|
+
}
|
42713
|
+
}
|
42714
|
+
i2 += 2;
|
42715
|
+
}
|
42716
|
+
}, strMapper = function(str, map) {
|
42717
|
+
for (var i2 in map) {
|
42718
|
+
if (typeof map[i2] === OBJ_TYPE && map[i2].length > 0) {
|
42719
|
+
for (var j = 0; j < map[i2].length; j++) {
|
42720
|
+
if (has(map[i2][j], str)) {
|
42721
|
+
return i2 === UNKNOWN ? undefined2 : i2;
|
42722
|
+
}
|
42723
|
+
}
|
42724
|
+
} else if (has(map[i2], str)) {
|
42725
|
+
return i2 === UNKNOWN ? undefined2 : i2;
|
42726
|
+
}
|
42727
|
+
}
|
42728
|
+
return str;
|
42729
|
+
};
|
42730
|
+
var oldSafariMap = {
|
42731
|
+
"1.0": "/8",
|
42732
|
+
"1.2": "/1",
|
42733
|
+
"1.3": "/3",
|
42734
|
+
"2.0": "/412",
|
42735
|
+
"2.0.2": "/416",
|
42736
|
+
"2.0.3": "/417",
|
42737
|
+
"2.0.4": "/419",
|
42738
|
+
"?": "/"
|
42739
|
+
}, windowsVersionMap = {
|
42740
|
+
"ME": "4.90",
|
42741
|
+
"NT 3.11": "NT3.51",
|
42742
|
+
"NT 4.0": "NT4.0",
|
42743
|
+
"2000": "NT 5.0",
|
42744
|
+
"XP": ["NT 5.1", "NT 5.2"],
|
42745
|
+
"Vista": "NT 6.0",
|
42746
|
+
"7": "NT 6.1",
|
42747
|
+
"8": "NT 6.2",
|
42748
|
+
"8.1": "NT 6.3",
|
42749
|
+
"10": ["NT 6.4", "NT 10.0"],
|
42750
|
+
"RT": "ARM"
|
42751
|
+
};
|
42752
|
+
var regexes = {
|
42753
|
+
browser: [
|
42754
|
+
[
|
42755
|
+
/\b(?:crmo|crios)\/([\w\.]+)/i
|
42756
|
+
// Chrome for Android/iOS
|
42757
|
+
],
|
42758
|
+
[VERSION, [NAME, "Chrome"]],
|
42759
|
+
[
|
42760
|
+
/edg(?:e|ios|a)?\/([\w\.]+)/i
|
42761
|
+
// Microsoft Edge
|
42762
|
+
],
|
42763
|
+
[VERSION, [NAME, "Edge"]],
|
42764
|
+
[
|
42765
|
+
// Presto based
|
42766
|
+
/(opera mini)\/([-\w\.]+)/i,
|
42767
|
+
// Opera Mini
|
42768
|
+
/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,
|
42769
|
+
// Opera Mobi/Tablet
|
42770
|
+
/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i
|
42771
|
+
// Opera
|
42772
|
+
],
|
42773
|
+
[NAME, VERSION],
|
42774
|
+
[
|
42775
|
+
/opios[\/ ]+([\w\.]+)/i
|
42776
|
+
// Opera mini on iphone >= 8.0
|
42777
|
+
],
|
42778
|
+
[VERSION, [NAME, OPERA + " Mini"]],
|
42779
|
+
[
|
42780
|
+
/\bopr\/([\w\.]+)/i
|
42781
|
+
// Opera Webkit
|
42782
|
+
],
|
42783
|
+
[VERSION, [NAME, OPERA]],
|
42784
|
+
[
|
42785
|
+
// Mixed
|
42786
|
+
/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i
|
42787
|
+
// Baidu
|
42788
|
+
],
|
42789
|
+
[VERSION, [NAME, "Baidu"]],
|
42790
|
+
[
|
42791
|
+
/(kindle)\/([\w\.]+)/i,
|
42792
|
+
// Kindle
|
42793
|
+
/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,
|
42794
|
+
// Lunascape/Maxthon/Netfront/Jasmine/Blazer
|
42795
|
+
// Trident based
|
42796
|
+
/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,
|
42797
|
+
// Avant/IEMobile/SlimBrowser
|
42798
|
+
/(?:ms|\()(ie) ([\w\.]+)/i,
|
42799
|
+
// Internet Explorer
|
42800
|
+
// Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
|
42801
|
+
/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,
|
42802
|
+
// Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ
|
42803
|
+
/(heytap|ovi)browser\/([\d\.]+)/i,
|
42804
|
+
// Heytap/Ovi
|
42805
|
+
/(weibo)__([\d\.]+)/i
|
42806
|
+
// Weibo
|
42807
|
+
],
|
42808
|
+
[NAME, VERSION],
|
42809
|
+
[
|
42810
|
+
/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i
|
42811
|
+
// UCBrowser
|
42812
|
+
],
|
42813
|
+
[VERSION, [NAME, "UC" + BROWSER]],
|
42814
|
+
[
|
42815
|
+
/microm.+\bqbcore\/([\w\.]+)/i,
|
42816
|
+
// WeChat Desktop for Windows Built-in Browser
|
42817
|
+
/\bqbcore\/([\w\.]+).+microm/i,
|
42818
|
+
/micromessenger\/([\w\.]+)/i
|
42819
|
+
// WeChat
|
42820
|
+
],
|
42821
|
+
[VERSION, [NAME, "WeChat"]],
|
42822
|
+
[
|
42823
|
+
/konqueror\/([\w\.]+)/i
|
42824
|
+
// Konqueror
|
42825
|
+
],
|
42826
|
+
[VERSION, [NAME, "Konqueror"]],
|
42827
|
+
[
|
42828
|
+
/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i
|
42829
|
+
// IE11
|
42830
|
+
],
|
42831
|
+
[VERSION, [NAME, "IE"]],
|
42832
|
+
[
|
42833
|
+
/ya(?:search)?browser\/([\w\.]+)/i
|
42834
|
+
// Yandex
|
42835
|
+
],
|
42836
|
+
[VERSION, [NAME, "Yandex"]],
|
42837
|
+
[
|
42838
|
+
/slbrowser\/([\w\.]+)/i
|
42839
|
+
// Smart Lenovo Browser
|
42840
|
+
],
|
42841
|
+
[VERSION, [NAME, "Smart Lenovo " + BROWSER]],
|
42842
|
+
[
|
42843
|
+
/(avast|avg)\/([\w\.]+)/i
|
42844
|
+
// Avast/AVG Secure Browser
|
42845
|
+
],
|
42846
|
+
[[NAME, /(.+)/, "$1 Secure " + BROWSER], VERSION],
|
42847
|
+
[
|
42848
|
+
/\bfocus\/([\w\.]+)/i
|
42849
|
+
// Firefox Focus
|
42850
|
+
],
|
42851
|
+
[VERSION, [NAME, FIREFOX + " Focus"]],
|
42852
|
+
[
|
42853
|
+
/\bopt\/([\w\.]+)/i
|
42854
|
+
// Opera Touch
|
42855
|
+
],
|
42856
|
+
[VERSION, [NAME, OPERA + " Touch"]],
|
42857
|
+
[
|
42858
|
+
/coc_coc\w+\/([\w\.]+)/i
|
42859
|
+
// Coc Coc Browser
|
42860
|
+
],
|
42861
|
+
[VERSION, [NAME, "Coc Coc"]],
|
42862
|
+
[
|
42863
|
+
/dolfin\/([\w\.]+)/i
|
42864
|
+
// Dolphin
|
42865
|
+
],
|
42866
|
+
[VERSION, [NAME, "Dolphin"]],
|
42867
|
+
[
|
42868
|
+
/coast\/([\w\.]+)/i
|
42869
|
+
// Opera Coast
|
42870
|
+
],
|
42871
|
+
[VERSION, [NAME, OPERA + " Coast"]],
|
42872
|
+
[
|
42873
|
+
/miuibrowser\/([\w\.]+)/i
|
42874
|
+
// MIUI Browser
|
42875
|
+
],
|
42876
|
+
[VERSION, [NAME, "MIUI " + BROWSER]],
|
42877
|
+
[
|
42878
|
+
/fxios\/([-\w\.]+)/i
|
42879
|
+
// Firefox for iOS
|
42880
|
+
],
|
42881
|
+
[VERSION, [NAME, FIREFOX]],
|
42882
|
+
[
|
42883
|
+
/\bqihu|(qi?ho?o?|360)browser/i
|
42884
|
+
// 360
|
42885
|
+
],
|
42886
|
+
[[NAME, "360 " + BROWSER]],
|
42887
|
+
[
|
42888
|
+
/(oculus|sailfish|huawei|vivo)browser\/([\w\.]+)/i
|
42889
|
+
],
|
42890
|
+
[[NAME, /(.+)/, "$1 " + BROWSER], VERSION],
|
42891
|
+
[
|
42892
|
+
// Oculus/Sailfish/HuaweiBrowser/VivoBrowser
|
42893
|
+
/samsungbrowser\/([\w\.]+)/i
|
42894
|
+
// Samsung Internet
|
42895
|
+
],
|
42896
|
+
[VERSION, [NAME, SAMSUNG + " Internet"]],
|
42897
|
+
[
|
42898
|
+
/(comodo_dragon)\/([\w\.]+)/i
|
42899
|
+
// Comodo Dragon
|
42900
|
+
],
|
42901
|
+
[[NAME, /_/g, " "], VERSION],
|
42902
|
+
[
|
42903
|
+
/metasr[\/ ]?([\d\.]+)/i
|
42904
|
+
// Sogou Explorer
|
42905
|
+
],
|
42906
|
+
[VERSION, [NAME, "Sogou Explorer"]],
|
42907
|
+
[
|
42908
|
+
/(sogou)mo\w+\/([\d\.]+)/i
|
42909
|
+
// Sogou Mobile
|
42910
|
+
],
|
42911
|
+
[[NAME, "Sogou Mobile"], VERSION],
|
42912
|
+
[
|
42913
|
+
/(electron)\/([\w\.]+) safari/i,
|
42914
|
+
// Electron-based App
|
42915
|
+
/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,
|
42916
|
+
// Tesla
|
42917
|
+
/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i
|
42918
|
+
// QQBrowser/2345 Browser
|
42919
|
+
],
|
42920
|
+
[NAME, VERSION],
|
42921
|
+
[
|
42922
|
+
/(lbbrowser)/i,
|
42923
|
+
// LieBao Browser
|
42924
|
+
/\[(linkedin)app\]/i
|
42925
|
+
// LinkedIn App for iOS & Android
|
42926
|
+
],
|
42927
|
+
[NAME],
|
42928
|
+
[
|
42929
|
+
// WebView
|
42930
|
+
/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i
|
42931
|
+
// Facebook App for iOS & Android
|
42932
|
+
],
|
42933
|
+
[[NAME, FACEBOOK], VERSION],
|
42934
|
+
[
|
42935
|
+
/(Klarna)\/([\w\.]+)/i,
|
42936
|
+
// Klarna Shopping Browser for iOS & Android
|
42937
|
+
/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,
|
42938
|
+
// Kakao App
|
42939
|
+
/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,
|
42940
|
+
// Naver InApp
|
42941
|
+
/safari (line)\/([\w\.]+)/i,
|
42942
|
+
// Line App for iOS
|
42943
|
+
/\b(line)\/([\w\.]+)\/iab/i,
|
42944
|
+
// Line App for Android
|
42945
|
+
/(alipay)client\/([\w\.]+)/i,
|
42946
|
+
// Alipay
|
42947
|
+
/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i
|
42948
|
+
// Chromium/Instagram/Snapchat
|
42949
|
+
],
|
42950
|
+
[NAME, VERSION],
|
42951
|
+
[
|
42952
|
+
/\bgsa\/([\w\.]+) .*safari\//i
|
42953
|
+
// Google Search Appliance on iOS
|
42954
|
+
],
|
42955
|
+
[VERSION, [NAME, "GSA"]],
|
42956
|
+
[
|
42957
|
+
/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i
|
42958
|
+
// TikTok
|
42959
|
+
],
|
42960
|
+
[VERSION, [NAME, "TikTok"]],
|
42961
|
+
[
|
42962
|
+
/headlesschrome(?:\/([\w\.]+)| )/i
|
42963
|
+
// Chrome Headless
|
42964
|
+
],
|
42965
|
+
[VERSION, [NAME, CHROME + " Headless"]],
|
42966
|
+
[
|
42967
|
+
/ wv\).+(chrome)\/([\w\.]+)/i
|
42968
|
+
// Chrome WebView
|
42969
|
+
],
|
42970
|
+
[[NAME, CHROME + " WebView"], VERSION],
|
42971
|
+
[
|
42972
|
+
/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i
|
42973
|
+
// Android Browser
|
42974
|
+
],
|
42975
|
+
[VERSION, [NAME, "Android " + BROWSER]],
|
42976
|
+
[
|
42977
|
+
/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i
|
42978
|
+
// Chrome/OmniWeb/Arora/Tizen/Nokia
|
42979
|
+
],
|
42980
|
+
[NAME, VERSION],
|
42981
|
+
[
|
42982
|
+
/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i
|
42983
|
+
// Mobile Safari
|
42984
|
+
],
|
42985
|
+
[VERSION, [NAME, "Mobile Safari"]],
|
42986
|
+
[
|
42987
|
+
/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i
|
42988
|
+
// Safari & Safari Mobile
|
42989
|
+
],
|
42990
|
+
[VERSION, NAME],
|
42991
|
+
[
|
42992
|
+
/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i
|
42993
|
+
// Safari < 3.0
|
42994
|
+
],
|
42995
|
+
[NAME, [VERSION, strMapper, oldSafariMap]],
|
42996
|
+
[
|
42997
|
+
/(webkit|khtml)\/([\w\.]+)/i
|
42998
|
+
],
|
42999
|
+
[NAME, VERSION],
|
43000
|
+
[
|
43001
|
+
// Gecko based
|
43002
|
+
/(navigator|netscape\d?)\/([-\w\.]+)/i
|
43003
|
+
// Netscape
|
43004
|
+
],
|
43005
|
+
[[NAME, "Netscape"], VERSION],
|
43006
|
+
[
|
43007
|
+
/mobile vr; rv:([\w\.]+)\).+firefox/i
|
43008
|
+
// Firefox Reality
|
43009
|
+
],
|
43010
|
+
[VERSION, [NAME, FIREFOX + " Reality"]],
|
43011
|
+
[
|
43012
|
+
/ekiohf.+(flow)\/([\w\.]+)/i,
|
43013
|
+
// Flow
|
43014
|
+
/(swiftfox)/i,
|
43015
|
+
// Swiftfox
|
43016
|
+
/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,
|
43017
|
+
// IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar
|
43018
|
+
/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,
|
43019
|
+
// Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix
|
43020
|
+
/(firefox)\/([\w\.]+)/i,
|
43021
|
+
// Other Firefox-based
|
43022
|
+
/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,
|
43023
|
+
// Mozilla
|
43024
|
+
// Other
|
43025
|
+
/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
|
43026
|
+
// Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser
|
43027
|
+
/(links) \(([\w\.]+)/i,
|
43028
|
+
// Links
|
43029
|
+
/panasonic;(viera)/i
|
43030
|
+
// Panasonic Viera
|
43031
|
+
],
|
43032
|
+
[NAME, VERSION],
|
43033
|
+
[
|
43034
|
+
/(cobalt)\/([\w\.]+)/i
|
43035
|
+
// Cobalt
|
43036
|
+
],
|
43037
|
+
[NAME, [VERSION, /master.|lts./, ""]]
|
43038
|
+
],
|
43039
|
+
cpu: [
|
43040
|
+
[
|
43041
|
+
/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i
|
43042
|
+
// AMD64 (x64)
|
43043
|
+
],
|
43044
|
+
[[ARCHITECTURE, "amd64"]],
|
43045
|
+
[
|
43046
|
+
/(ia32(?=;))/i
|
43047
|
+
// IA32 (quicktime)
|
43048
|
+
],
|
43049
|
+
[[ARCHITECTURE, lowerize]],
|
43050
|
+
[
|
43051
|
+
/((?:i[346]|x)86)[;\)]/i
|
43052
|
+
// IA32 (x86)
|
43053
|
+
],
|
43054
|
+
[[ARCHITECTURE, "ia32"]],
|
43055
|
+
[
|
43056
|
+
/\b(aarch64|arm(v?8e?l?|_?64))\b/i
|
43057
|
+
// ARM64
|
43058
|
+
],
|
43059
|
+
[[ARCHITECTURE, "arm64"]],
|
43060
|
+
[
|
43061
|
+
/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i
|
43062
|
+
// ARMHF
|
43063
|
+
],
|
43064
|
+
[[ARCHITECTURE, "armhf"]],
|
43065
|
+
[
|
43066
|
+
// PocketPC mistakenly identified as PowerPC
|
43067
|
+
/windows (ce|mobile); ppc;/i
|
43068
|
+
],
|
43069
|
+
[[ARCHITECTURE, "arm"]],
|
43070
|
+
[
|
43071
|
+
/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i
|
43072
|
+
// PowerPC
|
43073
|
+
],
|
43074
|
+
[[ARCHITECTURE, /ower/, EMPTY, lowerize]],
|
43075
|
+
[
|
43076
|
+
/(sun4\w)[;\)]/i
|
43077
|
+
// SPARC
|
43078
|
+
],
|
43079
|
+
[[ARCHITECTURE, "sparc"]],
|
43080
|
+
[
|
43081
|
+
/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i
|
43082
|
+
// IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC
|
43083
|
+
],
|
43084
|
+
[[ARCHITECTURE, lowerize]]
|
43085
|
+
],
|
43086
|
+
device: [
|
43087
|
+
[
|
43088
|
+
//////////////////////////
|
43089
|
+
// MOBILES & TABLETS
|
43090
|
+
/////////////////////////
|
43091
|
+
// Samsung
|
43092
|
+
/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
|
43093
|
+
],
|
43094
|
+
[MODEL, [VENDOR, SAMSUNG], [TYPE2, TABLET]],
|
43095
|
+
[
|
43096
|
+
/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
|
43097
|
+
/samsung[- ]([-\w]+)/i,
|
43098
|
+
/sec-(sgh\w+)/i
|
43099
|
+
],
|
43100
|
+
[MODEL, [VENDOR, SAMSUNG], [TYPE2, MOBILE]],
|
43101
|
+
[
|
43102
|
+
// Apple
|
43103
|
+
/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i
|
43104
|
+
// iPod/iPhone
|
43105
|
+
],
|
43106
|
+
[MODEL, [VENDOR, APPLE], [TYPE2, MOBILE]],
|
43107
|
+
[
|
43108
|
+
/\((ipad);[-\w\),; ]+apple/i,
|
43109
|
+
// iPad
|
43110
|
+
/applecoremedia\/[\w\.]+ \((ipad)/i,
|
43111
|
+
/\b(ipad)\d\d?,\d\d?[;\]].+ios/i
|
43112
|
+
],
|
43113
|
+
[MODEL, [VENDOR, APPLE], [TYPE2, TABLET]],
|
43114
|
+
[
|
43115
|
+
/(macintosh);/i
|
43116
|
+
],
|
43117
|
+
[MODEL, [VENDOR, APPLE]],
|
43118
|
+
[
|
43119
|
+
// Sharp
|
43120
|
+
/\b(sh-?[altvz]?\d\d[a-ekm]?)/i
|
43121
|
+
],
|
43122
|
+
[MODEL, [VENDOR, SHARP], [TYPE2, MOBILE]],
|
43123
|
+
[
|
43124
|
+
// Huawei
|
43125
|
+
/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i
|
43126
|
+
],
|
43127
|
+
[MODEL, [VENDOR, HUAWEI], [TYPE2, TABLET]],
|
43128
|
+
[
|
43129
|
+
/(?:huawei|honor)([-\w ]+)[;\)]/i,
|
43130
|
+
/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i
|
43131
|
+
],
|
43132
|
+
[MODEL, [VENDOR, HUAWEI], [TYPE2, MOBILE]],
|
43133
|
+
[
|
43134
|
+
// Xiaomi
|
43135
|
+
/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,
|
43136
|
+
// Xiaomi POCO
|
43137
|
+
/\b; (\w+) build\/hm\1/i,
|
43138
|
+
// Xiaomi Hongmi 'numeric' models
|
43139
|
+
/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,
|
43140
|
+
// Xiaomi Hongmi
|
43141
|
+
/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,
|
43142
|
+
// Xiaomi Redmi
|
43143
|
+
/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,
|
43144
|
+
// Xiaomi Redmi 'numeric' models
|
43145
|
+
/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i
|
43146
|
+
// Xiaomi Mi
|
43147
|
+
],
|
43148
|
+
[[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE2, MOBILE]],
|
43149
|
+
[
|
43150
|
+
/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,
|
43151
|
+
// Redmi Pad
|
43152
|
+
/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i
|
43153
|
+
// Mi Pad tablets
|
43154
|
+
],
|
43155
|
+
[[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE2, TABLET]],
|
43156
|
+
[
|
43157
|
+
// OPPO
|
43158
|
+
/; (\w+) bui.+ oppo/i,
|
43159
|
+
/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
|
43160
|
+
],
|
43161
|
+
[MODEL, [VENDOR, "OPPO"], [TYPE2, MOBILE]],
|
43162
|
+
[
|
43163
|
+
// Vivo
|
43164
|
+
/vivo (\w+)(?: bui|\))/i,
|
43165
|
+
/\b(v[12]\d{3}\w?[at])(?: bui|;)/i
|
43166
|
+
],
|
43167
|
+
[MODEL, [VENDOR, "Vivo"], [TYPE2, MOBILE]],
|
43168
|
+
[
|
43169
|
+
// Realme
|
43170
|
+
/\b(rmx[1-3]\d{3})(?: bui|;|\))/i
|
43171
|
+
],
|
43172
|
+
[MODEL, [VENDOR, "Realme"], [TYPE2, MOBILE]],
|
43173
|
+
[
|
43174
|
+
// Motorola
|
43175
|
+
/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
|
43176
|
+
/\bmot(?:orola)?[- ](\w*)/i,
|
43177
|
+
/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i
|
43178
|
+
],
|
43179
|
+
[MODEL, [VENDOR, MOTOROLA], [TYPE2, MOBILE]],
|
43180
|
+
[
|
43181
|
+
/\b(mz60\d|xoom[2 ]{0,2}) build\//i
|
43182
|
+
],
|
43183
|
+
[MODEL, [VENDOR, MOTOROLA], [TYPE2, TABLET]],
|
43184
|
+
[
|
43185
|
+
// LG
|
43186
|
+
/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
|
43187
|
+
],
|
43188
|
+
[MODEL, [VENDOR, LG], [TYPE2, TABLET]],
|
43189
|
+
[
|
43190
|
+
/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
|
43191
|
+
/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,
|
43192
|
+
/\blg-?([\d\w]+) bui/i
|
43193
|
+
],
|
43194
|
+
[MODEL, [VENDOR, LG], [TYPE2, MOBILE]],
|
43195
|
+
[
|
43196
|
+
// Lenovo
|
43197
|
+
/(ideatab[-\w ]+)/i,
|
43198
|
+
/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i
|
43199
|
+
],
|
43200
|
+
[MODEL, [VENDOR, "Lenovo"], [TYPE2, TABLET]],
|
43201
|
+
[
|
43202
|
+
// Nokia
|
43203
|
+
/(?:maemo|nokia).*(n900|lumia \d+)/i,
|
43204
|
+
/nokia[-_ ]?([-\w\.]*)/i
|
43205
|
+
],
|
43206
|
+
[[MODEL, /_/g, " "], [VENDOR, "Nokia"], [TYPE2, MOBILE]],
|
43207
|
+
[
|
43208
|
+
// Google
|
43209
|
+
/(pixel c)\b/i
|
43210
|
+
// Google Pixel C
|
43211
|
+
],
|
43212
|
+
[MODEL, [VENDOR, GOOGLE], [TYPE2, TABLET]],
|
43213
|
+
[
|
43214
|
+
/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i
|
43215
|
+
// Google Pixel
|
43216
|
+
],
|
43217
|
+
[MODEL, [VENDOR, GOOGLE], [TYPE2, MOBILE]],
|
43218
|
+
[
|
43219
|
+
// Sony
|
43220
|
+
/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
|
43221
|
+
],
|
43222
|
+
[MODEL, [VENDOR, SONY], [TYPE2, MOBILE]],
|
43223
|
+
[
|
43224
|
+
/sony tablet [ps]/i,
|
43225
|
+
/\b(?:sony)?sgp\w+(?: bui|\))/i
|
43226
|
+
],
|
43227
|
+
[[MODEL, "Xperia Tablet"], [VENDOR, SONY], [TYPE2, TABLET]],
|
43228
|
+
[
|
43229
|
+
// OnePlus
|
43230
|
+
/ (kb2005|in20[12]5|be20[12][59])\b/i,
|
43231
|
+
/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i
|
43232
|
+
],
|
43233
|
+
[MODEL, [VENDOR, "OnePlus"], [TYPE2, MOBILE]],
|
43234
|
+
[
|
43235
|
+
// Amazon
|
43236
|
+
/(alexa)webm/i,
|
43237
|
+
/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,
|
43238
|
+
// Kindle Fire without Silk / Echo Show
|
43239
|
+
/(kf[a-z]+)( bui|\)).+silk\//i
|
43240
|
+
// Kindle Fire HD
|
43241
|
+
],
|
43242
|
+
[MODEL, [VENDOR, AMAZON], [TYPE2, TABLET]],
|
43243
|
+
[
|
43244
|
+
/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i
|
43245
|
+
// Fire Phone
|
43246
|
+
],
|
43247
|
+
[[MODEL, /(.+)/g, "Fire Phone $1"], [VENDOR, AMAZON], [TYPE2, MOBILE]],
|
43248
|
+
[
|
43249
|
+
// BlackBerry
|
43250
|
+
/(playbook);[-\w\),; ]+(rim)/i
|
43251
|
+
// BlackBerry PlayBook
|
43252
|
+
],
|
43253
|
+
[MODEL, VENDOR, [TYPE2, TABLET]],
|
43254
|
+
[
|
43255
|
+
/\b((?:bb[a-f]|st[hv])100-\d)/i,
|
43256
|
+
/\(bb10; (\w+)/i
|
43257
|
+
// BlackBerry 10
|
43258
|
+
],
|
43259
|
+
[MODEL, [VENDOR, BLACKBERRY], [TYPE2, MOBILE]],
|
43260
|
+
[
|
43261
|
+
// Asus
|
43262
|
+
/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
|
43263
|
+
],
|
43264
|
+
[MODEL, [VENDOR, ASUS], [TYPE2, TABLET]],
|
43265
|
+
[
|
43266
|
+
/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i
|
43267
|
+
],
|
43268
|
+
[MODEL, [VENDOR, ASUS], [TYPE2, MOBILE]],
|
43269
|
+
[
|
43270
|
+
// HTC
|
43271
|
+
/(nexus 9)/i
|
43272
|
+
// HTC Nexus 9
|
43273
|
+
],
|
43274
|
+
[MODEL, [VENDOR, "HTC"], [TYPE2, TABLET]],
|
43275
|
+
[
|
43276
|
+
/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,
|
43277
|
+
// HTC
|
43278
|
+
// ZTE
|
43279
|
+
/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,
|
43280
|
+
/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i
|
43281
|
+
// Alcatel/GeeksPhone/Nexian/Panasonic/Sony
|
43282
|
+
],
|
43283
|
+
[VENDOR, [MODEL, /_/g, " "], [TYPE2, MOBILE]],
|
43284
|
+
[
|
43285
|
+
// Acer
|
43286
|
+
/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
|
43287
|
+
],
|
43288
|
+
[MODEL, [VENDOR, "Acer"], [TYPE2, TABLET]],
|
43289
|
+
[
|
43290
|
+
// Meizu
|
43291
|
+
/droid.+; (m[1-5] note) bui/i,
|
43292
|
+
/\bmz-([-\w]{2,})/i
|
43293
|
+
],
|
43294
|
+
[MODEL, [VENDOR, "Meizu"], [TYPE2, MOBILE]],
|
43295
|
+
[
|
43296
|
+
// Ulefone
|
43297
|
+
/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i
|
43298
|
+
],
|
43299
|
+
[MODEL, [VENDOR, "Ulefone"], [TYPE2, MOBILE]],
|
43300
|
+
[
|
43301
|
+
// MIXED
|
43302
|
+
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,
|
43303
|
+
// BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron
|
43304
|
+
/(hp) ([\w ]+\w)/i,
|
43305
|
+
// HP iPAQ
|
43306
|
+
/(asus)-?(\w+)/i,
|
43307
|
+
// Asus
|
43308
|
+
/(microsoft); (lumia[\w ]+)/i,
|
43309
|
+
// Microsoft Lumia
|
43310
|
+
/(lenovo)[-_ ]?([-\w]+)/i,
|
43311
|
+
// Lenovo
|
43312
|
+
/(jolla)/i,
|
43313
|
+
// Jolla
|
43314
|
+
/(oppo) ?([\w ]+) bui/i
|
43315
|
+
// OPPO
|
43316
|
+
],
|
43317
|
+
[VENDOR, MODEL, [TYPE2, MOBILE]],
|
43318
|
+
[
|
43319
|
+
/(kobo)\s(ereader|touch)/i,
|
43320
|
+
// Kobo
|
43321
|
+
/(archos) (gamepad2?)/i,
|
43322
|
+
// Archos
|
43323
|
+
/(hp).+(touchpad(?!.+tablet)|tablet)/i,
|
43324
|
+
// HP TouchPad
|
43325
|
+
/(kindle)\/([\w\.]+)/i,
|
43326
|
+
// Kindle
|
43327
|
+
/(nook)[\w ]+build\/(\w+)/i,
|
43328
|
+
// Nook
|
43329
|
+
/(dell) (strea[kpr\d ]*[\dko])/i,
|
43330
|
+
// Dell Streak
|
43331
|
+
/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,
|
43332
|
+
// Le Pan Tablets
|
43333
|
+
/(trinity)[- ]*(t\d{3}) bui/i,
|
43334
|
+
// Trinity Tablets
|
43335
|
+
/(gigaset)[- ]+(q\w{1,9}) bui/i,
|
43336
|
+
// Gigaset Tablets
|
43337
|
+
/(vodafone) ([\w ]+)(?:\)| bui)/i
|
43338
|
+
// Vodafone
|
43339
|
+
],
|
43340
|
+
[VENDOR, MODEL, [TYPE2, TABLET]],
|
43341
|
+
[
|
43342
|
+
/(surface duo)/i
|
43343
|
+
// Surface Duo
|
43344
|
+
],
|
43345
|
+
[MODEL, [VENDOR, MICROSOFT], [TYPE2, TABLET]],
|
43346
|
+
[
|
43347
|
+
/droid [\d\.]+; (fp\du?)(?: b|\))/i
|
43348
|
+
// Fairphone
|
43349
|
+
],
|
43350
|
+
[MODEL, [VENDOR, "Fairphone"], [TYPE2, MOBILE]],
|
43351
|
+
[
|
43352
|
+
/(u304aa)/i
|
43353
|
+
// AT&T
|
43354
|
+
],
|
43355
|
+
[MODEL, [VENDOR, "AT&T"], [TYPE2, MOBILE]],
|
43356
|
+
[
|
43357
|
+
/\bsie-(\w*)/i
|
43358
|
+
// Siemens
|
43359
|
+
],
|
43360
|
+
[MODEL, [VENDOR, "Siemens"], [TYPE2, MOBILE]],
|
43361
|
+
[
|
43362
|
+
/\b(rct\w+) b/i
|
43363
|
+
// RCA Tablets
|
43364
|
+
],
|
43365
|
+
[MODEL, [VENDOR, "RCA"], [TYPE2, TABLET]],
|
43366
|
+
[
|
43367
|
+
/\b(venue[\d ]{2,7}) b/i
|
43368
|
+
// Dell Venue Tablets
|
43369
|
+
],
|
43370
|
+
[MODEL, [VENDOR, "Dell"], [TYPE2, TABLET]],
|
43371
|
+
[
|
43372
|
+
/\b(q(?:mv|ta)\w+) b/i
|
43373
|
+
// Verizon Tablet
|
43374
|
+
],
|
43375
|
+
[MODEL, [VENDOR, "Verizon"], [TYPE2, TABLET]],
|
43376
|
+
[
|
43377
|
+
/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i
|
43378
|
+
// Barnes & Noble Tablet
|
43379
|
+
],
|
43380
|
+
[MODEL, [VENDOR, "Barnes & Noble"], [TYPE2, TABLET]],
|
43381
|
+
[
|
43382
|
+
/\b(tm\d{3}\w+) b/i
|
43383
|
+
],
|
43384
|
+
[MODEL, [VENDOR, "NuVision"], [TYPE2, TABLET]],
|
43385
|
+
[
|
43386
|
+
/\b(k88) b/i
|
43387
|
+
// ZTE K Series Tablet
|
43388
|
+
],
|
43389
|
+
[MODEL, [VENDOR, "ZTE"], [TYPE2, TABLET]],
|
43390
|
+
[
|
43391
|
+
/\b(nx\d{3}j) b/i
|
43392
|
+
// ZTE Nubia
|
43393
|
+
],
|
43394
|
+
[MODEL, [VENDOR, "ZTE"], [TYPE2, MOBILE]],
|
43395
|
+
[
|
43396
|
+
/\b(gen\d{3}) b.+49h/i
|
43397
|
+
// Swiss GEN Mobile
|
43398
|
+
],
|
43399
|
+
[MODEL, [VENDOR, "Swiss"], [TYPE2, MOBILE]],
|
43400
|
+
[
|
43401
|
+
/\b(zur\d{3}) b/i
|
43402
|
+
// Swiss ZUR Tablet
|
43403
|
+
],
|
43404
|
+
[MODEL, [VENDOR, "Swiss"], [TYPE2, TABLET]],
|
43405
|
+
[
|
43406
|
+
/\b((zeki)?tb.*\b) b/i
|
43407
|
+
// Zeki Tablets
|
43408
|
+
],
|
43409
|
+
[MODEL, [VENDOR, "Zeki"], [TYPE2, TABLET]],
|
43410
|
+
[
|
43411
|
+
/\b([yr]\d{2}) b/i,
|
43412
|
+
/\b(dragon[- ]+touch |dt)(\w{5}) b/i
|
43413
|
+
// Dragon Touch Tablet
|
43414
|
+
],
|
43415
|
+
[[VENDOR, "Dragon Touch"], MODEL, [TYPE2, TABLET]],
|
43416
|
+
[
|
43417
|
+
/\b(ns-?\w{0,9}) b/i
|
43418
|
+
// Insignia Tablets
|
43419
|
+
],
|
43420
|
+
[MODEL, [VENDOR, "Insignia"], [TYPE2, TABLET]],
|
43421
|
+
[
|
43422
|
+
/\b((nxa|next)-?\w{0,9}) b/i
|
43423
|
+
// NextBook Tablets
|
43424
|
+
],
|
43425
|
+
[MODEL, [VENDOR, "NextBook"], [TYPE2, TABLET]],
|
43426
|
+
[
|
43427
|
+
/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i
|
43428
|
+
// Voice Xtreme Phones
|
43429
|
+
],
|
43430
|
+
[[VENDOR, "Voice"], MODEL, [TYPE2, MOBILE]],
|
43431
|
+
[
|
43432
|
+
/\b(lvtel\-)?(v1[12]) b/i
|
43433
|
+
// LvTel Phones
|
43434
|
+
],
|
43435
|
+
[[VENDOR, "LvTel"], MODEL, [TYPE2, MOBILE]],
|
43436
|
+
[
|
43437
|
+
/\b(ph-1) /i
|
43438
|
+
// Essential PH-1
|
43439
|
+
],
|
43440
|
+
[MODEL, [VENDOR, "Essential"], [TYPE2, MOBILE]],
|
43441
|
+
[
|
43442
|
+
/\b(v(100md|700na|7011|917g).*\b) b/i
|
43443
|
+
// Envizen Tablets
|
43444
|
+
],
|
43445
|
+
[MODEL, [VENDOR, "Envizen"], [TYPE2, TABLET]],
|
43446
|
+
[
|
43447
|
+
/\b(trio[-\w\. ]+) b/i
|
43448
|
+
// MachSpeed Tablets
|
43449
|
+
],
|
43450
|
+
[MODEL, [VENDOR, "MachSpeed"], [TYPE2, TABLET]],
|
43451
|
+
[
|
43452
|
+
/\btu_(1491) b/i
|
43453
|
+
// Rotor Tablets
|
43454
|
+
],
|
43455
|
+
[MODEL, [VENDOR, "Rotor"], [TYPE2, TABLET]],
|
43456
|
+
[
|
43457
|
+
/(shield[\w ]+) b/i
|
43458
|
+
// Nvidia Shield Tablets
|
43459
|
+
],
|
43460
|
+
[MODEL, [VENDOR, "Nvidia"], [TYPE2, TABLET]],
|
43461
|
+
[
|
43462
|
+
/(sprint) (\w+)/i
|
43463
|
+
// Sprint Phones
|
43464
|
+
],
|
43465
|
+
[VENDOR, MODEL, [TYPE2, MOBILE]],
|
43466
|
+
[
|
43467
|
+
/(kin\.[onetw]{3})/i
|
43468
|
+
// Microsoft Kin
|
43469
|
+
],
|
43470
|
+
[[MODEL, /\./g, " "], [VENDOR, MICROSOFT], [TYPE2, MOBILE]],
|
43471
|
+
[
|
43472
|
+
/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i
|
43473
|
+
// Zebra
|
43474
|
+
],
|
43475
|
+
[MODEL, [VENDOR, ZEBRA], [TYPE2, TABLET]],
|
43476
|
+
[
|
43477
|
+
/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i
|
43478
|
+
],
|
43479
|
+
[MODEL, [VENDOR, ZEBRA], [TYPE2, MOBILE]],
|
43480
|
+
[
|
43481
|
+
///////////////////
|
43482
|
+
// SMARTTVS
|
43483
|
+
///////////////////
|
43484
|
+
/smart-tv.+(samsung)/i
|
43485
|
+
// Samsung
|
43486
|
+
],
|
43487
|
+
[VENDOR, [TYPE2, SMARTTV]],
|
43488
|
+
[
|
43489
|
+
/hbbtv.+maple;(\d+)/i
|
43490
|
+
],
|
43491
|
+
[[MODEL, /^/, "SmartTV"], [VENDOR, SAMSUNG], [TYPE2, SMARTTV]],
|
43492
|
+
[
|
43493
|
+
/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i
|
43494
|
+
// LG SmartTV
|
43495
|
+
],
|
43496
|
+
[[VENDOR, LG], [TYPE2, SMARTTV]],
|
43497
|
+
[
|
43498
|
+
/(apple) ?tv/i
|
43499
|
+
// Apple TV
|
43500
|
+
],
|
43501
|
+
[VENDOR, [MODEL, APPLE + " TV"], [TYPE2, SMARTTV]],
|
43502
|
+
[
|
43503
|
+
/crkey/i
|
43504
|
+
// Google Chromecast
|
43505
|
+
],
|
43506
|
+
[[MODEL, CHROME + "cast"], [VENDOR, GOOGLE], [TYPE2, SMARTTV]],
|
43507
|
+
[
|
43508
|
+
/droid.+aft(\w+)( bui|\))/i
|
43509
|
+
// Fire TV
|
43510
|
+
],
|
43511
|
+
[MODEL, [VENDOR, AMAZON], [TYPE2, SMARTTV]],
|
43512
|
+
[
|
43513
|
+
/\(dtv[\);].+(aquos)/i,
|
43514
|
+
/(aquos-tv[\w ]+)\)/i
|
43515
|
+
// Sharp
|
43516
|
+
],
|
43517
|
+
[MODEL, [VENDOR, SHARP], [TYPE2, SMARTTV]],
|
43518
|
+
[
|
43519
|
+
/(bravia[\w ]+)( bui|\))/i
|
43520
|
+
// Sony
|
43521
|
+
],
|
43522
|
+
[MODEL, [VENDOR, SONY], [TYPE2, SMARTTV]],
|
43523
|
+
[
|
43524
|
+
/(mitv-\w{5}) bui/i
|
43525
|
+
// Xiaomi
|
43526
|
+
],
|
43527
|
+
[MODEL, [VENDOR, XIAOMI], [TYPE2, SMARTTV]],
|
43528
|
+
[
|
43529
|
+
/Hbbtv.*(technisat) (.*);/i
|
43530
|
+
// TechniSAT
|
43531
|
+
],
|
43532
|
+
[VENDOR, MODEL, [TYPE2, SMARTTV]],
|
43533
|
+
[
|
43534
|
+
/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,
|
43535
|
+
// Roku
|
43536
|
+
/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i
|
43537
|
+
// HbbTV devices
|
43538
|
+
],
|
43539
|
+
[[VENDOR, trim], [MODEL, trim], [TYPE2, SMARTTV]],
|
43540
|
+
[
|
43541
|
+
/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i
|
43542
|
+
// SmartTV from Unidentified Vendors
|
43543
|
+
],
|
43544
|
+
[[TYPE2, SMARTTV]],
|
43545
|
+
[
|
43546
|
+
///////////////////
|
43547
|
+
// CONSOLES
|
43548
|
+
///////////////////
|
43549
|
+
/(ouya)/i,
|
43550
|
+
// Ouya
|
43551
|
+
/(nintendo) ([wids3utch]+)/i
|
43552
|
+
// Nintendo
|
43553
|
+
],
|
43554
|
+
[VENDOR, MODEL, [TYPE2, CONSOLE]],
|
43555
|
+
[
|
43556
|
+
/droid.+; (shield) bui/i
|
43557
|
+
// Nvidia
|
43558
|
+
],
|
43559
|
+
[MODEL, [VENDOR, "Nvidia"], [TYPE2, CONSOLE]],
|
43560
|
+
[
|
43561
|
+
/(playstation [345portablevi]+)/i
|
43562
|
+
// Playstation
|
43563
|
+
],
|
43564
|
+
[MODEL, [VENDOR, SONY], [TYPE2, CONSOLE]],
|
43565
|
+
[
|
43566
|
+
/\b(xbox(?: one)?(?!; xbox))[\); ]/i
|
43567
|
+
// Microsoft Xbox
|
43568
|
+
],
|
43569
|
+
[MODEL, [VENDOR, MICROSOFT], [TYPE2, CONSOLE]],
|
43570
|
+
[
|
43571
|
+
///////////////////
|
43572
|
+
// WEARABLES
|
43573
|
+
///////////////////
|
43574
|
+
/((pebble))app/i
|
43575
|
+
// Pebble
|
43576
|
+
],
|
43577
|
+
[VENDOR, MODEL, [TYPE2, WEARABLE]],
|
43578
|
+
[
|
43579
|
+
/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i
|
43580
|
+
// Apple Watch
|
43581
|
+
],
|
43582
|
+
[MODEL, [VENDOR, APPLE], [TYPE2, WEARABLE]],
|
43583
|
+
[
|
43584
|
+
/droid.+; (glass) \d/i
|
43585
|
+
// Google Glass
|
43586
|
+
],
|
43587
|
+
[MODEL, [VENDOR, GOOGLE], [TYPE2, WEARABLE]],
|
43588
|
+
[
|
43589
|
+
/droid.+; (wt63?0{2,3})\)/i
|
43590
|
+
],
|
43591
|
+
[MODEL, [VENDOR, ZEBRA], [TYPE2, WEARABLE]],
|
43592
|
+
[
|
43593
|
+
/(quest( 2| pro)?)/i
|
43594
|
+
// Oculus Quest
|
43595
|
+
],
|
43596
|
+
[MODEL, [VENDOR, FACEBOOK], [TYPE2, WEARABLE]],
|
43597
|
+
[
|
43598
|
+
///////////////////
|
43599
|
+
// EMBEDDED
|
43600
|
+
///////////////////
|
43601
|
+
/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i
|
43602
|
+
// Tesla
|
43603
|
+
],
|
43604
|
+
[VENDOR, [TYPE2, EMBEDDED]],
|
43605
|
+
[
|
43606
|
+
/(aeobc)\b/i
|
43607
|
+
// Echo Dot
|
43608
|
+
],
|
43609
|
+
[MODEL, [VENDOR, AMAZON], [TYPE2, EMBEDDED]],
|
43610
|
+
[
|
43611
|
+
////////////////////
|
43612
|
+
// MIXED (GENERIC)
|
43613
|
+
///////////////////
|
43614
|
+
/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i
|
43615
|
+
// Android Phones from Unidentified Vendors
|
43616
|
+
],
|
43617
|
+
[MODEL, [TYPE2, MOBILE]],
|
43618
|
+
[
|
43619
|
+
/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i
|
43620
|
+
// Android Tablets from Unidentified Vendors
|
43621
|
+
],
|
43622
|
+
[MODEL, [TYPE2, TABLET]],
|
43623
|
+
[
|
43624
|
+
/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i
|
43625
|
+
// Unidentifiable Tablet
|
43626
|
+
],
|
43627
|
+
[[TYPE2, TABLET]],
|
43628
|
+
[
|
43629
|
+
/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i
|
43630
|
+
// Unidentifiable Mobile
|
43631
|
+
],
|
43632
|
+
[[TYPE2, MOBILE]],
|
43633
|
+
[
|
43634
|
+
/(android[-\w\. ]{0,9});.+buil/i
|
43635
|
+
// Generic Android Device
|
43636
|
+
],
|
43637
|
+
[MODEL, [VENDOR, "Generic"]]
|
43638
|
+
],
|
43639
|
+
engine: [
|
43640
|
+
[
|
43641
|
+
/windows.+ edge\/([\w\.]+)/i
|
43642
|
+
// EdgeHTML
|
43643
|
+
],
|
43644
|
+
[VERSION, [NAME, EDGE + "HTML"]],
|
43645
|
+
[
|
43646
|
+
/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i
|
43647
|
+
// Blink
|
43648
|
+
],
|
43649
|
+
[VERSION, [NAME, "Blink"]],
|
43650
|
+
[
|
43651
|
+
/(presto)\/([\w\.]+)/i,
|
43652
|
+
// Presto
|
43653
|
+
/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,
|
43654
|
+
// WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna
|
43655
|
+
/ekioh(flow)\/([\w\.]+)/i,
|
43656
|
+
// Flow
|
43657
|
+
/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,
|
43658
|
+
// KHTML/Tasman/Links
|
43659
|
+
/(icab)[\/ ]([23]\.[\d\.]+)/i,
|
43660
|
+
// iCab
|
43661
|
+
/\b(libweb)/i
|
43662
|
+
],
|
43663
|
+
[NAME, VERSION],
|
43664
|
+
[
|
43665
|
+
/rv\:([\w\.]{1,9})\b.+(gecko)/i
|
43666
|
+
// Gecko
|
43667
|
+
],
|
43668
|
+
[VERSION, NAME]
|
43669
|
+
],
|
43670
|
+
os: [
|
43671
|
+
[
|
43672
|
+
// Windows
|
43673
|
+
/microsoft (windows) (vista|xp)/i
|
43674
|
+
// Windows (iTunes)
|
43675
|
+
],
|
43676
|
+
[NAME, VERSION],
|
43677
|
+
[
|
43678
|
+
/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i
|
43679
|
+
// Windows Phone
|
43680
|
+
],
|
43681
|
+
[NAME, [VERSION, strMapper, windowsVersionMap]],
|
43682
|
+
[
|
43683
|
+
/windows nt 6\.2; (arm)/i,
|
43684
|
+
// Windows RT
|
43685
|
+
/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,
|
43686
|
+
/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i
|
43687
|
+
],
|
43688
|
+
[[VERSION, strMapper, windowsVersionMap], [NAME, "Windows"]],
|
43689
|
+
[
|
43690
|
+
// iOS/macOS
|
43691
|
+
/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,
|
43692
|
+
// iOS
|
43693
|
+
/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,
|
43694
|
+
/cfnetwork\/.+darwin/i
|
43695
|
+
],
|
43696
|
+
[[VERSION, /_/g, "."], [NAME, "iOS"]],
|
43697
|
+
[
|
43698
|
+
/(mac os x) ?([\w\. ]*)/i,
|
43699
|
+
/(macintosh|mac_powerpc\b)(?!.+haiku)/i
|
43700
|
+
// Mac OS
|
43701
|
+
],
|
43702
|
+
[[NAME, MAC_OS], [VERSION, /_/g, "."]],
|
43703
|
+
[
|
43704
|
+
// Mobile OSes
|
43705
|
+
/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i
|
43706
|
+
// Android-x86/HarmonyOS
|
43707
|
+
],
|
43708
|
+
[VERSION, NAME],
|
43709
|
+
[
|
43710
|
+
// Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS
|
43711
|
+
/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,
|
43712
|
+
/(blackberry)\w*\/([\w\.]*)/i,
|
43713
|
+
// Blackberry
|
43714
|
+
/(tizen|kaios)[\/ ]([\w\.]+)/i,
|
43715
|
+
// Tizen/KaiOS
|
43716
|
+
/\((series40);/i
|
43717
|
+
// Series 40
|
43718
|
+
],
|
43719
|
+
[NAME, VERSION],
|
43720
|
+
[
|
43721
|
+
/\(bb(10);/i
|
43722
|
+
// BlackBerry 10
|
43723
|
+
],
|
43724
|
+
[VERSION, [NAME, BLACKBERRY]],
|
43725
|
+
[
|
43726
|
+
/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i
|
43727
|
+
// Symbian
|
43728
|
+
],
|
43729
|
+
[VERSION, [NAME, "Symbian"]],
|
43730
|
+
[
|
43731
|
+
/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i
|
43732
|
+
// Firefox OS
|
43733
|
+
],
|
43734
|
+
[VERSION, [NAME, FIREFOX + " OS"]],
|
43735
|
+
[
|
43736
|
+
/web0s;.+rt(tv)/i,
|
43737
|
+
/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i
|
43738
|
+
// WebOS
|
43739
|
+
],
|
43740
|
+
[VERSION, [NAME, "webOS"]],
|
43741
|
+
[
|
43742
|
+
/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i
|
43743
|
+
// watchOS
|
43744
|
+
],
|
43745
|
+
[VERSION, [NAME, "watchOS"]],
|
43746
|
+
[
|
43747
|
+
// Google Chromecast
|
43748
|
+
/crkey\/([\d\.]+)/i
|
43749
|
+
// Google Chromecast
|
43750
|
+
],
|
43751
|
+
[VERSION, [NAME, CHROME + "cast"]],
|
43752
|
+
[
|
43753
|
+
/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i
|
43754
|
+
// Chromium OS
|
43755
|
+
],
|
43756
|
+
[[NAME, CHROMIUM_OS], VERSION],
|
43757
|
+
[
|
43758
|
+
// Smart TVs
|
43759
|
+
/panasonic;(viera)/i,
|
43760
|
+
// Panasonic Viera
|
43761
|
+
/(netrange)mmh/i,
|
43762
|
+
// Netrange
|
43763
|
+
/(nettv)\/(\d+\.[\w\.]+)/i,
|
43764
|
+
// NetTV
|
43765
|
+
// Console
|
43766
|
+
/(nintendo|playstation) ([wids345portablevuch]+)/i,
|
43767
|
+
// Nintendo/Playstation
|
43768
|
+
/(xbox); +xbox ([^\);]+)/i,
|
43769
|
+
// Microsoft Xbox (360, One, X, S, Series X, Series S)
|
43770
|
+
// Other
|
43771
|
+
/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,
|
43772
|
+
// Joli/Palm
|
43773
|
+
/(mint)[\/\(\) ]?(\w*)/i,
|
43774
|
+
// Mint
|
43775
|
+
/(mageia|vectorlinux)[; ]/i,
|
43776
|
+
// Mageia/VectorLinux
|
43777
|
+
/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,
|
43778
|
+
// Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire
|
43779
|
+
/(hurd|linux) ?([\w\.]*)/i,
|
43780
|
+
// Hurd/Linux
|
43781
|
+
/(gnu) ?([\w\.]*)/i,
|
43782
|
+
// GNU
|
43783
|
+
/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,
|
43784
|
+
// FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly
|
43785
|
+
/(haiku) (\w+)/i
|
43786
|
+
// Haiku
|
43787
|
+
],
|
43788
|
+
[NAME, VERSION],
|
43789
|
+
[
|
43790
|
+
/(sunos) ?([\w\.\d]*)/i
|
43791
|
+
// Solaris
|
43792
|
+
],
|
43793
|
+
[[NAME, "Solaris"], VERSION],
|
43794
|
+
[
|
43795
|
+
/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,
|
43796
|
+
// Solaris
|
43797
|
+
/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,
|
43798
|
+
// AIX
|
43799
|
+
/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,
|
43800
|
+
// BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX/SerenityOS
|
43801
|
+
/(unix) ?([\w\.]*)/i
|
43802
|
+
// UNIX
|
43803
|
+
],
|
43804
|
+
[NAME, VERSION]
|
43805
|
+
]
|
43806
|
+
};
|
43807
|
+
var UAParser2 = function(ua, extensions) {
|
43808
|
+
if (typeof ua === OBJ_TYPE) {
|
43809
|
+
extensions = ua;
|
43810
|
+
ua = undefined2;
|
43811
|
+
}
|
43812
|
+
if (!(this instanceof UAParser2)) {
|
43813
|
+
return new UAParser2(ua, extensions).getResult();
|
43814
|
+
}
|
43815
|
+
var _navigator = typeof window2 !== UNDEF_TYPE && window2.navigator ? window2.navigator : undefined2;
|
43816
|
+
var _ua = ua || (_navigator && _navigator.userAgent ? _navigator.userAgent : EMPTY);
|
43817
|
+
var _uach = _navigator && _navigator.userAgentData ? _navigator.userAgentData : undefined2;
|
43818
|
+
var _rgxmap = extensions ? extend(regexes, extensions) : regexes;
|
43819
|
+
var _isSelfNav = _navigator && _navigator.userAgent == _ua;
|
43820
|
+
this.getBrowser = function() {
|
43821
|
+
var _browser = {};
|
43822
|
+
_browser[NAME] = undefined2;
|
43823
|
+
_browser[VERSION] = undefined2;
|
43824
|
+
rgxMapper.call(_browser, _ua, _rgxmap.browser);
|
43825
|
+
_browser[MAJOR] = majorize(_browser[VERSION]);
|
43826
|
+
if (_isSelfNav && _navigator && _navigator.brave && typeof _navigator.brave.isBrave == FUNC_TYPE) {
|
43827
|
+
_browser[NAME] = "Brave";
|
43828
|
+
}
|
43829
|
+
return _browser;
|
43830
|
+
};
|
43831
|
+
this.getCPU = function() {
|
43832
|
+
var _cpu = {};
|
43833
|
+
_cpu[ARCHITECTURE] = undefined2;
|
43834
|
+
rgxMapper.call(_cpu, _ua, _rgxmap.cpu);
|
43835
|
+
return _cpu;
|
43836
|
+
};
|
43837
|
+
this.getDevice = function() {
|
43838
|
+
var _device = {};
|
43839
|
+
_device[VENDOR] = undefined2;
|
43840
|
+
_device[MODEL] = undefined2;
|
43841
|
+
_device[TYPE2] = undefined2;
|
43842
|
+
rgxMapper.call(_device, _ua, _rgxmap.device);
|
43843
|
+
if (_isSelfNav && !_device[TYPE2] && _uach && _uach.mobile) {
|
43844
|
+
_device[TYPE2] = MOBILE;
|
43845
|
+
}
|
43846
|
+
if (_isSelfNav && _device[MODEL] == "Macintosh" && _navigator && typeof _navigator.standalone !== UNDEF_TYPE && _navigator.maxTouchPoints && _navigator.maxTouchPoints > 2) {
|
43847
|
+
_device[MODEL] = "iPad";
|
43848
|
+
_device[TYPE2] = TABLET;
|
43849
|
+
}
|
43850
|
+
return _device;
|
43851
|
+
};
|
43852
|
+
this.getEngine = function() {
|
43853
|
+
var _engine = {};
|
43854
|
+
_engine[NAME] = undefined2;
|
43855
|
+
_engine[VERSION] = undefined2;
|
43856
|
+
rgxMapper.call(_engine, _ua, _rgxmap.engine);
|
43857
|
+
return _engine;
|
43858
|
+
};
|
43859
|
+
this.getOS = function() {
|
43860
|
+
var _os = {};
|
43861
|
+
_os[NAME] = undefined2;
|
43862
|
+
_os[VERSION] = undefined2;
|
43863
|
+
rgxMapper.call(_os, _ua, _rgxmap.os);
|
43864
|
+
if (_isSelfNav && !_os[NAME] && _uach && _uach.platform != "Unknown") {
|
43865
|
+
_os[NAME] = _uach.platform.replace(/chrome os/i, CHROMIUM_OS).replace(/macos/i, MAC_OS);
|
43866
|
+
}
|
43867
|
+
return _os;
|
43868
|
+
};
|
43869
|
+
this.getResult = function() {
|
43870
|
+
return {
|
43871
|
+
ua: this.getUA(),
|
43872
|
+
browser: this.getBrowser(),
|
43873
|
+
engine: this.getEngine(),
|
43874
|
+
os: this.getOS(),
|
43875
|
+
device: this.getDevice(),
|
43876
|
+
cpu: this.getCPU()
|
43877
|
+
};
|
43878
|
+
};
|
43879
|
+
this.getUA = function() {
|
43880
|
+
return _ua;
|
43881
|
+
};
|
43882
|
+
this.setUA = function(ua2) {
|
43883
|
+
_ua = typeof ua2 === STR_TYPE && ua2.length > UA_MAX_LENGTH ? trim(ua2, UA_MAX_LENGTH) : ua2;
|
43884
|
+
return this;
|
43885
|
+
};
|
43886
|
+
this.setUA(_ua);
|
43887
|
+
return this;
|
43888
|
+
};
|
43889
|
+
UAParser2.VERSION = LIBVERSION;
|
43890
|
+
UAParser2.BROWSER = enumerize([NAME, VERSION, MAJOR]);
|
43891
|
+
UAParser2.CPU = enumerize([ARCHITECTURE]);
|
43892
|
+
UAParser2.DEVICE = enumerize([MODEL, VENDOR, TYPE2, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);
|
43893
|
+
UAParser2.ENGINE = UAParser2.OS = enumerize([NAME, VERSION]);
|
43894
|
+
if (typeof exports !== UNDEF_TYPE) {
|
43895
|
+
if (typeof module2 !== UNDEF_TYPE && module2.exports) {
|
43896
|
+
exports = module2.exports = UAParser2;
|
43897
|
+
}
|
43898
|
+
exports.UAParser = UAParser2;
|
43899
|
+
} else {
|
43900
|
+
if (typeof define === FUNC_TYPE && define.amd) {
|
43901
|
+
define(function() {
|
43902
|
+
return UAParser2;
|
43903
|
+
});
|
43904
|
+
} else if (typeof window2 !== UNDEF_TYPE) {
|
43905
|
+
window2.UAParser = UAParser2;
|
43906
|
+
}
|
43907
|
+
}
|
43908
|
+
var $ = typeof window2 !== UNDEF_TYPE && (window2.jQuery || window2.Zepto);
|
43909
|
+
if ($ && !$.ua) {
|
43910
|
+
var parser = new UAParser2();
|
43911
|
+
$.ua = parser.getResult();
|
43912
|
+
$.ua.get = function() {
|
43913
|
+
return parser.getUA();
|
43914
|
+
};
|
43915
|
+
$.ua.set = function(ua) {
|
43916
|
+
parser.setUA(ua);
|
43917
|
+
var result = parser.getResult();
|
43918
|
+
for (var prop in result) {
|
43919
|
+
$.ua[prop] = result[prop];
|
43920
|
+
}
|
43921
|
+
};
|
43922
|
+
}
|
43923
|
+
})(typeof window === "object" ? window : exports);
|
43924
|
+
}
|
43925
|
+
});
|
43926
|
+
|
42600
43927
|
// ../../node_modules/use-debounce/dist/index.module.js
|
42601
43928
|
var index_module_exports = {};
|
42602
43929
|
__export(index_module_exports, {
|
@@ -44480,189 +45807,6 @@ var require_object_hash = __commonJS({
|
|
44480
45807
|
}
|
44481
45808
|
});
|
44482
45809
|
|
44483
|
-
// ../../node_modules/@measured/auto-frame-component/dist/index.js
|
44484
|
-
var require_dist = __commonJS({
|
44485
|
-
"../../node_modules/@measured/auto-frame-component/dist/index.js"(exports, module2) {
|
44486
|
-
"use strict";
|
44487
|
-
init_react_import();
|
44488
|
-
var __create2 = Object.create;
|
44489
|
-
var __defProp2 = Object.defineProperty;
|
44490
|
-
var __defProps2 = Object.defineProperties;
|
44491
|
-
var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
|
44492
|
-
var __getOwnPropDescs2 = Object.getOwnPropertyDescriptors;
|
44493
|
-
var __getOwnPropNames2 = Object.getOwnPropertyNames;
|
44494
|
-
var __getOwnPropSymbols2 = Object.getOwnPropertySymbols;
|
44495
|
-
var __getProtoOf2 = Object.getPrototypeOf;
|
44496
|
-
var __hasOwnProp2 = Object.prototype.hasOwnProperty;
|
44497
|
-
var __propIsEnum2 = Object.prototype.propertyIsEnumerable;
|
44498
|
-
var __defNormalProp2 = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
44499
|
-
var __spreadValues2 = (a2, b) => {
|
44500
|
-
for (var prop in b || (b = {}))
|
44501
|
-
if (__hasOwnProp2.call(b, prop))
|
44502
|
-
__defNormalProp2(a2, prop, b[prop]);
|
44503
|
-
if (__getOwnPropSymbols2)
|
44504
|
-
for (var prop of __getOwnPropSymbols2(b)) {
|
44505
|
-
if (__propIsEnum2.call(b, prop))
|
44506
|
-
__defNormalProp2(a2, prop, b[prop]);
|
44507
|
-
}
|
44508
|
-
return a2;
|
44509
|
-
};
|
44510
|
-
var __spreadProps2 = (a2, b) => __defProps2(a2, __getOwnPropDescs2(b));
|
44511
|
-
var __objRest2 = (source, exclude) => {
|
44512
|
-
var target = {};
|
44513
|
-
for (var prop in source)
|
44514
|
-
if (__hasOwnProp2.call(source, prop) && exclude.indexOf(prop) < 0)
|
44515
|
-
target[prop] = source[prop];
|
44516
|
-
if (source != null && __getOwnPropSymbols2)
|
44517
|
-
for (var prop of __getOwnPropSymbols2(source)) {
|
44518
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum2.call(source, prop))
|
44519
|
-
target[prop] = source[prop];
|
44520
|
-
}
|
44521
|
-
return target;
|
44522
|
-
};
|
44523
|
-
var __export2 = (target, all) => {
|
44524
|
-
for (var name in all)
|
44525
|
-
__defProp2(target, name, { get: all[name], enumerable: true });
|
44526
|
-
};
|
44527
|
-
var __copyProps2 = (to, from, except, desc) => {
|
44528
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
44529
|
-
for (let key of __getOwnPropNames2(from))
|
44530
|
-
if (!__hasOwnProp2.call(to, key) && key !== except)
|
44531
|
-
__defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
|
44532
|
-
}
|
44533
|
-
return to;
|
44534
|
-
};
|
44535
|
-
var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(
|
44536
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
44537
|
-
// file that has been converted to a CommonJS file using a Babel-
|
44538
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
44539
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
44540
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target,
|
44541
|
-
mod
|
44542
|
-
));
|
44543
|
-
var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
|
44544
|
-
var auto_frame_component_exports = {};
|
44545
|
-
__export2(auto_frame_component_exports, {
|
44546
|
-
default: () => AutoFrameComponent_default
|
44547
|
-
});
|
44548
|
-
module2.exports = __toCommonJS2(auto_frame_component_exports);
|
44549
|
-
var import_react13 = __toESM2(require("react"));
|
44550
|
-
var import_react22 = __toESM2(require("react"));
|
44551
|
-
var import_react_frame_component = __toESM2(require_lib());
|
44552
|
-
var import_object_hash = __toESM2(require_object_hash());
|
44553
|
-
var import_jsx_runtime8 = require("react/jsx-runtime");
|
44554
|
-
var styleSelector = 'style, link[as="style"], link[rel="stylesheet"]';
|
44555
|
-
var collectStyles = (doc) => {
|
44556
|
-
const collected = [];
|
44557
|
-
doc.head.querySelectorAll(styleSelector).forEach((style2) => {
|
44558
|
-
collected.push(style2);
|
44559
|
-
});
|
44560
|
-
return collected;
|
44561
|
-
};
|
44562
|
-
var CopyHostStyles = ({
|
44563
|
-
children,
|
44564
|
-
debug = false,
|
44565
|
-
onStylesLoaded = () => null
|
44566
|
-
}) => {
|
44567
|
-
const { document: doc, window: win } = (0, import_react_frame_component.useFrame)();
|
44568
|
-
(0, import_react22.useLayoutEffect)(() => {
|
44569
|
-
if (!win || !doc) {
|
44570
|
-
return () => {
|
44571
|
-
};
|
44572
|
-
}
|
44573
|
-
const elements = [];
|
44574
|
-
const lookupEl = (el) => elements.findIndex((elementMap) => elementMap.original === el);
|
44575
|
-
const addEl = (el, onLoad = () => {
|
44576
|
-
}) => {
|
44577
|
-
const index = lookupEl(el);
|
44578
|
-
if (index > -1) {
|
44579
|
-
if (debug)
|
44580
|
-
console.log(
|
44581
|
-
`Tried to add an element that was already mirrored. Updating instead...`
|
44582
|
-
);
|
44583
|
-
elements[index].mirror.innerText = el.innerText;
|
44584
|
-
onLoad();
|
44585
|
-
return;
|
44586
|
-
}
|
44587
|
-
const elHash = (0, import_object_hash.default)(el.outerHTML);
|
44588
|
-
const existingHashes = collectStyles(doc).map(
|
44589
|
-
(existingStyle) => (0, import_object_hash.default)(existingStyle.outerHTML)
|
44590
|
-
);
|
44591
|
-
if (existingHashes.indexOf(elHash) > -1) {
|
44592
|
-
if (debug)
|
44593
|
-
console.log(
|
44594
|
-
`iframe already contains element that is being mirrored. Skipping...`
|
44595
|
-
);
|
44596
|
-
onLoad();
|
44597
|
-
return;
|
44598
|
-
}
|
44599
|
-
const mirror = el.cloneNode(true);
|
44600
|
-
mirror.onload = onLoad;
|
44601
|
-
doc.head.append(mirror);
|
44602
|
-
elements.push({ original: el, mirror });
|
44603
|
-
if (debug)
|
44604
|
-
console.log(`Added style node ${el.outerHTML}`);
|
44605
|
-
};
|
44606
|
-
const removeEl = (el) => {
|
44607
|
-
const index = lookupEl(el);
|
44608
|
-
if (index === -1) {
|
44609
|
-
if (debug)
|
44610
|
-
console.log(
|
44611
|
-
`Tried to remove an element that did not exist. Skipping...`
|
44612
|
-
);
|
44613
|
-
return;
|
44614
|
-
}
|
44615
|
-
elements[index].mirror.remove();
|
44616
|
-
if (debug)
|
44617
|
-
console.log(`Removed style node ${el.outerHTML}`);
|
44618
|
-
};
|
44619
|
-
const observer = new MutationObserver((mutations) => {
|
44620
|
-
mutations.forEach((mutation) => {
|
44621
|
-
if (mutation.type === "childList") {
|
44622
|
-
mutation.addedNodes.forEach((node) => {
|
44623
|
-
if (node.nodeType === Node.TEXT_NODE || node.nodeType === Node.ELEMENT_NODE) {
|
44624
|
-
const el = node.nodeType === Node.TEXT_NODE ? node.parentElement : node;
|
44625
|
-
if (el && el.matches(styleSelector)) {
|
44626
|
-
addEl(el);
|
44627
|
-
}
|
44628
|
-
}
|
44629
|
-
});
|
44630
|
-
mutation.removedNodes.forEach((node) => {
|
44631
|
-
if (node.nodeType === Node.TEXT_NODE || node.nodeType === Node.ELEMENT_NODE) {
|
44632
|
-
const el = node.nodeType === Node.TEXT_NODE ? node.parentElement : node;
|
44633
|
-
if (el && el.matches(styleSelector)) {
|
44634
|
-
removeEl(el);
|
44635
|
-
}
|
44636
|
-
}
|
44637
|
-
});
|
44638
|
-
}
|
44639
|
-
});
|
44640
|
-
});
|
44641
|
-
const parentDocument = win.parent.document;
|
44642
|
-
const collectedStyles = collectStyles(parentDocument);
|
44643
|
-
let mountedCounter = 0;
|
44644
|
-
collectedStyles.forEach((styleNode) => {
|
44645
|
-
addEl(styleNode, () => {
|
44646
|
-
mountedCounter += 1;
|
44647
|
-
if (mountedCounter === collectedStyles.length) {
|
44648
|
-
onStylesLoaded();
|
44649
|
-
}
|
44650
|
-
});
|
44651
|
-
});
|
44652
|
-
observer.observe(parentDocument.head, { childList: true, subtree: true });
|
44653
|
-
return () => {
|
44654
|
-
observer.disconnect();
|
44655
|
-
};
|
44656
|
-
}, []);
|
44657
|
-
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment, { children });
|
44658
|
-
};
|
44659
|
-
var AutoFrameComponent_default = import_react22.default.forwardRef(function(_a3, ref2) {
|
44660
|
-
var _b = _a3, { children, debug, onStylesLoaded } = _b, props = __objRest2(_b, ["children", "debug", "onStylesLoaded"]);
|
44661
|
-
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_frame_component.default, __spreadProps2(__spreadValues2({}, props), { ref: ref2, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CopyHostStyles, { debug, onStylesLoaded, children }) }));
|
44662
|
-
});
|
44663
|
-
}
|
44664
|
-
});
|
44665
|
-
|
44666
45810
|
// ../../node_modules/react-hotkeys-hook/dist/react-hotkeys-hook.esm.js
|
44667
45811
|
var react_hotkeys_hook_esm_exports = {};
|
44668
45812
|
__export(react_hotkeys_hook_esm_exports, {
|
@@ -45132,7 +46276,7 @@ var init_react_hotkeys_hook_esm = __esm({
|
|
45132
46276
|
});
|
45133
46277
|
|
45134
46278
|
// ../core/dist/index.js
|
45135
|
-
var
|
46279
|
+
var require_dist = __commonJS({
|
45136
46280
|
"../core/dist/index.js"(exports, module2) {
|
45137
46281
|
"use strict";
|
45138
46282
|
init_react_import();
|
@@ -53156,9 +54300,9 @@ var require_dist2 = __commonJS({
|
|
53156
54300
|
if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") {
|
53157
54301
|
__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
|
53158
54302
|
}
|
53159
|
-
var
|
54303
|
+
var React32 = require("react");
|
53160
54304
|
var Scheduler = require_scheduler2();
|
53161
|
-
var ReactSharedInternals =
|
54305
|
+
var ReactSharedInternals = React32.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
53162
54306
|
var suppressWarning = false;
|
53163
54307
|
function setSuppressWarning(newSuppressWarning) {
|
53164
54308
|
{
|
@@ -53207,7 +54351,7 @@ var require_dist2 = __commonJS({
|
|
53207
54351
|
var HostPortal = 4;
|
53208
54352
|
var HostComponent = 5;
|
53209
54353
|
var HostText = 6;
|
53210
|
-
var
|
54354
|
+
var Fragment18 = 7;
|
53211
54355
|
var Mode = 8;
|
53212
54356
|
var ContextConsumer = 9;
|
53213
54357
|
var ContextProvider = 10;
|
@@ -54363,7 +55507,7 @@ var require_dist2 = __commonJS({
|
|
54363
55507
|
return "DehydratedFragment";
|
54364
55508
|
case ForwardRef:
|
54365
55509
|
return getWrappedName$1(type, type.render, "ForwardRef");
|
54366
|
-
case
|
55510
|
+
case Fragment18:
|
54367
55511
|
return "Fragment";
|
54368
55512
|
case HostComponent:
|
54369
55513
|
return type;
|
@@ -54763,7 +55907,7 @@ var require_dist2 = __commonJS({
|
|
54763
55907
|
{
|
54764
55908
|
if (props.value == null) {
|
54765
55909
|
if (typeof props.children === "object" && props.children !== null) {
|
54766
|
-
|
55910
|
+
React32.Children.forEach(props.children, function(child) {
|
54767
55911
|
if (child == null) {
|
54768
55912
|
return;
|
54769
55913
|
}
|
@@ -63210,7 +64354,7 @@ var require_dist2 = __commonJS({
|
|
63210
64354
|
}
|
63211
64355
|
}
|
63212
64356
|
var fakeInternalInstance = {};
|
63213
|
-
var emptyRefsObject = new
|
64357
|
+
var emptyRefsObject = new React32.Component().refs;
|
63214
64358
|
var didWarnAboutStateAssignmentForComponent;
|
63215
64359
|
var didWarnAboutUninitializedState;
|
63216
64360
|
var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate;
|
@@ -64034,7 +65178,7 @@ var require_dist2 = __commonJS({
|
|
64034
65178
|
}
|
64035
65179
|
}
|
64036
65180
|
function updateFragment2(returnFiber, current2, fragment, lanes, key) {
|
64037
|
-
if (current2 === null || current2.tag !==
|
65181
|
+
if (current2 === null || current2.tag !== Fragment18) {
|
64038
65182
|
var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);
|
64039
65183
|
created.return = returnFiber;
|
64040
65184
|
return created;
|
@@ -64437,7 +65581,7 @@ var require_dist2 = __commonJS({
|
|
64437
65581
|
if (child.key === key) {
|
64438
65582
|
var elementType = element.type;
|
64439
65583
|
if (elementType === REACT_FRAGMENT_TYPE) {
|
64440
|
-
if (child.tag ===
|
65584
|
+
if (child.tag === Fragment18) {
|
64441
65585
|
deleteRemainingChildren(returnFiber, child.sibling);
|
64442
65586
|
var existing = useFiber(child, element.props.children);
|
64443
65587
|
existing.return = returnFiber;
|
@@ -68612,7 +69756,7 @@ var require_dist2 = __commonJS({
|
|
68612
69756
|
var _resolvedProps2 = workInProgress2.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);
|
68613
69757
|
return updateForwardRef(current2, workInProgress2, type, _resolvedProps2, renderLanes2);
|
68614
69758
|
}
|
68615
|
-
case
|
69759
|
+
case Fragment18:
|
68616
69760
|
return updateFragment(current2, workInProgress2, renderLanes2);
|
68617
69761
|
case Mode:
|
68618
69762
|
return updateMode(current2, workInProgress2, renderLanes2);
|
@@ -68885,7 +70029,7 @@ var require_dist2 = __commonJS({
|
|
68885
70029
|
case SimpleMemoComponent:
|
68886
70030
|
case FunctionComponent:
|
68887
70031
|
case ForwardRef:
|
68888
|
-
case
|
70032
|
+
case Fragment18:
|
68889
70033
|
case Mode:
|
68890
70034
|
case Profiler:
|
68891
70035
|
case ContextConsumer:
|
@@ -73144,7 +74288,7 @@ var require_dist2 = __commonJS({
|
|
73144
74288
|
return fiber;
|
73145
74289
|
}
|
73146
74290
|
function createFiberFromFragment(elements, mode, lanes, key) {
|
73147
|
-
var fiber = createFiber(
|
74291
|
+
var fiber = createFiber(Fragment18, elements, key, mode);
|
73148
74292
|
fiber.lanes = lanes;
|
73149
74293
|
return fiber;
|
73150
74294
|
}
|
@@ -74400,9 +75544,10 @@ var require_dist2 = __commonJS({
|
|
74400
75544
|
{ width: 768, height: "auto", icon: "Tablet", label: "Medium" },
|
74401
75545
|
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" }
|
74402
75546
|
];
|
75547
|
+
var import_ua_parser_js2 = require_ua_parser();
|
74403
75548
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
74404
75549
|
var defaultAppState2 = {
|
74405
|
-
data: { content: [], root: { props: {
|
75550
|
+
data: { content: [], root: { props: {} } },
|
74406
75551
|
ui: {
|
74407
75552
|
leftSideBarVisible: true,
|
74408
75553
|
rightSideBarVisible: true,
|
@@ -74439,7 +75584,8 @@ var require_dist2 = __commonJS({
|
|
74439
75584
|
setZoomConfig: () => null,
|
74440
75585
|
status: "LOADING",
|
74441
75586
|
setStatus: () => null,
|
74442
|
-
iframe: {}
|
75587
|
+
iframe: {},
|
75588
|
+
safariFallbackMode: false
|
74443
75589
|
};
|
74444
75590
|
var appContext2 = (0, import_react32.createContext)(defaultContext2);
|
74445
75591
|
var AppProvider = ({
|
@@ -74451,10 +75597,34 @@ var require_dist2 = __commonJS({
|
|
74451
75597
|
(0, import_react32.useEffect)(() => {
|
74452
75598
|
setStatus("MOUNTED");
|
74453
75599
|
}, []);
|
75600
|
+
const [safariFallbackMode, setSafariFallbackMode] = (0, import_react32.useState)(false);
|
75601
|
+
(0, import_react32.useEffect)(() => {
|
75602
|
+
var _a3, _b, _c;
|
75603
|
+
const ua = new import_ua_parser_js2.UAParser(navigator.userAgent);
|
75604
|
+
const { browser } = ua.getResult();
|
75605
|
+
if (browser.name === "Safari" && (((_a3 = browser.version) == null ? void 0 : _a3.indexOf("17.2.")) || ((_b = browser.version) == null ? void 0 : _b.indexOf("17.3.")) || ((_c = browser.version) == null ? void 0 : _c.indexOf("17.4.")))) {
|
75606
|
+
if (process.env.NODE_ENV !== "production" && value.iframe.enabled) {
|
75607
|
+
console.warn(
|
75608
|
+
`Detected Safari ${browser.version}, which contains a bug that prevents Puck DropZones from detecting a mouseover event within an iframe. This affects Safari versions 17.2, 17.3 and 17.4.
|
75609
|
+
|
75610
|
+
Running in compatibility mode, which may have some DropZone side-effects. Alternatively, consider disabling iframes: https://puckeditor.com/docs/integrating-puck/viewports#opting-out-of-iframes.
|
75611
|
+
|
75612
|
+
See https://github.com/measuredco/puck/issues/411 for more information. This message will not show in production.`
|
75613
|
+
);
|
75614
|
+
}
|
75615
|
+
setSafariFallbackMode(true);
|
75616
|
+
}
|
75617
|
+
}, []);
|
74454
75618
|
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
74455
75619
|
appContext2.Provider,
|
74456
75620
|
{
|
74457
|
-
value: __spreadProps2(__spreadValues2({}, value), {
|
75621
|
+
value: __spreadProps2(__spreadValues2({}, value), {
|
75622
|
+
zoomConfig,
|
75623
|
+
setZoomConfig,
|
75624
|
+
status,
|
75625
|
+
setStatus,
|
75626
|
+
safariFallbackMode
|
75627
|
+
}),
|
74458
75628
|
children
|
74459
75629
|
}
|
74460
75630
|
);
|
@@ -75176,7 +76346,11 @@ var require_dist2 = __commonJS({
|
|
75176
76346
|
let isEnabled = userWillDrag;
|
75177
76347
|
if (userIsDragging) {
|
75178
76348
|
if (draggingNewComponent) {
|
75179
|
-
|
76349
|
+
if (appContext22.safariFallbackMode) {
|
76350
|
+
isEnabled = true;
|
76351
|
+
} else {
|
76352
|
+
isEnabled = hoveringOverArea;
|
76353
|
+
}
|
75180
76354
|
} else {
|
75181
76355
|
isEnabled = draggingOverArea && hoveringOverZone;
|
75182
76356
|
}
|
@@ -75471,7 +76645,7 @@ var require_dist2 = __commonJS({
|
|
75471
76645
|
return el;
|
75472
76646
|
};
|
75473
76647
|
init_react_import2();
|
75474
|
-
var
|
76648
|
+
var import_react29 = require("react");
|
75475
76649
|
init_react_import2();
|
75476
76650
|
var import_react112 = require("react");
|
75477
76651
|
init_react_import2();
|
@@ -76102,7 +77276,7 @@ var require_dist2 = __commonJS({
|
|
76102
77276
|
const [componentState, setComponentState] = (0, import_react132.useState)({});
|
76103
77277
|
const deferredSetStates = {};
|
76104
77278
|
const setComponentLoading = (0, import_react132.useCallback)(
|
76105
|
-
(id, loading,
|
77279
|
+
(id, loading, defer2 = 0) => {
|
76106
77280
|
if (deferredSetStates[id]) {
|
76107
77281
|
clearTimeout(deferredSetStates[id]);
|
76108
77282
|
delete deferredSetStates[id];
|
@@ -76112,7 +77286,7 @@ var require_dist2 = __commonJS({
|
|
76112
77286
|
[id]: __spreadProps2(__spreadValues2({}, prev[id]), { loading })
|
76113
77287
|
}));
|
76114
77288
|
delete deferredSetStates[id];
|
76115
|
-
},
|
77289
|
+
}, defer2);
|
76116
77290
|
},
|
76117
77291
|
[]
|
76118
77292
|
);
|
@@ -76192,7 +77366,7 @@ var require_dist2 = __commonJS({
|
|
76192
77366
|
var getClassName9 = get_class_name_factory_default2("MenuBar", styles_module_default7);
|
76193
77367
|
var MenuBar = ({
|
76194
77368
|
appState,
|
76195
|
-
data = { content: [], root: {
|
77369
|
+
data = { content: [], root: {} },
|
76196
77370
|
dispatch,
|
76197
77371
|
menuOpen = false,
|
76198
77372
|
onPublish,
|
@@ -76902,7 +78076,7 @@ var require_dist2 = __commonJS({
|
|
76902
78076
|
onChange(e2.currentTarget.value);
|
76903
78077
|
},
|
76904
78078
|
disabled: readOnly,
|
76905
|
-
|
78079
|
+
checked: value === option.value
|
76906
78080
|
}
|
76907
78081
|
),
|
76908
78082
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName14("radioInner"), children: option.label || option.value })
|
@@ -76942,7 +78116,7 @@ var require_dist2 = __commonJS({
|
|
76942
78116
|
disabled: readOnly,
|
76943
78117
|
onChange: (e2) => {
|
76944
78118
|
if (e2.currentTarget.value === "true" || e2.currentTarget.value === "false") {
|
76945
|
-
onChange(
|
78119
|
+
onChange(JSON.parse(e2.currentTarget.value));
|
76946
78120
|
return;
|
76947
78121
|
}
|
76948
78122
|
onChange(e2.currentTarget.value);
|
@@ -77434,15 +78608,212 @@ var require_dist2 = __commonJS({
|
|
77434
78608
|
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ComponentList, { id: "all" }) });
|
77435
78609
|
};
|
77436
78610
|
init_react_import2();
|
77437
|
-
var
|
77438
|
-
var import_auto_frame_component = __toESM2(require_dist());
|
78611
|
+
var import_react23 = require("react");
|
77439
78612
|
init_react_import2();
|
77440
|
-
var
|
78613
|
+
var import_react222 = __toESM2(require("react"));
|
78614
|
+
var import_react_frame_component = __toESM2(require_lib());
|
78615
|
+
var import_object_hash = __toESM2(require_object_hash());
|
77441
78616
|
var import_jsx_runtime29 = require("react/jsx-runtime");
|
78617
|
+
var styleSelector = 'style, link[rel="stylesheet"]';
|
78618
|
+
var collectStyles = (doc) => {
|
78619
|
+
const collected = [];
|
78620
|
+
doc.head.querySelectorAll(styleSelector).forEach((style2) => {
|
78621
|
+
collected.push(style2);
|
78622
|
+
});
|
78623
|
+
return collected;
|
78624
|
+
};
|
78625
|
+
var getStyleSheet = (el) => {
|
78626
|
+
return Array.from(document.styleSheets).find((ss) => {
|
78627
|
+
const ownerNode = ss.ownerNode;
|
78628
|
+
return ownerNode.href === el.href;
|
78629
|
+
});
|
78630
|
+
};
|
78631
|
+
var getStyles2 = (styleSheet) => {
|
78632
|
+
if (styleSheet) {
|
78633
|
+
try {
|
78634
|
+
return [...styleSheet.cssRules].map((rule) => rule.cssText).join("");
|
78635
|
+
} catch (e2) {
|
78636
|
+
console.warn(
|
78637
|
+
"Access to stylesheet %s is denied. Ignoring\u2026",
|
78638
|
+
styleSheet.href
|
78639
|
+
);
|
78640
|
+
}
|
78641
|
+
}
|
78642
|
+
return "";
|
78643
|
+
};
|
78644
|
+
var defer = (fn) => setTimeout(fn, 0);
|
78645
|
+
var CopyHostStyles = ({
|
78646
|
+
children,
|
78647
|
+
debug = false,
|
78648
|
+
onStylesLoaded = () => null
|
78649
|
+
}) => {
|
78650
|
+
const { document: doc, window: win } = (0, import_react_frame_component.useFrame)();
|
78651
|
+
(0, import_react222.useEffect)(() => {
|
78652
|
+
if (!win || !doc) {
|
78653
|
+
return () => {
|
78654
|
+
};
|
78655
|
+
}
|
78656
|
+
let elements = [];
|
78657
|
+
const hashes = {};
|
78658
|
+
const lookupEl = (el) => elements.findIndex((elementMap) => elementMap.original === el);
|
78659
|
+
const mirrorEl = (el, inlineStyles = false) => __async2(void 0, null, function* () {
|
78660
|
+
let mirror;
|
78661
|
+
if (el.nodeName === "LINK" && inlineStyles) {
|
78662
|
+
mirror = document.createElement("style");
|
78663
|
+
mirror.type = "text/css";
|
78664
|
+
let styleSheet = getStyleSheet(el);
|
78665
|
+
if (!styleSheet) {
|
78666
|
+
yield new Promise((resolve) => {
|
78667
|
+
const fn = () => {
|
78668
|
+
resolve();
|
78669
|
+
el.removeEventListener("load", fn);
|
78670
|
+
};
|
78671
|
+
el.addEventListener("load", fn);
|
78672
|
+
});
|
78673
|
+
styleSheet = getStyleSheet(el);
|
78674
|
+
}
|
78675
|
+
const styles = getStyles2(styleSheet);
|
78676
|
+
if (!styles) {
|
78677
|
+
if (debug) {
|
78678
|
+
console.warn(
|
78679
|
+
`Tried to load styles for link element, but couldn't find them. Skipping...`
|
78680
|
+
);
|
78681
|
+
}
|
78682
|
+
return;
|
78683
|
+
}
|
78684
|
+
mirror.innerHTML = styles;
|
78685
|
+
mirror.setAttribute("data-href", el.getAttribute("href"));
|
78686
|
+
} else {
|
78687
|
+
mirror = el.cloneNode(true);
|
78688
|
+
}
|
78689
|
+
return mirror;
|
78690
|
+
});
|
78691
|
+
const addEl = (el) => __async2(void 0, null, function* () {
|
78692
|
+
const index = lookupEl(el);
|
78693
|
+
if (index > -1) {
|
78694
|
+
if (debug)
|
78695
|
+
console.log(
|
78696
|
+
`Tried to add an element that was already mirrored. Updating instead...`
|
78697
|
+
);
|
78698
|
+
elements[index].mirror.innerText = el.innerText;
|
78699
|
+
return;
|
78700
|
+
}
|
78701
|
+
const mirror = yield mirrorEl(el);
|
78702
|
+
if (!mirror) {
|
78703
|
+
return;
|
78704
|
+
}
|
78705
|
+
const elHash = (0, import_object_hash.default)(mirror.outerHTML);
|
78706
|
+
if (hashes[elHash]) {
|
78707
|
+
if (debug)
|
78708
|
+
console.log(
|
78709
|
+
`iframe already contains element that is being mirrored. Skipping...`
|
78710
|
+
);
|
78711
|
+
return;
|
78712
|
+
}
|
78713
|
+
hashes[elHash] = true;
|
78714
|
+
doc.head.append(mirror);
|
78715
|
+
elements.push({ original: el, mirror });
|
78716
|
+
if (debug)
|
78717
|
+
console.log(`Added style node ${el.outerHTML}`);
|
78718
|
+
});
|
78719
|
+
const removeEl = (el) => {
|
78720
|
+
var _a3, _b;
|
78721
|
+
const index = lookupEl(el);
|
78722
|
+
if (index === -1) {
|
78723
|
+
if (debug)
|
78724
|
+
console.log(
|
78725
|
+
`Tried to remove an element that did not exist. Skipping...`
|
78726
|
+
);
|
78727
|
+
return;
|
78728
|
+
}
|
78729
|
+
const elHash = (0, import_object_hash.default)(el.outerHTML);
|
78730
|
+
(_b = (_a3 = elements[index]) == null ? void 0 : _a3.mirror) == null ? void 0 : _b.remove();
|
78731
|
+
delete hashes[elHash];
|
78732
|
+
if (debug)
|
78733
|
+
console.log(`Removed style node ${el.outerHTML}`);
|
78734
|
+
};
|
78735
|
+
const observer = new MutationObserver((mutations) => {
|
78736
|
+
mutations.forEach((mutation) => {
|
78737
|
+
if (mutation.type === "childList") {
|
78738
|
+
mutation.addedNodes.forEach((node) => {
|
78739
|
+
if (node.nodeType === Node.TEXT_NODE || node.nodeType === Node.ELEMENT_NODE) {
|
78740
|
+
const el = node.nodeType === Node.TEXT_NODE ? node.parentElement : node;
|
78741
|
+
if (el && el.matches(styleSelector)) {
|
78742
|
+
defer(() => addEl(el));
|
78743
|
+
}
|
78744
|
+
}
|
78745
|
+
});
|
78746
|
+
mutation.removedNodes.forEach((node) => {
|
78747
|
+
if (node.nodeType === Node.TEXT_NODE || node.nodeType === Node.ELEMENT_NODE) {
|
78748
|
+
const el = node.nodeType === Node.TEXT_NODE ? node.parentElement : node;
|
78749
|
+
if (el && el.matches(styleSelector)) {
|
78750
|
+
defer(() => removeEl(el));
|
78751
|
+
}
|
78752
|
+
}
|
78753
|
+
});
|
78754
|
+
}
|
78755
|
+
});
|
78756
|
+
});
|
78757
|
+
const parentDocument = win.parent.document;
|
78758
|
+
const collectedStyles = collectStyles(parentDocument);
|
78759
|
+
const hrefs = [];
|
78760
|
+
let stylesLoaded = 0;
|
78761
|
+
Promise.all(
|
78762
|
+
collectedStyles.map((styleNode, i2) => __async2(void 0, null, function* () {
|
78763
|
+
if (styleNode.nodeName === "LINK") {
|
78764
|
+
const linkHref = styleNode.href;
|
78765
|
+
if (hrefs.indexOf(linkHref) > -1) {
|
78766
|
+
return;
|
78767
|
+
}
|
78768
|
+
hrefs.push(linkHref);
|
78769
|
+
}
|
78770
|
+
const mirror = yield mirrorEl(styleNode);
|
78771
|
+
if (!mirror)
|
78772
|
+
return;
|
78773
|
+
elements.push({ original: styleNode, mirror });
|
78774
|
+
return mirror;
|
78775
|
+
}))
|
78776
|
+
).then((mirrorStyles) => {
|
78777
|
+
const filtered = mirrorStyles.filter(
|
78778
|
+
(el) => typeof el !== "undefined"
|
78779
|
+
);
|
78780
|
+
filtered.forEach((mirror) => {
|
78781
|
+
mirror.onload = () => {
|
78782
|
+
stylesLoaded = stylesLoaded + 1;
|
78783
|
+
if (stylesLoaded >= elements.length) {
|
78784
|
+
onStylesLoaded();
|
78785
|
+
}
|
78786
|
+
};
|
78787
|
+
});
|
78788
|
+
doc.head.innerHTML = "";
|
78789
|
+
doc.head.append(...filtered);
|
78790
|
+
observer.observe(parentDocument.head, { childList: true, subtree: true });
|
78791
|
+
filtered.forEach((el) => {
|
78792
|
+
const elHash = (0, import_object_hash.default)(el.outerHTML);
|
78793
|
+
hashes[elHash] = true;
|
78794
|
+
});
|
78795
|
+
});
|
78796
|
+
return () => {
|
78797
|
+
observer.disconnect();
|
78798
|
+
};
|
78799
|
+
}, []);
|
78800
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment, { children });
|
78801
|
+
};
|
78802
|
+
var AutoFrameComponent = import_react222.default.forwardRef(
|
78803
|
+
function(_a3, ref2) {
|
78804
|
+
var _b = _a3, { children, debug, onStylesLoaded } = _b, props = __objRest2(_b, ["children", "debug", "onStylesLoaded"]);
|
78805
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_frame_component.default, __spreadProps2(__spreadValues2({}, props), { ref: ref2, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CopyHostStyles, { debug, onStylesLoaded, children }) }));
|
78806
|
+
}
|
78807
|
+
);
|
78808
|
+
AutoFrameComponent.displayName = "AutoFrameComponent";
|
78809
|
+
var AutoFrame_default = AutoFrameComponent;
|
78810
|
+
init_react_import2();
|
78811
|
+
var styles_module_default16 = { "PuckPreview": "_PuckPreview_rxwlr_1", "PuckPreview-frame": "_PuckPreview-frame_rxwlr_5" };
|
78812
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
77442
78813
|
var getClassName21 = get_class_name_factory_default2("PuckPreview", styles_module_default16);
|
77443
78814
|
var Preview = ({ id = "puck-preview" }) => {
|
77444
78815
|
const { config, dispatch, state, setStatus, iframe } = useAppContext2();
|
77445
|
-
const Page = (0,
|
78816
|
+
const Page = (0, import_react23.useCallback)(
|
77446
78817
|
(pageProps) => {
|
77447
78818
|
var _a3, _b;
|
77448
78819
|
return ((_a3 = config.root) == null ? void 0 : _a3.render) ? (_b = config.root) == null ? void 0 : _b.render(__spreadProps2(__spreadValues2({
|
@@ -77450,13 +78821,13 @@ var require_dist2 = __commonJS({
|
|
77450
78821
|
}, pageProps), {
|
77451
78822
|
editMode: true,
|
77452
78823
|
puck: { renderDropZone: DropZone }
|
77453
|
-
})) : /* @__PURE__ */ (0,
|
78824
|
+
})) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_jsx_runtime30.Fragment, { children: pageProps.children });
|
77454
78825
|
},
|
77455
78826
|
[config.root]
|
77456
78827
|
);
|
77457
78828
|
const rootProps = state.data.root.props || state.data.root;
|
77458
|
-
const ref2 = (0,
|
77459
|
-
return /* @__PURE__ */ (0,
|
78829
|
+
const ref2 = (0, import_react23.useRef)(null);
|
78830
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
77460
78831
|
"div",
|
77461
78832
|
{
|
77462
78833
|
className: getClassName21(),
|
@@ -77464,8 +78835,8 @@ var require_dist2 = __commonJS({
|
|
77464
78835
|
onClick: () => {
|
77465
78836
|
dispatch({ type: "setUi", ui: __spreadProps2(__spreadValues2({}, state.ui), { itemSelector: null }) });
|
77466
78837
|
},
|
77467
|
-
children: iframe.enabled ? /* @__PURE__ */ (0,
|
77468
|
-
|
78838
|
+
children: iframe.enabled ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
78839
|
+
AutoFrame_default,
|
77469
78840
|
{
|
77470
78841
|
id: "preview-frame",
|
77471
78842
|
className: getClassName21("frame"),
|
@@ -77474,9 +78845,9 @@ var require_dist2 = __commonJS({
|
|
77474
78845
|
onStylesLoaded: () => {
|
77475
78846
|
setStatus("READY");
|
77476
78847
|
},
|
77477
|
-
children: /* @__PURE__ */ (0,
|
78848
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Page, __spreadProps2(__spreadValues2({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZone, { zone: rootDroppableId2 }) }))
|
77478
78849
|
}
|
77479
|
-
) : /* @__PURE__ */ (0,
|
78850
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { id: "preview-frame", className: getClassName21("frame"), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Page, __spreadProps2(__spreadValues2({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZone, { zone: rootDroppableId2 }) })) })
|
77480
78851
|
}
|
77481
78852
|
);
|
77482
78853
|
};
|
@@ -77508,7 +78879,7 @@ var require_dist2 = __commonJS({
|
|
77508
78879
|
el.style.scrollMargin = oldStyle.scrollMargin || "";
|
77509
78880
|
}
|
77510
78881
|
};
|
77511
|
-
var
|
78882
|
+
var import_react24 = require("react");
|
77512
78883
|
init_react_import2();
|
77513
78884
|
var isChildOfZone = (item, maybeChild, ctx) => {
|
77514
78885
|
var _a3;
|
@@ -77518,7 +78889,7 @@ var require_dist2 = __commonJS({
|
|
77518
78889
|
return area === item.props.id;
|
77519
78890
|
})) : false;
|
77520
78891
|
};
|
77521
|
-
var
|
78892
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
77522
78893
|
var getClassName222 = get_class_name_factory_default2("LayerTree", styles_module_default17);
|
77523
78894
|
var getClassNameLayer = get_class_name_factory_default2("Layer", styles_module_default17);
|
77524
78895
|
var LayerTree = ({
|
@@ -77531,15 +78902,15 @@ var require_dist2 = __commonJS({
|
|
77531
78902
|
label
|
77532
78903
|
}) => {
|
77533
78904
|
const zones = data.zones || {};
|
77534
|
-
const ctx = (0,
|
77535
|
-
return /* @__PURE__ */ (0,
|
77536
|
-
label && /* @__PURE__ */ (0,
|
77537
|
-
/* @__PURE__ */ (0,
|
78905
|
+
const ctx = (0, import_react24.useContext)(dropZoneContext2);
|
78906
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [
|
78907
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: getClassName222("zoneTitle"), children: [
|
78908
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: getClassName222("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Layers, { size: "16" }) }),
|
77538
78909
|
" ",
|
77539
78910
|
label
|
77540
78911
|
] }),
|
77541
|
-
/* @__PURE__ */ (0,
|
77542
|
-
zoneContent.length === 0 && /* @__PURE__ */ (0,
|
78912
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("ul", { className: getClassName222(), children: [
|
78913
|
+
zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: getClassName222("helper"), children: "No items" }),
|
77543
78914
|
zoneContent.map((item, i2) => {
|
77544
78915
|
var _a3;
|
77545
78916
|
const isSelected = (itemSelector == null ? void 0 : itemSelector.index) === i2 && (itemSelector.zone === zone || itemSelector.zone === rootDroppableId2 && !zone);
|
@@ -77555,7 +78926,7 @@ var require_dist2 = __commonJS({
|
|
77555
78926
|
const selectedItem = itemSelector && data ? getItem2(itemSelector, data) : null;
|
77556
78927
|
const isHovering = hoveringComponent === item.props.id;
|
77557
78928
|
const childIsSelected = isChildOfZone(item, selectedItem, ctx);
|
77558
|
-
return /* @__PURE__ */ (0,
|
78929
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
77559
78930
|
"li",
|
77560
78931
|
{
|
77561
78932
|
className: getClassNameLayer({
|
@@ -77565,7 +78936,7 @@ var require_dist2 = __commonJS({
|
|
77565
78936
|
childIsSelected
|
77566
78937
|
}),
|
77567
78938
|
children: [
|
77568
|
-
/* @__PURE__ */ (0,
|
78939
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
77569
78940
|
"button",
|
77570
78941
|
{
|
77571
78942
|
className: getClassNameLayer("clickable"),
|
@@ -77597,22 +78968,22 @@ var require_dist2 = __commonJS({
|
|
77597
78968
|
setHoveringComponent(null);
|
77598
78969
|
},
|
77599
78970
|
children: [
|
77600
|
-
containsZone && /* @__PURE__ */ (0,
|
78971
|
+
containsZone && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
77601
78972
|
"div",
|
77602
78973
|
{
|
77603
78974
|
className: getClassNameLayer("chevron"),
|
77604
78975
|
title: isSelected ? "Collapse" : "Expand",
|
77605
|
-
children: /* @__PURE__ */ (0,
|
78976
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(ChevronDown, { size: "12" })
|
77606
78977
|
}
|
77607
78978
|
),
|
77608
|
-
/* @__PURE__ */ (0,
|
77609
|
-
/* @__PURE__ */ (0,
|
77610
|
-
/* @__PURE__ */ (0,
|
78979
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: getClassNameLayer("title"), children: [
|
78980
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: getClassNameLayer("icon"), children: item.type === "Text" || item.type === "Heading" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Type, { size: "16" }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(LayoutGrid, { size: "16" }) }),
|
78981
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: getClassNameLayer("name"), children: (_a3 = config.components[item.type]["label"]) != null ? _a3 : item.type })
|
77611
78982
|
] })
|
77612
78983
|
]
|
77613
78984
|
}
|
77614
78985
|
) }),
|
77615
|
-
containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0,
|
78986
|
+
containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
77616
78987
|
LayerTree,
|
77617
78988
|
{
|
77618
78989
|
config,
|
@@ -77632,13 +79003,13 @@ var require_dist2 = __commonJS({
|
|
77632
79003
|
] })
|
77633
79004
|
] });
|
77634
79005
|
};
|
77635
|
-
var
|
77636
|
-
var
|
79006
|
+
var import_react25 = require("react");
|
79007
|
+
var import_jsx_runtime322 = require("react/jsx-runtime");
|
77637
79008
|
var Outline = () => {
|
77638
79009
|
const { dispatch, state, overrides, config } = useAppContext2();
|
77639
79010
|
const { data, ui } = state;
|
77640
79011
|
const { itemSelector } = ui;
|
77641
|
-
const setItemSelector = (0,
|
79012
|
+
const setItemSelector = (0, import_react25.useCallback)(
|
77642
79013
|
(newItemSelector) => {
|
77643
79014
|
dispatch({
|
77644
79015
|
type: "setUi",
|
@@ -77647,9 +79018,9 @@ var require_dist2 = __commonJS({
|
|
77647
79018
|
},
|
77648
79019
|
[]
|
77649
79020
|
);
|
77650
|
-
const Wrapper = (0,
|
77651
|
-
return /* @__PURE__ */ (0,
|
77652
|
-
(ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId2]) && /* @__PURE__ */ (0,
|
79021
|
+
const Wrapper = (0, import_react25.useMemo)(() => overrides.outline || "div", [overrides]);
|
79022
|
+
return /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(dropZoneContext2.Consumer, { children: (ctx) => /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)(import_jsx_runtime322.Fragment, { children: [
|
79023
|
+
(ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId2]) && /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
|
77653
79024
|
LayerTree,
|
77654
79025
|
{
|
77655
79026
|
config,
|
@@ -77662,7 +79033,7 @@ var require_dist2 = __commonJS({
|
|
77662
79033
|
),
|
77663
79034
|
Object.entries(findZonesForArea(data, "root")).map(
|
77664
79035
|
([zoneKey, zone]) => {
|
77665
|
-
return /* @__PURE__ */ (0,
|
79036
|
+
return /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
|
77666
79037
|
LayerTree,
|
77667
79038
|
{
|
77668
79039
|
config,
|
@@ -77741,12 +79112,12 @@ var require_dist2 = __commonJS({
|
|
77741
79112
|
};
|
77742
79113
|
}
|
77743
79114
|
init_react_import2();
|
77744
|
-
var
|
79115
|
+
var import_react26 = require("react");
|
77745
79116
|
var import_use_debounce3 = (init_index_module(), __toCommonJS(index_module_exports));
|
77746
79117
|
var EMPTY_HISTORY_INDEX = -1;
|
77747
79118
|
function useHistoryStore() {
|
77748
|
-
const [histories, setHistories] = (0,
|
77749
|
-
const [index, setIndex] = (0,
|
79119
|
+
const [histories, setHistories] = (0, import_react26.useState)([]);
|
79120
|
+
const [index, setIndex] = (0, import_react26.useState)(EMPTY_HISTORY_INDEX);
|
77750
79121
|
const hasPast = index > EMPTY_HISTORY_INDEX;
|
77751
79122
|
const hasFuture = index < histories.length - 1;
|
77752
79123
|
const currentHistory = histories[index];
|
@@ -77896,16 +79267,16 @@ var require_dist2 = __commonJS({
|
|
77896
79267
|
var styles = window.getComputedStyle(el);
|
77897
79268
|
return calculateBox3(borderBox, styles);
|
77898
79269
|
};
|
77899
|
-
var
|
79270
|
+
var import_react28 = require("react");
|
77900
79271
|
init_react_import2();
|
77901
|
-
var
|
79272
|
+
var import_react27 = require("react");
|
77902
79273
|
init_react_import2();
|
77903
79274
|
var styles_module_default18 = { "ViewportControls": "_ViewportControls_3zdvn_1", "ViewportControls-divider": "_ViewportControls-divider_3zdvn_15", "ViewportControls-zoomSelect": "_ViewportControls-zoomSelect_3zdvn_21", "ViewportButton--isActive": "_ViewportButton--isActive_3zdvn_33", "ViewportButton-inner": "_ViewportButton-inner_3zdvn_33" };
|
77904
|
-
var
|
79275
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
77905
79276
|
var icons = {
|
77906
|
-
Smartphone: /* @__PURE__ */ (0,
|
77907
|
-
Tablet: /* @__PURE__ */ (0,
|
77908
|
-
Monitor: /* @__PURE__ */ (0,
|
79277
|
+
Smartphone: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Smartphone, { size: 16 }),
|
79278
|
+
Tablet: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Tablet, { size: 16 }),
|
79279
|
+
Monitor: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Monitor, { size: 16 })
|
77909
79280
|
};
|
77910
79281
|
var getClassName23 = get_class_name_factory_default2("ViewportControls", styles_module_default18);
|
77911
79282
|
var getClassNameButton = get_class_name_factory_default2("ViewportButton", styles_module_default18);
|
@@ -77917,11 +79288,11 @@ var require_dist2 = __commonJS({
|
|
77917
79288
|
onClick
|
77918
79289
|
}) => {
|
77919
79290
|
const { state } = useAppContext2();
|
77920
|
-
const [isActive2, setIsActive] = (0,
|
77921
|
-
(0,
|
79291
|
+
const [isActive2, setIsActive] = (0, import_react27.useState)(false);
|
79292
|
+
(0, import_react27.useEffect)(() => {
|
77922
79293
|
setIsActive(width === state.ui.viewports.current.width);
|
77923
79294
|
}, [width, state.ui.viewports.current.width]);
|
77924
|
-
return /* @__PURE__ */ (0,
|
79295
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: getClassNameButton({ isActive: isActive2 }), children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
77925
79296
|
IconButton,
|
77926
79297
|
{
|
77927
79298
|
title,
|
@@ -77930,7 +79301,7 @@ var require_dist2 = __commonJS({
|
|
77930
79301
|
e2.stopPropagation();
|
77931
79302
|
onClick({ width, height });
|
77932
79303
|
},
|
77933
|
-
children: /* @__PURE__ */ (0,
|
79304
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: getClassNameButton("inner"), children })
|
77934
79305
|
}
|
77935
79306
|
) });
|
77936
79307
|
};
|
@@ -77954,7 +79325,7 @@ var require_dist2 = __commonJS({
|
|
77954
79325
|
const defaultsContainAutoZoom = defaultZoomOptions.find(
|
77955
79326
|
(option) => option.value === autoZoom
|
77956
79327
|
);
|
77957
|
-
const zoomOptions = (0,
|
79328
|
+
const zoomOptions = (0, import_react27.useMemo)(
|
77958
79329
|
() => [
|
77959
79330
|
...defaultZoomOptions,
|
77960
79331
|
...defaultsContainAutoZoom ? [] : [
|
@@ -77966,8 +79337,8 @@ var require_dist2 = __commonJS({
|
|
77966
79337
|
].filter((a2) => a2.value <= autoZoom).sort((a2, b) => a2.value > b.value ? 1 : -1),
|
77967
79338
|
[autoZoom]
|
77968
79339
|
);
|
77969
|
-
return /* @__PURE__ */ (0,
|
77970
|
-
viewports.map((viewport, i2) => /* @__PURE__ */ (0,
|
79340
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: getClassName23(), children: [
|
79341
|
+
viewports.map((viewport, i2) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
77971
79342
|
ViewportButton,
|
77972
79343
|
{
|
77973
79344
|
height: viewport.height,
|
@@ -77978,8 +79349,8 @@ var require_dist2 = __commonJS({
|
|
77978
79349
|
},
|
77979
79350
|
i2
|
77980
79351
|
)),
|
77981
|
-
/* @__PURE__ */ (0,
|
77982
|
-
/* @__PURE__ */ (0,
|
79352
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: getClassName23("divider") }),
|
79353
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
77983
79354
|
IconButton,
|
77984
79355
|
{
|
77985
79356
|
title: "Zoom viewport out",
|
@@ -77993,10 +79364,10 @@ var require_dist2 = __commonJS({
|
|
77993
79364
|
)].value
|
77994
79365
|
);
|
77995
79366
|
},
|
77996
|
-
children: /* @__PURE__ */ (0,
|
79367
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ZoomOut, { size: 16 })
|
77997
79368
|
}
|
77998
79369
|
),
|
77999
|
-
/* @__PURE__ */ (0,
|
79370
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
78000
79371
|
IconButton,
|
78001
79372
|
{
|
78002
79373
|
title: "Zoom viewport in",
|
@@ -78010,11 +79381,11 @@ var require_dist2 = __commonJS({
|
|
78010
79381
|
)].value
|
78011
79382
|
);
|
78012
79383
|
},
|
78013
|
-
children: /* @__PURE__ */ (0,
|
79384
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ZoomIn, { size: 16 })
|
78014
79385
|
}
|
78015
79386
|
),
|
78016
|
-
/* @__PURE__ */ (0,
|
78017
|
-
/* @__PURE__ */ (0,
|
79387
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: getClassName23("divider") }),
|
79388
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
78018
79389
|
"select",
|
78019
79390
|
{
|
78020
79391
|
className: getClassName23("zoomSelect"),
|
@@ -78022,7 +79393,7 @@ var require_dist2 = __commonJS({
|
|
78022
79393
|
onChange: (e2) => {
|
78023
79394
|
onZoom(parseFloat(e2.currentTarget.value));
|
78024
79395
|
},
|
78025
|
-
children: zoomOptions.map((option) => /* @__PURE__ */ (0,
|
79396
|
+
children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
78026
79397
|
"option",
|
78027
79398
|
{
|
78028
79399
|
value: option.value,
|
@@ -78064,24 +79435,24 @@ var require_dist2 = __commonJS({
|
|
78064
79435
|
}
|
78065
79436
|
return { autoZoom, rootHeight, zoom };
|
78066
79437
|
};
|
78067
|
-
var
|
79438
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
78068
79439
|
var getClassName24 = get_class_name_factory_default2("PuckCanvas", styles_module_default19);
|
78069
79440
|
var ZOOM_ON_CHANGE = true;
|
78070
79441
|
var Canvas = () => {
|
78071
79442
|
const { status, iframe } = useAppContext2();
|
78072
79443
|
const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext2();
|
78073
79444
|
const { ui } = state;
|
78074
|
-
const frameRef = (0,
|
78075
|
-
const [showTransition, setShowTransition] = (0,
|
78076
|
-
const defaultRender = (0,
|
78077
|
-
const PuckDefault = ({ children }) => /* @__PURE__ */ (0,
|
79445
|
+
const frameRef = (0, import_react28.useRef)(null);
|
79446
|
+
const [showTransition, setShowTransition] = (0, import_react28.useState)(false);
|
79447
|
+
const defaultRender = (0, import_react28.useMemo)(() => {
|
79448
|
+
const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children });
|
78078
79449
|
return PuckDefault;
|
78079
79450
|
}, []);
|
78080
|
-
const CustomPreview = (0,
|
79451
|
+
const CustomPreview = (0, import_react28.useMemo)(
|
78081
79452
|
() => overrides.preview || defaultRender,
|
78082
79453
|
[overrides]
|
78083
79454
|
);
|
78084
|
-
const getFrameDimensions = (0,
|
79455
|
+
const getFrameDimensions = (0, import_react28.useCallback)(() => {
|
78085
79456
|
if (frameRef.current) {
|
78086
79457
|
const frame = frameRef.current;
|
78087
79458
|
const box = getBox3(frame);
|
@@ -78089,7 +79460,7 @@ var require_dist2 = __commonJS({
|
|
78089
79460
|
}
|
78090
79461
|
return { width: 0, height: 0 };
|
78091
79462
|
}, [frameRef]);
|
78092
|
-
const resetAutoZoom = (0,
|
79463
|
+
const resetAutoZoom = (0, import_react28.useCallback)(
|
78093
79464
|
(ui2 = state.ui) => {
|
78094
79465
|
if (frameRef.current) {
|
78095
79466
|
setZoomConfig(
|
@@ -78099,11 +79470,11 @@ var require_dist2 = __commonJS({
|
|
78099
79470
|
},
|
78100
79471
|
[frameRef, zoomConfig, state.ui]
|
78101
79472
|
);
|
78102
|
-
(0,
|
79473
|
+
(0, import_react28.useEffect)(() => {
|
78103
79474
|
setShowTransition(false);
|
78104
79475
|
resetAutoZoom();
|
78105
79476
|
}, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
|
78106
|
-
(0,
|
79477
|
+
(0, import_react28.useEffect)(() => {
|
78107
79478
|
const { height: frameHeight } = getFrameDimensions();
|
78108
79479
|
if (ui.viewports.current.height === "auto") {
|
78109
79480
|
setZoomConfig(__spreadProps2(__spreadValues2({}, zoomConfig), {
|
@@ -78111,7 +79482,7 @@ var require_dist2 = __commonJS({
|
|
78111
79482
|
}));
|
78112
79483
|
}
|
78113
79484
|
}, [zoomConfig.zoom]);
|
78114
|
-
(0,
|
79485
|
+
(0, import_react28.useEffect)(() => {
|
78115
79486
|
const observer = new ResizeObserver(() => {
|
78116
79487
|
setShowTransition(false);
|
78117
79488
|
resetAutoZoom();
|
@@ -78123,7 +79494,7 @@ var require_dist2 = __commonJS({
|
|
78123
79494
|
observer.disconnect();
|
78124
79495
|
};
|
78125
79496
|
}, []);
|
78126
|
-
return /* @__PURE__ */ (0,
|
79497
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
78127
79498
|
"div",
|
78128
79499
|
{
|
78129
79500
|
className: getClassName24({
|
@@ -78135,7 +79506,7 @@ var require_dist2 = __commonJS({
|
|
78135
79506
|
recordHistory: true
|
78136
79507
|
}),
|
78137
79508
|
children: [
|
78138
|
-
ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0,
|
79509
|
+
ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("controls"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
78139
79510
|
ViewportControls,
|
78140
79511
|
{
|
78141
79512
|
autoZoom: zoomConfig.autoZoom,
|
@@ -78160,7 +79531,7 @@ var require_dist2 = __commonJS({
|
|
78160
79531
|
}
|
78161
79532
|
}
|
78162
79533
|
) }),
|
78163
|
-
/* @__PURE__ */ (0,
|
79534
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("inner"), ref: frameRef, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
78164
79535
|
"div",
|
78165
79536
|
{
|
78166
79537
|
className: getClassName24("root"),
|
@@ -78172,19 +79543,19 @@ var require_dist2 = __commonJS({
|
|
78172
79543
|
overflow: iframe.enabled ? void 0 : "auto"
|
78173
79544
|
},
|
78174
79545
|
suppressHydrationWarning: true,
|
78175
|
-
children: /* @__PURE__ */ (0,
|
79546
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Preview, {}) })
|
78176
79547
|
}
|
78177
79548
|
) })
|
78178
79549
|
]
|
78179
79550
|
}
|
78180
79551
|
);
|
78181
79552
|
};
|
78182
|
-
var
|
79553
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
78183
79554
|
var getClassName25 = get_class_name_factory_default2("Puck", styles_module_default8);
|
78184
79555
|
function Puck({
|
78185
79556
|
children,
|
78186
79557
|
config,
|
78187
|
-
data: initialData = { content: [], root: {
|
79558
|
+
data: initialData = { content: [], root: {} },
|
78188
79559
|
ui: initialUi,
|
78189
79560
|
onChange,
|
78190
79561
|
onPublish,
|
@@ -78197,15 +79568,16 @@ var require_dist2 = __commonJS({
|
|
78197
79568
|
viewports = defaultViewports2,
|
78198
79569
|
iframe = {
|
78199
79570
|
enabled: true
|
78200
|
-
}
|
79571
|
+
},
|
79572
|
+
dnd
|
78201
79573
|
}) {
|
78202
79574
|
var _a3;
|
78203
79575
|
const historyStore = useHistoryStore();
|
78204
|
-
const [reducer2] = (0,
|
79576
|
+
const [reducer2] = (0, import_react29.useState)(
|
78205
79577
|
() => createReducer({ config, record: historyStore.record })
|
78206
79578
|
);
|
78207
|
-
const [initialAppState] = (0,
|
78208
|
-
var _a22, _b, _c, _d;
|
79579
|
+
const [initialAppState] = (0, import_react29.useState)(() => {
|
79580
|
+
var _a22, _b, _c, _d, _e;
|
78209
79581
|
const initial = __spreadValues2(__spreadValues2({}, defaultAppState2.ui), initialUi);
|
78210
79582
|
let clientUiState = {};
|
78211
79583
|
if (typeof window !== "undefined") {
|
@@ -78232,8 +79604,12 @@ var require_dist2 = __commonJS({
|
|
78232
79604
|
};
|
78233
79605
|
}
|
78234
79606
|
}
|
79607
|
+
const rootProps2 = initialData.root.props || initialData.root;
|
79608
|
+
const defaultedRootProps = __spreadValues2(__spreadValues2({}, (_e = config.root) == null ? void 0 : _e.defaultProps), rootProps2);
|
78235
79609
|
return __spreadProps2(__spreadValues2({}, defaultAppState2), {
|
78236
|
-
data: initialData,
|
79610
|
+
data: __spreadProps2(__spreadValues2({}, initialData), {
|
79611
|
+
root: defaultedRootProps
|
79612
|
+
}),
|
78237
79613
|
ui: __spreadProps2(__spreadValues2(__spreadValues2({}, initial), clientUiState), {
|
78238
79614
|
// Store categories under componentList on state to allow render functions and plugins to modify
|
78239
79615
|
componentList: config.categories ? Object.entries(config.categories).reduce(
|
@@ -78252,7 +79628,7 @@ var require_dist2 = __commonJS({
|
|
78252
79628
|
})
|
78253
79629
|
});
|
78254
79630
|
});
|
78255
|
-
const [appState, dispatch] = (0,
|
79631
|
+
const [appState, dispatch] = (0, import_react29.useReducer)(
|
78256
79632
|
reducer2,
|
78257
79633
|
flushZones(initialAppState)
|
78258
79634
|
);
|
@@ -78263,9 +79639,9 @@ var require_dist2 = __commonJS({
|
|
78263
79639
|
config,
|
78264
79640
|
dispatch
|
78265
79641
|
);
|
78266
|
-
const [menuOpen, setMenuOpen] = (0,
|
79642
|
+
const [menuOpen, setMenuOpen] = (0, import_react29.useState)(false);
|
78267
79643
|
const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
|
78268
|
-
const setItemSelector = (0,
|
79644
|
+
const setItemSelector = (0, import_react29.useCallback)(
|
78269
79645
|
(newItemSelector) => {
|
78270
79646
|
if (newItemSelector === itemSelector)
|
78271
79647
|
return;
|
@@ -78278,21 +79654,21 @@ var require_dist2 = __commonJS({
|
|
78278
79654
|
[itemSelector]
|
78279
79655
|
);
|
78280
79656
|
const selectedItem = itemSelector ? getItem2(itemSelector, data) : null;
|
78281
|
-
(0,
|
79657
|
+
(0, import_react29.useEffect)(() => {
|
78282
79658
|
if (onChange)
|
78283
79659
|
onChange(data);
|
78284
79660
|
}, [data]);
|
78285
79661
|
const { onDragStartOrUpdate, placeholderStyle } = usePlaceholderStyle();
|
78286
|
-
const [draggedItem, setDraggedItem] = (0,
|
79662
|
+
const [draggedItem, setDraggedItem] = (0, import_react29.useState)();
|
78287
79663
|
const rootProps = data.root.props || data.root;
|
78288
|
-
(0,
|
79664
|
+
(0, import_react29.useEffect)(() => {
|
78289
79665
|
if (Object.keys(data.root).length > 0 && !data.root.props) {
|
78290
79666
|
console.error(
|
78291
79667
|
"Warning: Defining props on `root` is deprecated. Please use `root.props`. This will be a breaking change in a future release."
|
78292
79668
|
);
|
78293
79669
|
}
|
78294
79670
|
}, []);
|
78295
|
-
const toggleSidebars = (0,
|
79671
|
+
const toggleSidebars = (0, import_react29.useCallback)(
|
78296
79672
|
(sidebar) => {
|
78297
79673
|
const widerViewport = window.matchMedia("(min-width: 638px)").matches;
|
78298
79674
|
const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
|
@@ -78306,7 +79682,7 @@ var require_dist2 = __commonJS({
|
|
78306
79682
|
},
|
78307
79683
|
[dispatch, leftSideBarVisible, rightSideBarVisible]
|
78308
79684
|
);
|
78309
|
-
(0,
|
79685
|
+
(0, import_react29.useEffect)(() => {
|
78310
79686
|
if (!window.matchMedia("(min-width: 638px)").matches) {
|
78311
79687
|
dispatch({
|
78312
79688
|
type: "setUi",
|
@@ -78329,11 +79705,11 @@ var require_dist2 = __commonJS({
|
|
78329
79705
|
window.removeEventListener("resize", handleResize);
|
78330
79706
|
};
|
78331
79707
|
}, []);
|
78332
|
-
const defaultRender = (0,
|
78333
|
-
const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0,
|
79708
|
+
const defaultRender = (0, import_react29.useMemo)(() => {
|
79709
|
+
const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: children2 });
|
78334
79710
|
return PuckDefault;
|
78335
79711
|
}, []);
|
78336
|
-
const defaultHeaderRender = (0,
|
79712
|
+
const defaultHeaderRender = (0, import_react29.useMemo)(() => {
|
78337
79713
|
if (renderHeader) {
|
78338
79714
|
console.warn(
|
78339
79715
|
"`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
|
@@ -78341,45 +79717,45 @@ var require_dist2 = __commonJS({
|
|
78341
79717
|
const RenderHeader = (_a22) => {
|
78342
79718
|
var _b = _a22, { actions } = _b, props = __objRest2(_b, ["actions"]);
|
78343
79719
|
const Comp = renderHeader;
|
78344
|
-
return /* @__PURE__ */ (0,
|
79720
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Comp, __spreadProps2(__spreadValues2({}, props), { dispatch, state: appState, children: actions }));
|
78345
79721
|
};
|
78346
79722
|
return RenderHeader;
|
78347
79723
|
}
|
78348
79724
|
return defaultRender;
|
78349
79725
|
}, [renderHeader]);
|
78350
|
-
const defaultHeaderActionsRender = (0,
|
79726
|
+
const defaultHeaderActionsRender = (0, import_react29.useMemo)(() => {
|
78351
79727
|
if (renderHeaderActions) {
|
78352
79728
|
console.warn(
|
78353
79729
|
"`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
|
78354
79730
|
);
|
78355
79731
|
const RenderHeader = (props) => {
|
78356
79732
|
const Comp = renderHeaderActions;
|
78357
|
-
return /* @__PURE__ */ (0,
|
79733
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Comp, __spreadProps2(__spreadValues2({}, props), { dispatch, state: appState }));
|
78358
79734
|
};
|
78359
79735
|
return RenderHeader;
|
78360
79736
|
}
|
78361
79737
|
return defaultRender;
|
78362
79738
|
}, [renderHeader]);
|
78363
|
-
const loadedOverrides = (0,
|
79739
|
+
const loadedOverrides = (0, import_react29.useMemo)(() => {
|
78364
79740
|
return loadOverrides({ overrides, plugins });
|
78365
79741
|
}, [plugins]);
|
78366
|
-
const CustomPuck = (0,
|
79742
|
+
const CustomPuck = (0, import_react29.useMemo)(
|
78367
79743
|
() => loadedOverrides.puck || defaultRender,
|
78368
79744
|
[loadedOverrides]
|
78369
79745
|
);
|
78370
|
-
const CustomHeader = (0,
|
79746
|
+
const CustomHeader = (0, import_react29.useMemo)(
|
78371
79747
|
() => loadedOverrides.header || defaultHeaderRender,
|
78372
79748
|
[loadedOverrides]
|
78373
79749
|
);
|
78374
|
-
const CustomHeaderActions = (0,
|
79750
|
+
const CustomHeaderActions = (0, import_react29.useMemo)(
|
78375
79751
|
() => loadedOverrides.headerActions || defaultHeaderActionsRender,
|
78376
79752
|
[loadedOverrides]
|
78377
79753
|
);
|
78378
|
-
const [mounted, setMounted] = (0,
|
78379
|
-
(0,
|
79754
|
+
const [mounted, setMounted] = (0, import_react29.useState)(false);
|
79755
|
+
(0, import_react29.useEffect)(() => {
|
78380
79756
|
setMounted(true);
|
78381
79757
|
}, []);
|
78382
|
-
return /* @__PURE__ */ (0,
|
79758
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "Puck", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
78383
79759
|
AppProvider,
|
78384
79760
|
{
|
78385
79761
|
value: {
|
@@ -78394,9 +79770,10 @@ var require_dist2 = __commonJS({
|
|
78394
79770
|
viewports,
|
78395
79771
|
iframe
|
78396
79772
|
},
|
78397
|
-
children: /* @__PURE__ */ (0,
|
79773
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
78398
79774
|
DragDropContext2,
|
78399
79775
|
{
|
79776
|
+
autoScrollerOptions: { disabled: dnd == null ? void 0 : dnd.disableAutoScroll },
|
78400
79777
|
onDragUpdate: (update2) => {
|
78401
79778
|
setDraggedItem(__spreadValues2(__spreadValues2({}, draggedItem), update2));
|
78402
79779
|
onDragStartOrUpdate(update2);
|
@@ -78449,7 +79826,7 @@ var require_dist2 = __commonJS({
|
|
78449
79826
|
});
|
78450
79827
|
}
|
78451
79828
|
},
|
78452
|
-
children: /* @__PURE__ */ (0,
|
79829
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
78453
79830
|
DropZoneProvider,
|
78454
79831
|
{
|
78455
79832
|
value: {
|
@@ -78463,7 +79840,7 @@ var require_dist2 = __commonJS({
|
|
78463
79840
|
mode: "edit",
|
78464
79841
|
areaId: "root"
|
78465
79842
|
},
|
78466
|
-
children: /* @__PURE__ */ (0,
|
79843
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
78467
79844
|
"div",
|
78468
79845
|
{
|
78469
79846
|
className: getClassName25({
|
@@ -78473,65 +79850,65 @@ var require_dist2 = __commonJS({
|
|
78473
79850
|
rightSideBarVisible
|
78474
79851
|
}),
|
78475
79852
|
children: [
|
78476
|
-
/* @__PURE__ */ (0,
|
78477
|
-
/* @__PURE__ */ (0,
|
79853
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: getClassName25("layout"), children: [
|
79854
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
78478
79855
|
CustomHeader,
|
78479
79856
|
{
|
78480
|
-
actions: /* @__PURE__ */ (0,
|
78481
|
-
/* @__PURE__ */ (0,
|
78482
|
-
/* @__PURE__ */ (0,
|
79857
|
+
actions: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
|
79858
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CustomHeaderActions, {}),
|
79859
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
78483
79860
|
Button,
|
78484
79861
|
{
|
78485
79862
|
onClick: () => {
|
78486
79863
|
onPublish && onPublish(data);
|
78487
79864
|
},
|
78488
|
-
icon: /* @__PURE__ */ (0,
|
79865
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Globe, { size: "14px" }),
|
78489
79866
|
children: "Publish"
|
78490
79867
|
}
|
78491
79868
|
)
|
78492
79869
|
] }),
|
78493
|
-
children: /* @__PURE__ */ (0,
|
78494
|
-
/* @__PURE__ */ (0,
|
78495
|
-
/* @__PURE__ */ (0,
|
79870
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("header", { className: getClassName25("header"), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: getClassName25("headerInner"), children: [
|
79871
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: getClassName25("headerToggle"), children: [
|
79872
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("leftSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
78496
79873
|
IconButton,
|
78497
79874
|
{
|
78498
79875
|
onClick: () => {
|
78499
79876
|
toggleSidebars("left");
|
78500
79877
|
},
|
78501
79878
|
title: "Toggle left sidebar",
|
78502
|
-
children: /* @__PURE__ */ (0,
|
79879
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PanelLeft, { focusable: "false" })
|
78503
79880
|
}
|
78504
79881
|
) }),
|
78505
|
-
/* @__PURE__ */ (0,
|
79882
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("rightSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
78506
79883
|
IconButton,
|
78507
79884
|
{
|
78508
79885
|
onClick: () => {
|
78509
79886
|
toggleSidebars("right");
|
78510
79887
|
},
|
78511
79888
|
title: "Toggle right sidebar",
|
78512
|
-
children: /* @__PURE__ */ (0,
|
79889
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PanelRight, { focusable: "false" })
|
78513
79890
|
}
|
78514
79891
|
) })
|
78515
79892
|
] }),
|
78516
|
-
/* @__PURE__ */ (0,
|
79893
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Heading2, { rank: 2, size: "xs", children: [
|
78517
79894
|
headerTitle || rootProps.title || "Page",
|
78518
|
-
headerPath && /* @__PURE__ */ (0,
|
79895
|
+
headerPath && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
|
78519
79896
|
" ",
|
78520
|
-
/* @__PURE__ */ (0,
|
79897
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("code", { className: getClassName25("headerPath"), children: headerPath })
|
78521
79898
|
] })
|
78522
79899
|
] }) }),
|
78523
|
-
/* @__PURE__ */ (0,
|
78524
|
-
/* @__PURE__ */ (0,
|
79900
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: getClassName25("headerTools"), children: [
|
79901
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
78525
79902
|
IconButton,
|
78526
79903
|
{
|
78527
79904
|
onClick: () => {
|
78528
79905
|
return setMenuOpen(!menuOpen);
|
78529
79906
|
},
|
78530
79907
|
title: "Toggle menu bar",
|
78531
|
-
children: menuOpen ? /* @__PURE__ */ (0,
|
79908
|
+
children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ChevronDown, { focusable: "false" })
|
78532
79909
|
}
|
78533
79910
|
) }),
|
78534
|
-
/* @__PURE__ */ (0,
|
79911
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
78535
79912
|
MenuBar,
|
78536
79913
|
{
|
78537
79914
|
appState,
|
@@ -78539,7 +79916,7 @@ var require_dist2 = __commonJS({
|
|
78539
79916
|
dispatch,
|
78540
79917
|
onPublish,
|
78541
79918
|
menuOpen,
|
78542
|
-
renderHeaderActions: () => /* @__PURE__ */ (0,
|
79919
|
+
renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CustomHeaderActions, {}),
|
78543
79920
|
setMenuOpen
|
78544
79921
|
}
|
78545
79922
|
)
|
@@ -78547,23 +79924,23 @@ var require_dist2 = __commonJS({
|
|
78547
79924
|
] }) })
|
78548
79925
|
}
|
78549
79926
|
),
|
78550
|
-
/* @__PURE__ */ (0,
|
78551
|
-
/* @__PURE__ */ (0,
|
78552
|
-
/* @__PURE__ */ (0,
|
79927
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: getClassName25("leftSideBar"), children: [
|
79928
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SidebarSection2, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Components, {}) }),
|
79929
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SidebarSection2, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Outline, {}) })
|
78553
79930
|
] }),
|
78554
|
-
/* @__PURE__ */ (0,
|
78555
|
-
/* @__PURE__ */ (0,
|
79931
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Canvas, {}),
|
79932
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
78556
79933
|
SidebarSection2,
|
78557
79934
|
{
|
78558
79935
|
noPadding: true,
|
78559
79936
|
noBorderTop: true,
|
78560
79937
|
showBreadcrumbs: true,
|
78561
79938
|
title: selectedItem ? (_a3 = config.components[selectedItem.type]["label"]) != null ? _a3 : selectedItem.type : "Page",
|
78562
|
-
children: /* @__PURE__ */ (0,
|
79939
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Fields, {})
|
78563
79940
|
}
|
78564
79941
|
) })
|
78565
79942
|
] }),
|
78566
|
-
/* @__PURE__ */ (0,
|
79943
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
78567
79944
|
"div",
|
78568
79945
|
{
|
78569
79946
|
id: "puck-portal-root",
|
@@ -78585,7 +79962,7 @@ var require_dist2 = __commonJS({
|
|
78585
79962
|
Puck.Outline = Outline;
|
78586
79963
|
Puck.Preview = Preview;
|
78587
79964
|
init_react_import2();
|
78588
|
-
var
|
79965
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
78589
79966
|
function Render({
|
78590
79967
|
config,
|
78591
79968
|
data
|
@@ -78594,7 +79971,7 @@ var require_dist2 = __commonJS({
|
|
78594
79971
|
const rootProps = data.root.props || data.root;
|
78595
79972
|
const title = (rootProps == null ? void 0 : rootProps.title) || "";
|
78596
79973
|
if ((_a3 = config.root) == null ? void 0 : _a3.render) {
|
78597
|
-
return /* @__PURE__ */ (0,
|
79974
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
78598
79975
|
config.root.render,
|
78599
79976
|
__spreadProps2(__spreadValues2({}, rootProps), {
|
78600
79977
|
puck: {
|
@@ -78603,11 +79980,11 @@ var require_dist2 = __commonJS({
|
|
78603
79980
|
title,
|
78604
79981
|
editMode: false,
|
78605
79982
|
id: "puck-root",
|
78606
|
-
children: /* @__PURE__ */ (0,
|
79983
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropZone, { zone: rootDroppableId2 })
|
78607
79984
|
})
|
78608
79985
|
) });
|
78609
79986
|
}
|
78610
|
-
return /* @__PURE__ */ (0,
|
79987
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropZone, { zone: rootDroppableId2 }) });
|
78611
79988
|
}
|
78612
79989
|
init_react_import2();
|
78613
79990
|
var migrations = [
|
@@ -78772,7 +80149,7 @@ init_react_import();
|
|
78772
80149
|
// src/HeadingAnalyzer.tsx
|
78773
80150
|
init_react_import();
|
78774
80151
|
var import_react12 = require("react");
|
78775
|
-
var import_puck = __toESM(
|
80152
|
+
var import_puck = __toESM(require_dist());
|
78776
80153
|
|
78777
80154
|
// ../core/components/SidebarSection/index.tsx
|
78778
80155
|
init_react_import();
|
@@ -78957,9 +80334,10 @@ var defaultViewports = [
|
|
78957
80334
|
];
|
78958
80335
|
|
78959
80336
|
// ../core/components/Puck/context.tsx
|
80337
|
+
var import_ua_parser_js = __toESM(require_ua_parser());
|
78960
80338
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
78961
80339
|
var defaultAppState = {
|
78962
|
-
data: { content: [], root: { props: {
|
80340
|
+
data: { content: [], root: { props: {} } },
|
78963
80341
|
ui: {
|
78964
80342
|
leftSideBarVisible: true,
|
78965
80343
|
rightSideBarVisible: true,
|
@@ -78996,7 +80374,8 @@ var defaultContext = {
|
|
78996
80374
|
setZoomConfig: () => null,
|
78997
80375
|
status: "LOADING",
|
78998
80376
|
setStatus: () => null,
|
78999
|
-
iframe: {}
|
80377
|
+
iframe: {},
|
80378
|
+
safariFallbackMode: false
|
79000
80379
|
};
|
79001
80380
|
var appContext = (0, import_react10.createContext)(defaultContext);
|
79002
80381
|
function useAppContext() {
|