storybook 10.2.0-alpha.10 → 10.2.0-alpha.12

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 (69) hide show
  1. package/dist/_browser-chunks/chunk-AFVOZMXQ.js +23 -0
  2. package/dist/_browser-chunks/{chunk-RBABWY22.js → chunk-BGSDJMFM.js} +6 -4
  3. package/dist/_node-chunks/{builder-manager-IL56SHZF.js → builder-manager-G3T6FATF.js} +13 -12
  4. package/dist/_node-chunks/{camelcase-P3NIWBZX.js → camelcase-NMVRRV6V.js} +7 -7
  5. package/dist/_node-chunks/chunk-BDTFFW43.js +18 -0
  6. package/dist/_node-chunks/chunk-ENNXNDBF.js +20 -0
  7. package/dist/_node-chunks/{chunk-KH2A547Y.js → chunk-EO2J5FE4.js} +8 -8
  8. package/dist/_node-chunks/{chunk-KP3IIE5P.js → chunk-ERDFVJJE.js} +15 -12
  9. package/dist/_node-chunks/{chunk-TAETXAN6.js → chunk-FXCJJSMM.js} +7 -7
  10. package/dist/_node-chunks/chunk-G4RT3MO3.js +35 -0
  11. package/dist/_node-chunks/{chunk-EKU7ASGO.js → chunk-HMDODR3W.js} +7 -7
  12. package/dist/_node-chunks/{chunk-XBDIQU4P.js → chunk-HSXHYDWU.js} +12 -12
  13. package/dist/_node-chunks/{chunk-YCQRVBE4.js → chunk-HVD2LZT3.js} +6 -6
  14. package/dist/_node-chunks/{chunk-MLCI5FPI.js → chunk-IQUZPWN3.js} +7 -7
  15. package/dist/_node-chunks/{chunk-D3YJHXPC.js → chunk-IW5UJQJL.js} +6 -6
  16. package/dist/_node-chunks/{chunk-SME7252C.js → chunk-KK73AHXT.js} +7 -7
  17. package/dist/_node-chunks/{chunk-E2KSZELU.js → chunk-LF7P2YRI.js} +7 -7
  18. package/dist/_node-chunks/{chunk-Z2ETF7EI.js → chunk-LMYWY6ZJ.js} +12 -12
  19. package/dist/_node-chunks/{chunk-OVKHHS4W.js → chunk-MCTOTRJG.js} +20 -20
  20. package/dist/_node-chunks/{chunk-JXL37VS7.js → chunk-MDDTIMMD.js} +13 -13
  21. package/dist/_node-chunks/{chunk-YELE6V4D.js → chunk-OJ2CMYDH.js} +6 -6
  22. package/dist/_node-chunks/chunk-OQ42LCEX.js +61 -0
  23. package/dist/_node-chunks/{chunk-Q6PDB4Y6.js → chunk-QGMW4WKW.js} +6 -6
  24. package/dist/_node-chunks/{chunk-WULYWBBT.js → chunk-SEUBEMNQ.js} +6 -6
  25. package/dist/_node-chunks/{chunk-BP66TAYC.js → chunk-TFFPC3VZ.js} +7 -7
  26. package/dist/_node-chunks/chunk-TKRINGRM.js +23 -0
  27. package/dist/_node-chunks/{chunk-RGJIQDLW.js → chunk-UEL7SAB5.js} +7 -7
  28. package/dist/_node-chunks/{chunk-POAHHCVK.js → chunk-VBIK2FN2.js} +9 -9
  29. package/dist/_node-chunks/{chunk-OZHIDIRL.js → chunk-VL57YBAT.js} +10 -10
  30. package/dist/_node-chunks/{chunk-LZ5NNY6S.js → chunk-WMWMEGTL.js} +6 -6
  31. package/dist/_node-chunks/{chunk-QF3YWFYM.js → chunk-XE2EF6IL.js} +9 -9
  32. package/dist/_node-chunks/{chunk-Z2CJCEHN.js → chunk-YPYOZM4G.js} +7 -7
  33. package/dist/_node-chunks/{dist-5MXCD6KF.js → dist-4VO67SAZ.js} +9 -9
  34. package/dist/_node-chunks/{globby-322GM5CY.js → globby-4KANABX2.js} +9 -9
  35. package/dist/_node-chunks/{lib-IXZT5UQX.js → lib-2MKCQZND.js} +7 -7
  36. package/dist/_node-chunks/{mdx-N42X6CFJ-DBPHTSPN.js → mdx-N42X6CFJ-3ENJ5IE5.js} +8 -8
  37. package/dist/_node-chunks/{p-limit-TLN4WCPA.js → p-limit-TLF7WD5L.js} +7 -7
  38. package/dist/babel/index.js +10 -10
  39. package/dist/bin/core.js +12 -12
  40. package/dist/bin/dispatcher.js +11 -11
  41. package/dist/bin/loader.js +9 -9
  42. package/dist/cli/index.js +18 -18
  43. package/dist/common/index.js +19 -19
  44. package/dist/components/index.d.ts +1 -0
  45. package/dist/components/index.js +4 -0
  46. package/dist/core-server/index.d.ts +27 -2
  47. package/dist/core-server/index.js +45 -43
  48. package/dist/core-server/presets/common-manager.js +2 -2
  49. package/dist/core-server/presets/common-override-preset.js +9 -9
  50. package/dist/core-server/presets/common-preset.js +25 -24
  51. package/dist/csf/index.js +5 -2
  52. package/dist/csf-tools/index.js +10 -9
  53. package/dist/manager/globals-runtime.js +87 -23
  54. package/dist/manager/runtime.js +96 -896
  55. package/dist/manager-api/index.d.ts +86 -20
  56. package/dist/manager-api/index.js +52 -6
  57. package/dist/mocking-utils/index.js +8 -8
  58. package/dist/node-logger/index.js +9 -9
  59. package/dist/preview/runtime.js +24 -4
  60. package/dist/preview-api/index.d.ts +93 -69
  61. package/dist/preview-api/index.js +5 -1
  62. package/dist/server-errors.js +11 -11
  63. package/dist/telemetry/index.js +22 -22
  64. package/dist/types/index.d.ts +1 -0
  65. package/package.json +1 -1
  66. package/dist/_node-chunks/chunk-GLYH3TSV.js +0 -61
  67. package/dist/_node-chunks/chunk-TPSZ4QDT.js +0 -20
  68. package/dist/_node-chunks/chunk-XXOA6ULE.js +0 -18
  69. package/dist/_node-chunks/chunk-ZHSAQXJF.js +0 -23
@@ -341,778 +341,6 @@ var require_memoizerific = __commonJS({
341
341
  }
342
342
  });
343
343
 
344
- // ../../node_modules/picoquery/lib/string-util.js
345
- var require_string_util = __commonJS({
346
- "../../node_modules/picoquery/lib/string-util.js"(exports) {
347
- "use strict";
348
- Object.defineProperty(exports, "__esModule", { value: !0 });
349
- exports.encodeString = encodeString;
350
- var hexTable = Array.from({ length: 256 }, (_2, i2) => "%" + ((i2 < 16 ? "0" : "") + i2.toString(16)).toUpperCase()), noEscape = new Int8Array([
351
- 0,
352
- 0,
353
- 0,
354
- 0,
355
- 0,
356
- 0,
357
- 0,
358
- 0,
359
- 0,
360
- 0,
361
- 0,
362
- 0,
363
- 0,
364
- 0,
365
- 0,
366
- 0,
367
- 0,
368
- 0,
369
- 0,
370
- 0,
371
- 0,
372
- 0,
373
- 0,
374
- 0,
375
- 0,
376
- 0,
377
- 0,
378
- 0,
379
- 0,
380
- 0,
381
- 0,
382
- 0,
383
- 0,
384
- 1,
385
- 0,
386
- 0,
387
- 0,
388
- 0,
389
- 0,
390
- 1,
391
- 1,
392
- 1,
393
- 1,
394
- 0,
395
- 0,
396
- 1,
397
- 1,
398
- 0,
399
- 1,
400
- 1,
401
- 1,
402
- 1,
403
- 1,
404
- 1,
405
- 1,
406
- 1,
407
- 1,
408
- 1,
409
- 0,
410
- 0,
411
- 0,
412
- 0,
413
- 0,
414
- 0,
415
- 0,
416
- 1,
417
- 1,
418
- 1,
419
- 1,
420
- 1,
421
- 1,
422
- 1,
423
- 1,
424
- 1,
425
- 1,
426
- 1,
427
- 1,
428
- 1,
429
- 1,
430
- 1,
431
- 1,
432
- 1,
433
- 1,
434
- 1,
435
- 1,
436
- 1,
437
- 1,
438
- 1,
439
- 1,
440
- 1,
441
- 1,
442
- 0,
443
- 0,
444
- 0,
445
- 0,
446
- 1,
447
- 0,
448
- 1,
449
- 1,
450
- 1,
451
- 1,
452
- 1,
453
- 1,
454
- 1,
455
- 1,
456
- 1,
457
- 1,
458
- 1,
459
- 1,
460
- 1,
461
- 1,
462
- 1,
463
- 1,
464
- 1,
465
- 1,
466
- 1,
467
- 1,
468
- 1,
469
- 1,
470
- 1,
471
- 1,
472
- 1,
473
- 1,
474
- 0,
475
- 0,
476
- 0,
477
- 1,
478
- 0
479
- ]);
480
- function encodeString(str) {
481
- let len = str.length;
482
- if (len === 0)
483
- return "";
484
- let out = "", lastPos = 0, i2 = 0;
485
- outer: for (; i2 < len; i2++) {
486
- let c2 = str.charCodeAt(i2);
487
- for (; c2 < 128; ) {
488
- if (noEscape[c2] !== 1 && (lastPos < i2 && (out += str.slice(lastPos, i2)), lastPos = i2 + 1, out += hexTable[c2]), ++i2 === len)
489
- break outer;
490
- c2 = str.charCodeAt(i2);
491
- }
492
- if (lastPos < i2 && (out += str.slice(lastPos, i2)), c2 < 2048) {
493
- lastPos = i2 + 1, out += hexTable[192 | c2 >> 6] + hexTable[128 | c2 & 63];
494
- continue;
495
- }
496
- if (c2 < 55296 || c2 >= 57344) {
497
- lastPos = i2 + 1, out += hexTable[224 | c2 >> 12] + hexTable[128 | c2 >> 6 & 63] + hexTable[128 | c2 & 63];
498
- continue;
499
- }
500
- if (++i2, i2 >= len)
501
- throw new Error("URI malformed");
502
- let c22 = str.charCodeAt(i2) & 1023;
503
- lastPos = i2 + 1, c2 = 65536 + ((c2 & 1023) << 10 | c22), out += hexTable[240 | c2 >> 18] + hexTable[128 | c2 >> 12 & 63] + hexTable[128 | c2 >> 6 & 63] + hexTable[128 | c2 & 63];
504
- }
505
- return lastPos === 0 ? str : lastPos < len ? out + str.slice(lastPos) : out;
506
- }
507
- }
508
- });
509
-
510
- // ../../node_modules/picoquery/lib/shared.js
511
- var require_shared = __commonJS({
512
- "../../node_modules/picoquery/lib/shared.js"(exports) {
513
- "use strict";
514
- Object.defineProperty(exports, "__esModule", { value: !0 });
515
- exports.defaultOptions = exports.defaultShouldSerializeObject = exports.defaultValueSerializer = void 0;
516
- var string_util_js_1 = require_string_util(), defaultValueSerializer = (value) => {
517
- switch (typeof value) {
518
- case "string":
519
- return (0, string_util_js_1.encodeString)(value);
520
- case "bigint":
521
- case "boolean":
522
- return "" + value;
523
- case "number":
524
- if (Number.isFinite(value))
525
- return value < 1e21 ? "" + value : (0, string_util_js_1.encodeString)("" + value);
526
- break;
527
- }
528
- return value instanceof Date ? (0, string_util_js_1.encodeString)(value.toISOString()) : "";
529
- };
530
- exports.defaultValueSerializer = defaultValueSerializer;
531
- var defaultShouldSerializeObject = (val) => val instanceof Date;
532
- exports.defaultShouldSerializeObject = defaultShouldSerializeObject;
533
- var identityFunc = (v2) => v2;
534
- exports.defaultOptions = {
535
- nesting: !0,
536
- nestingSyntax: "dot",
537
- arrayRepeat: !1,
538
- arrayRepeatSyntax: "repeat",
539
- delimiter: 38,
540
- valueDeserializer: identityFunc,
541
- valueSerializer: exports.defaultValueSerializer,
542
- keyDeserializer: identityFunc,
543
- shouldSerializeObject: exports.defaultShouldSerializeObject
544
- };
545
- }
546
- });
547
-
548
- // ../../node_modules/picoquery/lib/object-util.js
549
- var require_object_util = __commonJS({
550
- "../../node_modules/picoquery/lib/object-util.js"(exports) {
551
- "use strict";
552
- Object.defineProperty(exports, "__esModule", { value: !0 });
553
- exports.getDeepObject = getDeepObject;
554
- exports.stringifyObject = stringifyObject;
555
- var shared_js_1 = require_shared(), string_util_js_1 = require_string_util();
556
- function isPrototypeKey(value) {
557
- return value === "__proto__" || value === "constructor" || value === "prototype";
558
- }
559
- function getDeepObject(obj, key, nextKey, forceObject, forceArray) {
560
- if (isPrototypeKey(key))
561
- return obj;
562
- let currObj = obj[key];
563
- return typeof currObj == "object" && currObj !== null ? currObj : !forceObject && (forceArray || typeof nextKey == "number" || typeof nextKey == "string" && nextKey * 0 === 0 && nextKey.indexOf(".") === -1) ? obj[key] = [] : obj[key] = {};
564
- }
565
- var MAX_DEPTH = 20, strBracketPair = "[]", strBracketLeft = "[", strBracketRight = "]", strDot = ".";
566
- function stringifyObject(obj, options2, depth = 0, parentKey, isProbableArray) {
567
- let { nestingSyntax = shared_js_1.defaultOptions.nestingSyntax, arrayRepeat = shared_js_1.defaultOptions.arrayRepeat, arrayRepeatSyntax = shared_js_1.defaultOptions.arrayRepeatSyntax, nesting = shared_js_1.defaultOptions.nesting, delimiter = shared_js_1.defaultOptions.delimiter, valueSerializer = shared_js_1.defaultOptions.valueSerializer, shouldSerializeObject = shared_js_1.defaultOptions.shouldSerializeObject } = options2, strDelimiter = typeof delimiter == "number" ? String.fromCharCode(delimiter) : delimiter, useArrayRepeatKey = isProbableArray === !0 && arrayRepeat, shouldUseDot = nestingSyntax === "dot" || nestingSyntax === "js" && !isProbableArray;
568
- if (depth > MAX_DEPTH)
569
- return "";
570
- let result = "", firstKey = !0, valueIsProbableArray = !1;
571
- for (let key in obj) {
572
- let value = obj[key];
573
- if (value === void 0)
574
- continue;
575
- let path;
576
- parentKey ? (path = parentKey, useArrayRepeatKey ? arrayRepeatSyntax === "bracket" && (path += strBracketPair) : shouldUseDot ? (path += strDot, path += key) : (path += strBracketLeft, path += key, path += strBracketRight)) : path = key, firstKey || (result += strDelimiter), typeof value == "object" && value !== null && !shouldSerializeObject(value) ? (valueIsProbableArray = value.pop !== void 0, (nesting || arrayRepeat && valueIsProbableArray) && (result += stringifyObject(value, options2, depth + 1, path, valueIsProbableArray))) : (result += (0, string_util_js_1.encodeString)(path), result += "=", result += valueSerializer(value, key)), firstKey && (firstKey = !1);
577
- }
578
- return result;
579
- }
580
- }
581
- });
582
-
583
- // ../../node_modules/picoquery/lib/decode-uri-component.js
584
- var require_decode_uri_component = __commonJS({
585
- "../../node_modules/picoquery/lib/decode-uri-component.js"(exports) {
586
- "use strict";
587
- Object.defineProperty(exports, "__esModule", { value: !0 });
588
- exports.decodeURIComponent = decodeURIComponent;
589
- var UTF8_ACCEPT = 12, UTF8_REJECT = 0, UTF8_DATA = [
590
- // The first part of the table maps bytes to character to a transition.
591
- 0,
592
- 0,
593
- 0,
594
- 0,
595
- 0,
596
- 0,
597
- 0,
598
- 0,
599
- 0,
600
- 0,
601
- 0,
602
- 0,
603
- 0,
604
- 0,
605
- 0,
606
- 0,
607
- 0,
608
- 0,
609
- 0,
610
- 0,
611
- 0,
612
- 0,
613
- 0,
614
- 0,
615
- 0,
616
- 0,
617
- 0,
618
- 0,
619
- 0,
620
- 0,
621
- 0,
622
- 0,
623
- 0,
624
- 0,
625
- 0,
626
- 0,
627
- 0,
628
- 0,
629
- 0,
630
- 0,
631
- 0,
632
- 0,
633
- 0,
634
- 0,
635
- 0,
636
- 0,
637
- 0,
638
- 0,
639
- 0,
640
- 0,
641
- 0,
642
- 0,
643
- 0,
644
- 0,
645
- 0,
646
- 0,
647
- 0,
648
- 0,
649
- 0,
650
- 0,
651
- 0,
652
- 0,
653
- 0,
654
- 0,
655
- 0,
656
- 0,
657
- 0,
658
- 0,
659
- 0,
660
- 0,
661
- 0,
662
- 0,
663
- 0,
664
- 0,
665
- 0,
666
- 0,
667
- 0,
668
- 0,
669
- 0,
670
- 0,
671
- 0,
672
- 0,
673
- 0,
674
- 0,
675
- 0,
676
- 0,
677
- 0,
678
- 0,
679
- 0,
680
- 0,
681
- 0,
682
- 0,
683
- 0,
684
- 0,
685
- 0,
686
- 0,
687
- 0,
688
- 0,
689
- 0,
690
- 0,
691
- 0,
692
- 0,
693
- 0,
694
- 0,
695
- 0,
696
- 0,
697
- 0,
698
- 0,
699
- 0,
700
- 0,
701
- 0,
702
- 0,
703
- 0,
704
- 0,
705
- 0,
706
- 0,
707
- 0,
708
- 0,
709
- 0,
710
- 0,
711
- 0,
712
- 0,
713
- 0,
714
- 0,
715
- 0,
716
- 0,
717
- 0,
718
- 0,
719
- 1,
720
- 1,
721
- 1,
722
- 1,
723
- 1,
724
- 1,
725
- 1,
726
- 1,
727
- 1,
728
- 1,
729
- 1,
730
- 1,
731
- 1,
732
- 1,
733
- 1,
734
- 1,
735
- 2,
736
- 2,
737
- 2,
738
- 2,
739
- 2,
740
- 2,
741
- 2,
742
- 2,
743
- 2,
744
- 2,
745
- 2,
746
- 2,
747
- 2,
748
- 2,
749
- 2,
750
- 2,
751
- 3,
752
- 3,
753
- 3,
754
- 3,
755
- 3,
756
- 3,
757
- 3,
758
- 3,
759
- 3,
760
- 3,
761
- 3,
762
- 3,
763
- 3,
764
- 3,
765
- 3,
766
- 3,
767
- 3,
768
- 3,
769
- 3,
770
- 3,
771
- 3,
772
- 3,
773
- 3,
774
- 3,
775
- 3,
776
- 3,
777
- 3,
778
- 3,
779
- 3,
780
- 3,
781
- 3,
782
- 3,
783
- 4,
784
- 4,
785
- 5,
786
- 5,
787
- 5,
788
- 5,
789
- 5,
790
- 5,
791
- 5,
792
- 5,
793
- 5,
794
- 5,
795
- 5,
796
- 5,
797
- 5,
798
- 5,
799
- 5,
800
- 5,
801
- 5,
802
- 5,
803
- 5,
804
- 5,
805
- 5,
806
- 5,
807
- 5,
808
- 5,
809
- 5,
810
- 5,
811
- 5,
812
- 5,
813
- 5,
814
- 5,
815
- 6,
816
- 7,
817
- 7,
818
- 7,
819
- 7,
820
- 7,
821
- 7,
822
- 7,
823
- 7,
824
- 7,
825
- 7,
826
- 7,
827
- 7,
828
- 8,
829
- 7,
830
- 7,
831
- 10,
832
- 9,
833
- 9,
834
- 9,
835
- 11,
836
- 4,
837
- 4,
838
- 4,
839
- 4,
840
- 4,
841
- 4,
842
- 4,
843
- 4,
844
- 4,
845
- 4,
846
- 4,
847
- // The second part of the table maps a state to a new state when adding a
848
- // transition.
849
- 0,
850
- 0,
851
- 0,
852
- 0,
853
- 0,
854
- 0,
855
- 0,
856
- 0,
857
- 0,
858
- 0,
859
- 0,
860
- 0,
861
- 12,
862
- 0,
863
- 0,
864
- 0,
865
- 0,
866
- 24,
867
- 36,
868
- 48,
869
- 60,
870
- 72,
871
- 84,
872
- 96,
873
- 0,
874
- 12,
875
- 12,
876
- 12,
877
- 0,
878
- 0,
879
- 0,
880
- 0,
881
- 0,
882
- 0,
883
- 0,
884
- 0,
885
- 0,
886
- 0,
887
- 0,
888
- 24,
889
- 0,
890
- 0,
891
- 0,
892
- 0,
893
- 0,
894
- 0,
895
- 0,
896
- 0,
897
- 0,
898
- 24,
899
- 24,
900
- 24,
901
- 0,
902
- 0,
903
- 0,
904
- 0,
905
- 0,
906
- 0,
907
- 0,
908
- 0,
909
- 0,
910
- 24,
911
- 24,
912
- 0,
913
- 0,
914
- 0,
915
- 0,
916
- 0,
917
- 0,
918
- 0,
919
- 0,
920
- 0,
921
- 0,
922
- 48,
923
- 48,
924
- 48,
925
- 0,
926
- 0,
927
- 0,
928
- 0,
929
- 0,
930
- 0,
931
- 0,
932
- 0,
933
- 0,
934
- 0,
935
- 48,
936
- 48,
937
- 0,
938
- 0,
939
- 0,
940
- 0,
941
- 0,
942
- 0,
943
- 0,
944
- 0,
945
- 0,
946
- 48,
947
- 0,
948
- 0,
949
- 0,
950
- 0,
951
- 0,
952
- 0,
953
- 0,
954
- 0,
955
- 0,
956
- 0,
957
- // The third part maps the current transition to a mask that needs to apply
958
- // to the byte.
959
- 127,
960
- 63,
961
- 63,
962
- 63,
963
- 0,
964
- 31,
965
- 15,
966
- 15,
967
- 15,
968
- 7,
969
- 7,
970
- 7
971
- ];
972
- function decodeURIComponent(uri) {
973
- let percentPosition = uri.indexOf("%");
974
- if (percentPosition === -1)
975
- return uri;
976
- let length = uri.length, decoded = "", last = 0, codepoint = 0, startOfOctets = percentPosition, state = UTF8_ACCEPT;
977
- for (; percentPosition > -1 && percentPosition < length; ) {
978
- let high = hexCodeToInt(uri[percentPosition + 1], 4), low = hexCodeToInt(uri[percentPosition + 2], 0), byte = high | low, type = UTF8_DATA[byte];
979
- if (state = UTF8_DATA[256 + state + type], codepoint = codepoint << 6 | byte & UTF8_DATA[364 + type], state === UTF8_ACCEPT)
980
- decoded += uri.slice(last, startOfOctets), decoded += codepoint <= 65535 ? String.fromCharCode(codepoint) : String.fromCharCode(55232 + (codepoint >> 10), 56320 + (codepoint & 1023)), codepoint = 0, last = percentPosition + 3, percentPosition = startOfOctets = uri.indexOf("%", last);
981
- else {
982
- if (state === UTF8_REJECT)
983
- return null;
984
- if (percentPosition += 3, percentPosition < length && uri.charCodeAt(percentPosition) === 37)
985
- continue;
986
- return null;
987
- }
988
- }
989
- return decoded + uri.slice(last);
990
- }
991
- var HEX = {
992
- 0: 0,
993
- 1: 1,
994
- 2: 2,
995
- 3: 3,
996
- 4: 4,
997
- 5: 5,
998
- 6: 6,
999
- 7: 7,
1000
- 8: 8,
1001
- 9: 9,
1002
- a: 10,
1003
- A: 10,
1004
- b: 11,
1005
- B: 11,
1006
- c: 12,
1007
- C: 12,
1008
- d: 13,
1009
- D: 13,
1010
- e: 14,
1011
- E: 14,
1012
- f: 15,
1013
- F: 15
1014
- };
1015
- function hexCodeToInt(c2, shift2) {
1016
- let i2 = HEX[c2];
1017
- return i2 === void 0 ? 255 : i2 << shift2;
1018
- }
1019
- }
1020
- });
1021
-
1022
- // ../../node_modules/picoquery/lib/parse.js
1023
- var require_parse = __commonJS({
1024
- "../../node_modules/picoquery/lib/parse.js"(exports) {
1025
- "use strict";
1026
- Object.defineProperty(exports, "__esModule", { value: !0 });
1027
- exports.numberValueDeserializer = exports.numberKeyDeserializer = void 0;
1028
- exports.parse = parse;
1029
- var object_util_js_1 = require_object_util(), shared_js_1 = require_shared(), decode_uri_component_js_1 = require_decode_uri_component(), numberKeyDeserializer = (key) => {
1030
- let asNumber = Number(key);
1031
- return Number.isNaN(asNumber) ? key : asNumber;
1032
- };
1033
- exports.numberKeyDeserializer = numberKeyDeserializer;
1034
- var numberValueDeserializer = (value) => {
1035
- let asNumber = Number(value);
1036
- return Number.isNaN(asNumber) ? value : asNumber;
1037
- };
1038
- exports.numberValueDeserializer = numberValueDeserializer;
1039
- var regexPlus = /\+/g, Empty = function() {
1040
- };
1041
- Empty.prototype = /* @__PURE__ */ Object.create(null);
1042
- function computeKeySlice(input, startIndex, endIndex, keyHasPlus, shouldDecodeKey) {
1043
- let chunk = input.substring(startIndex, endIndex);
1044
- return keyHasPlus && (chunk = chunk.replace(regexPlus, " ")), shouldDecodeKey && (chunk = (0, decode_uri_component_js_1.decodeURIComponent)(chunk) || chunk), chunk;
1045
- }
1046
- function parse(input, options2) {
1047
- let { valueDeserializer = shared_js_1.defaultOptions.valueDeserializer, keyDeserializer = shared_js_1.defaultOptions.keyDeserializer, arrayRepeatSyntax = shared_js_1.defaultOptions.arrayRepeatSyntax, nesting = shared_js_1.defaultOptions.nesting, arrayRepeat = shared_js_1.defaultOptions.arrayRepeat, nestingSyntax = shared_js_1.defaultOptions.nestingSyntax, delimiter = shared_js_1.defaultOptions.delimiter } = options2 ?? {}, charDelimiter = typeof delimiter == "string" ? delimiter.charCodeAt(0) : delimiter, isJsNestingSyntax = nestingSyntax === "js", result = new Empty();
1048
- if (typeof input != "string")
1049
- return result;
1050
- let inputLength = input.length, value = "", startingIndex = -1, equalityIndex = -1, keySeparatorIndex = -1, currentObj = result, lastKey, currentKey = "", keyChunk = "", shouldDecodeKey = !1, shouldDecodeValue = !1, keyHasPlus = !1, valueHasPlus = !1, keyIsDot = !1, hasBothKeyValuePair = !1, c2 = 0, arrayRepeatBracketIndex = -1, prevIndex = -1, prevChar = -1;
1051
- for (let i2 = 0; i2 < inputLength + 1; i2++) {
1052
- if (c2 = i2 !== inputLength ? input.charCodeAt(i2) : charDelimiter, c2 === charDelimiter) {
1053
- if (hasBothKeyValuePair = equalityIndex > startingIndex, hasBothKeyValuePair || (equalityIndex = i2), keySeparatorIndex !== equalityIndex - 1 && (keyChunk = computeKeySlice(input, keySeparatorIndex + 1, arrayRepeatBracketIndex > -1 ? arrayRepeatBracketIndex : equalityIndex, keyHasPlus, shouldDecodeKey), currentKey = keyDeserializer(keyChunk), lastKey !== void 0 && (currentObj = (0, object_util_js_1.getDeepObject)(currentObj, lastKey, currentKey, isJsNestingSyntax && keyIsDot, void 0))), hasBothKeyValuePair || currentKey !== "") {
1054
- hasBothKeyValuePair && (value = input.slice(equalityIndex + 1, i2), valueHasPlus && (value = value.replace(regexPlus, " ")), shouldDecodeValue && (value = (0, decode_uri_component_js_1.decodeURIComponent)(value) || value));
1055
- let newValue = valueDeserializer(value, currentKey);
1056
- if (arrayRepeat) {
1057
- let currentValue = currentObj[currentKey];
1058
- currentValue === void 0 ? arrayRepeatBracketIndex > -1 ? currentObj[currentKey] = [newValue] : currentObj[currentKey] = newValue : currentValue.pop ? currentValue.push(newValue) : currentObj[currentKey] = [currentValue, newValue];
1059
- } else
1060
- currentObj[currentKey] = newValue;
1061
- }
1062
- value = "", startingIndex = i2, equalityIndex = i2, shouldDecodeKey = !1, shouldDecodeValue = !1, keyHasPlus = !1, valueHasPlus = !1, keyIsDot = !1, arrayRepeatBracketIndex = -1, keySeparatorIndex = i2, currentObj = result, lastKey = void 0, currentKey = "";
1063
- } else c2 === 93 ? (arrayRepeat && arrayRepeatSyntax === "bracket" && prevChar === 91 && (arrayRepeatBracketIndex = prevIndex), nesting && (nestingSyntax === "index" || isJsNestingSyntax) && equalityIndex <= startingIndex && (keySeparatorIndex !== prevIndex && (keyChunk = computeKeySlice(input, keySeparatorIndex + 1, i2, keyHasPlus, shouldDecodeKey), currentKey = keyDeserializer(keyChunk), lastKey !== void 0 && (currentObj = (0, object_util_js_1.getDeepObject)(currentObj, lastKey, currentKey, void 0, void 0)), lastKey = currentKey, keyHasPlus = !1, shouldDecodeKey = !1), keySeparatorIndex = i2, keyIsDot = !1)) : c2 === 46 ? nesting && (nestingSyntax === "dot" || isJsNestingSyntax) && equalityIndex <= startingIndex && (keySeparatorIndex !== prevIndex && (keyChunk = computeKeySlice(input, keySeparatorIndex + 1, i2, keyHasPlus, shouldDecodeKey), currentKey = keyDeserializer(keyChunk), lastKey !== void 0 && (currentObj = (0, object_util_js_1.getDeepObject)(currentObj, lastKey, currentKey, isJsNestingSyntax)), lastKey = currentKey, keyHasPlus = !1, shouldDecodeKey = !1), keyIsDot = !0, keySeparatorIndex = i2) : c2 === 91 ? nesting && (nestingSyntax === "index" || isJsNestingSyntax) && equalityIndex <= startingIndex && (keySeparatorIndex !== prevIndex && (keyChunk = computeKeySlice(input, keySeparatorIndex + 1, i2, keyHasPlus, shouldDecodeKey), currentKey = keyDeserializer(keyChunk), isJsNestingSyntax && lastKey !== void 0 && (currentObj = (0, object_util_js_1.getDeepObject)(currentObj, lastKey, currentKey, isJsNestingSyntax)), lastKey = currentKey, keyHasPlus = !1, shouldDecodeKey = !1, keyIsDot = !1), keySeparatorIndex = i2) : c2 === 61 ? equalityIndex <= startingIndex ? equalityIndex = i2 : shouldDecodeValue = !0 : c2 === 43 ? equalityIndex > startingIndex ? valueHasPlus = !0 : keyHasPlus = !0 : c2 === 37 && (equalityIndex > startingIndex ? shouldDecodeValue = !0 : shouldDecodeKey = !0);
1064
- prevIndex = i2, prevChar = c2;
1065
- }
1066
- return result;
1067
- }
1068
- }
1069
- });
1070
-
1071
- // ../../node_modules/picoquery/lib/stringify.js
1072
- var require_stringify = __commonJS({
1073
- "../../node_modules/picoquery/lib/stringify.js"(exports) {
1074
- "use strict";
1075
- Object.defineProperty(exports, "__esModule", { value: !0 });
1076
- exports.stringify = stringify2;
1077
- var object_util_js_1 = require_object_util();
1078
- function stringify2(input, options2) {
1079
- if (input === null || typeof input != "object")
1080
- return "";
1081
- let optionsObj = options2 ?? {};
1082
- return (0, object_util_js_1.stringifyObject)(input, optionsObj);
1083
- }
1084
- }
1085
- });
1086
-
1087
- // ../../node_modules/picoquery/lib/main.js
1088
- var require_main = __commonJS({
1089
- "../../node_modules/picoquery/lib/main.js"(exports) {
1090
- "use strict";
1091
- var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o3, m2, k2, k22) {
1092
- k22 === void 0 && (k22 = k2);
1093
- var desc = Object.getOwnPropertyDescriptor(m2, k2);
1094
- (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) && (desc = { enumerable: !0, get: function() {
1095
- return m2[k2];
1096
- } }), Object.defineProperty(o3, k22, desc);
1097
- }) : (function(o3, m2, k2, k22) {
1098
- k22 === void 0 && (k22 = k2), o3[k22] = m2[k2];
1099
- })), __exportStar = exports && exports.__exportStar || function(m2, exports2) {
1100
- for (var p2 in m2) p2 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p2) && __createBinding(exports2, m2, p2);
1101
- };
1102
- Object.defineProperty(exports, "__esModule", { value: !0 });
1103
- exports.stringify = exports.parse = void 0;
1104
- var parse_js_1 = require_parse();
1105
- Object.defineProperty(exports, "parse", { enumerable: !0, get: function() {
1106
- return parse_js_1.parse;
1107
- } });
1108
- var stringify_js_1 = require_stringify();
1109
- Object.defineProperty(exports, "stringify", { enumerable: !0, get: function() {
1110
- return stringify_js_1.stringify;
1111
- } });
1112
- __exportStar(require_shared(), exports);
1113
- }
1114
- });
1115
-
1116
344
  // ../../node_modules/toggle-selection/index.js
1117
345
  var require_toggle_selection = __commonJS({
1118
346
  "../../node_modules/toggle-selection/index.js"(exports, module) {
@@ -2256,7 +1484,7 @@ __export(icons_exports, {
2256
1484
  var icons_default = __STORYBOOK_ICONS__, { AccessibilityAltIcon, AccessibilityIcon, AccessibilityIgnoredIcon, AddIcon, AdminIcon, AlertAltIcon, AlertIcon, AlignLeftIcon, AlignRightIcon, AppleIcon, ArrowBottomLeftIcon, ArrowBottomRightIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowSolidDownIcon, ArrowSolidLeftIcon, ArrowSolidRightIcon, ArrowSolidUpIcon, ArrowTopLeftIcon, ArrowTopRightIcon, ArrowUpIcon, AzureDevOpsIcon, BackIcon, BasketIcon, BatchAcceptIcon, BatchDenyIcon, BeakerIcon, BellIcon, BitbucketIcon, BoldIcon, BookIcon, BookmarkHollowIcon, BookmarkIcon, BottomBarIcon, BottomBarToggleIcon, BoxIcon, BranchIcon, BrowserIcon, BugIcon, ButtonIcon, CPUIcon, CalendarIcon, CameraIcon, CameraStabilizeIcon, CategoryIcon, CertificateIcon, ChangedIcon, ChatIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronSmallDownIcon, ChevronSmallLeftIcon, ChevronSmallRightIcon, ChevronSmallUpIcon, ChevronUpIcon, ChromaticIcon, ChromeIcon, CircleHollowIcon, CircleIcon, ClearIcon, CloseAltIcon, CloseIcon, CloudHollowIcon, CloudIcon, CogIcon, CollapseIcon, CommandIcon, CommentAddIcon, CommentIcon, CommentsIcon, CommitIcon, CompassIcon, ComponentDrivenIcon, ComponentIcon, ContrastIcon, ContrastIgnoredIcon, ControlsIcon, CopyIcon, CreditIcon, CrossIcon, DashboardIcon, DatabaseIcon, DeleteIcon, DiamondIcon, DirectionIcon, DiscordIcon, DocChartIcon, DocListIcon, DocumentIcon, DownloadIcon, DragIcon, EditIcon, EditorIcon, EllipsisIcon, EmailIcon, ExpandAltIcon, ExpandIcon, EyeCloseIcon, EyeIcon, FaceHappyIcon, FaceNeutralIcon, FaceSadIcon, FacebookIcon, FailedIcon, FastForwardIcon, FigmaIcon, FilterIcon, FlagIcon, FolderIcon, FormIcon, GDriveIcon, GiftIcon, GithubIcon, GitlabIcon, GlobeIcon, GoogleIcon, GraphBarIcon, GraphLineIcon, GraphqlIcon, GridAltIcon, GridIcon, GrowIcon, HeartHollowIcon, HeartIcon, HomeIcon, HourglassIcon, InfoIcon, ItalicIcon, JumpToIcon, KeyIcon, LightningIcon, LightningOffIcon, LinkBrokenIcon, LinkIcon, LinkedinIcon, LinuxIcon, ListOrderedIcon, ListUnorderedIcon, LocationIcon, LockIcon, MarkdownIcon, MarkupIcon, MediumIcon, MemoryIcon, MenuIcon, MergeIcon, MirrorIcon, MobileIcon, MoonIcon, NutIcon, OutboxIcon, OutlineIcon, PaintBrushAltIcon, PaintBrushIcon, PaperClipIcon, ParagraphIcon, PassedIcon, PhoneIcon, PhotoDragIcon, PhotoIcon, PhotoStabilizeIcon, PinAltIcon, PinIcon, PlayAllHollowIcon, PlayBackIcon, PlayHollowIcon, PlayIcon, PlayNextIcon, PlusIcon, PointerDefaultIcon, PointerHandIcon, PowerIcon, PrintIcon, ProceedIcon, ProfileIcon, PullRequestIcon, QuestionIcon, RSSIcon, RedirectIcon, ReduxIcon, RefreshIcon, ReplyIcon, RepoIcon, RequestChangeIcon, RewindIcon, RulerIcon, SaveIcon, SearchIcon, ShareAltIcon, ShareIcon, ShieldIcon, SideBySideIcon, SidebarAltIcon, SidebarAltToggleIcon, SidebarIcon, SidebarToggleIcon, SortDownIcon, SortUpIcon, SpeakerIcon, StackedIcon, StarHollowIcon, StarIcon, StatusFailIcon, StatusIcon, StatusPassIcon, StatusWarnIcon, StickerIcon, StopAltHollowIcon, StopAltIcon, StopIcon, StorybookIcon, StructureIcon, SubtractIcon, SunIcon, SupportIcon, SweepIcon, SwitchAltIcon, SyncIcon, TabletIcon, ThumbsUpIcon, TimeIcon, TimerIcon, TransferIcon, TrashIcon, TwitterIcon, TypeIcon, UbuntuIcon, UndoIcon, UnfoldIcon, UnlockIcon, UnpinIcon, UploadIcon, UserAddIcon, UserAltIcon, UserIcon, UsersIcon, VSCodeIcon, VerifiedIcon, VideoIcon, WandIcon, WatchIcon, WindowsIcon, WrenchIcon, XIcon, YoutubeIcon, ZoomIcon, ZoomOutIcon, ZoomResetIcon, iconList } = __STORYBOOK_ICONS__;
2257
1485
 
2258
1486
  // global-externals:storybook/manager-api
2259
- var manager_api_default = __STORYBOOK_API__, { ActiveTabs, Consumer, ManagerContext, Provider, RequestResponseError, addons, combineParameters, controlOrMetaKey, controlOrMetaSymbol, eventMatchesShortcut, eventToShortcut, experimental_MockUniversalStore, experimental_UniversalStore, experimental_getStatusStore, experimental_getTestProviderStore, experimental_requestResponse, experimental_useStatusStore, experimental_useTestProviderStore, experimental_useUniversalStore, internal_checklistStore, internal_fullStatusStore, internal_fullTestProviderStore, internal_universalChecklistStore, internal_universalStatusStore, internal_universalTestProviderStore, isMacLike, isShortcutTaken, keyToSymbol, merge, mockChannel, optionOrAltSymbol, shortcutMatchesShortcut, shortcutToAriaKeyshortcuts, shortcutToHumanString, types, useAddonState, useArgTypes, useArgs, useChannel, useGlobalTypes, useGlobals, useParameter, useSharedState, useStoryPrepared, useStorybookApi, useStorybookState } = __STORYBOOK_API__;
1487
+ var manager_api_default = __STORYBOOK_API__, { ActiveTabs, Consumer, ManagerContext, Provider, RequestResponseError, Tag, addons, combineParameters, controlOrMetaKey, controlOrMetaSymbol, eventMatchesShortcut, eventToShortcut, experimental_MockUniversalStore, experimental_UniversalStore, experimental_getStatusStore, experimental_getTestProviderStore, experimental_requestResponse, experimental_useStatusStore, experimental_useTestProviderStore, experimental_useUniversalStore, internal_checklistStore, internal_fullStatusStore, internal_fullTestProviderStore, internal_universalChecklistStore, internal_universalStatusStore, internal_universalTestProviderStore, isMacLike, isShortcutTaken, keyToSymbol, merge, mockChannel, optionOrAltSymbol, shortcutMatchesShortcut, shortcutToAriaKeyshortcuts, shortcutToHumanString, types, useAddonState, useArgTypes, useArgs, useChannel, useGlobalTypes, useGlobals, useParameter, useSharedState, useStoryPrepared, useStorybookApi, useStorybookState } = __STORYBOOK_API__;
2260
1488
 
2261
1489
  // global-externals:storybook/theming
2262
1490
  var theming_default = __STORYBOOK_THEMING__, { CacheProvider, ClassNames, Global, ThemeProvider, background, color, convert, create, createCache, createGlobal, createReset, css, darken, ensure, getPreferredColorScheme, ignoreSsrWarning, isPropValid, jsx, keyframes, lighten, styled, themes, tokens, typography, useTheme, withTheme } = __STORYBOOK_THEMING__;
@@ -4681,22 +3909,21 @@ var MINIMUM_CONTENT_WIDTH_PX = 100, layoutStateIsEqual = (state, other) => state
4681
3909
  showPanel
4682
3910
  },
4683
3911
  showPages && react_default.createElement(PagesContainer, null, slots.slotPages),
4684
- isDesktop && react_default.createElement(react_default.Fragment, null, react_default.createElement(SidebarContainer, null, react_default.createElement(Drag, { ref: sidebarResizerRef }), slots.slotSidebar), react_default.createElement(MainContentMatcher, null, slots.slotMain), showPanel && react_default.createElement(PanelContainer, { position: panelPosition }, react_default.createElement(
4685
- Drag,
4686
- {
4687
- orientation: panelPosition === "bottom" ? "horizontal" : "vertical",
4688
- position: panelPosition === "bottom" ? "left" : "right",
4689
- ref: panelResizerRef
4690
- }
4691
- ), slots.slotPanel)),
4692
- isMobile2 && react_default.createElement(react_default.Fragment, null, react_default.createElement(
3912
+ react_default.createElement(react_default.Fragment, null, isDesktop && react_default.createElement(SidebarContainer, null, react_default.createElement(Drag, { ref: sidebarResizerRef }), slots.slotSidebar), isMobile2 && react_default.createElement(
4693
3913
  OrderedMobileNavigation,
4694
3914
  {
4695
3915
  menu: slots.slotSidebar,
4696
3916
  panel: slots.slotPanel,
4697
3917
  showPanel
4698
3918
  }
4699
- ), react_default.createElement(MainContentMatcher, null, slots.slotMain), react_default.createElement(Notifications, null))
3919
+ ), react_default.createElement(MainContentMatcher, null, slots.slotMain), isDesktop && showPanel && react_default.createElement(PanelContainer, { position: panelPosition }, react_default.createElement(
3920
+ Drag,
3921
+ {
3922
+ orientation: panelPosition === "bottom" ? "horizontal" : "vertical",
3923
+ position: panelPosition === "bottom" ? "left" : "right",
3924
+ ref: panelResizerRef
3925
+ }
3926
+ ), slots.slotPanel), isMobile2 && react_default.createElement(Notifications, null))
4700
3927
  );
4701
3928
  }, LayoutContainer = styled.div(
4702
3929
  ({ navSize, rightPanelWidth, bottomPanelHeight, viewMode, panelPosition, showPanel }) => ({
@@ -5037,12 +4264,6 @@ function IFrame(props) {
5037
4264
  ));
5038
4265
  }
5039
4266
 
5040
- // src/manager/components/preview/utils/stringifyQueryParams.tsx
5041
- var import_picoquery = __toESM(require_main(), 1), stringifyQueryParams = (queryParams) => {
5042
- let result = (0, import_picoquery.stringify)(queryParams);
5043
- return result === "" ? "" : `&${result}`;
5044
- };
5045
-
5046
4267
  // src/manager/components/preview/FramesRenderer.tsx
5047
4268
  var getActive = (refId, refs) => refId && refs[refId] ? `storybook-ref-${refId}` : "storybook-preview-iframe", SkipToSidebarLink = styled(Button)(({ theme }) => ({
5048
4269
  display: "none",
@@ -5071,28 +4292,26 @@ var getActive = (refId, refs) => refId && refs[refId] ? `storybook-ref-${refId}`
5071
4292
  display: "block"
5072
4293
  }
5073
4294
  }, FramesRenderer = ({
4295
+ api,
5074
4296
  refs,
5075
4297
  scale,
5076
4298
  viewMode = "story",
5077
4299
  refId,
5078
4300
  queryParams = {},
5079
- baseUrl,
5080
4301
  storyId = "*"
5081
4302
  }) => {
5082
- let version3 = refs[refId]?.version, stringifiedQueryParams = stringifyQueryParams({
5083
- ...queryParams,
5084
- ...version3 && { version: version3 }
5085
- }), active = getActive(refId, refs), { current: frames } = useRef({}), refsToLoad = Object.values(refs).filter((ref) => ref.type === "auto-inject" || ref.id === refId, {});
5086
- return frames["storybook-preview-iframe"] || (frames["storybook-preview-iframe"] = getStoryHref(baseUrl, storyId, {
5087
- ...queryParams,
5088
- ...version3 && { version: version3 },
4303
+ let version3 = refs[refId]?.version, active = getActive(refId, refs), { current: frames } = useRef({}), refsToLoad = Object.values(refs).filter((ref) => ref.type === "auto-inject" || ref.id === refId, {});
4304
+ return frames["storybook-preview-iframe"] || (frames["storybook-preview-iframe"] = api.getStoryHrefs(storyId, {
4305
+ queryParams: { ...queryParams, ...version3 && { version: version3 } },
4306
+ refId,
5089
4307
  viewMode
5090
- })), refsToLoad.forEach((ref) => {
5091
- let id = `storybook-ref-${ref.id}`, existingUrl = frames[id]?.split("/iframe.html")[0];
5092
- if (!existingUrl || ref.url !== existingUrl) {
5093
- let newUrl = `${ref.url}/iframe.html?id=${storyId}&viewMode=${viewMode}&refId=${ref.id}${stringifiedQueryParams}`;
5094
- frames[id] = newUrl;
5095
- }
4308
+ }).previewHref), refsToLoad.forEach((ref) => {
4309
+ let id = `storybook-ref-${ref.id}`;
4310
+ frames[id]?.startsWith(ref.url) || (frames[id] = api.getStoryHrefs(storyId, {
4311
+ queryParams: { ...queryParams, ...version3 && { version: version3 } },
4312
+ refId: ref.id,
4313
+ viewMode
4314
+ }).previewHref);
5096
4315
  }), react_default.createElement(Fragment, null, react_default.createElement(Global, { styles }), react_default.createElement(Consumer, { filter: whenSidebarIsVisible }, ({ isFullscreen, isNavShown, selectedStoryId }) => isFullscreen || !isNavShown || !selectedStoryId ? null : react_default.createElement(SkipToSidebarLink, { ariaLabel: !1, asChild: !0 }, react_default.createElement("a", { href: `#${selectedStoryId}`, tabIndex: 0, title: "Skip to sidebar" }, "Skip to sidebar"))), Object.entries(frames).map(([id, src]) => react_default.createElement(Fragment, { key: id }, react_default.createElement(
5097
4316
  IFrame,
5098
4317
  {
@@ -5346,6 +4565,7 @@ var zoomTool = {
5346
4565
 
5347
4566
  // src/manager/components/preview/Preview.tsx
5348
4567
  var canvasMapper = ({ state, api }) => ({
4568
+ api,
5349
4569
  storyId: state.storyId,
5350
4570
  refId: state.refId,
5351
4571
  viewMode: state.viewMode,
@@ -5418,6 +4638,7 @@ var canvasMapper = ({ state, api }) => ({
5418
4638
  ), react_default.createElement(FrameWrap, { "aria-labelledby": "main-preview-heading" }, react_default.createElement("h2", { id: "main-preview-heading", className: "sb-sr-only" }, "Main preview area"), tabContent && react_default.createElement(IframeWrapper, null, tabContent({ active: !0 })), react_default.createElement(CanvasWrap, { show: !tabId || tabId === "canvas" }, react_default.createElement(Canvas, { withLoader, baseUrl, wrappers }))))));
5419
4639
  });
5420
4640
  var Canvas = ({ baseUrl, withLoader, wrappers }) => react_default.createElement(Consumer, { filter: canvasMapper }, ({
4641
+ api,
5421
4642
  entry,
5422
4643
  refs,
5423
4644
  customCanvas,
@@ -5441,7 +4662,7 @@ var Canvas = ({ baseUrl, withLoader, wrappers }) => react_default.createElement(
5441
4662
  return react_default.createElement(ZoomConsumer, null, ({ value: scale }) => react_default.createElement(react_default.Fragment, null, withLoader && isLoading && react_default.createElement(LoaderWrapper, null, react_default.createElement(Loader, { id: "preview-loader", role: "progressbar", progress })), react_default.createElement(ApplyWrappers, { id, storyId, viewMode, wrappers }, customCanvas ? customCanvas(storyId, viewMode, id, baseUrl, scale, queryParams) : react_default.createElement(
5442
4663
  FramesRenderer,
5443
4664
  {
5444
- baseUrl,
4665
+ api,
5445
4666
  refs,
5446
4667
  scale,
5447
4668
  entry,
@@ -7006,8 +6227,8 @@ function getBordersSize(styles2, axis) {
7006
6227
  function getSize(axis, body, html, computedStyle) {
7007
6228
  return Math.max(body["offset" + axis], body["scroll" + axis], html["client" + axis], html["offset" + axis], html["scroll" + axis], isIE(10) ? parseInt(html["offset" + axis]) + parseInt(computedStyle["margin" + (axis === "Height" ? "Top" : "Left")]) + parseInt(computedStyle["margin" + (axis === "Height" ? "Bottom" : "Right")]) : 0);
7008
6229
  }
7009
- function getWindowSizes(document11) {
7010
- var body = document11.body, html = document11.documentElement, computedStyle = isIE(10) && getComputedStyle(html);
6230
+ function getWindowSizes(document10) {
6231
+ var body = document10.body, html = document10.documentElement, computedStyle = isIE(10) && getComputedStyle(html);
7011
6232
  return {
7012
6233
  height: getSize("Height", body, html, computedStyle),
7013
6234
  width: getSize("Width", body, html, computedStyle)
@@ -11097,7 +10318,7 @@ export default {
11097
10318
  criteria: "At least one story with a play or test function",
11098
10319
  subscribe: subscribeToIndex(
11099
10320
  (entries) => Object.values(entries).some(
11100
- (entry) => entry.tags?.includes("play-fn") || entry.tags?.includes("test-fn")
10321
+ (entry) => entry.tags?.includes(Tag.PLAY_FN) || entry.tags?.includes(Tag.TEST_FN)
11101
10322
  )
11102
10323
  ),
11103
10324
  content: ({ api }) => react_default.createElement(react_default.Fragment, null, react_default.createElement("p", null, "When you need to test non-visual or particularly complex behavior of a component, add a play function."), react_default.createElement(CodeSnippet, { language: "typescript" }, `// Button.stories.ts
@@ -11369,7 +10590,7 @@ export const Disabled: Story = {
11369
10590
  label: "Automatically document your components",
11370
10591
  criteria: "At least one component with the autodocs tag applied",
11371
10592
  subscribe: subscribeToIndex(
11372
- (entries) => Object.values(entries).some((entry) => entry.tags?.includes("autodocs"))
10593
+ (entries) => Object.values(entries).some((entry) => entry.tags?.includes(Tag.AUTODOCS))
11373
10594
  ),
11374
10595
  content: ({ api }) => react_default.createElement(react_default.Fragment, null, react_default.createElement("p", null, "Add the autodocs tag to a component's meta to automatically generate documentation for that component, complete with examples, source code, an API table, and a description."), react_default.createElement(CodeSnippet, { language: "typescript" }, `// Button.stories.js
11375
10596
 
@@ -11750,14 +10971,9 @@ var Key = styled.span(({ theme }) => ({
11750
10971
  };
11751
10972
 
11752
10973
  // src/manager/components/preview/tools/share.tsx
11753
- var { PREVIEW_URL, document: document2 } = scope, mapper3 = ({ state }) => {
11754
- let { storyId, refId, refs } = state, { location: location2 } = document2, ref = refs[refId], baseUrl = `${location2.origin}${location2.pathname}`;
11755
- return baseUrl.endsWith("/") || (baseUrl += "/"), {
11756
- refId,
11757
- baseUrl: ref ? `${ref.url}/iframe.html` : PREVIEW_URL || `${baseUrl}iframe.html`,
11758
- storyId,
11759
- queryParams: state.customQueryParams
11760
- };
10974
+ var mapper3 = ({ api, state }) => {
10975
+ let { storyId, refId } = state;
10976
+ return { api, refId, storyId };
11761
10977
  }, QRContainer = styled.div(() => ({
11762
10978
  display: "flex",
11763
10979
  alignItems: "center",
@@ -11779,65 +10995,58 @@ var { PREVIEW_URL, document: document2 } = scope, mapper3 = ({ state }) => {
11779
10995
  })), QRDescription = styled.div(({ theme }) => ({
11780
10996
  fontSize: theme.typography.size.s1,
11781
10997
  color: theme.textMutedColor
11782
- }));
11783
- function ShareMenu({
11784
- baseUrl,
10998
+ })), ShareMenu = react_default.memo(function({
10999
+ api,
11785
11000
  storyId,
11786
- queryParams,
11787
- qrUrl,
11788
- isDevelopment
11001
+ refId
11789
11002
  }) {
11790
- let shortcutKeys = useStorybookApi().getShortcutKeys(), enableShortcuts = !!shortcutKeys, [copied, setCopied] = useState(!1), copyStoryLink = shortcutKeys?.copyStoryLink, links = useMemo(() => {
11791
- let baseLinks = [
11003
+ let shortcutKeys = api.getShortcutKeys(), enableShortcuts = !!shortcutKeys, [copied, setCopied] = useState(!1), copyStoryLink = shortcutKeys?.copyStoryLink, openInIsolation = shortcutKeys?.openInIsolation, links = useMemo(() => {
11004
+ let copyTitle = copied ? "Copied!" : "Copy story link", originHrefs = api.getStoryHrefs(storyId, { base: "origin", refId }), networkHrefs = api.getStoryHrefs(storyId, { base: "network", refId });
11005
+ return [
11792
11006
  [
11793
11007
  {
11794
11008
  id: "copy-link",
11795
- title: copied ? "Copied!" : "Copy story link",
11009
+ title: copyTitle,
11796
11010
  icon: react_default.createElement(LinkIcon, null),
11797
11011
  right: enableShortcuts ? react_default.createElement(Shortcut, { keys: copyStoryLink }) : null,
11798
11012
  onClick: () => {
11799
- (0, import_copy_to_clipboard.default)(window.location.href), setCopied(!0), setTimeout(() => setCopied(!1), 2e3);
11013
+ (0, import_copy_to_clipboard.default)(originHrefs.managerHref), setCopied(!0), setTimeout(() => setCopied(!1), 2e3);
11800
11014
  }
11801
11015
  },
11802
11016
  {
11803
11017
  id: "open-new-tab",
11804
11018
  title: "Open in isolation mode",
11805
- icon: react_default.createElement(BugIcon, null),
11806
- onClick: () => {
11807
- let href = getStoryHref(baseUrl, storyId, queryParams);
11808
- window.open(href, "_blank", "noopener,noreferrer");
11809
- }
11019
+ icon: react_default.createElement(ShareAltIcon, null),
11020
+ right: enableShortcuts ? react_default.createElement(Shortcut, { keys: openInIsolation }) : null,
11021
+ href: originHrefs.previewHref,
11022
+ target: "_blank",
11023
+ rel: "noopener noreferrer"
11024
+ }
11025
+ ],
11026
+ [
11027
+ {
11028
+ id: "qr-section",
11029
+ content: react_default.createElement(QRContainer, null, react_default.createElement(QRImage, { value: networkHrefs.managerHref }), react_default.createElement(QRContent, null, react_default.createElement(QRTitle, null, "Scan to open"), react_default.createElement(QRDescription, null, scope.CONFIG_TYPE === "DEVELOPMENT" ? "Device must be on the same network." : "View story on another device.")))
11810
11030
  }
11811
11031
  ]
11812
11032
  ];
11813
- return baseLinks.push([
11814
- {
11815
- id: "qr-section",
11816
- // @ts-expect-error (non strict)
11817
- content: react_default.createElement(QRContainer, null, react_default.createElement(QRImage, { value: qrUrl }), react_default.createElement(QRContent, null, react_default.createElement(QRTitle, null, "Scan to open"), react_default.createElement(QRDescription, null, isDevelopment ? "Device must be on the same network." : "View story on another device.")))
11818
- }
11819
- ]), baseLinks;
11820
- }, [baseUrl, storyId, queryParams, copied, qrUrl, enableShortcuts, copyStoryLink, isDevelopment]);
11821
- return react_default.createElement(TooltipLinkList, { links, style: { width: 210 } });
11822
- }
11823
- var shareTool = {
11033
+ }, [api, storyId, refId, copied, enableShortcuts, copyStoryLink, openInIsolation]);
11034
+ return react_default.createElement(TooltipLinkList, { links, style: { width: 240 } });
11035
+ }), shareTool = {
11824
11036
  title: "share",
11825
11037
  id: "share",
11826
11038
  type: types.TOOL,
11827
11039
  match: ({ viewMode, tabId }) => viewMode === "story" && !tabId,
11828
- render: () => react_default.createElement(Consumer, { filter: mapper3 }, ({ baseUrl, storyId, queryParams }) => {
11829
- let isDevelopment = scope.CONFIG_TYPE === "DEVELOPMENT", storyUrl = scope.STORYBOOK_NETWORK_ADDRESS ? new URL(window.location.search, scope.STORYBOOK_NETWORK_ADDRESS).href : window.location.href;
11830
- return storyId ? react_default.createElement(
11831
- PopoverProvider,
11832
- {
11833
- hasChrome: !0,
11834
- placement: "bottom",
11835
- padding: 0,
11836
- popover: react_default.createElement(ShareMenu, { baseUrl, storyId, queryParams, qrUrl: storyUrl, isDevelopment })
11837
- },
11838
- react_default.createElement(Button, { padding: "small", variant: "ghost", ariaLabel: "Share", tooltip: "Share..." }, react_default.createElement(ShareIcon, null))
11839
- ) : null;
11840
- })
11040
+ render: () => react_default.createElement(Consumer, { filter: mapper3 }, ({ api, storyId, refId }) => storyId ? react_default.createElement(
11041
+ PopoverProvider,
11042
+ {
11043
+ hasChrome: !0,
11044
+ placement: "bottom",
11045
+ padding: 0,
11046
+ popover: react_default.createElement(ShareMenu, { api, storyId, refId })
11047
+ },
11048
+ react_default.createElement(Button, { padding: "small", variant: "ghost", ariaLabel: "Share", tooltip: "Share..." }, react_default.createElement(ShareIcon, null))
11049
+ ) : null)
11841
11050
  };
11842
11051
 
11843
11052
  // src/manager/container/Preview.tsx
@@ -11850,7 +11059,7 @@ var defaultTabs = [createCanvasTab()], defaultTools = [menuTool, remountTool, zo
11850
11059
  ), memoizedWrapper = (0, import_memoizerific.default)(1)((_2, previewElements) => [
11851
11060
  ...defaultWrappers,
11852
11061
  ...Object.values(previewElements)
11853
- ]), { PREVIEW_URL: PREVIEW_URL2 } = scope, splitTitleAddExtraSpace = (input) => input.split("/").join(" / ").replace(/\s\s/, " "), getDescription = (item) => {
11062
+ ]), { PREVIEW_URL } = scope, splitTitleAddExtraSpace = (input) => input.split("/").join(" / ").replace(/\s\s/, " "), getDescription = (item) => {
11854
11063
  if (item?.type === "story" || item?.type === "docs") {
11855
11064
  let { title: title2, name } = item;
11856
11065
  return title2 && name ? splitTitleAddExtraSpace(`${title2} - ${name} \u22C5 Storybook`) : "Storybook";
@@ -11882,7 +11091,7 @@ var defaultTabs = [createCanvasTab()], defaultTools = [menuTool, remountTool, zo
11882
11091
  viewMode,
11883
11092
  refs,
11884
11093
  storyId,
11885
- baseUrl: PREVIEW_URL2 || "iframe.html",
11094
+ baseUrl: PREVIEW_URL || "iframe.html",
11886
11095
  queryParams: customQueryParams,
11887
11096
  tools,
11888
11097
  toolsExtra,
@@ -13649,7 +12858,7 @@ var HighlightStyles = ({ refId, itemId }) => react_default.createElement(
13649
12858
 
13650
12859
  // src/manager/utils/tree.ts
13651
12860
  var import_memoizerific2 = __toESM(require_memoizerific(), 1);
13652
- var { document: document3, window: globalWindow } = scope, createId = (itemId, refId) => !refId || refId === DEFAULT_REF_ID ? itemId : `${refId}_${itemId}`, getLink = (item, refId) => `${document3.location.pathname}?path=/${item.type}/${createId(item.id, refId)}`;
12861
+ var { document: document2, window: globalWindow } = scope, createId = (itemId, refId) => !refId || refId === DEFAULT_REF_ID ? itemId : `${refId}_${itemId}`, getLink = (item, refId) => `${document2.location.pathname}?path=/${item.type}/${createId(item.id, refId)}`;
13653
12862
  var get = (0, import_memoizerific2.default)(1e3)((id, dataset) => dataset[id]), getParent = (0, import_memoizerific2.default)(1e3)((id, dataset) => {
13654
12863
  let item = get(id, dataset);
13655
12864
  return item && item.type !== "root" ? get(item.parent, dataset) : void 0;
@@ -13680,7 +12889,7 @@ var scrollIntoView = (element, center = !1) => {
13680
12889
  let { top, bottom } = element.getBoundingClientRect();
13681
12890
  if (!top || !bottom)
13682
12891
  return;
13683
- let bottomOffset = document3?.querySelector("#sidebar-bottom-wrapper")?.getBoundingClientRect().top || globalWindow.innerHeight || document3.documentElement.clientHeight;
12892
+ let bottomOffset = document2?.querySelector("#sidebar-bottom-wrapper")?.getBoundingClientRect().top || globalWindow.innerHeight || document2.documentElement.clientHeight;
13684
12893
  bottom > bottomOffset && element.scrollIntoView({ block: center ? "center" : "nearest" });
13685
12894
  }, getStateType = (isLoading, isAuthRequired, isError, isEmpty) => {
13686
12895
  switch (!0) {
@@ -13821,7 +13030,7 @@ var { window: globalWindow2 } = scope, TextStyle = styled.div(({ theme }) => ({
13821
13030
  ), " ", "in your story files.", " "))) : react_default.createElement(Text3, null, "This composed Storybook is empty. Perhaps no stories match your selected filters.")))), LoaderBlock = ({ isMain }) => react_default.createElement(Contained, null, react_default.createElement(Loader2, { size: isMain ? 17 : 5 }));
13822
13031
 
13823
13032
  // src/manager/components/sidebar/RefIndicator.tsx
13824
- var { document: document4, window: globalWindow3 } = scope, IndicatorPlacement = styled.div(({ theme }) => ({
13033
+ var { document: document3, window: globalWindow3 } = scope, IndicatorPlacement = styled.div(({ theme }) => ({
13825
13034
  height: 16,
13826
13035
  display: "flex",
13827
13036
  alignItems: "center",
@@ -13956,7 +13165,7 @@ var { document: document4, window: globalWindow3 } = scope, IndicatorPlacement =
13956
13165
  `storybook_auth_${id}`,
13957
13166
  "resizable,scrollbars"
13958
13167
  ), timer = setInterval(() => {
13959
- childWindow ? childWindow.closed && (clearInterval(timer), document4.location.reload()) : clearInterval(timer);
13168
+ childWindow ? childWindow.closed && (clearInterval(timer), document3.location.reload()) : clearInterval(timer);
13960
13169
  }, 1e3);
13961
13170
  },
13962
13171
  [id, loginUrl]
@@ -14182,15 +13391,13 @@ var empty = {
14182
13391
  }), useContextMenu = (context, links, api) => {
14183
13392
  let [hoverCount, setHoverCount] = useState(0), [isOpen, setIsOpen] = useState(!1), [copyText, setCopyText] = react_default.useState("Copy story name"), { allStatuses, groupStatus } = useContext(StatusContext), shortcutKeys = api.getShortcutKeys(), enableShortcuts = !!shortcutKeys, topLinks = useMemo(() => {
14184
13393
  let defaultLinks = [];
14185
- return context && "importPath" in context && defaultLinks.push({
13394
+ return context && "importPath" in context && context.importPath && defaultLinks.push({
14186
13395
  id: "open-in-editor",
14187
13396
  title: "Open in editor",
14188
13397
  icon: react_default.createElement(EditorIcon, null),
14189
13398
  right: enableShortcuts ? react_default.createElement(Shortcut, { keys: shortcutKeys.openInEditor }) : null,
14190
13399
  onClick: (e2) => {
14191
- e2.preventDefault(), api.openInEditor({
14192
- file: context.importPath
14193
- });
13400
+ context.importPath && (e2.preventDefault(), api.openInEditor({ file: context.importPath }));
14194
13401
  }
14195
13402
  }), context.type === "story" && defaultLinks.push({
14196
13403
  id: "copy-story-name",
@@ -14406,7 +13613,7 @@ var codeToKeyMap = {
14406
13613
  }, matchesKeyCode = (code, event) => event.code ? event.code === code : event.key === codeToKeyMap[code];
14407
13614
 
14408
13615
  // src/manager/components/sidebar/useExpanded.ts
14409
- var { document: document5 } = scope, initializeExpanded = ({
13616
+ var { document: document4 } = scope, initializeExpanded = ({
14410
13617
  refId,
14411
13618
  data,
14412
13619
  initialExpanded,
@@ -14469,7 +13676,7 @@ var { document: document5 } = scope, initializeExpanded = ({
14469
13676
  return useEffect(() => api ? (api.on(STORIES_COLLAPSE_ALL, collapseAll), api.on(STORIES_EXPAND_ALL, expandAll), () => {
14470
13677
  api.off(STORIES_COLLAPSE_ALL, collapseAll), api.off(STORIES_EXPAND_ALL, expandAll);
14471
13678
  }) : noop3, [api, collapseAll, expandAll]), useEffect(() => {
14472
- let menuElement = document5.getElementById("storybook-explorer-menu"), navigateTree = throttle((event) => {
13679
+ let menuElement = document4.getElementById("storybook-explorer-menu"), navigateTree = throttle((event) => {
14473
13680
  let highlightedItemId = highlightedRef.current?.refId === refId && highlightedRef.current?.itemId;
14474
13681
  if (!isBrowsing || !containerRef.current || !highlightedItemId || event.repeat || !matchesModifiers(!1, event))
14475
13682
  return;
@@ -14505,7 +13712,7 @@ var { document: document5 } = scope, initializeExpanded = ({
14505
13712
  }
14506
13713
  isArrowRight && (isExpanded === "false" ? updateExpanded({ ids: [highlightedItemId], value: !0 }) : isExpanded === "true" && updateExpanded({ ids: getDescendantIds(data, highlightedItemId, !0), value: !0 }));
14507
13714
  }, 60);
14508
- return document5.addEventListener("keydown", navigateTree), () => document5.removeEventListener("keydown", navigateTree);
13715
+ return document4.addEventListener("keydown", navigateTree), () => document4.removeEventListener("keydown", navigateTree);
14509
13716
  }, [
14510
13717
  containerRef,
14511
13718
  isBrowsing,
@@ -15070,8 +14277,8 @@ var Wrapper4 = styled.div(({ isMain }) => ({
15070
14277
  });
15071
14278
 
15072
14279
  // src/manager/components/sidebar/useHighlighted.ts
15073
- var { document: document6, window: globalWindow4 } = scope, fromSelection = (selection) => selection ? { itemId: selection.storyId, refId: selection.refId } : null, scrollToSelector = (selector, options2 = {}, _attempt = 1) => {
15074
- let { containerRef, center = !1, attempts = 3, delay: delay2 = 500 } = options2, element = (containerRef ? containerRef.current : document6)?.querySelector(selector);
14280
+ var { document: document5, window: globalWindow4 } = scope, fromSelection = (selection) => selection ? { itemId: selection.storyId, refId: selection.refId } : null, scrollToSelector = (selector, options2 = {}, _attempt = 1) => {
14281
+ let { containerRef, center = !1, attempts = 3, delay: delay2 = 500 } = options2, element = (containerRef ? containerRef.current : document5)?.querySelector(selector);
15075
14282
  element ? scrollIntoView(element, center) : _attempt <= attempts && setTimeout(scrollToSelector, delay2, selector, options2, _attempt + 1);
15076
14283
  }, useHighlighted = ({
15077
14284
  containerRef,
@@ -15098,7 +14305,7 @@ var { document: document6, window: globalWindow4 } = scope, fromSelection = (sel
15098
14305
  center: !0
15099
14306
  });
15100
14307
  }, [containerRef, selected, updateHighlighted]), useEffect(() => {
15101
- let menuElement = document6.getElementById("storybook-explorer-menu"), lastRequestId, navigateTree = (event) => {
14308
+ let menuElement = document5.getElementById("storybook-explorer-menu"), lastRequestId, navigateTree = (event) => {
15102
14309
  if (isLoading || !isBrowsing || !containerRef.current || !matchesModifiers(!1, event))
15103
14310
  return;
15104
14311
  let isArrowUp = matchesKeyCode("ArrowUp", event), isArrowDown = matchesKeyCode("ArrowDown", event);
@@ -15124,7 +14331,7 @@ var { document: document6, window: globalWindow4 } = scope, fromSelection = (sel
15124
14331
  }
15125
14332
  });
15126
14333
  };
15127
- return document6.addEventListener("keydown", navigateTree), () => document6.removeEventListener("keydown", navigateTree);
14334
+ return document5.addEventListener("keydown", navigateTree), () => document5.removeEventListener("keydown", navigateTree);
15128
14335
  }, [api, containerRef, isLoading, isBrowsing, highlightedRef, highlightElement]), [highlighted, updateHighlighted, highlightedRef];
15129
14336
  };
15130
14337
 
@@ -16142,8 +15349,8 @@ function invokeOnChangeHandler(key, action, state, newState) {
16142
15349
  function stateReducer(s2, a2) {
16143
15350
  return a2.changes;
16144
15351
  }
16145
- var updateA11yStatus = debounce4(function(status, document11) {
16146
- setStatus(status, document11);
15352
+ var updateA11yStatus = debounce4(function(status, document10) {
15353
+ setStatus(status, document10);
16147
15354
  }, 200), useIsomorphicLayoutEffect2 = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u" ? useLayoutEffect : useEffect, useElementIds = "useId" in react_default ? function(_ref) {
16148
15355
  var id = _ref.id, labelId = _ref.labelId, menuId = _ref.menuId, getItemId = _ref.getItemId, toggleButtonId = _ref.toggleButtonId, inputId = _ref.inputId, reactId = "downshift-" + react_default.useId();
16149
15356
  id || (id = reactId);
@@ -16291,17 +15498,17 @@ var useGetterPropsCalledChecker = function() {
16291
15498
  };
16292
15499
  function useA11yMessageStatus(getA11yStatusMessage2, options2, dependencyArray, environment) {
16293
15500
  environment === void 0 && (environment = {});
16294
- var document11 = environment.document, isInitialMount = useIsInitialMount();
15501
+ var document10 = environment.document, isInitialMount = useIsInitialMount();
16295
15502
  useEffect(function() {
16296
- if (!(!getA11yStatusMessage2 || isInitialMount || !document11)) {
15503
+ if (!(!getA11yStatusMessage2 || isInitialMount || !document10)) {
16297
15504
  var status = getA11yStatusMessage2(options2);
16298
- updateA11yStatus(status, document11);
15505
+ updateA11yStatus(status, document10);
16299
15506
  }
16300
15507
  }, dependencyArray), useEffect(function() {
16301
15508
  return function() {
16302
- updateA11yStatus.cancel(), cleanupStatusDiv(document11);
15509
+ updateA11yStatus.cancel(), cleanupStatusDiv(document10);
16303
15510
  };
16304
- }, [document11]);
15511
+ }, [document10]);
16305
15512
  }
16306
15513
  function useScrollIntoView(_ref3) {
16307
15514
  var highlightedIndex = _ref3.highlightedIndex, isOpen = _ref3.isOpen, itemRefs = _ref3.itemRefs, getItemNodeFromIndex = _ref3.getItemNodeFromIndex, menuElement = _ref3.menuElement, scrollIntoViewProp = _ref3.scrollIntoView, shouldScrollRef = useRef(!0);
@@ -17457,7 +16664,7 @@ function isSearchResult(x2) {
17457
16664
  }
17458
16665
 
17459
16666
  // src/manager/components/sidebar/Search.tsx
17460
- var { document: document7 } = scope, DEFAULT_MAX_SEARCH_RESULTS = 50, options = {
16667
+ var { document: document6 } = scope, DEFAULT_MAX_SEARCH_RESULTS = 50, options = {
17461
16668
  shouldSort: !0,
17462
16669
  tokenize: !0,
17463
16670
  findAllMatches: !0,
@@ -17707,7 +16914,7 @@ var { document: document7 } = scope, DEFAULT_MAX_SEARCH_RESULTS = 50, options =
17707
16914
  ), searchBarContent), react_default.createElement(FocusContainer, { tabIndex: 0, id: "storybook-explorer-menu" }, children({
17708
16915
  query: input,
17709
16916
  results,
17710
- isBrowsing: !isOpen && document7.activeElement !== inputRef.current,
16917
+ isBrowsing: !isOpen && document6.activeElement !== inputRef.current,
17711
16918
  closeMenu,
17712
16919
  getMenuProps,
17713
16920
  getItemProps,
@@ -17719,7 +16926,7 @@ var { document: document7 } = scope, DEFAULT_MAX_SEARCH_RESULTS = 50, options =
17719
16926
  });
17720
16927
 
17721
16928
  // src/manager/components/sidebar/SearchResults.tsx
17722
- var { document: document8 } = scope, ResultsList = styled.ol({
16929
+ var { document: document7 } = scope, ResultsList = styled.ol({
17723
16930
  listStyle: "none",
17724
16931
  margin: 0,
17725
16932
  padding: 0
@@ -17846,7 +17053,7 @@ var { document: document8 } = scope, ResultsList = styled.ol({
17846
17053
  event.preventDefault(), closeMenu();
17847
17054
  }
17848
17055
  };
17849
- return document8.addEventListener("keydown", handleEscape), () => document8.removeEventListener("keydown", handleEscape);
17056
+ return document7.addEventListener("keydown", handleEscape), () => document7.removeEventListener("keydown", handleEscape);
17850
17057
  }, [closeMenu, enableShortcuts, isLoading]);
17851
17058
  let mouseOverHandler = useCallback((event) => {
17852
17059
  if (!api)
@@ -18343,15 +17550,7 @@ var groupByType = (filters) => filters.reduce(
18343
17550
  };
18344
17551
 
18345
17552
  // src/manager/components/sidebar/TagsFilter.tsx
18346
- var TAGS_FILTER = "tags-filter", BUILT_IN_TAGS = /* @__PURE__ */ new Set([
18347
- "dev",
18348
- "test",
18349
- "autodocs",
18350
- "attached-mdx",
18351
- "unattached-mdx",
18352
- "play-fn",
18353
- "test-fn"
18354
- ]), StyledButton2 = styled(Button)(({ isHighlighted, theme }) => ({
17553
+ var TAGS_FILTER = "tags-filter", BUILT_IN_TAGS = new Set(Object.values(Tag)), StyledButton2 = styled(Button)(({ isHighlighted, theme }) => ({
18355
17554
  "&:focus-visible": {
18356
17555
  outlineOffset: 4
18357
17556
  },
@@ -18409,7 +17608,7 @@ var TAGS_FILTER = "tags-filter", BUILT_IN_TAGS = /* @__PURE__ */ new Set([
18409
17608
  title: "Play",
18410
17609
  icon: react_default.createElement(PlayHollowIcon, { color: color.seafoam }),
18411
17610
  ...withCount(
18412
- (entry, excluded) => excluded ? entry.type !== "story" || !entry.tags?.includes("play-fn") : entry.type === "story" && !!entry.tags?.includes("play-fn")
17611
+ (entry, excluded) => excluded ? entry.type !== "story" || !entry.tags?.includes(Tag.PLAY_FN) : entry.type === "story" && !!entry.tags?.includes(Tag.PLAY_FN)
18413
17612
  )
18414
17613
  },
18415
17614
  _test: {
@@ -19338,6 +18537,7 @@ var Header2 = styled.header(({ theme }) => ({
19338
18537
  expandAll: "Expand all items on sidebar",
19339
18538
  remount: "Reload story",
19340
18539
  openInEditor: "Open story in editor",
18540
+ openInIsolation: "Open story in isolation",
19341
18541
  copyStoryLink: "Copy story link to clipboard"
19342
18542
  // TODO: bring this back once we want to add shortcuts for this
19343
18543
  // copyStoryName: 'Copy story name to clipboard',
@@ -19585,14 +18785,14 @@ var Centered = styled.div({
19585
18785
  var WhatsNewPage = () => react_default.createElement(WhatsNewScreen, null);
19586
18786
 
19587
18787
  // src/manager/settings/index.tsx
19588
- var { document: document9 } = scope, Content4 = styled(ScrollArea)(({ theme }) => ({
18788
+ var { document: document8 } = scope, Content4 = styled(ScrollArea)(({ theme }) => ({
19589
18789
  background: theme.background.content
19590
18790
  })), RouteWrapper = ({ children, path }) => react_default.createElement(Content4, { vertical: !0, horizontal: !1 }, react_default.createElement(Route, { path }, children)), Pages = ({ changeTab, onClose, enableShortcuts = !0, enableWhatsNew }) => {
19591
18791
  react_default.useEffect(() => {
19592
18792
  let handleEscape = (event) => {
19593
18793
  !enableShortcuts || event.repeat || matchesModifiers(!1, event) && matchesKeyCode("Escape", event) && (event.preventDefault(), onClose());
19594
18794
  };
19595
- return document9.addEventListener("keydown", handleEscape), () => document9.removeEventListener("keydown", handleEscape);
18795
+ return document8.addEventListener("keydown", handleEscape), () => document8.removeEventListener("keydown", handleEscape);
19596
18796
  }, [enableShortcuts, onClose]);
19597
18797
  let tabs = useMemo(() => {
19598
18798
  let tabsToInclude = [
@@ -19739,7 +18939,7 @@ var ReactProvider = class extends Provider2 {
19739
18939
  });
19740
18940
  });
19741
18941
  }
19742
- }, { document: document10 } = scope, rootEl = document10.getElementById("root");
18942
+ }, { document: document9 } = scope, rootEl = document9.getElementById("root");
19743
18943
  setTimeout(() => {
19744
18944
  renderStorybookUI(rootEl, new ReactProvider());
19745
18945
  }, 0);