@measured/puck-plugin-heading-analyzer 0.17.0-canary.35170f8 → 0.17.0-canary.361e5f9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.js +202 -89
  2. package/dist/index.mjs +188 -75
  3. package/package.json +5 -5
package/dist/index.js CHANGED
@@ -79,35 +79,45 @@ var require_classnames = __commonJS({
79
79
  (function() {
80
80
  "use strict";
81
81
  var hasOwn = {}.hasOwnProperty;
82
- var nativeCodeString = "[native code]";
83
82
  function classNames() {
84
- var classes = [];
83
+ var classes = "";
85
84
  for (var i = 0; i < arguments.length; i++) {
86
85
  var arg = arguments[i];
87
- if (!arg) continue;
88
- var argType = typeof arg;
89
- if (argType === "string" || argType === "number") {
90
- classes.push(arg);
91
- } else if (Array.isArray(arg)) {
92
- if (arg.length) {
93
- var inner = classNames.apply(null, arg);
94
- if (inner) {
95
- classes.push(inner);
96
- }
97
- }
98
- } else if (argType === "object") {
99
- if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
100
- classes.push(arg.toString());
101
- continue;
102
- }
103
- for (var key in arg) {
104
- if (hasOwn.call(arg, key) && arg[key]) {
105
- classes.push(key);
106
- }
107
- }
86
+ if (arg) {
87
+ classes = appendClass(classes, parseValue(arg));
108
88
  }
109
89
  }
110
- return classes.join(" ");
90
+ return classes;
91
+ }
92
+ function parseValue(arg) {
93
+ if (typeof arg === "string" || typeof arg === "number") {
94
+ return arg;
95
+ }
96
+ if (typeof arg !== "object") {
97
+ return "";
98
+ }
99
+ if (Array.isArray(arg)) {
100
+ return classNames.apply(null, arg);
101
+ }
102
+ if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
103
+ return arg.toString();
104
+ }
105
+ var classes = "";
106
+ for (var key in arg) {
107
+ if (hasOwn.call(arg, key) && arg[key]) {
108
+ classes = appendClass(classes, key);
109
+ }
110
+ }
111
+ return classes;
112
+ }
113
+ function appendClass(value, newClass) {
114
+ if (!newClass) {
115
+ return value;
116
+ }
117
+ if (value) {
118
+ return value + " " + newClass;
119
+ }
120
+ return value + newClass;
111
121
  }
112
122
  if (typeof module2 !== "undefined" && module2.exports) {
113
123
  classNames.default = classNames;
@@ -130,8 +140,8 @@ var require_ua_parser = __commonJS({
130
140
  init_react_import();
131
141
  (function(window2, undefined2) {
132
142
  "use strict";
133
- 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", TYPE = "type", VENDOR = "vendor", VERSION = "version", ARCHITECTURE = "architecture", CONSOLE = "console", MOBILE = "mobile", TABLET = "tablet", SMARTTV = "smarttv", WEARABLE = "wearable", EMBEDDED = "embedded", UA_MAX_LENGTH = 500;
134
- 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";
143
+ var LIBVERSION = "1.0.39", EMPTY = "", UNKNOWN = "?", FUNC_TYPE = "function", UNDEF_TYPE = "undefined", OBJ_TYPE = "object", STR_TYPE = "string", MAJOR = "major", MODEL = "model", NAME = "name", TYPE = "type", VENDOR = "vendor", VERSION = "version", ARCHITECTURE = "architecture", CONSOLE = "console", MOBILE = "mobile", TABLET = "tablet", SMARTTV = "smarttv", WEARABLE = "wearable", EMBEDDED = "embedded", UA_MAX_LENGTH = 500;
144
+ 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", SUFFIX_BROWSER = " Browser";
135
145
  var extend = function(regexes2, extensions) {
136
146
  var mergedRegexes = {};
137
147
  for (var i in regexes2) {
@@ -210,7 +220,7 @@ var require_ua_parser = __commonJS({
210
220
  return i === UNKNOWN ? undefined2 : i;
211
221
  }
212
222
  }
213
- return str;
223
+ return map.hasOwnProperty("*") ? map["*"] : str;
214
224
  };
215
225
  var oldSafariMap = {
216
226
  "1.0": "/8",
@@ -261,6 +271,11 @@ var require_ua_parser = __commonJS({
261
271
  // Opera mini on iphone >= 8.0
262
272
  ],
263
273
  [VERSION, [NAME, OPERA + " Mini"]],
274
+ [
275
+ /\bop(?:rg)?x\/([\w\.]+)/i
276
+ // Opera GX
277
+ ],
278
+ [VERSION, [NAME, OPERA + " GX"]],
264
279
  [
265
280
  /\bopr\/([\w\.]+)/i
266
281
  // Opera Webkit
@@ -275,22 +290,32 @@ var require_ua_parser = __commonJS({
275
290
  [
276
291
  /(kindle)\/([\w\.]+)/i,
277
292
  // Kindle
278
- /(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,
279
- // Lunascape/Maxthon/Netfront/Jasmine/Blazer
293
+ /(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,
294
+ // Lunascape/Maxthon/Netfront/Jasmine/Blazer/Sleipnir
280
295
  // Trident based
281
296
  /(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,
282
297
  // Avant/IEMobile/SlimBrowser
283
298
  /(?:ms|\()(ie) ([\w\.]+)/i,
284
299
  // Internet Explorer
285
300
  // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
286
- /(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,
287
- // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ
301
+ /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio)\/([-\w\.]+)/i,
302
+ // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo/Klar/Helio
288
303
  /(heytap|ovi)browser\/([\d\.]+)/i,
289
- // Heytap/Ovi
304
+ // HeyTap/Ovi
290
305
  /(weibo)__([\d\.]+)/i
291
306
  // Weibo
292
307
  ],
293
308
  [NAME, VERSION],
309
+ [
310
+ /quark(?:pc)?\/([-\w\.]+)/i
311
+ // Quark
312
+ ],
313
+ [VERSION, [NAME, "Quark"]],
314
+ [
315
+ /\bddg\/([\w\.]+)/i
316
+ // DuckDuckGo
317
+ ],
318
+ [VERSION, [NAME, "DuckDuckGo"]],
294
319
  [
295
320
  /(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i
296
321
  // UCBrowser
@@ -368,13 +393,18 @@ var require_ua_parser = __commonJS({
368
393
  /\bqihu|(qi?ho?o?|360)browser/i
369
394
  // 360
370
395
  ],
371
- [[NAME, "360 " + BROWSER]],
396
+ [[NAME, "360" + SUFFIX_BROWSER]],
372
397
  [
373
- /(oculus|sailfish|huawei|vivo)browser\/([\w\.]+)/i
398
+ /\b(qq)\/([\w\.]+)/i
399
+ // QQ
374
400
  ],
375
- [[NAME, /(.+)/, "$1 " + BROWSER], VERSION],
401
+ [[NAME, /(.+)/, "$1Browser"], VERSION],
376
402
  [
377
- // Oculus/Sailfish/HuaweiBrowser/VivoBrowser
403
+ /(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i
404
+ ],
405
+ [[NAME, /(.+)/, "$1" + SUFFIX_BROWSER], VERSION],
406
+ [
407
+ // Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser
378
408
  /samsungbrowser\/([\w\.]+)/i
379
409
  // Samsung Internet
380
410
  ],
@@ -404,8 +434,8 @@ var require_ua_parser = __commonJS({
404
434
  ],
405
435
  [NAME, VERSION],
406
436
  [
407
- /(lbbrowser)/i,
408
- // LieBao Browser
437
+ /(lbbrowser|rekonq)/i,
438
+ // LieBao Browser/Rekonq
409
439
  /\[(linkedin)app\]/i
410
440
  // LinkedIn App for iOS & Android
411
441
  ],
@@ -429,6 +459,8 @@ var require_ua_parser = __commonJS({
429
459
  // Line App for Android
430
460
  /(alipay)client\/([\w\.]+)/i,
431
461
  // Alipay
462
+ /(twitter)(?:and| f.+e\/([\w\.]+))/i,
463
+ // Twitter
432
464
  /(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i
433
465
  // Chromium/Instagram/Snapchat
434
466
  ],
@@ -488,6 +520,11 @@ var require_ua_parser = __commonJS({
488
520
  // Netscape
489
521
  ],
490
522
  [[NAME, "Netscape"], VERSION],
523
+ [
524
+ /(wolvic)\/([\w\.]+)/i
525
+ // Wolvic
526
+ ],
527
+ [NAME, VERSION],
491
528
  [
492
529
  /mobile vr; rv:([\w\.]+)\).+firefox/i
493
530
  // Firefox Reality
@@ -498,8 +535,8 @@ var require_ua_parser = __commonJS({
498
535
  // Flow
499
536
  /(swiftfox)/i,
500
537
  // Swiftfox
501
- /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,
502
- // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar
538
+ /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,
539
+ // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror
503
540
  /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,
504
541
  // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix
505
542
  /(firefox)\/([\w\.]+)/i,
@@ -507,14 +544,12 @@ var require_ua_parser = __commonJS({
507
544
  /(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,
508
545
  // Mozilla
509
546
  // Other
510
- /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
511
- // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser
512
- /(links) \(([\w\.]+)/i,
547
+ /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
548
+ // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Obigo/Mosaic/Go/ICE/UP.Browser
549
+ /(links) \(([\w\.]+)/i
513
550
  // Links
514
- /panasonic;(viera)/i
515
- // Panasonic Viera
516
551
  ],
517
- [NAME, VERSION],
552
+ [NAME, [VERSION, /_/g, "."]],
518
553
  [
519
554
  /(cobalt)\/([\w\.]+)/i
520
555
  // Cobalt
@@ -578,8 +613,8 @@ var require_ua_parser = __commonJS({
578
613
  ],
579
614
  [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]],
580
615
  [
581
- /\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
582
- /samsung[- ]([-\w]+)/i,
616
+ /\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
617
+ /samsung[- ]((?!sm-[lr])[-\w]+)/i,
583
618
  /sec-(sgh\w+)/i
584
619
  ],
585
620
  [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]],
@@ -627,7 +662,7 @@ var require_ua_parser = __commonJS({
627
662
  // Xiaomi Redmi
628
663
  /oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,
629
664
  // Xiaomi Redmi 'numeric' models
630
- /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i
665
+ /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i
631
666
  // Xiaomi Mi
632
667
  ],
633
668
  [[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, MOBILE]],
@@ -644,6 +679,10 @@ var require_ua_parser = __commonJS({
644
679
  /\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
645
680
  ],
646
681
  [MODEL, [VENDOR, "OPPO"], [TYPE, MOBILE]],
682
+ [
683
+ /\b(opd2\d{3}a?) bui/i
684
+ ],
685
+ [MODEL, [VENDOR, "OPPO"], [TYPE, TABLET]],
647
686
  [
648
687
  // Vivo
649
688
  /vivo (\w+)(?: bui|\))/i,
@@ -719,7 +758,7 @@ var require_ua_parser = __commonJS({
719
758
  [
720
759
  // Amazon
721
760
  /(alexa)webm/i,
722
- /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,
761
+ /(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,
723
762
  // Kindle Fire without Silk / Echo Show
724
763
  /(kf[a-z]+)( bui|\)).+silk\//i
725
764
  // Kindle Fire HD
@@ -766,6 +805,16 @@ var require_ua_parser = __commonJS({
766
805
  // Alcatel/GeeksPhone/Nexian/Panasonic/Sony
767
806
  ],
768
807
  [VENDOR, [MODEL, /_/g, " "], [TYPE, MOBILE]],
808
+ [
809
+ // TCL
810
+ /droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i
811
+ ],
812
+ [MODEL, [VENDOR, "TCL"], [TYPE, TABLET]],
813
+ [
814
+ // itel
815
+ /(itel) ((\w+))/i
816
+ ],
817
+ [[VENDOR, lowerize], MODEL, [TYPE, strMapper, { "tablet": ["p10001l", "w7001"], "*": "mobile" }]],
769
818
  [
770
819
  // Acer
771
820
  /droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
@@ -782,6 +831,11 @@ var require_ua_parser = __commonJS({
782
831
  /; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i
783
832
  ],
784
833
  [MODEL, [VENDOR, "Ulefone"], [TYPE, MOBILE]],
834
+ [
835
+ // Nothing
836
+ /droid.+; (a(?:015|06[35]|142p?))/i
837
+ ],
838
+ [MODEL, [VENDOR, "Nothing"], [TYPE, MOBILE]],
785
839
  [
786
840
  // MIXED
787
841
  /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,
@@ -1056,6 +1110,11 @@ var require_ua_parser = __commonJS({
1056
1110
  ///////////////////
1057
1111
  // WEARABLES
1058
1112
  ///////////////////
1113
+ /\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i
1114
+ // Samsung Galaxy Watch
1115
+ ],
1116
+ [MODEL, [VENDOR, SAMSUNG], [TYPE, WEARABLE]],
1117
+ [
1059
1118
  /((pebble))app/i
1060
1119
  // Pebble
1061
1120
  ],
@@ -1075,7 +1134,7 @@ var require_ua_parser = __commonJS({
1075
1134
  ],
1076
1135
  [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]],
1077
1136
  [
1078
- /(quest( 2| pro)?)/i
1137
+ /(quest( \d| pro)?)/i
1079
1138
  // Oculus Quest
1080
1139
  ],
1081
1140
  [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]],
@@ -1346,7 +1405,7 @@ var require_ua_parser = __commonJS({
1346
1405
  _os[NAME] = undefined2;
1347
1406
  _os[VERSION] = undefined2;
1348
1407
  rgxMapper.call(_os, _ua, _rgxmap.os);
1349
- if (_isSelfNav && !_os[NAME] && _uach && _uach.platform != "Unknown") {
1408
+ if (_isSelfNav && !_os[NAME] && _uach && _uach.platform && _uach.platform != "Unknown") {
1350
1409
  _os[NAME] = _uach.platform.replace(/chrome os/i, CHROMIUM_OS).replace(/macos/i, MAC_OS);
1351
1410
  }
1352
1411
  return _os;
@@ -1419,7 +1478,7 @@ init_react_import();
1419
1478
 
1420
1479
  // src/HeadingAnalyzer.tsx
1421
1480
  init_react_import();
1422
- var import_react8 = require("react");
1481
+ var import_react9 = require("react");
1423
1482
 
1424
1483
  // css-module:/home/runner/work/puck/puck/packages/plugin-heading-analyzer/src/HeadingAnalyzer.module.css#css-module
1425
1484
  init_react_import();
@@ -1490,6 +1549,17 @@ init_react_import();
1490
1549
 
1491
1550
  // ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
1492
1551
  init_react_import();
1552
+ var import_react3 = require("react");
1553
+
1554
+ // ../../node_modules/lucide-react/dist/esm/shared/src/utils.js
1555
+ init_react_import();
1556
+ var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
1557
+ var mergeClasses = (...classes) => classes.filter((className, index, array) => {
1558
+ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
1559
+ }).join(" ").trim();
1560
+
1561
+ // ../../node_modules/lucide-react/dist/esm/Icon.js
1562
+ init_react_import();
1493
1563
  var import_react2 = require("react");
1494
1564
 
1495
1565
  // ../../node_modules/lucide-react/dist/esm/defaultAttributes.js
@@ -1506,28 +1576,55 @@ var defaultAttributes = {
1506
1576
  strokeLinejoin: "round"
1507
1577
  };
1508
1578
 
1579
+ // ../../node_modules/lucide-react/dist/esm/Icon.js
1580
+ var Icon = (0, import_react2.forwardRef)(
1581
+ (_a, ref) => {
1582
+ var _b = _a, {
1583
+ color = "currentColor",
1584
+ size = 24,
1585
+ strokeWidth = 2,
1586
+ absoluteStrokeWidth,
1587
+ className = "",
1588
+ children,
1589
+ iconNode
1590
+ } = _b, rest = __objRest(_b, [
1591
+ "color",
1592
+ "size",
1593
+ "strokeWidth",
1594
+ "absoluteStrokeWidth",
1595
+ "className",
1596
+ "children",
1597
+ "iconNode"
1598
+ ]);
1599
+ return (0, import_react2.createElement)(
1600
+ "svg",
1601
+ __spreadValues(__spreadProps(__spreadValues({
1602
+ ref
1603
+ }, defaultAttributes), {
1604
+ width: size,
1605
+ height: size,
1606
+ stroke: color,
1607
+ strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
1608
+ className: mergeClasses("lucide", className)
1609
+ }), rest),
1610
+ [
1611
+ ...iconNode.map(([tag, attrs]) => (0, import_react2.createElement)(tag, attrs)),
1612
+ ...Array.isArray(children) ? children : [children]
1613
+ ]
1614
+ );
1615
+ }
1616
+ );
1617
+
1509
1618
  // ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
1510
- var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase().trim();
1511
1619
  var createLucideIcon = (iconName, iconNode) => {
1512
- const Component = (0, import_react2.forwardRef)(
1620
+ const Component = (0, import_react3.forwardRef)(
1513
1621
  (_a, ref) => {
1514
- var _b = _a, { color = "currentColor", size = 24, strokeWidth = 2, absoluteStrokeWidth, className = "", children } = _b, rest = __objRest(_b, ["color", "size", "strokeWidth", "absoluteStrokeWidth", "className", "children"]);
1515
- return (0, import_react2.createElement)(
1516
- "svg",
1517
- __spreadValues(__spreadProps(__spreadValues({
1518
- ref
1519
- }, defaultAttributes), {
1520
- width: size,
1521
- height: size,
1522
- stroke: color,
1523
- strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
1524
- className: ["lucide", `lucide-${toKebabCase(iconName)}`, className].join(" ")
1525
- }), rest),
1526
- [
1527
- ...iconNode.map(([tag, attrs]) => (0, import_react2.createElement)(tag, attrs)),
1528
- ...Array.isArray(children) ? children : [children]
1529
- ]
1530
- );
1622
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1623
+ return (0, import_react3.createElement)(Icon, __spreadValues({
1624
+ ref,
1625
+ iconNode,
1626
+ className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className)
1627
+ }, props));
1531
1628
  }
1532
1629
  );
1533
1630
  Component.displayName = `${iconName}`;
@@ -1542,11 +1639,11 @@ var ChevronRight = createLucideIcon("ChevronRight", [
1542
1639
 
1543
1640
  // ../core/lib/use-breadcrumbs.ts
1544
1641
  init_react_import();
1545
- var import_react7 = require("react");
1642
+ var import_react8 = require("react");
1546
1643
 
1547
1644
  // ../core/components/DropZone/context.tsx
1548
1645
  init_react_import();
1549
- var import_react3 = require("react");
1646
+ var import_react4 = require("react");
1550
1647
 
1551
1648
  // ../core/lib/get-item.ts
1552
1649
  init_react_import();
@@ -1572,11 +1669,11 @@ var getZoneId = (zoneCompound) => {
1572
1669
 
1573
1670
  // ../core/components/DropZone/context.tsx
1574
1671
  var import_jsx_runtime2 = require("react/jsx-runtime");
1575
- var dropZoneContext = (0, import_react3.createContext)(null);
1672
+ var dropZoneContext = (0, import_react4.createContext)(null);
1576
1673
 
1577
1674
  // ../core/components/Puck/context.tsx
1578
1675
  init_react_import();
1579
- var import_react6 = require("react");
1676
+ var import_react7 = require("react");
1580
1677
 
1581
1678
  // ../core/components/ViewportControls/default-viewports.ts
1582
1679
  init_react_import();
@@ -1591,7 +1688,7 @@ var import_ua_parser_js = __toESM(require_ua_parser());
1591
1688
 
1592
1689
  // ../core/lib/use-resolved-permissions.ts
1593
1690
  init_react_import();
1594
- var import_react4 = require("react");
1691
+ var import_react5 = require("react");
1595
1692
 
1596
1693
  // ../core/lib/flatten-data.ts
1597
1694
  init_react_import();
@@ -1601,7 +1698,7 @@ init_react_import();
1601
1698
 
1602
1699
  // ../core/lib/use-resolved-data.ts
1603
1700
  init_react_import();
1604
- var import_react5 = require("react");
1701
+ var import_react6 = require("react");
1605
1702
 
1606
1703
  // ../core/lib/resolve-component-data.ts
1607
1704
  init_react_import();
@@ -1661,9 +1758,9 @@ var defaultContext = {
1661
1758
  getPermissions: () => ({}),
1662
1759
  refreshPermissions: () => null
1663
1760
  };
1664
- var appContext = (0, import_react6.createContext)(defaultContext);
1761
+ var appContext = (0, import_react7.createContext)(defaultContext);
1665
1762
  function useAppContext() {
1666
- const mainContext = (0, import_react6.useContext)(appContext);
1763
+ const mainContext = (0, import_react7.useContext)(appContext);
1667
1764
  return __spreadProps(__spreadValues({}, mainContext), {
1668
1765
  // Helpers
1669
1766
  setUi: (ui, recordHistory) => {
@@ -1726,8 +1823,8 @@ var useBreadcrumbs = (renderCount) => {
1726
1823
  state: { data },
1727
1824
  selectedItem
1728
1825
  } = useAppContext();
1729
- const dzContext = (0, import_react7.useContext)(dropZoneContext);
1730
- return (0, import_react7.useMemo)(() => {
1826
+ const dzContext = (0, import_react8.useContext)(dropZoneContext);
1827
+ return (0, import_react8.useMemo)(() => {
1731
1828
  const breadcrumbs = convertPathDataToBreadcrumbs(
1732
1829
  selectedItem,
1733
1830
  dzContext == null ? void 0 : dzContext.pathData,
@@ -1937,9 +2034,9 @@ function buildHierarchy(frame) {
1937
2034
  }
1938
2035
  var HeadingAnalyzer = () => {
1939
2036
  const { appState } = (0, import_puck.usePuck)();
1940
- const [hierarchy, setHierarchy] = (0, import_react8.useState)([]);
1941
- const [firstRender, setFirstRender] = (0, import_react8.useState)(true);
1942
- (0, import_react8.useEffect)(() => {
2037
+ const [hierarchy, setHierarchy] = (0, import_react9.useState)([]);
2038
+ const [firstRender, setFirstRender] = (0, import_react9.useState)(true);
2039
+ (0, import_react9.useEffect)(() => {
1943
2040
  const frame = getFrame();
1944
2041
  if (!frame) return;
1945
2042
  if (firstRender) {
@@ -2051,9 +2148,25 @@ classnames/index.js:
2051
2148
  http://jedwatson.github.io/classnames
2052
2149
  *)
2053
2150
 
2151
+ lucide-react/dist/esm/shared/src/utils.js:
2152
+ (**
2153
+ * @license lucide-react v0.468.0 - ISC
2154
+ *
2155
+ * This source code is licensed under the ISC license.
2156
+ * See the LICENSE file in the root directory of this source tree.
2157
+ *)
2158
+
2054
2159
  lucide-react/dist/esm/defaultAttributes.js:
2055
2160
  (**
2056
- * @license lucide-react v0.298.0 - ISC
2161
+ * @license lucide-react v0.468.0 - ISC
2162
+ *
2163
+ * This source code is licensed under the ISC license.
2164
+ * See the LICENSE file in the root directory of this source tree.
2165
+ *)
2166
+
2167
+ lucide-react/dist/esm/Icon.js:
2168
+ (**
2169
+ * @license lucide-react v0.468.0 - ISC
2057
2170
  *
2058
2171
  * This source code is licensed under the ISC license.
2059
2172
  * See the LICENSE file in the root directory of this source tree.
@@ -2061,7 +2174,7 @@ lucide-react/dist/esm/defaultAttributes.js:
2061
2174
 
2062
2175
  lucide-react/dist/esm/createLucideIcon.js:
2063
2176
  (**
2064
- * @license lucide-react v0.298.0 - ISC
2177
+ * @license lucide-react v0.468.0 - ISC
2065
2178
  *
2066
2179
  * This source code is licensed under the ISC license.
2067
2180
  * See the LICENSE file in the root directory of this source tree.
@@ -2069,7 +2182,7 @@ lucide-react/dist/esm/createLucideIcon.js:
2069
2182
 
2070
2183
  lucide-react/dist/esm/icons/chevron-right.js:
2071
2184
  (**
2072
- * @license lucide-react v0.298.0 - ISC
2185
+ * @license lucide-react v0.468.0 - ISC
2073
2186
  *
2074
2187
  * This source code is licensed under the ISC license.
2075
2188
  * See the LICENSE file in the root directory of this source tree.
@@ -2077,7 +2190,7 @@ lucide-react/dist/esm/icons/chevron-right.js:
2077
2190
 
2078
2191
  lucide-react/dist/esm/lucide-react.js:
2079
2192
  (**
2080
- * @license lucide-react v0.298.0 - ISC
2193
+ * @license lucide-react v0.468.0 - ISC
2081
2194
  *
2082
2195
  * This source code is licensed under the ISC license.
2083
2196
  * See the LICENSE file in the root directory of this source tree.
package/dist/index.mjs CHANGED
@@ -72,35 +72,45 @@ var require_classnames = __commonJS({
72
72
  (function() {
73
73
  "use strict";
74
74
  var hasOwn = {}.hasOwnProperty;
75
- var nativeCodeString = "[native code]";
76
75
  function classNames() {
77
- var classes = [];
76
+ var classes = "";
78
77
  for (var i = 0; i < arguments.length; i++) {
79
78
  var arg = arguments[i];
80
- if (!arg) continue;
81
- var argType = typeof arg;
82
- if (argType === "string" || argType === "number") {
83
- classes.push(arg);
84
- } else if (Array.isArray(arg)) {
85
- if (arg.length) {
86
- var inner = classNames.apply(null, arg);
87
- if (inner) {
88
- classes.push(inner);
89
- }
90
- }
91
- } else if (argType === "object") {
92
- if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
93
- classes.push(arg.toString());
94
- continue;
95
- }
96
- for (var key in arg) {
97
- if (hasOwn.call(arg, key) && arg[key]) {
98
- classes.push(key);
99
- }
100
- }
79
+ if (arg) {
80
+ classes = appendClass(classes, parseValue(arg));
81
+ }
82
+ }
83
+ return classes;
84
+ }
85
+ function parseValue(arg) {
86
+ if (typeof arg === "string" || typeof arg === "number") {
87
+ return arg;
88
+ }
89
+ if (typeof arg !== "object") {
90
+ return "";
91
+ }
92
+ if (Array.isArray(arg)) {
93
+ return classNames.apply(null, arg);
94
+ }
95
+ if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
96
+ return arg.toString();
97
+ }
98
+ var classes = "";
99
+ for (var key in arg) {
100
+ if (hasOwn.call(arg, key) && arg[key]) {
101
+ classes = appendClass(classes, key);
101
102
  }
102
103
  }
103
- return classes.join(" ");
104
+ return classes;
105
+ }
106
+ function appendClass(value, newClass) {
107
+ if (!newClass) {
108
+ return value;
109
+ }
110
+ if (value) {
111
+ return value + " " + newClass;
112
+ }
113
+ return value + newClass;
104
114
  }
105
115
  if (typeof module !== "undefined" && module.exports) {
106
116
  classNames.default = classNames;
@@ -123,8 +133,8 @@ var require_ua_parser = __commonJS({
123
133
  init_react_import();
124
134
  (function(window2, undefined2) {
125
135
  "use strict";
126
- 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", TYPE = "type", VENDOR = "vendor", VERSION = "version", ARCHITECTURE = "architecture", CONSOLE = "console", MOBILE = "mobile", TABLET = "tablet", SMARTTV = "smarttv", WEARABLE = "wearable", EMBEDDED = "embedded", UA_MAX_LENGTH = 500;
127
- 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";
136
+ var LIBVERSION = "1.0.39", EMPTY = "", UNKNOWN = "?", FUNC_TYPE = "function", UNDEF_TYPE = "undefined", OBJ_TYPE = "object", STR_TYPE = "string", MAJOR = "major", MODEL = "model", NAME = "name", TYPE = "type", VENDOR = "vendor", VERSION = "version", ARCHITECTURE = "architecture", CONSOLE = "console", MOBILE = "mobile", TABLET = "tablet", SMARTTV = "smarttv", WEARABLE = "wearable", EMBEDDED = "embedded", UA_MAX_LENGTH = 500;
137
+ 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", SUFFIX_BROWSER = " Browser";
128
138
  var extend = function(regexes2, extensions) {
129
139
  var mergedRegexes = {};
130
140
  for (var i in regexes2) {
@@ -203,7 +213,7 @@ var require_ua_parser = __commonJS({
203
213
  return i === UNKNOWN ? undefined2 : i;
204
214
  }
205
215
  }
206
- return str;
216
+ return map.hasOwnProperty("*") ? map["*"] : str;
207
217
  };
208
218
  var oldSafariMap = {
209
219
  "1.0": "/8",
@@ -254,6 +264,11 @@ var require_ua_parser = __commonJS({
254
264
  // Opera mini on iphone >= 8.0
255
265
  ],
256
266
  [VERSION, [NAME, OPERA + " Mini"]],
267
+ [
268
+ /\bop(?:rg)?x\/([\w\.]+)/i
269
+ // Opera GX
270
+ ],
271
+ [VERSION, [NAME, OPERA + " GX"]],
257
272
  [
258
273
  /\bopr\/([\w\.]+)/i
259
274
  // Opera Webkit
@@ -268,22 +283,32 @@ var require_ua_parser = __commonJS({
268
283
  [
269
284
  /(kindle)\/([\w\.]+)/i,
270
285
  // Kindle
271
- /(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,
272
- // Lunascape/Maxthon/Netfront/Jasmine/Blazer
286
+ /(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,
287
+ // Lunascape/Maxthon/Netfront/Jasmine/Blazer/Sleipnir
273
288
  // Trident based
274
289
  /(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,
275
290
  // Avant/IEMobile/SlimBrowser
276
291
  /(?:ms|\()(ie) ([\w\.]+)/i,
277
292
  // Internet Explorer
278
293
  // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
279
- /(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,
280
- // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ
294
+ /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio)\/([-\w\.]+)/i,
295
+ // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo/Klar/Helio
281
296
  /(heytap|ovi)browser\/([\d\.]+)/i,
282
- // Heytap/Ovi
297
+ // HeyTap/Ovi
283
298
  /(weibo)__([\d\.]+)/i
284
299
  // Weibo
285
300
  ],
286
301
  [NAME, VERSION],
302
+ [
303
+ /quark(?:pc)?\/([-\w\.]+)/i
304
+ // Quark
305
+ ],
306
+ [VERSION, [NAME, "Quark"]],
307
+ [
308
+ /\bddg\/([\w\.]+)/i
309
+ // DuckDuckGo
310
+ ],
311
+ [VERSION, [NAME, "DuckDuckGo"]],
287
312
  [
288
313
  /(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i
289
314
  // UCBrowser
@@ -361,13 +386,18 @@ var require_ua_parser = __commonJS({
361
386
  /\bqihu|(qi?ho?o?|360)browser/i
362
387
  // 360
363
388
  ],
364
- [[NAME, "360 " + BROWSER]],
389
+ [[NAME, "360" + SUFFIX_BROWSER]],
390
+ [
391
+ /\b(qq)\/([\w\.]+)/i
392
+ // QQ
393
+ ],
394
+ [[NAME, /(.+)/, "$1Browser"], VERSION],
365
395
  [
366
- /(oculus|sailfish|huawei|vivo)browser\/([\w\.]+)/i
396
+ /(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i
367
397
  ],
368
- [[NAME, /(.+)/, "$1 " + BROWSER], VERSION],
398
+ [[NAME, /(.+)/, "$1" + SUFFIX_BROWSER], VERSION],
369
399
  [
370
- // Oculus/Sailfish/HuaweiBrowser/VivoBrowser
400
+ // Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser
371
401
  /samsungbrowser\/([\w\.]+)/i
372
402
  // Samsung Internet
373
403
  ],
@@ -397,8 +427,8 @@ var require_ua_parser = __commonJS({
397
427
  ],
398
428
  [NAME, VERSION],
399
429
  [
400
- /(lbbrowser)/i,
401
- // LieBao Browser
430
+ /(lbbrowser|rekonq)/i,
431
+ // LieBao Browser/Rekonq
402
432
  /\[(linkedin)app\]/i
403
433
  // LinkedIn App for iOS & Android
404
434
  ],
@@ -422,6 +452,8 @@ var require_ua_parser = __commonJS({
422
452
  // Line App for Android
423
453
  /(alipay)client\/([\w\.]+)/i,
424
454
  // Alipay
455
+ /(twitter)(?:and| f.+e\/([\w\.]+))/i,
456
+ // Twitter
425
457
  /(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i
426
458
  // Chromium/Instagram/Snapchat
427
459
  ],
@@ -481,6 +513,11 @@ var require_ua_parser = __commonJS({
481
513
  // Netscape
482
514
  ],
483
515
  [[NAME, "Netscape"], VERSION],
516
+ [
517
+ /(wolvic)\/([\w\.]+)/i
518
+ // Wolvic
519
+ ],
520
+ [NAME, VERSION],
484
521
  [
485
522
  /mobile vr; rv:([\w\.]+)\).+firefox/i
486
523
  // Firefox Reality
@@ -491,8 +528,8 @@ var require_ua_parser = __commonJS({
491
528
  // Flow
492
529
  /(swiftfox)/i,
493
530
  // Swiftfox
494
- /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,
495
- // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar
531
+ /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,
532
+ // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror
496
533
  /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,
497
534
  // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix
498
535
  /(firefox)\/([\w\.]+)/i,
@@ -500,14 +537,12 @@ var require_ua_parser = __commonJS({
500
537
  /(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,
501
538
  // Mozilla
502
539
  // Other
503
- /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
504
- // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser
505
- /(links) \(([\w\.]+)/i,
540
+ /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
541
+ // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Obigo/Mosaic/Go/ICE/UP.Browser
542
+ /(links) \(([\w\.]+)/i
506
543
  // Links
507
- /panasonic;(viera)/i
508
- // Panasonic Viera
509
544
  ],
510
- [NAME, VERSION],
545
+ [NAME, [VERSION, /_/g, "."]],
511
546
  [
512
547
  /(cobalt)\/([\w\.]+)/i
513
548
  // Cobalt
@@ -571,8 +606,8 @@ var require_ua_parser = __commonJS({
571
606
  ],
572
607
  [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]],
573
608
  [
574
- /\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
575
- /samsung[- ]([-\w]+)/i,
609
+ /\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
610
+ /samsung[- ]((?!sm-[lr])[-\w]+)/i,
576
611
  /sec-(sgh\w+)/i
577
612
  ],
578
613
  [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]],
@@ -620,7 +655,7 @@ var require_ua_parser = __commonJS({
620
655
  // Xiaomi Redmi
621
656
  /oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,
622
657
  // Xiaomi Redmi 'numeric' models
623
- /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i
658
+ /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i
624
659
  // Xiaomi Mi
625
660
  ],
626
661
  [[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, MOBILE]],
@@ -637,6 +672,10 @@ var require_ua_parser = __commonJS({
637
672
  /\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
638
673
  ],
639
674
  [MODEL, [VENDOR, "OPPO"], [TYPE, MOBILE]],
675
+ [
676
+ /\b(opd2\d{3}a?) bui/i
677
+ ],
678
+ [MODEL, [VENDOR, "OPPO"], [TYPE, TABLET]],
640
679
  [
641
680
  // Vivo
642
681
  /vivo (\w+)(?: bui|\))/i,
@@ -712,7 +751,7 @@ var require_ua_parser = __commonJS({
712
751
  [
713
752
  // Amazon
714
753
  /(alexa)webm/i,
715
- /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,
754
+ /(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,
716
755
  // Kindle Fire without Silk / Echo Show
717
756
  /(kf[a-z]+)( bui|\)).+silk\//i
718
757
  // Kindle Fire HD
@@ -759,6 +798,16 @@ var require_ua_parser = __commonJS({
759
798
  // Alcatel/GeeksPhone/Nexian/Panasonic/Sony
760
799
  ],
761
800
  [VENDOR, [MODEL, /_/g, " "], [TYPE, MOBILE]],
801
+ [
802
+ // TCL
803
+ /droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i
804
+ ],
805
+ [MODEL, [VENDOR, "TCL"], [TYPE, TABLET]],
806
+ [
807
+ // itel
808
+ /(itel) ((\w+))/i
809
+ ],
810
+ [[VENDOR, lowerize], MODEL, [TYPE, strMapper, { "tablet": ["p10001l", "w7001"], "*": "mobile" }]],
762
811
  [
763
812
  // Acer
764
813
  /droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
@@ -775,6 +824,11 @@ var require_ua_parser = __commonJS({
775
824
  /; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i
776
825
  ],
777
826
  [MODEL, [VENDOR, "Ulefone"], [TYPE, MOBILE]],
827
+ [
828
+ // Nothing
829
+ /droid.+; (a(?:015|06[35]|142p?))/i
830
+ ],
831
+ [MODEL, [VENDOR, "Nothing"], [TYPE, MOBILE]],
778
832
  [
779
833
  // MIXED
780
834
  /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,
@@ -1049,6 +1103,11 @@ var require_ua_parser = __commonJS({
1049
1103
  ///////////////////
1050
1104
  // WEARABLES
1051
1105
  ///////////////////
1106
+ /\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i
1107
+ // Samsung Galaxy Watch
1108
+ ],
1109
+ [MODEL, [VENDOR, SAMSUNG], [TYPE, WEARABLE]],
1110
+ [
1052
1111
  /((pebble))app/i
1053
1112
  // Pebble
1054
1113
  ],
@@ -1068,7 +1127,7 @@ var require_ua_parser = __commonJS({
1068
1127
  ],
1069
1128
  [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]],
1070
1129
  [
1071
- /(quest( 2| pro)?)/i
1130
+ /(quest( \d| pro)?)/i
1072
1131
  // Oculus Quest
1073
1132
  ],
1074
1133
  [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]],
@@ -1339,7 +1398,7 @@ var require_ua_parser = __commonJS({
1339
1398
  _os[NAME] = undefined2;
1340
1399
  _os[VERSION] = undefined2;
1341
1400
  rgxMapper.call(_os, _ua, _rgxmap.os);
1342
- if (_isSelfNav && !_os[NAME] && _uach && _uach.platform != "Unknown") {
1401
+ if (_isSelfNav && !_os[NAME] && _uach && _uach.platform && _uach.platform != "Unknown") {
1343
1402
  _os[NAME] = _uach.platform.replace(/chrome os/i, CHROMIUM_OS).replace(/macos/i, MAC_OS);
1344
1403
  }
1345
1404
  return _os;
@@ -1478,6 +1537,17 @@ init_react_import();
1478
1537
 
1479
1538
  // ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
1480
1539
  init_react_import();
1540
+ import { forwardRef as forwardRef2, createElement as createElement2 } from "react";
1541
+
1542
+ // ../../node_modules/lucide-react/dist/esm/shared/src/utils.js
1543
+ init_react_import();
1544
+ var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
1545
+ var mergeClasses = (...classes) => classes.filter((className, index, array) => {
1546
+ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
1547
+ }).join(" ").trim();
1548
+
1549
+ // ../../node_modules/lucide-react/dist/esm/Icon.js
1550
+ init_react_import();
1481
1551
  import { forwardRef, createElement } from "react";
1482
1552
 
1483
1553
  // ../../node_modules/lucide-react/dist/esm/defaultAttributes.js
@@ -1494,28 +1564,55 @@ var defaultAttributes = {
1494
1564
  strokeLinejoin: "round"
1495
1565
  };
1496
1566
 
1567
+ // ../../node_modules/lucide-react/dist/esm/Icon.js
1568
+ var Icon = forwardRef(
1569
+ (_a, ref) => {
1570
+ var _b = _a, {
1571
+ color = "currentColor",
1572
+ size = 24,
1573
+ strokeWidth = 2,
1574
+ absoluteStrokeWidth,
1575
+ className = "",
1576
+ children,
1577
+ iconNode
1578
+ } = _b, rest = __objRest(_b, [
1579
+ "color",
1580
+ "size",
1581
+ "strokeWidth",
1582
+ "absoluteStrokeWidth",
1583
+ "className",
1584
+ "children",
1585
+ "iconNode"
1586
+ ]);
1587
+ return createElement(
1588
+ "svg",
1589
+ __spreadValues(__spreadProps(__spreadValues({
1590
+ ref
1591
+ }, defaultAttributes), {
1592
+ width: size,
1593
+ height: size,
1594
+ stroke: color,
1595
+ strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
1596
+ className: mergeClasses("lucide", className)
1597
+ }), rest),
1598
+ [
1599
+ ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
1600
+ ...Array.isArray(children) ? children : [children]
1601
+ ]
1602
+ );
1603
+ }
1604
+ );
1605
+
1497
1606
  // ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
1498
- var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase().trim();
1499
1607
  var createLucideIcon = (iconName, iconNode) => {
1500
- const Component = forwardRef(
1608
+ const Component = forwardRef2(
1501
1609
  (_a, ref) => {
1502
- var _b = _a, { color = "currentColor", size = 24, strokeWidth = 2, absoluteStrokeWidth, className = "", children } = _b, rest = __objRest(_b, ["color", "size", "strokeWidth", "absoluteStrokeWidth", "className", "children"]);
1503
- return createElement(
1504
- "svg",
1505
- __spreadValues(__spreadProps(__spreadValues({
1506
- ref
1507
- }, defaultAttributes), {
1508
- width: size,
1509
- height: size,
1510
- stroke: color,
1511
- strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
1512
- className: ["lucide", `lucide-${toKebabCase(iconName)}`, className].join(" ")
1513
- }), rest),
1514
- [
1515
- ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
1516
- ...Array.isArray(children) ? children : [children]
1517
- ]
1518
- );
1610
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1611
+ return createElement2(Icon, __spreadValues({
1612
+ ref,
1613
+ iconNode,
1614
+ className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className)
1615
+ }, props));
1519
1616
  }
1520
1617
  );
1521
1618
  Component.displayName = `${iconName}`;
@@ -2051,9 +2148,25 @@ classnames/index.js:
2051
2148
  http://jedwatson.github.io/classnames
2052
2149
  *)
2053
2150
 
2151
+ lucide-react/dist/esm/shared/src/utils.js:
2152
+ (**
2153
+ * @license lucide-react v0.468.0 - ISC
2154
+ *
2155
+ * This source code is licensed under the ISC license.
2156
+ * See the LICENSE file in the root directory of this source tree.
2157
+ *)
2158
+
2054
2159
  lucide-react/dist/esm/defaultAttributes.js:
2055
2160
  (**
2056
- * @license lucide-react v0.298.0 - ISC
2161
+ * @license lucide-react v0.468.0 - ISC
2162
+ *
2163
+ * This source code is licensed under the ISC license.
2164
+ * See the LICENSE file in the root directory of this source tree.
2165
+ *)
2166
+
2167
+ lucide-react/dist/esm/Icon.js:
2168
+ (**
2169
+ * @license lucide-react v0.468.0 - ISC
2057
2170
  *
2058
2171
  * This source code is licensed under the ISC license.
2059
2172
  * See the LICENSE file in the root directory of this source tree.
@@ -2061,7 +2174,7 @@ lucide-react/dist/esm/defaultAttributes.js:
2061
2174
 
2062
2175
  lucide-react/dist/esm/createLucideIcon.js:
2063
2176
  (**
2064
- * @license lucide-react v0.298.0 - ISC
2177
+ * @license lucide-react v0.468.0 - ISC
2065
2178
  *
2066
2179
  * This source code is licensed under the ISC license.
2067
2180
  * See the LICENSE file in the root directory of this source tree.
@@ -2069,7 +2182,7 @@ lucide-react/dist/esm/createLucideIcon.js:
2069
2182
 
2070
2183
  lucide-react/dist/esm/icons/chevron-right.js:
2071
2184
  (**
2072
- * @license lucide-react v0.298.0 - ISC
2185
+ * @license lucide-react v0.468.0 - ISC
2073
2186
  *
2074
2187
  * This source code is licensed under the ISC license.
2075
2188
  * See the LICENSE file in the root directory of this source tree.
@@ -2077,7 +2190,7 @@ lucide-react/dist/esm/icons/chevron-right.js:
2077
2190
 
2078
2191
  lucide-react/dist/esm/lucide-react.js:
2079
2192
  (**
2080
- * @license lucide-react v0.298.0 - ISC
2193
+ * @license lucide-react v0.468.0 - ISC
2081
2194
  *
2082
2195
  * This source code is licensed under the ISC license.
2083
2196
  * See the LICENSE file in the root directory of this source tree.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@measured/puck-plugin-heading-analyzer",
3
- "version": "0.17.0-canary.35170f8",
3
+ "version": "0.17.0-canary.361e5f9",
4
4
  "author": "Measured Corporation Ltd <hello@measured.co>",
5
5
  "repository": "measuredco/puck",
6
6
  "bugs": "https://github.com/measuredco/puck/issues",
@@ -25,9 +25,9 @@
25
25
  "dist"
26
26
  ],
27
27
  "devDependencies": {
28
- "@measured/puck": "^0.17.0-canary.35170f8",
29
- "@types/react": "^18.2.0",
30
- "@types/react-dom": "^18.2.0",
28
+ "@measured/puck": "^0.17.0-canary.361e5f9",
29
+ "@types/react": "^19.0.1",
30
+ "@types/react-dom": "^19.0.2",
31
31
  "eslint": "^7.32.0",
32
32
  "eslint-config-custom": "*",
33
33
  "tsconfig": "*",
@@ -39,6 +39,6 @@
39
39
  "react-from-json": "^0.8.0"
40
40
  },
41
41
  "peerDependencies": {
42
- "react": "^17.0.0 || ^18.0.0"
42
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
43
43
  }
44
44
  }