storybook 10.2.0-alpha.11 → 10.2.0-alpha.13

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 (70) 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-MNAUTRWW.js → builder-manager-YTW4R3NB.js} +13 -12
  4. package/dist/_node-chunks/{camelcase-6H4Z5R35.js → camelcase-ALOK3DTL.js} +7 -7
  5. package/dist/_node-chunks/{chunk-URWJMVZI.js → chunk-2VHYFREG.js} +7 -7
  6. package/dist/_node-chunks/{chunk-UYMZAYR4.js → chunk-5CARBEGS.js} +9 -9
  7. package/dist/_node-chunks/{chunk-2DZGIXSN.js → chunk-5E6TIJW7.js} +6 -6
  8. package/dist/_node-chunks/chunk-5U7IR6W2.js +61 -0
  9. package/dist/_node-chunks/{chunk-KU4SWNDM.js → chunk-AE6TGTGX.js} +7 -7
  10. package/dist/_node-chunks/{chunk-WHIAK7AH.js → chunk-AOMUVL33.js} +12 -12
  11. package/dist/_node-chunks/chunk-B3NH4IRY.js +35 -0
  12. package/dist/_node-chunks/{chunk-7FH4U6XC.js → chunk-BIJENBOW.js} +15 -12
  13. package/dist/_node-chunks/{chunk-O7O53MP7.js → chunk-FCBELYHM.js} +12 -12
  14. package/dist/_node-chunks/chunk-JUCUYWH2.js +23 -0
  15. package/dist/_node-chunks/chunk-KTAHXSER.js +18 -0
  16. package/dist/_node-chunks/{chunk-FWVZUHZX.js → chunk-KXFFKIVX.js} +6 -6
  17. package/dist/_node-chunks/{chunk-TFY6QV57.js → chunk-L4JVY7CQ.js} +7 -7
  18. package/dist/_node-chunks/{chunk-GRH5JFTX.js → chunk-NGFKU3PK.js} +7 -7
  19. package/dist/_node-chunks/{chunk-MAQAZSXK.js → chunk-NL75DTGM.js} +6 -6
  20. package/dist/_node-chunks/{chunk-L22DGLKT.js → chunk-NRCGIPSW.js} +6 -6
  21. package/dist/_node-chunks/{chunk-UNUWAUGG.js → chunk-OOTLIMKW.js} +6 -6
  22. package/dist/_node-chunks/{chunk-F3OHO2BC.js → chunk-OWZXELHP.js} +13 -13
  23. package/dist/_node-chunks/{chunk-TOMGRF4A.js → chunk-QMDFRT4S.js} +10 -10
  24. package/dist/_node-chunks/{chunk-HXFHXVEW.js → chunk-QV7LTTOW.js} +20 -20
  25. package/dist/_node-chunks/{chunk-UOHDPKIW.js → chunk-TOLCEUYZ.js} +7 -7
  26. package/dist/_node-chunks/{chunk-KAIK7772.js → chunk-TWCN75ID.js} +9 -9
  27. package/dist/_node-chunks/{chunk-CMQYFTBQ.js → chunk-VOVBTC53.js} +6 -6
  28. package/dist/_node-chunks/{chunk-MAMDH2R3.js → chunk-WKDY7YZY.js} +7 -7
  29. package/dist/_node-chunks/{chunk-WQ4WQYSZ.js → chunk-X2PNK4N4.js} +7 -7
  30. package/dist/_node-chunks/chunk-XQU357NR.js +20 -0
  31. package/dist/_node-chunks/{chunk-5L22ATN3.js → chunk-XX6B7MPS.js} +8 -8
  32. package/dist/_node-chunks/{chunk-RJY225Z5.js → chunk-ZSUT22UW.js} +7 -7
  33. package/dist/_node-chunks/{dist-ZOBQQCBA.js → dist-I4XBT6AL.js} +9 -9
  34. package/dist/_node-chunks/{globby-WNZSV3ZO.js → globby-RG2TFVNI.js} +9 -9
  35. package/dist/_node-chunks/{lib-YUWKNDR2.js → lib-E2AGGQV3.js} +7 -7
  36. package/dist/_node-chunks/{mdx-N42X6CFJ-K5BCUPEA.js → mdx-N42X6CFJ-SGUMZ4YL.js} +8 -8
  37. package/dist/_node-chunks/{p-limit-ROJSQI7F.js → p-limit-J4UZO65T.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 +5 -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 +18 -14
  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 +93 -25
  54. package/dist/manager/runtime.js +87 -886
  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 +26 -1
  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/theming/index.js +5 -2
  65. package/dist/types/index.d.ts +1 -0
  66. package/package.json +1 -1
  67. package/dist/_node-chunks/chunk-2CGMTALY.js +0 -61
  68. package/dist/_node-chunks/chunk-KX7OAVXY.js +0 -18
  69. package/dist/_node-chunks/chunk-P663SP7U.js +0 -20
  70. package/dist/_node-chunks/chunk-RI4IBKXZ.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__;
@@ -5036,12 +4264,6 @@ function IFrame(props) {
5036
4264
  ));
5037
4265
  }
5038
4266
 
5039
- // src/manager/components/preview/utils/stringifyQueryParams.tsx
5040
- var import_picoquery = __toESM(require_main(), 1), stringifyQueryParams = (queryParams) => {
5041
- let result = (0, import_picoquery.stringify)(queryParams);
5042
- return result === "" ? "" : `&${result}`;
5043
- };
5044
-
5045
4267
  // src/manager/components/preview/FramesRenderer.tsx
5046
4268
  var getActive = (refId, refs) => refId && refs[refId] ? `storybook-ref-${refId}` : "storybook-preview-iframe", SkipToSidebarLink = styled(Button)(({ theme }) => ({
5047
4269
  display: "none",
@@ -5070,28 +4292,26 @@ var getActive = (refId, refs) => refId && refs[refId] ? `storybook-ref-${refId}`
5070
4292
  display: "block"
5071
4293
  }
5072
4294
  }, FramesRenderer = ({
4295
+ api,
5073
4296
  refs,
5074
4297
  scale,
5075
4298
  viewMode = "story",
5076
4299
  refId,
5077
4300
  queryParams = {},
5078
- baseUrl,
5079
4301
  storyId = "*"
5080
4302
  }) => {
5081
- let version3 = refs[refId]?.version, stringifiedQueryParams = stringifyQueryParams({
5082
- ...queryParams,
5083
- ...version3 && { version: version3 }
5084
- }), active = getActive(refId, refs), { current: frames } = useRef({}), refsToLoad = Object.values(refs).filter((ref) => ref.type === "auto-inject" || ref.id === refId, {});
5085
- return frames["storybook-preview-iframe"] || (frames["storybook-preview-iframe"] = getStoryHref(baseUrl, storyId, {
5086
- ...queryParams,
5087
- ...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,
5088
4307
  viewMode
5089
- })), refsToLoad.forEach((ref) => {
5090
- let id = `storybook-ref-${ref.id}`, existingUrl = frames[id]?.split("/iframe.html")[0];
5091
- if (!existingUrl || ref.url !== existingUrl) {
5092
- let newUrl = `${ref.url}/iframe.html?id=${storyId}&viewMode=${viewMode}&refId=${ref.id}${stringifiedQueryParams}`;
5093
- frames[id] = newUrl;
5094
- }
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);
5095
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(
5096
4316
  IFrame,
5097
4317
  {
@@ -5345,6 +4565,7 @@ var zoomTool = {
5345
4565
 
5346
4566
  // src/manager/components/preview/Preview.tsx
5347
4567
  var canvasMapper = ({ state, api }) => ({
4568
+ api,
5348
4569
  storyId: state.storyId,
5349
4570
  refId: state.refId,
5350
4571
  viewMode: state.viewMode,
@@ -5417,6 +4638,7 @@ var canvasMapper = ({ state, api }) => ({
5417
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 }))))));
5418
4639
  });
5419
4640
  var Canvas = ({ baseUrl, withLoader, wrappers }) => react_default.createElement(Consumer, { filter: canvasMapper }, ({
4641
+ api,
5420
4642
  entry,
5421
4643
  refs,
5422
4644
  customCanvas,
@@ -5440,7 +4662,7 @@ var Canvas = ({ baseUrl, withLoader, wrappers }) => react_default.createElement(
5440
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(
5441
4663
  FramesRenderer,
5442
4664
  {
5443
- baseUrl,
4665
+ api,
5444
4666
  refs,
5445
4667
  scale,
5446
4668
  entry,
@@ -7005,8 +6227,8 @@ function getBordersSize(styles2, axis) {
7005
6227
  function getSize(axis, body, html, computedStyle) {
7006
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);
7007
6229
  }
7008
- function getWindowSizes(document11) {
7009
- 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);
7010
6232
  return {
7011
6233
  height: getSize("Height", body, html, computedStyle),
7012
6234
  width: getSize("Width", body, html, computedStyle)
@@ -11096,7 +10318,7 @@ export default {
11096
10318
  criteria: "At least one story with a play or test function",
11097
10319
  subscribe: subscribeToIndex(
11098
10320
  (entries) => Object.values(entries).some(
11099
- (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)
11100
10322
  )
11101
10323
  ),
11102
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
@@ -11368,7 +10590,7 @@ export const Disabled: Story = {
11368
10590
  label: "Automatically document your components",
11369
10591
  criteria: "At least one component with the autodocs tag applied",
11370
10592
  subscribe: subscribeToIndex(
11371
- (entries) => Object.values(entries).some((entry) => entry.tags?.includes("autodocs"))
10593
+ (entries) => Object.values(entries).some((entry) => entry.tags?.includes(Tag.AUTODOCS))
11372
10594
  ),
11373
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
11374
10596
 
@@ -11749,14 +10971,9 @@ var Key = styled.span(({ theme }) => ({
11749
10971
  };
11750
10972
 
11751
10973
  // src/manager/components/preview/tools/share.tsx
11752
- var { PREVIEW_URL, document: document2 } = scope, mapper3 = ({ state }) => {
11753
- let { storyId, refId, refs } = state, { location: location2 } = document2, ref = refs[refId], baseUrl = `${location2.origin}${location2.pathname}`;
11754
- return baseUrl.endsWith("/") || (baseUrl += "/"), {
11755
- refId,
11756
- baseUrl: ref ? `${ref.url}/iframe.html` : PREVIEW_URL || `${baseUrl}iframe.html`,
11757
- storyId,
11758
- queryParams: state.customQueryParams
11759
- };
10974
+ var mapper3 = ({ api, state }) => {
10975
+ let { storyId, refId } = state;
10976
+ return { api, refId, storyId };
11760
10977
  }, QRContainer = styled.div(() => ({
11761
10978
  display: "flex",
11762
10979
  alignItems: "center",
@@ -11778,65 +10995,58 @@ var { PREVIEW_URL, document: document2 } = scope, mapper3 = ({ state }) => {
11778
10995
  })), QRDescription = styled.div(({ theme }) => ({
11779
10996
  fontSize: theme.typography.size.s1,
11780
10997
  color: theme.textMutedColor
11781
- }));
11782
- function ShareMenu({
11783
- baseUrl,
10998
+ })), ShareMenu = react_default.memo(function({
10999
+ api,
11784
11000
  storyId,
11785
- queryParams,
11786
- qrUrl,
11787
- isDevelopment
11001
+ refId
11788
11002
  }) {
11789
- let shortcutKeys = useStorybookApi().getShortcutKeys(), enableShortcuts = !!shortcutKeys, [copied, setCopied] = useState(!1), copyStoryLink = shortcutKeys?.copyStoryLink, links = useMemo(() => {
11790
- 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 [
11791
11006
  [
11792
11007
  {
11793
11008
  id: "copy-link",
11794
- title: copied ? "Copied!" : "Copy story link",
11009
+ title: copyTitle,
11795
11010
  icon: react_default.createElement(LinkIcon, null),
11796
11011
  right: enableShortcuts ? react_default.createElement(Shortcut, { keys: copyStoryLink }) : null,
11797
11012
  onClick: () => {
11798
- (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);
11799
11014
  }
11800
11015
  },
11801
11016
  {
11802
11017
  id: "open-new-tab",
11803
11018
  title: "Open in isolation mode",
11804
- icon: react_default.createElement(BugIcon, null),
11805
- onClick: () => {
11806
- let href = getStoryHref(baseUrl, storyId, queryParams);
11807
- window.open(href, "_blank", "noopener,noreferrer");
11808
- }
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.")))
11809
11030
  }
11810
11031
  ]
11811
11032
  ];
11812
- return baseLinks.push([
11813
- {
11814
- id: "qr-section",
11815
- // @ts-expect-error (non strict)
11816
- 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.")))
11817
- }
11818
- ]), baseLinks;
11819
- }, [baseUrl, storyId, queryParams, copied, qrUrl, enableShortcuts, copyStoryLink, isDevelopment]);
11820
- return react_default.createElement(TooltipLinkList, { links, style: { width: 210 } });
11821
- }
11822
- var shareTool = {
11033
+ }, [api, storyId, refId, copied, enableShortcuts, copyStoryLink, openInIsolation]);
11034
+ return react_default.createElement(TooltipLinkList, { links, style: { width: 240 } });
11035
+ }), shareTool = {
11823
11036
  title: "share",
11824
11037
  id: "share",
11825
11038
  type: types.TOOL,
11826
11039
  match: ({ viewMode, tabId }) => viewMode === "story" && !tabId,
11827
- render: () => react_default.createElement(Consumer, { filter: mapper3 }, ({ baseUrl, storyId, queryParams }) => {
11828
- let isDevelopment = scope.CONFIG_TYPE === "DEVELOPMENT", storyUrl = scope.STORYBOOK_NETWORK_ADDRESS ? new URL(window.location.search, scope.STORYBOOK_NETWORK_ADDRESS).href : window.location.href;
11829
- return storyId ? react_default.createElement(
11830
- PopoverProvider,
11831
- {
11832
- hasChrome: !0,
11833
- placement: "bottom",
11834
- padding: 0,
11835
- popover: react_default.createElement(ShareMenu, { baseUrl, storyId, queryParams, qrUrl: storyUrl, isDevelopment })
11836
- },
11837
- react_default.createElement(Button, { padding: "small", variant: "ghost", ariaLabel: "Share", tooltip: "Share..." }, react_default.createElement(ShareIcon, null))
11838
- ) : null;
11839
- })
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)
11840
11050
  };
11841
11051
 
11842
11052
  // src/manager/container/Preview.tsx
@@ -11849,7 +11059,7 @@ var defaultTabs = [createCanvasTab()], defaultTools = [menuTool, remountTool, zo
11849
11059
  ), memoizedWrapper = (0, import_memoizerific.default)(1)((_2, previewElements) => [
11850
11060
  ...defaultWrappers,
11851
11061
  ...Object.values(previewElements)
11852
- ]), { 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) => {
11853
11063
  if (item?.type === "story" || item?.type === "docs") {
11854
11064
  let { title: title2, name } = item;
11855
11065
  return title2 && name ? splitTitleAddExtraSpace(`${title2} - ${name} \u22C5 Storybook`) : "Storybook";
@@ -11881,7 +11091,7 @@ var defaultTabs = [createCanvasTab()], defaultTools = [menuTool, remountTool, zo
11881
11091
  viewMode,
11882
11092
  refs,
11883
11093
  storyId,
11884
- baseUrl: PREVIEW_URL2 || "iframe.html",
11094
+ baseUrl: PREVIEW_URL || "iframe.html",
11885
11095
  queryParams: customQueryParams,
11886
11096
  tools,
11887
11097
  toolsExtra,
@@ -13648,7 +12858,7 @@ var HighlightStyles = ({ refId, itemId }) => react_default.createElement(
13648
12858
 
13649
12859
  // src/manager/utils/tree.ts
13650
12860
  var import_memoizerific2 = __toESM(require_memoizerific(), 1);
13651
- 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)}`;
13652
12862
  var get = (0, import_memoizerific2.default)(1e3)((id, dataset) => dataset[id]), getParent = (0, import_memoizerific2.default)(1e3)((id, dataset) => {
13653
12863
  let item = get(id, dataset);
13654
12864
  return item && item.type !== "root" ? get(item.parent, dataset) : void 0;
@@ -13679,7 +12889,7 @@ var scrollIntoView = (element, center = !1) => {
13679
12889
  let { top, bottom } = element.getBoundingClientRect();
13680
12890
  if (!top || !bottom)
13681
12891
  return;
13682
- 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;
13683
12893
  bottom > bottomOffset && element.scrollIntoView({ block: center ? "center" : "nearest" });
13684
12894
  }, getStateType = (isLoading, isAuthRequired, isError, isEmpty) => {
13685
12895
  switch (!0) {
@@ -13820,7 +13030,7 @@ var { window: globalWindow2 } = scope, TextStyle = styled.div(({ theme }) => ({
13820
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 }));
13821
13031
 
13822
13032
  // src/manager/components/sidebar/RefIndicator.tsx
13823
- var { document: document4, window: globalWindow3 } = scope, IndicatorPlacement = styled.div(({ theme }) => ({
13033
+ var { document: document3, window: globalWindow3 } = scope, IndicatorPlacement = styled.div(({ theme }) => ({
13824
13034
  height: 16,
13825
13035
  display: "flex",
13826
13036
  alignItems: "center",
@@ -13955,7 +13165,7 @@ var { document: document4, window: globalWindow3 } = scope, IndicatorPlacement =
13955
13165
  `storybook_auth_${id}`,
13956
13166
  "resizable,scrollbars"
13957
13167
  ), timer = setInterval(() => {
13958
- childWindow ? childWindow.closed && (clearInterval(timer), document4.location.reload()) : clearInterval(timer);
13168
+ childWindow ? childWindow.closed && (clearInterval(timer), document3.location.reload()) : clearInterval(timer);
13959
13169
  }, 1e3);
13960
13170
  },
13961
13171
  [id, loginUrl]
@@ -14181,15 +13391,13 @@ var empty = {
14181
13391
  }), useContextMenu = (context, links, api) => {
14182
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(() => {
14183
13393
  let defaultLinks = [];
14184
- return context && "importPath" in context && defaultLinks.push({
13394
+ return context && "importPath" in context && context.importPath && defaultLinks.push({
14185
13395
  id: "open-in-editor",
14186
13396
  title: "Open in editor",
14187
13397
  icon: react_default.createElement(EditorIcon, null),
14188
13398
  right: enableShortcuts ? react_default.createElement(Shortcut, { keys: shortcutKeys.openInEditor }) : null,
14189
13399
  onClick: (e2) => {
14190
- e2.preventDefault(), api.openInEditor({
14191
- file: context.importPath
14192
- });
13400
+ context.importPath && (e2.preventDefault(), api.openInEditor({ file: context.importPath }));
14193
13401
  }
14194
13402
  }), context.type === "story" && defaultLinks.push({
14195
13403
  id: "copy-story-name",
@@ -14405,7 +13613,7 @@ var codeToKeyMap = {
14405
13613
  }, matchesKeyCode = (code, event) => event.code ? event.code === code : event.key === codeToKeyMap[code];
14406
13614
 
14407
13615
  // src/manager/components/sidebar/useExpanded.ts
14408
- var { document: document5 } = scope, initializeExpanded = ({
13616
+ var { document: document4 } = scope, initializeExpanded = ({
14409
13617
  refId,
14410
13618
  data,
14411
13619
  initialExpanded,
@@ -14468,7 +13676,7 @@ var { document: document5 } = scope, initializeExpanded = ({
14468
13676
  return useEffect(() => api ? (api.on(STORIES_COLLAPSE_ALL, collapseAll), api.on(STORIES_EXPAND_ALL, expandAll), () => {
14469
13677
  api.off(STORIES_COLLAPSE_ALL, collapseAll), api.off(STORIES_EXPAND_ALL, expandAll);
14470
13678
  }) : noop3, [api, collapseAll, expandAll]), useEffect(() => {
14471
- let menuElement = document5.getElementById("storybook-explorer-menu"), navigateTree = throttle((event) => {
13679
+ let menuElement = document4.getElementById("storybook-explorer-menu"), navigateTree = throttle((event) => {
14472
13680
  let highlightedItemId = highlightedRef.current?.refId === refId && highlightedRef.current?.itemId;
14473
13681
  if (!isBrowsing || !containerRef.current || !highlightedItemId || event.repeat || !matchesModifiers(!1, event))
14474
13682
  return;
@@ -14504,7 +13712,7 @@ var { document: document5 } = scope, initializeExpanded = ({
14504
13712
  }
14505
13713
  isArrowRight && (isExpanded === "false" ? updateExpanded({ ids: [highlightedItemId], value: !0 }) : isExpanded === "true" && updateExpanded({ ids: getDescendantIds(data, highlightedItemId, !0), value: !0 }));
14506
13714
  }, 60);
14507
- return document5.addEventListener("keydown", navigateTree), () => document5.removeEventListener("keydown", navigateTree);
13715
+ return document4.addEventListener("keydown", navigateTree), () => document4.removeEventListener("keydown", navigateTree);
14508
13716
  }, [
14509
13717
  containerRef,
14510
13718
  isBrowsing,
@@ -15069,8 +14277,8 @@ var Wrapper4 = styled.div(({ isMain }) => ({
15069
14277
  });
15070
14278
 
15071
14279
  // src/manager/components/sidebar/useHighlighted.ts
15072
- var { document: document6, window: globalWindow4 } = scope, fromSelection = (selection) => selection ? { itemId: selection.storyId, refId: selection.refId } : null, scrollToSelector = (selector, options2 = {}, _attempt = 1) => {
15073
- 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);
15074
14282
  element ? scrollIntoView(element, center) : _attempt <= attempts && setTimeout(scrollToSelector, delay2, selector, options2, _attempt + 1);
15075
14283
  }, useHighlighted = ({
15076
14284
  containerRef,
@@ -15097,7 +14305,7 @@ var { document: document6, window: globalWindow4 } = scope, fromSelection = (sel
15097
14305
  center: !0
15098
14306
  });
15099
14307
  }, [containerRef, selected, updateHighlighted]), useEffect(() => {
15100
- let menuElement = document6.getElementById("storybook-explorer-menu"), lastRequestId, navigateTree = (event) => {
14308
+ let menuElement = document5.getElementById("storybook-explorer-menu"), lastRequestId, navigateTree = (event) => {
15101
14309
  if (isLoading || !isBrowsing || !containerRef.current || !matchesModifiers(!1, event))
15102
14310
  return;
15103
14311
  let isArrowUp = matchesKeyCode("ArrowUp", event), isArrowDown = matchesKeyCode("ArrowDown", event);
@@ -15123,7 +14331,7 @@ var { document: document6, window: globalWindow4 } = scope, fromSelection = (sel
15123
14331
  }
15124
14332
  });
15125
14333
  };
15126
- return document6.addEventListener("keydown", navigateTree), () => document6.removeEventListener("keydown", navigateTree);
14334
+ return document5.addEventListener("keydown", navigateTree), () => document5.removeEventListener("keydown", navigateTree);
15127
14335
  }, [api, containerRef, isLoading, isBrowsing, highlightedRef, highlightElement]), [highlighted, updateHighlighted, highlightedRef];
15128
14336
  };
15129
14337
 
@@ -16141,8 +15349,8 @@ function invokeOnChangeHandler(key, action, state, newState) {
16141
15349
  function stateReducer(s2, a2) {
16142
15350
  return a2.changes;
16143
15351
  }
16144
- var updateA11yStatus = debounce4(function(status, document11) {
16145
- setStatus(status, document11);
15352
+ var updateA11yStatus = debounce4(function(status, document10) {
15353
+ setStatus(status, document10);
16146
15354
  }, 200), useIsomorphicLayoutEffect2 = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u" ? useLayoutEffect : useEffect, useElementIds = "useId" in react_default ? function(_ref) {
16147
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();
16148
15356
  id || (id = reactId);
@@ -16290,17 +15498,17 @@ var useGetterPropsCalledChecker = function() {
16290
15498
  };
16291
15499
  function useA11yMessageStatus(getA11yStatusMessage2, options2, dependencyArray, environment) {
16292
15500
  environment === void 0 && (environment = {});
16293
- var document11 = environment.document, isInitialMount = useIsInitialMount();
15501
+ var document10 = environment.document, isInitialMount = useIsInitialMount();
16294
15502
  useEffect(function() {
16295
- if (!(!getA11yStatusMessage2 || isInitialMount || !document11)) {
15503
+ if (!(!getA11yStatusMessage2 || isInitialMount || !document10)) {
16296
15504
  var status = getA11yStatusMessage2(options2);
16297
- updateA11yStatus(status, document11);
15505
+ updateA11yStatus(status, document10);
16298
15506
  }
16299
15507
  }, dependencyArray), useEffect(function() {
16300
15508
  return function() {
16301
- updateA11yStatus.cancel(), cleanupStatusDiv(document11);
15509
+ updateA11yStatus.cancel(), cleanupStatusDiv(document10);
16302
15510
  };
16303
- }, [document11]);
15511
+ }, [document10]);
16304
15512
  }
16305
15513
  function useScrollIntoView(_ref3) {
16306
15514
  var highlightedIndex = _ref3.highlightedIndex, isOpen = _ref3.isOpen, itemRefs = _ref3.itemRefs, getItemNodeFromIndex = _ref3.getItemNodeFromIndex, menuElement = _ref3.menuElement, scrollIntoViewProp = _ref3.scrollIntoView, shouldScrollRef = useRef(!0);
@@ -17456,7 +16664,7 @@ function isSearchResult(x2) {
17456
16664
  }
17457
16665
 
17458
16666
  // src/manager/components/sidebar/Search.tsx
17459
- var { document: document7 } = scope, DEFAULT_MAX_SEARCH_RESULTS = 50, options = {
16667
+ var { document: document6 } = scope, DEFAULT_MAX_SEARCH_RESULTS = 50, options = {
17460
16668
  shouldSort: !0,
17461
16669
  tokenize: !0,
17462
16670
  findAllMatches: !0,
@@ -17706,7 +16914,7 @@ var { document: document7 } = scope, DEFAULT_MAX_SEARCH_RESULTS = 50, options =
17706
16914
  ), searchBarContent), react_default.createElement(FocusContainer, { tabIndex: 0, id: "storybook-explorer-menu" }, children({
17707
16915
  query: input,
17708
16916
  results,
17709
- isBrowsing: !isOpen && document7.activeElement !== inputRef.current,
16917
+ isBrowsing: !isOpen && document6.activeElement !== inputRef.current,
17710
16918
  closeMenu,
17711
16919
  getMenuProps,
17712
16920
  getItemProps,
@@ -17718,7 +16926,7 @@ var { document: document7 } = scope, DEFAULT_MAX_SEARCH_RESULTS = 50, options =
17718
16926
  });
17719
16927
 
17720
16928
  // src/manager/components/sidebar/SearchResults.tsx
17721
- var { document: document8 } = scope, ResultsList = styled.ol({
16929
+ var { document: document7 } = scope, ResultsList = styled.ol({
17722
16930
  listStyle: "none",
17723
16931
  margin: 0,
17724
16932
  padding: 0
@@ -17845,7 +17053,7 @@ var { document: document8 } = scope, ResultsList = styled.ol({
17845
17053
  event.preventDefault(), closeMenu();
17846
17054
  }
17847
17055
  };
17848
- return document8.addEventListener("keydown", handleEscape), () => document8.removeEventListener("keydown", handleEscape);
17056
+ return document7.addEventListener("keydown", handleEscape), () => document7.removeEventListener("keydown", handleEscape);
17849
17057
  }, [closeMenu, enableShortcuts, isLoading]);
17850
17058
  let mouseOverHandler = useCallback((event) => {
17851
17059
  if (!api)
@@ -18342,15 +17550,7 @@ var groupByType = (filters) => filters.reduce(
18342
17550
  };
18343
17551
 
18344
17552
  // src/manager/components/sidebar/TagsFilter.tsx
18345
- var TAGS_FILTER = "tags-filter", BUILT_IN_TAGS = /* @__PURE__ */ new Set([
18346
- "dev",
18347
- "test",
18348
- "autodocs",
18349
- "attached-mdx",
18350
- "unattached-mdx",
18351
- "play-fn",
18352
- "test-fn"
18353
- ]), StyledButton2 = styled(Button)(({ isHighlighted, theme }) => ({
17553
+ var TAGS_FILTER = "tags-filter", BUILT_IN_TAGS = new Set(Object.values(Tag)), StyledButton2 = styled(Button)(({ isHighlighted, theme }) => ({
18354
17554
  "&:focus-visible": {
18355
17555
  outlineOffset: 4
18356
17556
  },
@@ -18408,7 +17608,7 @@ var TAGS_FILTER = "tags-filter", BUILT_IN_TAGS = /* @__PURE__ */ new Set([
18408
17608
  title: "Play",
18409
17609
  icon: react_default.createElement(PlayHollowIcon, { color: color.seafoam }),
18410
17610
  ...withCount(
18411
- (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)
18412
17612
  )
18413
17613
  },
18414
17614
  _test: {
@@ -19337,6 +18537,7 @@ var Header2 = styled.header(({ theme }) => ({
19337
18537
  expandAll: "Expand all items on sidebar",
19338
18538
  remount: "Reload story",
19339
18539
  openInEditor: "Open story in editor",
18540
+ openInIsolation: "Open story in isolation",
19340
18541
  copyStoryLink: "Copy story link to clipboard"
19341
18542
  // TODO: bring this back once we want to add shortcuts for this
19342
18543
  // copyStoryName: 'Copy story name to clipboard',
@@ -19584,14 +18785,14 @@ var Centered = styled.div({
19584
18785
  var WhatsNewPage = () => react_default.createElement(WhatsNewScreen, null);
19585
18786
 
19586
18787
  // src/manager/settings/index.tsx
19587
- var { document: document9 } = scope, Content4 = styled(ScrollArea)(({ theme }) => ({
18788
+ var { document: document8 } = scope, Content4 = styled(ScrollArea)(({ theme }) => ({
19588
18789
  background: theme.background.content
19589
18790
  })), RouteWrapper = ({ children, path }) => react_default.createElement(Content4, { vertical: !0, horizontal: !1 }, react_default.createElement(Route, { path }, children)), Pages = ({ changeTab, onClose, enableShortcuts = !0, enableWhatsNew }) => {
19590
18791
  react_default.useEffect(() => {
19591
18792
  let handleEscape = (event) => {
19592
18793
  !enableShortcuts || event.repeat || matchesModifiers(!1, event) && matchesKeyCode("Escape", event) && (event.preventDefault(), onClose());
19593
18794
  };
19594
- return document9.addEventListener("keydown", handleEscape), () => document9.removeEventListener("keydown", handleEscape);
18795
+ return document8.addEventListener("keydown", handleEscape), () => document8.removeEventListener("keydown", handleEscape);
19595
18796
  }, [enableShortcuts, onClose]);
19596
18797
  let tabs = useMemo(() => {
19597
18798
  let tabsToInclude = [
@@ -19738,7 +18939,7 @@ var ReactProvider = class extends Provider2 {
19738
18939
  });
19739
18940
  });
19740
18941
  }
19741
- }, { document: document10 } = scope, rootEl = document10.getElementById("root");
18942
+ }, { document: document9 } = scope, rootEl = document9.getElementById("root");
19742
18943
  setTimeout(() => {
19743
18944
  renderStorybookUI(rootEl, new ReactProvider());
19744
18945
  }, 0);