@fluentui/react-aria 9.0.0-alpha.9 → 9.0.0-beta.4

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 (269) hide show
  1. package/CHANGELOG.json +946 -1
  2. package/CHANGELOG.md +391 -2
  3. package/dist/react-aria.d.ts +20 -4
  4. package/lib/hooks/index.js.map +1 -1
  5. package/lib/hooks/useARIAButton.d.ts +8 -5
  6. package/lib/hooks/useARIAButton.js +93 -81
  7. package/lib/hooks/useARIAButton.js.map +1 -1
  8. package/lib/index.d.ts +1 -0
  9. package/lib/index.js +1 -0
  10. package/lib/index.js.map +1 -1
  11. package/lib/tsdoc-metadata.json +1 -1
  12. package/lib/utils/index.d.ts +1 -0
  13. package/lib/utils/index.js +2 -0
  14. package/lib/utils/index.js.map +1 -0
  15. package/lib/utils/mergeARIADisabled.d.ts +10 -0
  16. package/lib/utils/mergeARIADisabled.js +15 -0
  17. package/lib/utils/mergeARIADisabled.js.map +1 -0
  18. package/lib-commonjs/hooks/index.js +7 -2
  19. package/lib-commonjs/hooks/index.js.map +1 -1
  20. package/lib-commonjs/hooks/useARIAButton.d.ts +8 -5
  21. package/lib-commonjs/hooks/useARIAButton.js +102 -83
  22. package/lib-commonjs/hooks/useARIAButton.js.map +1 -1
  23. package/lib-commonjs/index.d.ts +1 -0
  24. package/lib-commonjs/index.js +9 -2
  25. package/lib-commonjs/index.js.map +1 -1
  26. package/lib-commonjs/utils/index.d.ts +1 -0
  27. package/lib-commonjs/utils/index.js +10 -0
  28. package/lib-commonjs/utils/index.js.map +1 -0
  29. package/lib-commonjs/utils/mergeARIADisabled.d.ts +10 -0
  30. package/lib-commonjs/utils/mergeARIADisabled.js +24 -0
  31. package/lib-commonjs/utils/mergeARIADisabled.js.map +1 -0
  32. package/package.json +12 -11
  33. package/.cache/jest/haste-map-5910cb8bb0969758e45676749a8c9efc-d7950d57166390a9a696a9055ee30ea6-aa45c15687f337db3624d8393676deba +0 -0
  34. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/06/resolveShorthand_06a403a4ab9de2a8de33f5437347a9d8 +0 -28
  35. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/06/resolveShorthand_06a403a4ab9de2a8de33f5437347a9d8.map +0 -1
  36. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/0a/index_0a64e67431b11bf9b5e01258108b52b4 +0 -66
  37. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/0f/expandShorthand_0f91c88059fa8171ba9e6948563a1ae7 +0 -38
  38. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/0f/expandShorthand_0f91c88059fa8171ba9e6948563a1ae7.map +0 -1
  39. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/10/useOnScrollOutside_107a3cef2aa7057316f6c1ed8051a658 +0 -31
  40. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/10/useOnScrollOutside_107a3cef2aa7057316f6c1ed8051a658.map +0 -1
  41. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/11/mergeClasses_1183ba6f85a3985c5c2bbc67486e8edb +0 -91
  42. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/11/mergeClasses_1183ba6f85a3985c5c2bbc67486e8edb.map +0 -1
  43. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/15/SSRContext_15b91a7e66c89050bc3484e1258b8b66 +0 -63
  44. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/15/SSRContext_15b91a7e66c89050bc3484e1258b8b66.map +0 -1
  45. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/15/compileCSS_154d97bb2651ba6ab3be345485b16138 +0 -64
  46. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/15/compileCSS_154d97bb2651ba6ab3be345485b16138.map +0 -1
  47. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/17/isNestedSelector_17751dee7d65d2ed17ba9a655c2e8700 +0 -10
  48. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/17/isNestedSelector_17751dee7d65d2ed17ba9a655c2e8700.map +0 -1
  49. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/1a/isSupportQuerySelector_1ab93e6af919d77e2d7279704197c717 +0 -9
  50. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/1a/isSupportQuerySelector_1ab93e6af919d77e2d7279704197c717.map +0 -1
  51. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/1b/reduceToClassNameForSlots_1b69a90e3fa750a8907f80379d699f88 +0 -49
  52. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/1b/reduceToClassNameForSlots_1b69a90e3fa750a8907f80379d699f88.map +0 -1
  53. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/1e/properties_1eb8ec904f2ae82f22f251450126bd7b +0 -415
  54. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/1e/properties_1eb8ec904f2ae82f22f251450126bd7b.map +0 -1
  55. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/1f/useMergedRefs_1fe3985153814c4de793bf77e2e5dc1d +0 -35
  56. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/1f/useMergedRefs_1fe3985153814c4de793bf77e2e5dc1d.map +0 -1
  57. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/26/index_26d89c24d4d44f3b92e64432e7b10b66 +0 -30
  58. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/26/index_26d89c24d4d44f3b92e64432e7b10b66.map +0 -1
  59. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/2c/normalizeNestedProperty_2c60a2dd651c0055e1aa65190e7b48aa +0 -12
  60. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/2c/normalizeNestedProperty_2c60a2dd651c0055e1aa65190e7b48aa.map +0 -1
  61. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/31/useARIAButton_31c669aff734012b8c6f256cfec1f1bc +0 -96
  62. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/31/useARIAButton_31c669aff734012b8c6f256cfec1f1bc.map +0 -1
  63. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/34/index_3439b771e00610948c3f6a9c7d812631 +0 -7
  64. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/34/index_3439b771e00610948c3f6a9c7d812631.map +0 -1
  65. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/3a/isMediaQuerySelector_3a6e1a0e1fe502aa6b1abadeca7ec7b2 +0 -9
  66. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/3a/isMediaQuerySelector_3a6e1a0e1fe502aa6b1abadeca7ec7b2.map +0 -1
  67. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/43/descendants_43d79b905d88c0a8e3d7ee5b3ae59cb6 +0 -303
  68. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/43/descendants_43d79b905d88c0a8e3d7ee5b3ae59cb6.map +0 -1
  69. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/46/shouldPreventDefaultOnKeyDown_46602eca9cf52cb60dc80e47ad02e6d0 +0 -22
  70. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/46/shouldPreventDefaultOnKeyDown_46602eca9cf52cb60dc80e47ad02e6d0.map +0 -1
  71. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/4b/useConst_4bfb73871fd7416e039ee14b522ec601 +0 -32
  72. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/4b/useConst_4bfb73871fd7416e039ee14b522ec601.map +0 -1
  73. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/50/makeMergePropsCompat_501ec174353b8f5dcb3792652c5b1a6a +0 -12
  74. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/50/makeMergePropsCompat_501ec174353b8f5dcb3792652c5b1a6a.map +0 -1
  75. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/53/index_530fee6aa6c0a06816ee5862a64ec8a0 +0 -10
  76. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/53/index_530fee6aa6c0a06816ee5862a64ec8a0.map +0 -1
  77. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/5c/index_5c236f63a862e098bd068e83c49df0d2 +0 -6
  78. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/5c/index_5c236f63a862e098bd068e83c49df0d2.map +0 -1
  79. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/5c/resolveStyleRules_5cf809edc6683033446c0d560527ae4a +0 -143
  80. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/5c/resolveStyleRules_5cf809edc6683033446c0d560527ae4a.map +0 -1
  81. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/5d/useIsomorphicLayoutEffect_5dd949b7e0f8bcbb179529a778f78460 +0 -18
  82. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/5d/useIsomorphicLayoutEffect_5dd949b7e0f8bcbb179529a778f78460.map +0 -1
  83. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/5e/usePrevious_5e1ab1b9c82dc2edb69b88266cbf05e3 +0 -14
  84. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/5e/usePrevious_5e1ab1b9c82dc2edb69b88266cbf05e3.map +0 -1
  85. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/61/useOnClickOutside_6156c082d7abe08551fae81d139f1545 +0 -63
  86. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/61/useOnClickOutside_6156c082d7abe08551fae81d139f1545.map +0 -1
  87. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/6c/constants_6cca030e574230791c7cd982c64123fd +0 -18
  88. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/6c/constants_6cca030e574230791c7cd982c64123fd.map +0 -1
  89. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/6c/rehydrateRendererCache_6c957050041622b47a55e7a929d1991a +0 -42
  90. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/6c/rehydrateRendererCache_6c957050041622b47a55e7a929d1991a.map +0 -1
  91. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/6e/isObject_6e28666e63c68cb64c6d08002fafce15 +0 -11
  92. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/6e/isObject_6e28666e63c68cb64c6d08002fafce15.map +0 -1
  93. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/70/__styles_707f45afc0534b73eff46332f8042a13 +0 -39
  94. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/70/__styles_707f45afc0534b73eff46332f8042a13.map +0 -1
  95. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/73/index_73d6c5881dd2e6bf456cfdef5b837ef5 +0 -16
  96. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/73/index_73d6c5881dd2e6bf456cfdef5b837ef5.map +0 -1
  97. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/76/hashPropertyKey_765133ab961e9581449aa5cb3a476156 +0 -26
  98. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/76/hashPropertyKey_765133ab961e9581449aa5cb3a476156.map +0 -1
  99. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/77/hashClassName_77e1165a5ce102ed65be8a8fed3e8a35 +0 -14
  100. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/77/hashClassName_77e1165a5ce102ed65be8a8fed3e8a35.map +0 -1
  101. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/7e/omit_7e3d1eec1eec6039052ecaf47bd10d5b +0 -30
  102. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/7e/omit_7e3d1eec1eec6039052ecaf47bd10d5b.map +0 -1
  103. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/7e/polyfills_7e0019a62dffb7ddcb351c23e791c709 +0 -60
  104. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/7e/polyfills_7e0019a62dffb7ddcb351c23e791c709.map +0 -1
  105. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/80/hashSequence_80430ff49c3ad5504febfc17f920fdd5 +0 -21
  106. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/80/hashSequence_80430ff49c3ad5504febfc17f920fdd5.map +0 -1
  107. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/87/canUseDOM_87ad3f5b594698df31563559456eb4b3 +0 -15
  108. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/87/canUseDOM_87ad3f5b594698df31563559456eb4b3.map +0 -1
  109. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/87/createCSSVariablesProxy_875db3a374b15d989dc238982a2af19c +0 -57
  110. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/87/createCSSVariablesProxy_875db3a374b15d989dc238982a2af19c.map +0 -1
  111. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/87/useEventCallback_87198c36fede750298547181c26b7f29 +0 -36
  112. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/87/useEventCallback_87198c36fede750298547181c26b7f29.map +0 -1
  113. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/90/index_90aaf30d35201ee7061abc041bbf038c +0 -125
  114. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/90/index_90aaf30d35201ee7061abc041bbf038c.map +0 -1
  115. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/95/getNativeElementProps_959de67ce98777d57f4ba87f8c71d9b7 +0 -41
  116. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/95/getNativeElementProps_959de67ce98777d57f4ba87f8c71d9b7.map +0 -1
  117. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/9b/useFirstMount_9b9b825d16f39c5aeb12720676b0d351 +0 -25
  118. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/9b/useFirstMount_9b9b825d16f39c5aeb12720676b0d351.map +0 -1
  119. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/9c/makeMergeProps_9c219382a53193e7c8404db2e0fdef7f +0 -101
  120. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/9c/makeMergeProps_9c219382a53193e7c8404db2e0fdef7f.map +0 -1
  121. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/a0/getSlotsCompat_a04d67a648b788da7489f954a7701ec7 +0 -55
  122. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/a0/getSlotsCompat_a04d67a648b788da7489f954a7701ec7.map +0 -1
  123. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/a7/resolveStyleRulesForSlots_a79e466e5963526df80f9fbbb8fda76e +0 -36
  124. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/a7/resolveStyleRulesForSlots_a79e466e5963526df80f9fbbb8fda76e.map +0 -1
  125. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/a9/generateCombinedMediaQuery_a964691b3352727cf52d2ac0e13413bc +0 -12
  126. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/a9/generateCombinedMediaQuery_a964691b3352727cf52d2ac0e13413bc.map +0 -1
  127. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/ac/nullRender_acd3c926f790db3d1e373779e7ac553a +0 -10
  128. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/ac/nullRender_acd3c926f790db3d1e373779e7ac553a.map +0 -1
  129. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/ad/getStyleSheetForBucket_adce337a628ce93b806d9481c0963cba +0 -55
  130. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/ad/getStyleSheetForBucket_adce337a628ce93b806d9481c0963cba.map +0 -1
  131. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/b7/makeStyles_b741439fdf6d124fff084af6d3c1209c +0 -42
  132. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/b7/makeStyles_b741439fdf6d124fff084af6d3c1209c.map +0 -1
  133. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/b7/resolveShorthandProps_b7d56cb8567b9a135a2f9a033c62614d +0 -28
  134. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/b7/resolveShorthandProps_b7d56cb8567b9a135a2f9a033c62614d.map +0 -1
  135. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/bd/index_bd3aa6f55083d394c340646e84568ca7 +0 -13
  136. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/bd/index_bd3aa6f55083d394c340646e84568ca7.map +0 -1
  137. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/c4/useARIAButtontest_c45bfab996a0a6eba7cf9c5c152f50b7 +0 -100
  138. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/c4/useARIAButtontest_c45bfab996a0a6eba7cf9c5c152f50b7.map +0 -1
  139. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/cd/types_cdf3bbb84296a862bcf906bd9979d88d +0 -4
  140. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/cd/types_cdf3bbb84296a862bcf906bd9979d88d.map +0 -1
  141. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/d0/codes_d0cb52f8197a969631974af182031e02 +0 -131
  142. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/d0/codes_d0cb52f8197a969631974af182031e02.map +0 -1
  143. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/d9/useId_d985f707a3cb5bae481c825362b05b38 +0 -29
  144. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/d9/useId_d985f707a3cb5bae481c825362b05b38.map +0 -1
  145. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/da/index_dabc09b4c360debeb69f1af3a784509c +0 -10
  146. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/da/index_dabc09b4c360debeb69f1af3a784509c.map +0 -1
  147. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/de/onlyChild_ded5a8956c8d34af6e3401a113e742e1 +0 -16
  148. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/de/onlyChild_ded5a8956c8d34af6e3401a113e742e1.map +0 -1
  149. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/e1/cssifyObject_e17ccee8d872f20b89e706114f3fad27 +0 -19
  150. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/e1/cssifyObject_e17ccee8d872f20b89e706114f3fad27.map +0 -1
  151. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/e6/types_e6cd8ae76b1004e9d5d85f96cfae5dd6 +0 -4
  152. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/e6/types_e6cd8ae76b1004e9d5d85f96cfae5dd6.map +0 -1
  153. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/ec/tests_ecddb6bd45e8e801a2f537be77337c34 +0 -8
  154. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/ef/compileKeyframeCSS_efd783a08191b5150c75ec1ae788d785 +0 -21
  155. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/ef/compileKeyframeCSS_efd783a08191b5150c75ec1ae788d785.map +0 -1
  156. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/ef/getSlots_ef36e7332b80aea593cc0c5fba313cb2 +0 -82
  157. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/ef/getSlots_ef36e7332b80aea593cc0c5fba313cb2.map +0 -1
  158. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/f3/createDOMRenderer_f305391eb8e57aba7cdfda6793867c86 +0 -61
  159. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/f3/createDOMRenderer_f305391eb8e57aba7cdfda6793867c86.map +0 -1
  160. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/f6/hyphenateProperty_f6c2a24768ef1a4d15c18fbddc14aca4 +0 -22
  161. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/f6/hyphenateProperty_f6c2a24768ef1a4d15c18fbddc14aca4.map +0 -1
  162. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/f6/useControllableValue_f65146a91b73da020e25dc6483ffad8a +0 -65
  163. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/f6/useControllableValue_f65146a91b73da020e25dc6483ffad8a.map +0 -1
  164. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/f8/compileStaticCSS_f80f1505b4d392e20b2323eb1bb5dfc2 +0 -12
  165. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/f8/compileStaticCSS_f80f1505b4d392e20b2323eb1bb5dfc2.map +0 -1
  166. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/f8/makeStaticStyles_f85ebaa98386da91c6b0dba4c12a87b5 +0 -27
  167. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/f8/makeStaticStyles_f85ebaa98386da91c6b0dba4c12a87b5.map +0 -1
  168. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/f9/getStyleBucketName_f90c8a8dc1e113f03dbcf6cda58cab54 +0 -63
  169. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/f9/getStyleBucketName_f90c8a8dc1e113f03dbcf6cda58cab54.map +0 -1
  170. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/f9/useBoolean_f971208f46c125ee5bde863221998dfb +0 -28
  171. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/f9/useBoolean_f971208f46c125ee5bde863221998dfb.map +0 -1
  172. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/fb/resolveStaticStyleRules_fbfa0c9a0e70262fe0c7ae0835b56dd6 +0 -33
  173. package/.cache/jest/jest-transform-cache-5910cb8bb0969758e45676749a8c9efc-d0e7c439bf6eb5a4bf3a6371fdd259d1/fb/resolveStaticStyleRules_fbfa0c9a0e70262fe0c7ae0835b56dd6.map +0 -1
  174. package/.cache/jest/perf-cache-5910cb8bb0969758e45676749a8c9efc-d41d8cd98f00b204e9800998ecf8427e +0 -1
  175. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/08fa82a4d90c621f3987a2262be15fc417ce411f.js +0 -13
  176. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/0ce757b07768e680f33d2b96e9bdc45e5e40df4e.js +0 -9
  177. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/0d4076426b2f79373adba22e95c8265373215f80.js +0 -25
  178. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/10ff08b9b63e7ec1af96a60fe4f4584cc9f10524.js +0 -11
  179. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/118287316a0e2ca447118afca41a86a4d2fd0658.js +0 -11
  180. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/170859050bec428f715434901daa07ce99379792.js +0 -20
  181. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/1aa16dbbd4d419e5ba1dbf3bd223537bf3b19ee4.js +0 -60
  182. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/1ae5173d57d26ff726042dfdc47a77e2e2bc68d5.js +0 -40
  183. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/28ec629dab021f2eca8b531c5c03b8049dd00bac.js +0 -41
  184. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/294244955478b51e1dcb2ecdb97d95d44f2058c5.js +0 -38
  185. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/2ad056456315b7b8fccafcd9e63c799e00e5995d.js +0 -62
  186. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/2d193164ad765d9eef0ecb12e7dab23242923652.js +0 -54
  187. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/3472282c116f5af8dfc27203dc74589c037313d5.js +0 -9
  188. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/3951e0988b265602ea918a63ee8d909bf05b3836.js +0 -15
  189. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/40cd598a3b235ac81db003dc086348c24c01d704.js +0 -28
  190. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/52c86afa7aefdb9fb0d6d60673a09b7e2f7b2735.js +0 -56
  191. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/580e15910a626d63065bad79e3629e091dd01c4a.js +0 -12
  192. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/5a30adac597816c155f3646d12c8fd52a02fd877.js +0 -17
  193. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/5c043450b067ebec4b647d33545b5c59be48aad5.js +0 -27
  194. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/6457731441603cd426da9a9897ddfa357f6e9c1e.js +0 -3
  195. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/64a93d661ad6ee5464fad5a4a75553a032f8f62f.js +0 -30
  196. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/64db9f8ef0c36da203bf73d9166af573bfbd7c41.js +0 -27
  197. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/664b275214d722feb1b5de79261c8a86f169ed14.js +0 -100
  198. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/68fd078f6e7ca314ee37179cf908ca1d305da55d.js +0 -6
  199. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/690d602572b3642cfd9df67f62826ea5453cbdd7.js +0 -99
  200. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/69c74f8a008502bfe148426c400183aa987f5208.js +0 -64
  201. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/73d0c106777cb13b92f1484d6dafd64ebd2c46e1.js +0 -20
  202. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/7590e48ffb060d368164fc912ff78bf00be9103a.js +0 -27
  203. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/7ef6f333973904581d9394b27d0671e64ac2beb8.js +0 -37
  204. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/80f6299e671dab4ba70e3b8e8976b69c6a3f4176.js +0 -3
  205. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/8117ed40feaa2b166f12b771ff42b7ce4c999783.js +0 -29
  206. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/84283e0f3663dad3c81f883c66684aafa552bc03.js +0 -302
  207. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/849a55dab4e6a8a8e926b29f4f21965296847d9a.js +0 -21
  208. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/87df4d42d1e5d16b22c63da63bde0b311410e432.js +0 -62
  209. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/8ab680d4c271ec500d650cef8a650b5ed54110d2.js +0 -18
  210. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/8d16c86888b787aa32ae74ff003a684fdcb25b43.js +0 -35
  211. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/8eeea14d1bf29aad678b74153eb0ad076767bd02.js +0 -9
  212. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/8fa4984a5e9a994e315fb27ca4ebcd53d03e7b29.js +0 -90
  213. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/97af70b6de7d1b315f28a3d2183bf8b4a1f7c1ca.js +0 -32
  214. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/994bb2e526b9014d3c765140c4b3f11f3580cb5e.js +0 -8
  215. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/9a052ed00b8e3e958805bbefe58b4b95936231b6.js +0 -414
  216. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/9b9f64264448f81c4790b96423f85ff71a4a4d37.js +0 -81
  217. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/9dd1cf07711356e280be39ef337930e2a8add810.js +0 -59
  218. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/9ecd57b941ec5653eec3e48388954c0c801dbbe8.js +0 -21
  219. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/a06d0085f4b7b23d9f800c18a8e95616aa11c9c9.js +0 -24
  220. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/a4c3c007296eb493fa0a0d49c024c6a7507d4c1e.js +0 -35
  221. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/a882c44c9ba80123b354b4f7cf0835f22ec6a585.js +0 -34
  222. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/a9554f10776542416e290a5ce39084c8d59f60b9.js +0 -48
  223. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/aae31e5606c9dcaa1731961da8a7e478fc08ea03.js +0 -5
  224. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/b11a2ca53c4e8cd1e80a69c1b50846fc5c399fd8.js +0 -142
  225. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/b4d2f4825ee598e778ba4b9caee625f189b335b5.js +0 -95
  226. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/b797e328ef355e622035c4fb105998e2a8749b80.js +0 -63
  227. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/b8148f765319c8b9e746135014042c61db998843.js +0 -29
  228. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/b878b3601f504154c03813ce6fdc8caf24c48f9d.js +0 -17
  229. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/bfda9e14470ee6e07c27671e0c5cb858a297c2ab.js +0 -62
  230. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/c0d0c2b08ba2db3ba67a4738d82120397c4e15b0.js +0 -9
  231. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/c4f6f14fc9aac3f6a44944f45dc789d4dbd6bb38.js +0 -130
  232. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/c834fc41ca9dcf0f52f9802d8ba810457e5b05f6.js +0 -124
  233. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/cb102690c2ecf398bae0430bb3574940cbb3cac3.js +0 -31
  234. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/cf29f7d4ca06142aa1fa41501e9424f041710190.js +0 -26
  235. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/d2b48af3745f577aeb8cab2a8d75155517dc00a7.js +0 -41
  236. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/d2c748292aaf7223046123e4f80619f1a93e4a8f.js +0 -15
  237. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/e1c859081d5884136d85f444c83bc7249c085028.js +0 -11
  238. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/e51e612f937072a52ab4fe01b0147163da67b992.js +0 -54
  239. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/e9a733012b574400b7fefce2427ada9019fafc0d.js +0 -10
  240. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/f243514fb767fef98bd2e466d1489f9df50fd9fd.js +0 -11
  241. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/f6cc7dce9c5357e4aa847bb7c34d087767c60e2e.js +0 -8
  242. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/f96b0238a93996289323165772246cb019260fe9.js +0 -13
  243. package/.cache/jest/ts-jest/d1/50a8c54eb4d688bc0d57c9ed94391424f516d4/febacba14669b6acb3a5c33624558d690d92c871.js +0 -14
  244. package/.storybook/main.js +0 -11
  245. package/.storybook/preview.js +0 -3
  246. package/bundle-size/Default.fixture.js +0 -7
  247. package/config/api-extractor.json +0 -3
  248. package/config/api-extractor.local.json +0 -5
  249. package/config/tests.js +0 -7
  250. package/etc/react-aria.api.md +0 -17
  251. package/just.config.ts +0 -3
  252. package/lib/hooks/useARIAButton.stories.d.ts +0 -17
  253. package/lib/hooks/useARIAButton.stories.js +0 -35
  254. package/lib/hooks/useARIAButton.stories.js.map +0 -1
  255. package/lib-amd/hooks/index.d.ts +0 -1
  256. package/lib-amd/hooks/index.js +0 -6
  257. package/lib-amd/hooks/index.js.map +0 -1
  258. package/lib-amd/hooks/useARIAButton.d.ts +0 -8
  259. package/lib-amd/hooks/useARIAButton.js +0 -95
  260. package/lib-amd/hooks/useARIAButton.js.map +0 -1
  261. package/lib-amd/hooks/useARIAButton.stories.d.ts +0 -17
  262. package/lib-amd/hooks/useARIAButton.stories.js +0 -40
  263. package/lib-amd/hooks/useARIAButton.stories.js.map +0 -1
  264. package/lib-amd/index.d.ts +0 -1
  265. package/lib-amd/index.js +0 -6
  266. package/lib-amd/index.js.map +0 -1
  267. package/lib-commonjs/hooks/useARIAButton.stories.d.ts +0 -17
  268. package/lib-commonjs/hooks/useARIAButton.stories.js +0 -42
  269. package/lib-commonjs/hooks/useARIAButton.stories.js.map +0 -1
@@ -1,96 +0,0 @@
1
- 804d2198100112c6de50d2821761c29f
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.useARIAButton = void 0;
5
- var react_utilities_1 = require("@fluentui/react-utilities");
6
- var keyboard_key_1 = require("@fluentui/keyboard-key");
7
- function mergeARIADisabled(disabled) {
8
- if (typeof disabled === 'string') {
9
- return disabled === 'false' ? false : true;
10
- }
11
- return disabled !== null && disabled !== void 0 ? disabled : false;
12
- }
13
- /**
14
- * button keyboard handling, role, disabled and tabIndex implementation that ensures ARIA spec
15
- * for multiple scenarios of shorthand properties. Ensuring 1st rule of ARIA for cases
16
- * where no attribute addition is required
17
- */
18
- function useARIAButton(value, defaultProps) {
19
- var shorthand = react_utilities_1.resolveShorthand(value, defaultProps);
20
- var onClick = shorthand.onClick, onKeyDown = shorthand.onKeyDown, onKeyUp = shorthand.onKeyUp, defaultDisabled = shorthand.disabled, ariaDisabled = shorthand["aria-disabled"];
21
- var disabled = mergeARIADisabled(defaultDisabled !== null && defaultDisabled !== void 0 ? defaultDisabled : ariaDisabled);
22
- var onClickHandler = react_utilities_1.useEventCallback(function (ev) {
23
- if (disabled) {
24
- ev.preventDefault();
25
- ev.stopPropagation();
26
- }
27
- else {
28
- if (typeof onClick === 'function') {
29
- onClick(ev);
30
- }
31
- }
32
- });
33
- var onKeyDownHandler = react_utilities_1.useEventCallback(function (ev) {
34
- var code = keyboard_key_1.getCode(ev);
35
- if (typeof onKeyDown === 'function') {
36
- onKeyDown(ev);
37
- }
38
- if (ev.isDefaultPrevented()) {
39
- return;
40
- }
41
- if (disabled && (code === keyboard_key_1.EnterKey || code === keyboard_key_1.SpacebarKey)) {
42
- ev.preventDefault();
43
- ev.stopPropagation();
44
- return;
45
- }
46
- if (code === keyboard_key_1.SpacebarKey) {
47
- ev.preventDefault();
48
- return;
49
- }
50
- // If enter is pressed, activate the button
51
- else if (code === keyboard_key_1.EnterKey) {
52
- ev.preventDefault();
53
- ev.currentTarget.click();
54
- }
55
- });
56
- var onKeyupHandler = react_utilities_1.useEventCallback(function (ev) {
57
- var code = keyboard_key_1.getCode(ev);
58
- if (typeof onKeyUp === 'function') {
59
- onKeyUp(ev);
60
- }
61
- if (ev.isDefaultPrevented()) {
62
- return;
63
- }
64
- if (disabled && (code === keyboard_key_1.EnterKey || code === keyboard_key_1.SpacebarKey)) {
65
- ev.preventDefault();
66
- ev.stopPropagation();
67
- return;
68
- }
69
- if (code === keyboard_key_1.SpacebarKey) {
70
- ev.preventDefault();
71
- ev.currentTarget.click();
72
- }
73
- });
74
- if (!shorthand.hasOwnProperty('as') || shorthand.as === 'button') {
75
- shorthand.as = 'button';
76
- return shorthand; // there's nothing to be done if as prop === 'button'
77
- }
78
- if (!shorthand.hasOwnProperty('role')) {
79
- shorthand.role = 'button';
80
- }
81
- if (!shorthand.hasOwnProperty('aria-disabled')) {
82
- shorthand['aria-disabled'] = disabled;
83
- }
84
- shorthand.onClick = onClickHandler;
85
- shorthand.onKeyDown = onKeyDownHandler;
86
- shorthand.onKeyUp = onKeyupHandler;
87
- // Add keydown event handler for all other non-anchor elements.
88
- if (shorthand.as !== 'a') {
89
- if (!shorthand.hasOwnProperty('tabIndex')) {
90
- shorthand.tabIndex = disabled ? undefined : 0;
91
- }
92
- }
93
- return shorthand;
94
- }
95
- exports.useARIAButton = useARIAButton;
96
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL21udC93b3JrLzYvcy9wYWNrYWdlcy9yZWFjdC1hcmlhL3NyYy9ob29rcy91c2VBUklBQnV0dG9uLnRzIiwibWFwcGluZ3MiOiI7OztBQUNBLDZEQUFxSDtBQUNySCx1REFBd0U7QUFFeEUsU0FBUyxpQkFBaUIsQ0FBQyxRQUFxQztJQUM5RCxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtRQUNoQyxPQUFPLFFBQVEsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0tBQzVDO0lBQ0QsT0FBTyxRQUFRLGFBQVIsUUFBUSxjQUFSLFFBQVEsR0FBSSxLQUFLLENBQUM7QUFDM0IsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixhQUFhLENBQzNCLEtBQXdCLEVBQ3hCLFlBQWdCO0lBRWhCLElBQU0sU0FBUyxHQUFHLGtDQUFnQixDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztJQUVoRCxJQUFBLE9BQU8sR0FBcUYsU0FBUyxRQUE5RixFQUFFLFNBQVMsR0FBMEUsU0FBUyxVQUFuRixFQUFFLE9BQU8sR0FBaUUsU0FBUyxRQUExRSxFQUFZLGVBQWUsR0FBc0MsU0FBUyxTQUEvQyxFQUFxQixZQUFZLEdBQUssU0FBUyxpQkFBZCxDQUFlO0lBQzlHLElBQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLGVBQWUsYUFBZixlQUFlLGNBQWYsZUFBZSxHQUFJLFlBQVksQ0FBQyxDQUFDO0lBRXBFLElBQU0sY0FBYyxHQUFHLGtDQUFnQixDQUFDLFVBQUMsRUFBaUM7UUFDeEUsSUFBSSxRQUFRLEVBQUU7WUFDWixFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEIsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3RCO2FBQU07WUFDTCxJQUFJLE9BQU8sT0FBTyxLQUFLLFVBQVUsRUFBRTtnQkFDakMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2I7U0FDRjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBTSxnQkFBZ0IsR0FBRyxrQ0FBZ0IsQ0FBQyxVQUFDLEVBQW9DO1FBQzdFLElBQU0sSUFBSSxHQUFHLHNCQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekIsSUFBSSxPQUFPLFNBQVMsS0FBSyxVQUFVLEVBQUU7WUFDbkMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2Y7UUFDRCxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUNELElBQUksUUFBUSxJQUFJLENBQUMsSUFBSSxLQUFLLHVCQUFRLElBQUksSUFBSSxLQUFLLDBCQUFXLENBQUMsRUFBRTtZQUMzRCxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEIsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3JCLE9BQU87U0FDUjtRQUNELElBQUksSUFBSSxLQUFLLDBCQUFXLEVBQUU7WUFDeEIsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLE9BQU87U0FDUjtRQUNELDJDQUEyQzthQUN0QyxJQUFJLElBQUksS0FBSyx1QkFBUSxFQUFFO1lBQzFCLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFNLGNBQWMsR0FBRyxrQ0FBZ0IsQ0FBQyxVQUFDLEVBQW9DO1FBQzNFLElBQU0sSUFBSSxHQUFHLHNCQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekIsSUFBSSxPQUFPLE9BQU8sS0FBSyxVQUFVLEVBQUU7WUFDakMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2I7UUFDRCxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUNELElBQUksUUFBUSxJQUFJLENBQUMsSUFBSSxLQUFLLHVCQUFRLElBQUksSUFBSSxLQUFLLDBCQUFXLENBQUMsRUFBRTtZQUMzRCxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEIsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3JCLE9BQU87U0FDUjtRQUNELElBQUksSUFBSSxLQUFLLDBCQUFXLEVBQUU7WUFDeEIsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEtBQUssUUFBUSxFQUFFO1FBQ2hFLFNBQVMsQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDO1FBQ3hCLE9BQU8sU0FBUyxDQUFDLENBQUMscURBQXFEO0tBQ3hFO0lBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDckMsU0FBUyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7S0FDM0I7SUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsRUFBRTtRQUM5QyxTQUFTLENBQUMsZUFBZSxDQUFDLEdBQUcsUUFBUSxDQUFDO0tBQ3ZDO0lBRUQsU0FBUyxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUM7SUFDbkMsU0FBUyxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztJQUN2QyxTQUFTLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQztJQUVuQywrREFBK0Q7SUFDL0QsSUFBSSxTQUFTLENBQUMsRUFBRSxLQUFLLEdBQUcsRUFBRTtRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN6QyxTQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDL0M7S0FDRjtJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUF0RkQsc0NBc0ZDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi9tbnQvd29yay82L3MvcGFja2FnZXMvcmVhY3QtYXJpYS9zcmMvaG9va3MvdXNlQVJJQUJ1dHRvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBPYmplY3RTaG9ydGhhbmRQcm9wcywgcmVzb2x2ZVNob3J0aGFuZCwgU2hvcnRoYW5kUHJvcHMsIHVzZUV2ZW50Q2FsbGJhY2sgfSBmcm9tICdAZmx1ZW50dWkvcmVhY3QtdXRpbGl0aWVzJztcbmltcG9ydCB7IEVudGVyS2V5LCBnZXRDb2RlLCBTcGFjZWJhcktleSB9IGZyb20gJ0BmbHVlbnR1aS9rZXlib2FyZC1rZXknO1xuXG5mdW5jdGlvbiBtZXJnZUFSSUFEaXNhYmxlZChkaXNhYmxlZD86IGJvb2xlYW4gfCAnZmFsc2UnIHwgJ3RydWUnKTogYm9vbGVhbiB7XG4gIGlmICh0eXBlb2YgZGlzYWJsZWQgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGRpc2FibGVkID09PSAnZmFsc2UnID8gZmFsc2UgOiB0cnVlO1xuICB9XG4gIHJldHVybiBkaXNhYmxlZCA/PyBmYWxzZTtcbn1cblxuLyoqXG4gKiBidXR0b24ga2V5Ym9hcmQgaGFuZGxpbmcsIHJvbGUsIGRpc2FibGVkIGFuZCB0YWJJbmRleCBpbXBsZW1lbnRhdGlvbiB0aGF0IGVuc3VyZXMgQVJJQSBzcGVjXG4gKiBmb3IgbXVsdGlwbGUgc2NlbmFyaW9zIG9mIHNob3J0aGFuZCBwcm9wZXJ0aWVzLiBFbnN1cmluZyAxc3QgcnVsZSBvZiBBUklBIGZvciBjYXNlc1xuICogd2hlcmUgbm8gYXR0cmlidXRlIGFkZGl0aW9uIGlzIHJlcXVpcmVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VBUklBQnV0dG9uPFQgZXh0ZW5kcyBSZWFjdC5CdXR0b25IVE1MQXR0cmlidXRlczxIVE1MRWxlbWVudD4+KFxuICB2YWx1ZTogU2hvcnRoYW5kUHJvcHM8VD4sXG4gIGRlZmF1bHRQcm9wcz86IFQsXG4pOiBPYmplY3RTaG9ydGhhbmRQcm9wczxUPiB7XG4gIGNvbnN0IHNob3J0aGFuZCA9IHJlc29sdmVTaG9ydGhhbmQodmFsdWUsIGRlZmF1bHRQcm9wcyk7XG5cbiAgY29uc3QgeyBvbkNsaWNrLCBvbktleURvd24sIG9uS2V5VXAsIGRpc2FibGVkOiBkZWZhdWx0RGlzYWJsZWQsIFsnYXJpYS1kaXNhYmxlZCddOiBhcmlhRGlzYWJsZWQgfSA9IHNob3J0aGFuZDtcbiAgY29uc3QgZGlzYWJsZWQgPSBtZXJnZUFSSUFEaXNhYmxlZChkZWZhdWx0RGlzYWJsZWQgPz8gYXJpYURpc2FibGVkKTtcblxuICBjb25zdCBvbkNsaWNrSGFuZGxlciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50PikgPT4ge1xuICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodHlwZW9mIG9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb25DbGljayhldik7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBvbktleURvd25IYW5kbGVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXY6IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTEVsZW1lbnQ+KSA9PiB7XG4gICAgY29uc3QgY29kZSA9IGdldENvZGUoZXYpO1xuICAgIGlmICh0eXBlb2Ygb25LZXlEb3duID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBvbktleURvd24oZXYpO1xuICAgIH1cbiAgICBpZiAoZXYuaXNEZWZhdWx0UHJldmVudGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGRpc2FibGVkICYmIChjb2RlID09PSBFbnRlcktleSB8fCBjb2RlID09PSBTcGFjZWJhcktleSkpIHtcbiAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldi5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGNvZGUgPT09IFNwYWNlYmFyS2V5KSB7XG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBJZiBlbnRlciBpcyBwcmVzc2VkLCBhY3RpdmF0ZSB0aGUgYnV0dG9uXG4gICAgZWxzZSBpZiAoY29kZSA9PT0gRW50ZXJLZXkpIHtcbiAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldi5jdXJyZW50VGFyZ2V0LmNsaWNrKCk7XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBvbktleXVwSGFuZGxlciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2OiBSZWFjdC5LZXlib2FyZEV2ZW50PEhUTUxFbGVtZW50PikgPT4ge1xuICAgIGNvbnN0IGNvZGUgPSBnZXRDb2RlKGV2KTtcbiAgICBpZiAodHlwZW9mIG9uS2V5VXAgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIG9uS2V5VXAoZXYpO1xuICAgIH1cbiAgICBpZiAoZXYuaXNEZWZhdWx0UHJldmVudGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGRpc2FibGVkICYmIChjb2RlID09PSBFbnRlcktleSB8fCBjb2RlID09PSBTcGFjZWJhcktleSkpIHtcbiAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldi5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGNvZGUgPT09IFNwYWNlYmFyS2V5KSB7XG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXYuY3VycmVudFRhcmdldC5jbGljaygpO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKCFzaG9ydGhhbmQuaGFzT3duUHJvcGVydHkoJ2FzJykgfHwgc2hvcnRoYW5kLmFzID09PSAnYnV0dG9uJykge1xuICAgIHNob3J0aGFuZC5hcyA9ICdidXR0b24nO1xuICAgIHJldHVybiBzaG9ydGhhbmQ7IC8vIHRoZXJlJ3Mgbm90aGluZyB0byBiZSBkb25lIGlmIGFzIHByb3AgPT09ICdidXR0b24nXG4gIH1cblxuICBpZiAoIXNob3J0aGFuZC5oYXNPd25Qcm9wZXJ0eSgncm9sZScpKSB7XG4gICAgc2hvcnRoYW5kLnJvbGUgPSAnYnV0dG9uJztcbiAgfVxuICBpZiAoIXNob3J0aGFuZC5oYXNPd25Qcm9wZXJ0eSgnYXJpYS1kaXNhYmxlZCcpKSB7XG4gICAgc2hvcnRoYW5kWydhcmlhLWRpc2FibGVkJ10gPSBkaXNhYmxlZDtcbiAgfVxuXG4gIHNob3J0aGFuZC5vbkNsaWNrID0gb25DbGlja0hhbmRsZXI7XG4gIHNob3J0aGFuZC5vbktleURvd24gPSBvbktleURvd25IYW5kbGVyO1xuICBzaG9ydGhhbmQub25LZXlVcCA9IG9uS2V5dXBIYW5kbGVyO1xuXG4gIC8vIEFkZCBrZXlkb3duIGV2ZW50IGhhbmRsZXIgZm9yIGFsbCBvdGhlciBub24tYW5jaG9yIGVsZW1lbnRzLlxuICBpZiAoc2hvcnRoYW5kLmFzICE9PSAnYScpIHtcbiAgICBpZiAoIXNob3J0aGFuZC5oYXNPd25Qcm9wZXJ0eSgndGFiSW5kZXgnKSkge1xuICAgICAgc2hvcnRoYW5kLnRhYkluZGV4ID0gZGlzYWJsZWQgPyB1bmRlZmluZWQgOiAwO1xuICAgIH1cbiAgfVxuICByZXR1cm4gc2hvcnRoYW5kO1xufVxuIl0sInZlcnNpb24iOjN9
@@ -1 +0,0 @@
1
- {"file":"/mnt/work/6/s/packages/react-aria/src/hooks/useARIAButton.ts","mappings":"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","names":[],"sources":["/mnt/work/6/s/packages/react-aria/src/hooks/useARIAButton.ts"],"sourcesContent":["import * as React from 'react';\nimport { ObjectShorthandProps, resolveShorthand, ShorthandProps, useEventCallback } from '@fluentui/react-utilities';\nimport { EnterKey, getCode, SpacebarKey } from '@fluentui/keyboard-key';\n\nfunction mergeARIADisabled(disabled?: boolean | 'false' | 'true'): boolean {\n if (typeof disabled === 'string') {\n return disabled === 'false' ? false : true;\n }\n return disabled ?? false;\n}\n\n/**\n * button keyboard handling, role, disabled and tabIndex implementation that ensures ARIA spec\n * for multiple scenarios of shorthand properties. Ensuring 1st rule of ARIA for cases\n * where no attribute addition is required\n */\nexport function useARIAButton<T extends React.ButtonHTMLAttributes<HTMLElement>>(\n value: ShorthandProps<T>,\n defaultProps?: T,\n): ObjectShorthandProps<T> {\n const shorthand = resolveShorthand(value, defaultProps);\n\n const { onClick, onKeyDown, onKeyUp, disabled: defaultDisabled, ['aria-disabled']: ariaDisabled } = shorthand;\n const disabled = mergeARIADisabled(defaultDisabled ?? ariaDisabled);\n\n const onClickHandler = useEventCallback((ev: React.MouseEvent<HTMLElement>) => {\n if (disabled) {\n ev.preventDefault();\n ev.stopPropagation();\n } else {\n if (typeof onClick === 'function') {\n onClick(ev);\n }\n }\n });\n\n const onKeyDownHandler = useEventCallback((ev: React.KeyboardEvent<HTMLElement>) => {\n const code = getCode(ev);\n if (typeof onKeyDown === 'function') {\n onKeyDown(ev);\n }\n if (ev.isDefaultPrevented()) {\n return;\n }\n if (disabled && (code === EnterKey || code === SpacebarKey)) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n if (code === SpacebarKey) {\n ev.preventDefault();\n return;\n }\n // If enter is pressed, activate the button\n else if (code === EnterKey) {\n ev.preventDefault();\n ev.currentTarget.click();\n }\n });\n\n const onKeyupHandler = useEventCallback((ev: React.KeyboardEvent<HTMLElement>) => {\n const code = getCode(ev);\n if (typeof onKeyUp === 'function') {\n onKeyUp(ev);\n }\n if (ev.isDefaultPrevented()) {\n return;\n }\n if (disabled && (code === EnterKey || code === SpacebarKey)) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n if (code === SpacebarKey) {\n ev.preventDefault();\n ev.currentTarget.click();\n }\n });\n\n if (!shorthand.hasOwnProperty('as') || shorthand.as === 'button') {\n shorthand.as = 'button';\n return shorthand; // there's nothing to be done if as prop === 'button'\n }\n\n if (!shorthand.hasOwnProperty('role')) {\n shorthand.role = 'button';\n }\n if (!shorthand.hasOwnProperty('aria-disabled')) {\n shorthand['aria-disabled'] = disabled;\n }\n\n shorthand.onClick = onClickHandler;\n shorthand.onKeyDown = onKeyDownHandler;\n shorthand.onKeyUp = onKeyupHandler;\n\n // Add keydown event handler for all other non-anchor elements.\n if (shorthand.as !== 'a') {\n if (!shorthand.hasOwnProperty('tabIndex')) {\n shorthand.tabIndex = disabled ? undefined : 0;\n }\n }\n return shorthand;\n}\n"],"version":3}
@@ -1,7 +0,0 @@
1
- 21353fd6c336c4f51df68008e34dd590
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- var tslib_1 = require("tslib");
5
- tslib_1.__exportStar(require("./canUseDOM"), exports);
6
- tslib_1.__exportStar(require("./SSRContext"), exports);
7
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL21udC93b3JrLzYvcy9wYWNrYWdlcy9yZWFjdC11dGlsaXRpZXMvc3JjL3Nzci9pbmRleC50cyIsIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBNEI7QUFDNUIsdURBQTZCIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi9tbnQvd29yay82L3MvcGFja2FnZXMvcmVhY3QtdXRpbGl0aWVzL3NyYy9zc3IvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYW5Vc2VET00nO1xuZXhwb3J0ICogZnJvbSAnLi9TU1JDb250ZXh0JztcbiJdLCJ2ZXJzaW9uIjozfQ==
@@ -1 +0,0 @@
1
- {"file":"/mnt/work/6/s/packages/react-utilities/src/ssr/index.ts","mappings":";;;AAAA,sDAA4B;AAC5B,uDAA6B","names":[],"sources":["/mnt/work/6/s/packages/react-utilities/src/ssr/index.ts"],"sourcesContent":["export * from './canUseDOM';\nexport * from './SSRContext';\n"],"version":3}
@@ -1,9 +0,0 @@
1
- 6169b0664f52d78a9db851bbfcd3cb8e
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.isMediaQuerySelector = void 0;
5
- function isMediaQuerySelector(property) {
6
- return property.substr(0, 6) === '@media';
7
- }
8
- exports.isMediaQuerySelector = isMediaQuerySelector;
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL21udC93b3JrLzYvcy9wYWNrYWdlcy9tYWtlLXN0eWxlcy9zcmMvcnVudGltZS91dGlscy9pc01lZGlhUXVlcnlTZWxlY3Rvci50cyIsIm1hcHBpbmdzIjoiOzs7QUFBQSxTQUFnQixvQkFBb0IsQ0FBQyxRQUFnQjtJQUNuRCxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQztBQUM1QyxDQUFDO0FBRkQsb0RBRUMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiL21udC93b3JrLzYvcy9wYWNrYWdlcy9tYWtlLXN0eWxlcy9zcmMvcnVudGltZS91dGlscy9pc01lZGlhUXVlcnlTZWxlY3Rvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNNZWRpYVF1ZXJ5U2VsZWN0b3IocHJvcGVydHk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gcHJvcGVydHkuc3Vic3RyKDAsIDYpID09PSAnQG1lZGlhJztcbn1cbiJdLCJ2ZXJzaW9uIjozfQ==
@@ -1 +0,0 @@
1
- {"file":"/mnt/work/6/s/packages/make-styles/src/runtime/utils/isMediaQuerySelector.ts","mappings":";;;AAAA,SAAgB,oBAAoB,CAAC,QAAgB;IACnD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC;AAC5C,CAAC;AAFD,oDAEC","names":[],"sources":["/mnt/work/6/s/packages/make-styles/src/runtime/utils/isMediaQuerySelector.ts"],"sourcesContent":["export function isMediaQuerySelector(property: string): boolean {\n return property.substr(0, 6) === '@media';\n}\n"],"version":3}
@@ -1,303 +0,0 @@
1
- 4aacebddecf5c7123fec517e278d8179
2
- "use strict";
3
- /**
4
- * This file is from @reach/descendants
5
- * https://github.com/reach/reach-ui/tree/develop/packages/descendants
6
- *
7
- * Copying it was required due to TS version issues. The original one required TS 3.8.
8
- * Next step would be to implement an internal version of it under react-utilities
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.createNamedContext = exports.useForceUpdate = exports.useDescendantKeyDown = exports.DescendantProvider = exports.useDescendants = exports.useDescendantsInit = exports.useDescendant = exports.createDescendantContext = void 0;
12
- var tslib_1 = require("tslib");
13
- var React = require("react");
14
- var polyfills_1 = require("./polyfills");
15
- var index_1 = require("../hooks/index");
16
- function createDescendantContext(name, initialValue) {
17
- if (initialValue === void 0) { initialValue = {}; }
18
- var descendants = [];
19
- return createNamedContext(name, tslib_1.__assign({ descendants: descendants, registerDescendant: function () {
20
- /* */
21
- }, unregisterDescendant: function () {
22
- /* */
23
- } }, initialValue));
24
- }
25
- exports.createDescendantContext = createDescendantContext;
26
- /**
27
- * This hook registers our descendant by passing it into an array. We can then
28
- * search that array by to find its index when registering it in the component.
29
- * We use this for focus management, keyboard navigation, and typeahead
30
- * functionality for some components.
31
- *
32
- * The hook accepts the element node and (optionally) a key. The key is useful
33
- * if multiple descendants have identical text values and we need to
34
- * differentiate siblings for some reason.
35
- *
36
- * Our main goals with this are:
37
- * 1) maximum composability,
38
- * 2) minimal API friction
39
- * 3) SSR compatibility*
40
- * 4) concurrent safe
41
- * 5) index always up-to-date with the tree despite changes
42
- * 6) works with memoization of any component in the tree (hopefully)
43
- *
44
- * * As for SSR, the good news is that we don't actually need the index on the
45
- * server for most use-cases, as we are only using it to determine the order of
46
- * composed descendants for keyboard navigation. However, in the few cases where
47
- * this is not the case, we can require an explicit index from the app.
48
- */
49
- function useDescendant(descendant, context, indexProp) {
50
- var forceUpdate = useForceUpdate();
51
- var _a = React.useContext(context), registerDescendant = _a.registerDescendant, unregisterDescendant = _a.unregisterDescendant, descendants = _a.descendants;
52
- // This will initially return -1 because we haven't registered the descendant
53
- // on the first render. After we register, this will then return the correct
54
- // index on the following render and we will re-register descendants
55
- // so that everything is up-to-date before the user interacts with a
56
- // collection.
57
- var index = indexProp !== null && indexProp !== void 0 ? indexProp : polyfills_1.arrayFindIndex(descendants, function (item) { return item.element === descendant.element; });
58
- var previousDescendants = index_1.usePrevious(descendants);
59
- // We also need to re-register descendants any time ANY of the other
60
- // descendants have changed. My brain was melting when I wrote this and it
61
- // feels a little off, but checking in render and using the result in the
62
- // effect's dependency array works well enough.
63
- var someDescendantsHaveChanged = descendants.some(function (nextDescendant, i) {
64
- var _a;
65
- return nextDescendant.element !== ((_a = previousDescendants === null || previousDescendants === void 0 ? void 0 : previousDescendants[i]) === null || _a === void 0 ? void 0 : _a.element);
66
- });
67
- // Prevent any flashing
68
- // eslint-disable-next-line no-restricted-properties
69
- React.useLayoutEffect(function () {
70
- if (!descendant.element) {
71
- forceUpdate();
72
- }
73
- registerDescendant(tslib_1.__assign(tslib_1.__assign({}, descendant), { index: index }));
74
- return function () { return unregisterDescendant(descendant.element); };
75
- // eslint-disable-next-line react-hooks/exhaustive-deps
76
- }, tslib_1.__spreadArrays([
77
- forceUpdate,
78
- index,
79
- registerDescendant,
80
- someDescendantsHaveChanged,
81
- unregisterDescendant
82
- ], polyfills_1.objectValues(descendant)));
83
- return index;
84
- }
85
- exports.useDescendant = useDescendant;
86
- function useDescendantsInit() {
87
- return React.useState([]);
88
- }
89
- exports.useDescendantsInit = useDescendantsInit;
90
- function useDescendants(ctx) {
91
- return React.useContext(ctx).descendants;
92
- }
93
- exports.useDescendants = useDescendants;
94
- var UnmemoizedDescendantProvider = function (_a) {
95
- var Ctx = _a.context, children = _a.children, items = _a.items, set = _a.set;
96
- var registerDescendant = React.useCallback(function (_a) {
97
- var element = _a.element, explicitIndex = _a.index, rest = tslib_1.__rest(_a, ["element", "index"]);
98
- if (!element) {
99
- return;
100
- }
101
- set(function (previousItems) {
102
- var newItems;
103
- if (explicitIndex !== null || explicitIndex !== undefined) {
104
- newItems = tslib_1.__spreadArrays(previousItems, [
105
- tslib_1.__assign(tslib_1.__assign({}, rest), { element: element, index: explicitIndex }),
106
- ]);
107
- }
108
- else if (previousItems.length === 0) {
109
- // If there are no items, register at index 0 and bail.
110
- newItems = tslib_1.__spreadArrays(previousItems, [
111
- tslib_1.__assign(tslib_1.__assign({}, rest), { element: element, index: 0 }),
112
- ]);
113
- }
114
- else if (polyfills_1.arrayFind(previousItems, function (item) { return item.element === element; })) {
115
- // If the element is already registered, just use the same array
116
- newItems = previousItems;
117
- }
118
- else {
119
- // When registering a descendant, we need to make sure we insert in
120
- // into the array in the same order that it appears in the DOM. So as
121
- // new descendants are added or maybe some are removed, we always know
122
- // that the array is up-to-date and correct.
123
- //
124
- // So here we look at our registered descendants and see if the new
125
- // element we are adding appears earlier than an existing descendant's
126
- // DOM node via `node.compareDocumentPosition`. If it does, we insert
127
- // the new element at this index. Because `registerDescendant` will be
128
- // called in an effect every time the descendants state value changes,
129
- // we should be sure that this index is accurate when descendent
130
- // elements come or go from our component.
131
- var index = polyfills_1.arrayFindIndex(previousItems, function (item) {
132
- if (!item.element || !element) {
133
- return false;
134
- }
135
- // Does this element's DOM node appear before another item in the
136
- // array in our DOM tree? If so, return true to grab the index at
137
- // this point in the array so we know where to insert the new
138
- // element.
139
- return Boolean(
140
- // eslint-disable-next-line no-bitwise
141
- item.element.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_PRECEDING);
142
- });
143
- var newItem = tslib_1.__assign(tslib_1.__assign({}, rest), { element: element,
144
- index: index });
145
- // If an index is not found we will push the element to the end.
146
- if (index === -1) {
147
- newItems = tslib_1.__spreadArrays(previousItems, [newItem]);
148
- }
149
- else {
150
- newItems = tslib_1.__spreadArrays(previousItems.slice(0, index), [newItem], previousItems.slice(index));
151
- }
152
- }
153
- return newItems.map(function (item, index) { return (tslib_1.__assign(tslib_1.__assign({}, item), { index: index })); });
154
- });
155
- },
156
- // set is a state setter initialized by the useDescendantsInit hook.
157
- // We can safely ignore the lint warning here because it will not change
158
- // between renders.
159
- // eslint-disable-next-line react-hooks/exhaustive-deps
160
- []);
161
- var unregisterDescendant = React.useCallback(function (element) {
162
- if (!element) {
163
- return;
164
- }
165
- set(function (previousItems) { return previousItems.filter(function (item) { return element !== item.element; }); });
166
- },
167
- // set is a state setter initialized by the useDescendantsInit hook.
168
- // We can safely ignore the lint warning here because it will not change
169
- // between renders.
170
- // eslint-disable-next-line react-hooks/exhaustive-deps
171
- []);
172
- return (React.createElement(Ctx.Provider, { value: React.useMemo(function () {
173
- return {
174
- descendants: items,
175
- registerDescendant: registerDescendant,
176
- unregisterDescendant: unregisterDescendant,
177
- };
178
- }, [items, registerDescendant, unregisterDescendant]) }, children));
179
- };
180
- exports.DescendantProvider = React.memo(UnmemoizedDescendantProvider);
181
- /**
182
- * Testing this as an abstraction for compound components that use keyboard
183
- * navigation. Hoping this will help us prevent bugs and mismatched behavior
184
- * across various components, but it may also prove to be too messy of an
185
- * abstraction in the end.
186
- *
187
- * Currently used in:
188
- * - Tabs
189
- * - Accordion
190
- *
191
- */
192
- function useDescendantKeyDown(context, options) {
193
- var descendants = React.useContext(context).descendants;
194
- var callback = options.callback, currentIndex = options.currentIndex, filter = options.filter, _a = options.key, key = _a === void 0 ? 'index' : _a, _b = options.orientation, orientation = _b === void 0 ? 'vertical' : _b, _c = options.rotate, rotate = _c === void 0 ? true : _c, _d = options.rtl, rtl = _d === void 0 ? false : _d;
195
- var index = currentIndex !== null && currentIndex !== void 0 ? currentIndex : -1;
196
- return function handleKeyDown(event) {
197
- if (!polyfills_1.arrayIncludes(['ArrowDown', 'ArrowUp', 'ArrowLeft', 'ArrowRight', 'PageUp', 'PageDown', 'Home', 'End'], event.key)) {
198
- return;
199
- }
200
- // If we use a filter function, we need to re-index our descendants array
201
- // so that filtered descendent elements aren't selected.
202
- var selectableDescendants = filter ? descendants.filter(filter) : descendants;
203
- // Current index should map to the updated array vs. the original
204
- // descendants array.
205
- if (filter) {
206
- index = polyfills_1.arrayFindIndex(selectableDescendants, function (descendant) { return descendant.index === currentIndex; });
207
- }
208
- // We need some options for any of this to work!
209
- if (!selectableDescendants.length) {
210
- return;
211
- }
212
- function getNextOption() {
213
- var atBottom = index === selectableDescendants.length - 1;
214
- return atBottom
215
- ? rotate
216
- ? getFirstOption()
217
- : selectableDescendants[index]
218
- : selectableDescendants[(index + 1) % selectableDescendants.length];
219
- }
220
- function getPreviousOption() {
221
- var atTop = index === 0;
222
- return atTop
223
- ? rotate
224
- ? getLastOption()
225
- : selectableDescendants[index]
226
- : selectableDescendants[(index - 1 + selectableDescendants.length) % selectableDescendants.length];
227
- }
228
- function getFirstOption() {
229
- return selectableDescendants[0];
230
- }
231
- function getLastOption() {
232
- return selectableDescendants[selectableDescendants.length - 1];
233
- }
234
- switch (event.key) {
235
- case 'ArrowDown':
236
- if (orientation === 'vertical' || orientation === 'both') {
237
- event.preventDefault();
238
- var next = getNextOption();
239
- callback(key === 'option' ? next : next[key]);
240
- }
241
- break;
242
- case 'ArrowUp':
243
- if (orientation === 'vertical' || orientation === 'both') {
244
- event.preventDefault();
245
- var prev = getPreviousOption();
246
- callback(key === 'option' ? prev : prev[key]);
247
- }
248
- break;
249
- case 'ArrowLeft':
250
- if (orientation === 'horizontal' || orientation === 'both') {
251
- event.preventDefault();
252
- var nextOrPrev = (rtl ? getNextOption : getPreviousOption)();
253
- callback(key === 'option' ? nextOrPrev : nextOrPrev[key]);
254
- }
255
- break;
256
- case 'ArrowRight':
257
- if (orientation === 'horizontal' || orientation === 'both') {
258
- event.preventDefault();
259
- var prevOrNext = (rtl ? getPreviousOption : getNextOption)();
260
- callback(key === 'option' ? prevOrNext : prevOrNext[key]);
261
- }
262
- break;
263
- case 'PageUp':
264
- event.preventDefault();
265
- var prevOrFirst = (event.ctrlKey ? getPreviousOption : getFirstOption)();
266
- callback(key === 'option' ? prevOrFirst : prevOrFirst[key]);
267
- break;
268
- case 'Home':
269
- event.preventDefault();
270
- var first = getFirstOption();
271
- callback(key === 'option' ? first : first[key]);
272
- break;
273
- case 'PageDown':
274
- event.preventDefault();
275
- var nextOrLast = (event.ctrlKey ? getNextOption : getLastOption)();
276
- callback(key === 'option' ? nextOrLast : nextOrLast[key]);
277
- break;
278
- case 'End':
279
- event.preventDefault();
280
- var last = getLastOption();
281
- callback(key === 'option' ? last : last[key]);
282
- break;
283
- }
284
- };
285
- }
286
- exports.useDescendantKeyDown = useDescendantKeyDown;
287
- /**
288
- * Forces a re-render, similar to `forceUpdate` in class components.
289
- */
290
- function useForceUpdate() {
291
- var _a = React.useState(Object.create(null)), dispatch = _a[1];
292
- return React.useCallback(function () {
293
- dispatch(Object.create(null));
294
- }, []);
295
- }
296
- exports.useForceUpdate = useForceUpdate;
297
- function createNamedContext(name, defaultValue) {
298
- var Ctx = React.createContext(defaultValue);
299
- Ctx.displayName = name;
300
- return Ctx;
301
- }
302
- exports.createNamedContext = createNamedContext;
303
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL21udC93b3JrLzYvcy9wYWNrYWdlcy9yZWFjdC11dGlsaXRpZXMvc3JjL2Rlc2NlbmRhbnRzL2Rlc2NlbmRhbnRzLnRzeCIsIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7O0FBRUgsNkJBQStCO0FBQy9CLHlDQUFxRjtBQUNyRix3Q0FBNkM7QUFFN0MsU0FBZ0IsdUJBQXVCLENBQW9DLElBQVksRUFBRSxZQUFpQjtJQUFqQiw2QkFBQSxFQUFBLGlCQUFpQjtJQUN4RyxJQUFNLFdBQVcsR0FBcUIsRUFBRSxDQUFDO0lBQ3pDLE9BQU8sa0JBQWtCLENBQXlDLElBQUkscUJBQ3BFLFdBQVcsYUFBQSxFQUNYLGtCQUFrQixFQUFFO1lBQ2xCLEtBQUs7UUFDUCxDQUFDLEVBQ0Qsb0JBQW9CLEVBQUU7WUFDcEIsS0FBSztRQUNQLENBQUMsSUFDRSxZQUFZLEVBQ2YsQ0FBQztBQUNMLENBQUM7QUFaRCwwREFZQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBQ0gsU0FBZ0IsYUFBYSxDQUMzQixVQUF5QyxFQUN6QyxPQUE4RCxFQUM5RCxTQUFrQjtJQUVsQixJQUFNLFdBQVcsR0FBRyxjQUFjLEVBQUUsQ0FBQztJQUMvQixJQUFBLEtBQTRELEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQW5GLGtCQUFrQix3QkFBQSxFQUFFLG9CQUFvQiwwQkFBQSxFQUFFLFdBQVcsaUJBQThCLENBQUM7SUFFNUYsNkVBQTZFO0lBQzdFLDRFQUE0RTtJQUM1RSxvRUFBb0U7SUFDcEUsb0VBQW9FO0lBQ3BFLGNBQWM7SUFDZCxJQUFNLEtBQUssR0FBRyxTQUFTLGFBQVQsU0FBUyxjQUFULFNBQVMsR0FBSSwwQkFBYyxDQUFDLFdBQVcsRUFBRSxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksQ0FBQyxPQUFPLEtBQUssVUFBVSxDQUFDLE9BQU8sRUFBbkMsQ0FBbUMsQ0FBQyxDQUFDO0lBRXBHLElBQU0sbUJBQW1CLEdBQUcsbUJBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVy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aEMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQztBQUxELHdDQUtDO0FBRUQsU0FBZ0Isa0JBQWtCLENBQ2hDLElBQVksRUFDWixZQUE4QjtJQUU5QixJQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFtQixZQUFZLENBQUMsQ0FBQztJQUNoRSxHQUFHLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUN2QixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFQRCxnREFPQyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIvbW50L3dvcmsvNi9zL3BhY2thZ2VzL3JlYWN0LXV0aWxpdGllcy9zcmMvZGVzY2VuZGFudHMvZGVzY2VuZGFudHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBmaWxlIGlzIGZyb20gQHJlYWNoL2Rlc2NlbmRhbnRzXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcmVhY2gvcmVhY2gtdWkvdHJlZS9kZXZlbG9wL3BhY2thZ2VzL2Rlc2NlbmRhbnRzXG4gKlxuICogQ29weWluZyBpdCB3YXMgcmVxdWlyZWQgZHVlIHRvIFRTIHZlcnNpb24gaXNzdWVzLiBUaGUgb3JpZ2luYWwgb25lIHJlcXVpcmVkIFRTIDMuOC5cbiAqIE5leHQgc3RlcCB3b3VsZCBiZSB0byBpbXBsZW1lbnQgYW4gaW50ZXJuYWwgdmVyc2lvbiBvZiBpdCB1bmRlciByZWFjdC11dGlsaXRpZXNcbiAqL1xuXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBhcnJheUZpbmQsIGFycmF5RmluZEluZGV4LCBhcnJheUluY2x1ZGVzLCBvYmplY3RWYWx1ZXMgfSBmcm9tICcuL3BvbHlmaWxscyc7XG5pbXBvcnQgeyB1c2VQcmV2aW91cyB9IGZyb20gJy4uL2hvb2tzL2luZGV4JztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURlc2NlbmRhbnRDb250ZXh0PERlc2NlbmRhbnRUeXBlIGV4dGVuZHMgRGVzY2VuZGFudD4obmFtZTogc3RyaW5nLCBpbml0aWFsVmFsdWUgPSB7fSkge1xuICBjb25zdCBkZXNjZW5kYW50czogRGVzY2VuZGFudFR5cGVbXSA9IFtdO1xuICByZXR1cm4gY3JlYXRlTmFtZWRDb250ZXh0PERlc2NlbmRhbnRDb250ZXh0VmFsdWU8RGVzY2VuZGFudFR5cGU+PihuYW1lLCB7XG4gICAgZGVzY2VuZGFudHMsXG4gICAgcmVnaXN0ZXJEZXNjZW5kYW50OiAoKSA9PiB7XG4gICAgICAvKiAqL1xuICAgIH0sXG4gICAgdW5yZWdpc3RlckRlc2NlbmRhbnQ6ICgpID0+IHtcbiAgICAgIC8qICovXG4gICAgfSxcbiAgICAuLi5pbml0aWFsVmFsdWUsXG4gIH0pO1xufVxuXG4vKipcbiAqIFRoaXMgaG9vayByZWdpc3RlcnMgb3VyIGRlc2NlbmRhbnQgYnkgcGFzc2luZyBpdCBpbnRvIGFuIGFycmF5LiBXZSBjYW4gdGhlblxuICogc2VhcmNoIHRoYXQgYXJyYXkgYnkgdG8gZmluZCBpdHMgaW5kZXggd2hlbiByZWdpc3RlcmluZyBpdCBpbiB0aGUgY29tcG9uZW50LlxuICogV2UgdXNlIHRoaXMgZm9yIGZvY3VzIG1hbmFnZW1lbnQsIGtleWJvYXJkIG5hdmlnYXRpb24sIGFuZCB0eXBlYWhlYWRcbiAqIGZ1bmN0aW9uYWxpdHkgZm9yIHNvbWUgY29tcG9uZW50cy5cbiAqXG4gKiBUaGUgaG9vayBhY2NlcHRzIHRoZSBlbGVtZW50IG5vZGUgYW5kIChvcHRpb25hbGx5KSBhIGtleS4gVGhlIGtleSBpcyB1c2VmdWxcbiAqIGlmIG11bHRpcGxlIGRlc2NlbmRhbnRzIGhhdmUgaWRlbnRpY2FsIHRleHQgdmFsdWVzIGFuZCB3ZSBuZWVkIHRvXG4gKiBkaWZmZXJlbnRpYXRlIHNpYmxpbmdzIGZvciBzb21lIHJlYXNvbi5cbiAqXG4gKiBPdXIgbWFpbiBnb2FscyB3aXRoIHRoaXMgYXJlOlxuICogICAxKSBtYXhpbXVtIGNvbXBvc2FiaWxpdHksXG4gKiAgIDIpIG1pbmltYWwgQVBJIGZyaWN0aW9uXG4gKiAgIDMpIFNTUiBjb21wYXRpYmlsaXR5KlxuICogICA0KSBjb25jdXJyZW50IHNhZmVcbiAqICAgNSkgaW5kZXggYWx3YXlzIHVwLXRvLWRhdGUgd2l0aCB0aGUgdHJlZSBkZXNwaXRlIGNoYW5nZXNcbiAqICAgNikgd29ya3Mgd2l0aCBtZW1vaXphdGlvbiBvZiBhbnkgY29tcG9uZW50IGluIHRoZSB0cmVlIChob3BlZnVsbHkpXG4gKlxuICogKiBBcyBmb3IgU1NSLCB0aGUgZ29vZCBuZXdzIGlzIHRoYXQgd2UgZG9uJ3QgYWN0dWFsbHkgbmVlZCB0aGUgaW5kZXggb24gdGhlXG4gKiBzZXJ2ZXIgZm9yIG1vc3QgdXNlLWNhc2VzLCBhcyB3ZSBhcmUgb25seSB1c2luZyBpdCB0byBkZXRlcm1pbmUgdGhlIG9yZGVyIG9mXG4gKiBjb21wb3NlZCBkZXNjZW5kYW50cyBmb3Iga2V5Ym9hcmQgbmF2aWdhdGlvbi4gSG93ZXZlciwgaW4gdGhlIGZldyBjYXNlcyB3aGVyZVxuICogdGhpcyBpcyBub3QgdGhlIGNhc2UsIHdlIGNhbiByZXF1aXJlIGFuIGV4cGxpY2l0IGluZGV4IGZyb20gdGhlIGFwcC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZURlc2NlbmRhbnQ8RGVzY2VuZGFudFR5cGUgZXh0ZW5kcyBEZXNjZW5kYW50PihcbiAgZGVzY2VuZGFudDogT21pdDxEZXNjZW5kYW50VHlwZSwgJ2luZGV4Jz4sXG4gIGNvbnRleHQ6IFJlYWN0LkNvbnRleHQ8RGVzY2VuZGFudENvbnRleHRWYWx1ZTxEZXNjZW5kYW50VHlwZT4+LFxuICBpbmRleFByb3A/OiBudW1iZXIsXG4pIHtcbiAgY29uc3QgZm9yY2VVcGRhdGUgPSB1c2VGb3JjZVVwZGF0ZSgpO1xuICBjb25zdCB7IHJlZ2lzdGVyRGVzY2VuZGFudCwgdW5yZWdpc3RlckRlc2NlbmRhbnQsIGRlc2NlbmRhbnRzIH0gPSBSZWFjdC51c2VDb250ZXh0KGNvbnRleHQpO1xuXG4gIC8vIFRoaXMgd2lsbCBpbml0aWFsbHkgcmV0dXJuIC0xIGJlY2F1c2Ugd2UgaGF2ZW4ndCByZWdpc3RlcmVkIHRoZSBkZXNjZW5kYW50XG4gIC8vIG9uIHRoZSBmaXJzdCByZW5kZXIuIEFmdGVyIHdlIHJlZ2lzdGVyLCB0aGlzIHdpbGwgdGhlbiByZXR1cm4gdGhlIGNvcnJlY3RcbiAgLy8gaW5kZXggb24gdGhlIGZvbGxvd2luZyByZW5kZXIgYW5kIHdlIHdpbGwgcmUtcmVnaXN0ZXIgZGVzY2VuZGFudHNcbiAgLy8gc28gdGhhdCBldmVyeXRoaW5nIGlzIHVwLXRvLWRhdGUgYmVmb3JlIHRoZSB1c2VyIGludGVyYWN0cyB3aXRoIGFcbiAgLy8gY29sbGVjdGlvbi5cbiAgY29uc3QgaW5kZXggPSBpbmRleFByb3AgPz8gYXJyYXlGaW5kSW5kZXgoZGVzY2VuZGFudHMsIGl0ZW0gPT4gaXRlbS5lbGVtZW50ID09PSBkZXNjZW5kYW50LmVsZW1lbnQpO1xuXG4gIGNvbnN0IHByZXZpb3VzRGVzY2VuZGFudHMgPSB1c2VQcmV2aW91cyhkZXNjZW5kYW50cyk7XG5cbiAgLy8gV2UgYWxzbyBuZWVkIHRvIHJlLXJlZ2lzdGVyIGRlc2NlbmRhbnRzIGFueSB0aW1lIEFOWSBvZiB0aGUgb3RoZXJcbiAgLy8gZGVzY2VuZGFudHMgaGF2ZSBjaGFuZ2VkLiBNeSBicmFpbiB3YXMgbWVsdGluZyB3aGVuIEkgd3JvdGUgdGhpcyBhbmQgaXRcbiAgLy8gZmVlbHMgYSBsaXR0bGUgb2ZmLCBidXQgY2hlY2tpbmcgaW4gcmVuZGVyIGFuZCB1c2luZyB0aGUgcmVzdWx0IGluIHRoZVxuICAvLyBlZmZlY3QncyBkZXBlbmRlbmN5IGFycmF5IHdvcmtzIHdlbGwgZW5vdWdoLlxuICBjb25zdCBzb21lRGVzY2VuZGFudHNIYXZlQ2hhbmdlZCA9IGRlc2NlbmRhbnRzLnNvbWUoKG5leHREZXNjZW5kYW50LCBpKSA9PiB7XG4gICAgcmV0dXJuIG5leHREZXNjZW5kYW50LmVsZW1lbnQgIT09IHByZXZpb3VzRGVzY2VuZGFudHM/LltpXT8uZWxlbWVudDtcbiAgfSk7XG5cbiAgLy8gUHJldmVudCBhbnkgZmxhc2hpbmdcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtcHJvcGVydGllc1xuICBSZWFjdC51c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZGVzY2VuZGFudC5lbGVtZW50KSB7XG4gICAgICBmb3JjZVVwZGF0ZSgpO1xuICAgIH1cbiAgICByZWdpc3RlckRlc2NlbmRhbnQoe1xuICAgICAgLi4uZGVzY2VuZGFudCxcbiAgICAgIGluZGV4LFxuICAgIH0gYXMgRGVzY2VuZGFudFR5cGUpO1xuICAgIHJldHVybiAoKSA9PiB1bnJlZ2lzdGVyRGVzY2VuZGFudChkZXNjZW5kYW50LmVsZW1lbnQpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW1xuICAgIGZvcmNlVXBkYXRlLFxuICAgIGluZGV4LFxuICAgIHJlZ2lzdGVyRGVzY2VuZGFudCxcbiAgICBzb21lRGVzY2VuZGFudHNIYXZlQ2hhbmdlZCxcbiAgICB1bnJlZ2lzdGVyRGVzY2VuZGFudCxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgLi4ub2JqZWN0VmFsdWVzKGRlc2NlbmRhbnQpLFxuICBdKTtcblxuICByZXR1cm4gaW5kZXg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VEZXNjZW5kYW50c0luaXQ8RGVzY2VuZGFudFR5cGUgZXh0ZW5kcyBEZXNjZW5kYW50PigpIHtcbiAgcmV0dXJuIFJlYWN0LnVzZVN0YXRlPERlc2NlbmRhbnRUeXBlW10+KFtdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZURlc2NlbmRhbnRzPERlc2NlbmRhbnRUeXBlIGV4dGVuZHMgRGVzY2VuZGFudD4oXG4gIGN0eDogUmVhY3QuQ29udGV4dDxEZXNjZW5kYW50Q29udGV4dFZhbHVlPERlc2NlbmRhbnRUeXBlPj4sXG4pIHtcbiAgcmV0dXJuIFJlYWN0LnVzZUNvbnRleHQoY3R4KS5kZXNjZW5kYW50cztcbn1cblxuY29uc3QgVW5tZW1vaXplZERlc2NlbmRhbnRQcm92aWRlciA9IDxEZXNjZW5kYW50VHlwZSBleHRlbmRzIERlc2NlbmRhbnQ+KHtcbiAgY29udGV4dDogQ3R4LFxuICBjaGlsZHJlbixcbiAgaXRlbXMsXG4gIHNldCxcbn06IHtcbiAgY29udGV4dDogUmVhY3QuQ29udGV4dDxEZXNjZW5kYW50Q29udGV4dFZhbHVlPERlc2NlbmRhbnRUeXBlPj47XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIGl0ZW1zOiBEZXNjZW5kYW50VHlwZVtdO1xuICBzZXQ6IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPERlc2NlbmRhbnRUeXBlW10+Pjtcbn0pID0+IHtcbiAgY29uc3QgcmVnaXN0ZXJEZXNjZW5kYW50ID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgKHsgZWxlbWVudCwgaW5kZXg6IGV4cGxpY2l0SW5kZXgsIC4uLnJlc3QgfTogT21pdDxEZXNjZW5kYW50VHlwZSwgJ2luZGV4Jz4gJiB7IGluZGV4PzogbnVtYmVyIHwgdW5kZWZpbmVkIH0pID0+IHtcbiAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHNldChwcmV2aW91c0l0ZW1zID0+IHtcbiAgICAgICAgbGV0IG5ld0l0ZW1zOiBEZXNjZW5kYW50VHlwZVtdO1xuICAgICAgICBpZiAoZXhwbGljaXRJbmRleCAhPT0gbnVsbCB8fCBleHBsaWNpdEluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBuZXdJdGVtcyA9IFtcbiAgICAgICAgICAgIC4uLnByZXZpb3VzSXRlbXMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC4uLnJlc3QsXG4gICAgICAgICAgICAgIGVsZW1lbnQsXG4gICAgICAgICAgICAgIGluZGV4OiBleHBsaWNpdEluZGV4LFxuICAgICAgICAgICAgfSBhcyBEZXNjZW5kYW50VHlwZSxcbiAgICAgICAgICBdO1xuICAgICAgICB9IGVsc2UgaWYgKHByZXZpb3VzSXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgLy8gSWYgdGhlcmUgYXJlIG5vIGl0ZW1zLCByZWdpc3RlciBhdCBpbmRleCAwIGFuZCBiYWlsLlxuICAgICAgICAgIG5ld0l0ZW1zID0gW1xuICAgICAgICAgICAgLi4ucHJldmlvdXNJdGVtcyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgLi4ucmVzdCxcbiAgICAgICAgICAgICAgZWxlbWVudCxcbiAgICAgICAgICAgICAgaW5kZXg6IDAsXG4gICAgICAgICAgICB9IGFzIERlc2NlbmRhbnRUeXBlLFxuICAgICAgICAgIF07XG4gICAgICAgIH0gZWxzZSBpZiAoYXJyYXlGaW5kKHByZXZpb3VzSXRlbXMsIGl0ZW0gPT4gaXRlbS5lbGVtZW50ID09PSBlbGVtZW50KSkge1xuICAgICAgICAgIC8vIElmIHRoZSBlbGVtZW50IGlzIGFscmVhZHkgcmVnaXN0ZXJlZCwganVzdCB1c2UgdGhlIHNhbWUgYXJyYXlcbiAgICAgICAgICBuZXdJdGVtcyA9IHByZXZpb3VzSXRlbXM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gV2hlbiByZWdpc3RlcmluZyBhIGRlc2NlbmRhbnQsIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHdlIGluc2VydCBpblxuICAgICAgICAgIC8vIGludG8gdGhlIGFycmF5IGluIHRoZSBzYW1lIG9yZGVyIHRoYXQgaXQgYXBwZWFycyBpbiB0aGUgRE9NLiBTbyBhc1xuICAgICAgICAgIC8vIG5ldyBkZXNjZW5kYW50cyBhcmUgYWRkZWQgb3IgbWF5YmUgc29tZSBhcmUgcmVtb3ZlZCwgd2UgYWx3YXlzIGtub3dcbiAgICAgICAgICAvLyB0aGF0IHRoZSBhcnJheSBpcyB1cC10by1kYXRlIGFuZCBjb3JyZWN0LlxuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8gU28gaGVyZSB3ZSBsb29rIGF0IG91ciByZWdpc3RlcmVkIGRlc2NlbmRhbnRzIGFuZCBzZWUgaWYgdGhlIG5ld1xuICAgICAgICAgIC8vIGVsZW1lbnQgd2UgYXJlIGFkZGluZyBhcHBlYXJzIGVhcmxpZXIgdGhhbiBhbiBleGlzdGluZyBkZXNjZW5kYW50J3NcbiAgICAgICAgICAvLyBET00gbm9kZSB2aWEgYG5vZGUuY29tcGFyZURvY3VtZW50UG9zaXRpb25gLiBJZiBpdCBkb2VzLCB3ZSBpbnNlcnRcbiAgICAgICAgICAvLyB0aGUgbmV3IGVsZW1lbnQgYXQgdGhpcyBpbmRleC4gQmVjYXVzZSBgcmVnaXN0ZXJEZXNjZW5kYW50YCB3aWxsIGJlXG4gICAgICAgICAgLy8gY2FsbGVkIGluIGFuIGVmZmVjdCBldmVyeSB0aW1lIHRoZSBkZXNjZW5kYW50cyBzdGF0ZSB2YWx1ZSBjaGFuZ2VzLFxuICAgICAgICAgIC8vIHdlIHNob3VsZCBiZSBzdXJlIHRoYXQgdGhpcyBpbmRleCBpcyBhY2N1cmF0ZSB3aGVuIGRlc2NlbmRlbnRcbiAgICAgICAgICAvLyBlbGVtZW50cyBjb21lIG9yIGdvIGZyb20gb3VyIGNvbXBvbmVudC5cbiAgICAgICAgICBjb25zdCBpbmRleCA9IGFycmF5RmluZEluZGV4KHByZXZpb3VzSXRlbXMsIGl0ZW0gPT4ge1xuICAgICAgICAgICAgaWYgKCFpdGVtLmVsZW1lbnQgfHwgIWVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRG9lcyB0aGlzIGVsZW1lbnQncyBET00gbm9kZSBhcHBlYXIgYmVmb3JlIGFub3RoZXIgaXRlbSBpbiB0aGVcbiAgICAgICAgICAgIC8vIGFycmF5IGluIG91ciBET00gdHJlZT8gSWYgc28sIHJldHVybiB0cnVlIHRvIGdyYWIgdGhlIGluZGV4IGF0XG4gICAgICAgICAgICAvLyB0aGlzIHBvaW50IGluIHRoZSBhcnJheSBzbyB3ZSBrbm93IHdoZXJlIHRvIGluc2VydCB0aGUgbmV3XG4gICAgICAgICAgICAvLyBlbGVtZW50LlxuICAgICAgICAgICAgcmV0dXJuIEJvb2xlYW4oXG4gICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1iaXR3aXNlXG4gICAgICAgICAgICAgIGl0ZW0uZWxlbWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlbGVtZW50IGFzIE5vZGUpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgY29uc3QgbmV3SXRlbSA9IHtcbiAgICAgICAgICAgIC4uLnJlc3QsXG4gICAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgfSBhcyBEZXNjZW5kYW50VHlwZTtcblxuICAgICAgICAgIC8vIElmIGFuIGluZGV4IGlzIG5vdCBmb3VuZCB3ZSB3aWxsIHB1c2ggdGhlIGVsZW1lbnQgdG8gdGhlIGVuZC5cbiAgICAgICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICBuZXdJdGVtcyA9IFsuLi5wcmV2aW91c0l0ZW1zLCBuZXdJdGVtXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3SXRlbXMgPSBbLi4ucHJldmlvdXNJdGVtcy5zbGljZSgwLCBpbmRleCksIG5ld0l0ZW0sIC4uLnByZXZpb3VzSXRlbXMuc2xpY2UoaW5kZXgpXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ld0l0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+ICh7IC4uLml0ZW0sIGluZGV4IH0pKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLy8gc2V0IGlzIGEgc3RhdGUgc2V0dGVyIGluaXRpYWxpemVkIGJ5IHRoZSB1c2VEZXNjZW5kYW50c0luaXQgaG9vay5cbiAgICAvLyBXZSBjYW4gc2FmZWx5IGlnbm9yZSB0aGUgbGludCB3YXJuaW5nIGhlcmUgYmVjYXVzZSBpdCB3aWxsIG5vdCBjaGFuZ2VcbiAgICAvLyBiZXR3ZWVuIHJlbmRlcnMuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIFtdLFxuICApO1xuXG4gIGNvbnN0IHVucmVnaXN0ZXJEZXNjZW5kYW50ID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgKGVsZW1lbnQ6IERlc2NlbmRhbnRUeXBlWydlbGVtZW50J10pID0+IHtcbiAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHNldChwcmV2aW91c0l0ZW1zID0+IHByZXZpb3VzSXRlbXMuZmlsdGVyKGl0ZW0gPT4gZWxlbWVudCAhPT0gaXRlbS5lbGVtZW50KSk7XG4gICAgfSxcbiAgICAvLyBzZXQgaXMgYSBzdGF0ZSBzZXR0ZXIgaW5pdGlhbGl6ZWQgYnkgdGhlIHVzZURlc2NlbmRhbnRzSW5pdCBob29rLlxuICAgIC8vIFdlIGNhbiBzYWZlbHkgaWdub3JlIHRoZSBsaW50IHdhcm5pbmcgaGVyZSBiZWNhdXNlIGl0IHdpbGwgbm90IGNoYW5nZVxuICAgIC8vIGJldHdlZW4gcmVuZGVycy5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgW10sXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q3R4LlByb3ZpZGVyXG4gICAgICB2YWx1ZT17UmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGVzY2VuZGFudHM6IGl0ZW1zLFxuICAgICAgICAgIHJlZ2lzdGVyRGVzY2VuZGFudCxcbiAgICAgICAgICB1bnJlZ2lzdGVyRGVzY2VuZGFudCxcbiAgICAgICAgfTtcbiAgICAgIH0sIFtpdGVtcywgcmVnaXN0ZXJEZXNjZW5kYW50LCB1bnJlZ2lzdGVyRGVzY2VuZGFudF0pfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0N0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG5leHBvcnQgY29uc3QgRGVzY2VuZGFudFByb3ZpZGVyID0gUmVhY3QubWVtbyhVbm1lbW9pemVkRGVzY2VuZGFudFByb3ZpZGVyKSBhcyB0eXBlb2YgVW5tZW1vaXplZERlc2NlbmRhbnRQcm92aWRlcjtcblxuLyoqXG4gKiBUZXN0aW5nIHRoaXMgYXMgYW4gYWJzdHJhY3Rpb24gZm9yIGNvbXBvdW5kIGNvbXBvbmVudHMgdGhhdCB1c2Uga2V5Ym9hcmRcbiAqIG5hdmlnYXRpb24uIEhvcGluZyB0aGlzIHdpbGwgaGVscCB1cyBwcmV2ZW50IGJ1Z3MgYW5kIG1pc21hdGNoZWQgYmVoYXZpb3JcbiAqIGFjcm9zcyB2YXJpb3VzIGNvbXBvbmVudHMsIGJ1dCBpdCBtYXkgYWxzbyBwcm92ZSB0byBiZSB0b28gbWVzc3kgb2YgYW5cbiAqIGFic3RyYWN0aW9uIGluIHRoZSBlbmQuXG4gKlxuICogQ3VycmVudGx5IHVzZWQgaW46XG4gKiAgIC0gVGFic1xuICogICAtIEFjY29yZGlvblxuICpcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZURlc2NlbmRhbnRLZXlEb3duPFxuICBEZXNjZW5kYW50VHlwZSBleHRlbmRzIERlc2NlbmRhbnQsXG4gIEsgZXh0ZW5kcyBrZXlvZiBEZXNjZW5kYW50VHlwZSA9IGtleW9mIERlc2NlbmRhbnRUeXBlXG4+KFxuICBjb250ZXh0OiBSZWFjdC5Db250ZXh0PERlc2NlbmRhbnRDb250ZXh0VmFsdWU8RGVzY2VuZGFudFR5cGU+PixcbiAgb3B0aW9uczoge1xuICAgIGN1cnJlbnRJbmRleDogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBrZXk/OiBLIHwgJ29wdGlvbic7XG4gICAgZmlsdGVyPzogKGRlc2NlbmRhbnQ6IERlc2NlbmRhbnRUeXBlKSA9PiBib29sZWFuO1xuICAgIG9yaWVudGF0aW9uPzogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJyB8ICdib3RoJztcbiAgICByb3RhdGU/OiBib29sZWFuO1xuICAgIHJ0bD86IGJvb2xlYW47XG4gICAgY2FsbGJhY2sobmV4dE9wdGlvbjogRGVzY2VuZGFudFR5cGUgfCBEZXNjZW5kYW50VHlwZVtLXSk6IHZvaWQ7XG4gIH0sXG4pIHtcbiAgY29uc3QgeyBkZXNjZW5kYW50cyB9ID0gUmVhY3QudXNlQ29udGV4dChjb250ZXh0KTtcbiAgY29uc3Qge1xuICAgIGNhbGxiYWNrLFxuICAgIGN1cnJlbnRJbmRleCxcbiAgICBmaWx0ZXIsXG4gICAga2V5ID0gJ2luZGV4JyBhcyBLLFxuICAgIG9yaWVudGF0aW9uID0gJ3ZlcnRpY2FsJyxcbiAgICByb3RhdGUgPSB0cnVlLFxuICAgIHJ0bCA9IGZhbHNlLFxuICB9ID0gb3B0aW9ucztcbiAgbGV0IGluZGV4ID0gY3VycmVudEluZGV4ID8/IC0xO1xuXG4gIHJldHVybiBmdW5jdGlvbiBoYW5kbGVLZXlEb3duKGV2ZW50OiBSZWFjdC5LZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKFxuICAgICAgIWFycmF5SW5jbHVkZXMoXG4gICAgICAgIFsnQXJyb3dEb3duJywgJ0Fycm93VXAnLCAnQXJyb3dMZWZ0JywgJ0Fycm93UmlnaHQnLCAnUGFnZVVwJywgJ1BhZ2VEb3duJywgJ0hvbWUnLCAnRW5kJ10sXG4gICAgICAgIGV2ZW50LmtleSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBJZiB3ZSB1c2UgYSBmaWx0ZXIgZnVuY3Rpb24sIHdlIG5lZWQgdG8gcmUtaW5kZXggb3VyIGRlc2NlbmRhbnRzIGFycmF5XG4gICAgLy8gc28gdGhhdCBmaWx0ZXJlZCBkZXNjZW5kZW50IGVsZW1lbnRzIGFyZW4ndCBzZWxlY3RlZC5cbiAgICBjb25zdCBzZWxlY3RhYmxlRGVzY2VuZGFudHMgPSBmaWx0ZXIgPyBkZXNjZW5kYW50cy5maWx0ZXIoZmlsdGVyKSA6IGRlc2NlbmRhbnRzO1xuXG4gICAgLy8gQ3VycmVudCBpbmRleCBzaG91bGQgbWFwIHRvIHRoZSB1cGRhdGVkIGFycmF5IHZzLiB0aGUgb3JpZ2luYWxcbiAgICAvLyBkZXNjZW5kYW50cyBhcnJheS5cbiAgICBpZiAoZmlsdGVyKSB7XG4gICAgICBpbmRleCA9IGFycmF5RmluZEluZGV4KHNlbGVjdGFibGVEZXNjZW5kYW50cywgZGVzY2VuZGFudCA9PiBkZXNjZW5kYW50LmluZGV4ID09PSBjdXJyZW50SW5kZXgpO1xuICAgIH1cblxuICAgIC8vIFdlIG5lZWQgc29tZSBvcHRpb25zIGZvciBhbnkgb2YgdGhpcyB0byB3b3JrIVxuICAgIGlmICghc2VsZWN0YWJsZURlc2NlbmRhbnRzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldE5leHRPcHRpb24oKSB7XG4gICAgICBjb25zdCBhdEJvdHRvbSA9IGluZGV4ID09PSBzZWxlY3RhYmxlRGVzY2VuZGFudHMubGVuZ3RoIC0gMTtcbiAgICAgIHJldHVybiBhdEJvdHRvbVxuICAgICAgICA/IHJvdGF0ZVxuICAgICAgICAgID8gZ2V0Rmlyc3RPcHRpb24oKVxuICAgICAgICAgIDogc2VsZWN0YWJsZURlc2NlbmRhbnRzW2luZGV4XVxuICAgICAgICA6IHNlbGVjdGFibGVEZXNjZW5kYW50c1soaW5kZXggKyAxKSAlIHNlbGVjdGFibGVEZXNjZW5kYW50cy5sZW5ndGhdO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFByZXZpb3VzT3B0aW9uKCkge1xuICAgICAgY29uc3QgYXRUb3AgPSBpbmRleCA9PT0gMDtcbiAgICAgIHJldHVybiBhdFRvcFxuICAgICAgICA/IHJvdGF0ZVxuICAgICAgICAgID8gZ2V0TGFzdE9wdGlvbigpXG4gICAgICAgICAgOiBzZWxlY3RhYmxlRGVzY2VuZGFudHNbaW5kZXhdXG4gICAgICAgIDogc2VsZWN0YWJsZURlc2NlbmRhbnRzWyhpbmRleCAtIDEgKyBzZWxlY3RhYmxlRGVzY2VuZGFudHMubGVuZ3RoKSAlIHNlbGVjdGFibGVEZXNjZW5kYW50cy5sZW5ndGhdO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldEZpcnN0T3B0aW9uKCkge1xuICAgICAgcmV0dXJuIHNlbGVjdGFibGVEZXNjZW5kYW50c1swXTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRMYXN0T3B0aW9uKCkge1xuICAgICAgcmV0dXJuIHNlbGVjdGFibGVEZXNjZW5kYW50c1tzZWxlY3RhYmxlRGVzY2VuZGFudHMubGVuZ3RoIC0gMV07XG4gICAgfVxuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIGlmIChvcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJyB8fCBvcmllbnRhdGlvbiA9PT0gJ2JvdGgnKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBjb25zdCBuZXh0ID0gZ2V0TmV4dE9wdGlvbigpO1xuICAgICAgICAgIGNhbGxiYWNrKGtleSA9PT0gJ29wdGlvbicgPyBuZXh0IDogbmV4dFtrZXldKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICBpZiAob3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCcgfHwgb3JpZW50YXRpb24gPT09ICdib3RoJykge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgY29uc3QgcHJldiA9IGdldFByZXZpb3VzT3B0aW9uKCk7XG4gICAgICAgICAgY2FsbGJhY2soa2V5ID09PSAnb3B0aW9uJyA/IHByZXYgOiBwcmV2W2tleV0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgaWYgKG9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcgfHwgb3JpZW50YXRpb24gPT09ICdib3RoJykge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgY29uc3QgbmV4dE9yUHJldiA9IChydGwgPyBnZXROZXh0T3B0aW9uIDogZ2V0UHJldmlvdXNPcHRpb24pKCk7XG4gICAgICAgICAgY2FsbGJhY2soa2V5ID09PSAnb3B0aW9uJyA/IG5leHRPclByZXYgOiBuZXh0T3JQcmV2W2tleV0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICAgIGlmIChvcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnIHx8IG9yaWVudGF0aW9uID09PSAnYm90aCcpIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGNvbnN0IHByZXZPck5leHQgPSAocnRsID8gZ2V0UHJldmlvdXNPcHRpb24gOiBnZXROZXh0T3B0aW9uKSgpO1xuICAgICAgICAgIGNhbGxiYWNrKGtleSA9PT0gJ29wdGlvbicgPyBwcmV2T3JOZXh0IDogcHJldk9yTmV4dFtrZXldKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1BhZ2VVcCc6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IHByZXZPckZpcnN0ID0gKGV2ZW50LmN0cmxLZXkgPyBnZXRQcmV2aW91c09wdGlvbiA6IGdldEZpcnN0T3B0aW9uKSgpO1xuICAgICAgICBjYWxsYmFjayhrZXkgPT09ICdvcHRpb24nID8gcHJldk9yRmlyc3QgOiBwcmV2T3JGaXJzdFtrZXldKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgY29uc3QgZmlyc3QgPSBnZXRGaXJzdE9wdGlvbigpO1xuICAgICAgICBjYWxsYmFjayhrZXkgPT09ICdvcHRpb24nID8gZmlyc3QgOiBmaXJzdFtrZXldKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdQYWdlRG93bic6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IG5leHRPckxhc3QgPSAoZXZlbnQuY3RybEtleSA/IGdldE5leHRPcHRpb24gOiBnZXRMYXN0T3B0aW9uKSgpO1xuICAgICAgICBjYWxsYmFjayhrZXkgPT09ICdvcHRpb24nID8gbmV4dE9yTGFzdCA6IG5leHRPckxhc3Rba2V5XSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgY29uc3QgbGFzdCA9IGdldExhc3RPcHRpb24oKTtcbiAgICAgICAgY2FsbGJhY2soa2V5ID09PSAnb3B0aW9uJyA/IGxhc3QgOiBsYXN0W2tleV0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH07XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUeXBlc1xuXG50eXBlIFNvbWVFbGVtZW50PFQ+ID0gVCBleHRlbmRzIEVsZW1lbnQgPyBUIDogSFRNTEVsZW1lbnQ7XG5cbmV4cG9ydCB0eXBlIERlc2NlbmRhbnQ8RWxlbWVudFR5cGUgPSBIVE1MRWxlbWVudD4gPSB7XG4gIGVsZW1lbnQ6IFNvbWVFbGVtZW50PEVsZW1lbnRUeXBlPiB8IG51bGw7XG4gIGluZGV4OiBudW1iZXI7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIERlc2NlbmRhbnRDb250ZXh0VmFsdWU8RGVzY2VuZGFudFR5cGUgZXh0ZW5kcyBEZXNjZW5kYW50PiB7XG4gIGRlc2NlbmRhbnRzOiBEZXNjZW5kYW50VHlwZVtdO1xuICByZWdpc3RlckRlc2NlbmRhbnQoZGVzY2VuZGFudDogRGVzY2VuZGFudFR5cGUpOiB2b2lkO1xuICB1bnJlZ2lzdGVyRGVzY2VuZGFudChlbGVtZW50OiBEZXNjZW5kYW50VHlwZVsnZWxlbWVudCddKTogdm9pZDtcbn1cblxuLyoqXG4gKiBGb3JjZXMgYSByZS1yZW5kZXIsIHNpbWlsYXIgdG8gYGZvcmNlVXBkYXRlYCBpbiBjbGFzcyBjb21wb25lbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlRm9yY2VVcGRhdGUoKSB7XG4gIGNvbnN0IFssIGRpc3BhdGNoXSA9IFJlYWN0LnVzZVN0YXRlKE9iamVjdC5jcmVhdGUobnVsbCkpO1xuICByZXR1cm4gUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGRpc3BhdGNoKE9iamVjdC5jcmVhdGUobnVsbCkpO1xuICB9LCBbXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVOYW1lZENvbnRleHQ8Q29udGV4dFZhbHVlVHlwZT4oXG4gIG5hbWU6IHN0cmluZyxcbiAgZGVmYXVsdFZhbHVlOiBDb250ZXh0VmFsdWVUeXBlLFxuKTogUmVhY3QuQ29udGV4dDxDb250ZXh0VmFsdWVUeXBlPiB7XG4gIGNvbnN0IEN0eCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8Q29udGV4dFZhbHVlVHlwZT4oZGVmYXVsdFZhbHVlKTtcbiAgQ3R4LmRpc3BsYXlOYW1lID0gbmFtZTtcbiAgcmV0dXJuIEN0eDtcbn1cbiJdLCJ2ZXJzaW9uIjozfQ==
@@ -1 +0,0 @@
1
- {"file":"/mnt/work/6/s/packages/react-utilities/src/descendants/descendants.tsx","mappings":"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","names":[],"sources":["/mnt/work/6/s/packages/react-utilities/src/descendants/descendants.tsx"],"sourcesContent":["/**\n * This file is from @reach/descendants\n * https://github.com/reach/reach-ui/tree/develop/packages/descendants\n *\n * Copying it was required due to TS version issues. The original one required TS 3.8.\n * Next step would be to implement an internal version of it under react-utilities\n */\n\nimport * as React from 'react';\nimport { arrayFind, arrayFindIndex, arrayIncludes, objectValues } from './polyfills';\nimport { usePrevious } from '../hooks/index';\n\nexport function createDescendantContext<DescendantType extends Descendant>(name: string, initialValue = {}) {\n const descendants: DescendantType[] = [];\n return createNamedContext<DescendantContextValue<DescendantType>>(name, {\n descendants,\n registerDescendant: () => {\n /* */\n },\n unregisterDescendant: () => {\n /* */\n },\n ...initialValue,\n });\n}\n\n/**\n * This hook registers our descendant by passing it into an array. We can then\n * search that array by to find its index when registering it in the component.\n * We use this for focus management, keyboard navigation, and typeahead\n * functionality for some components.\n *\n * The hook accepts the element node and (optionally) a key. The key is useful\n * if multiple descendants have identical text values and we need to\n * differentiate siblings for some reason.\n *\n * Our main goals with this are:\n * 1) maximum composability,\n * 2) minimal API friction\n * 3) SSR compatibility*\n * 4) concurrent safe\n * 5) index always up-to-date with the tree despite changes\n * 6) works with memoization of any component in the tree (hopefully)\n *\n * * As for SSR, the good news is that we don't actually need the index on the\n * server for most use-cases, as we are only using it to determine the order of\n * composed descendants for keyboard navigation. However, in the few cases where\n * this is not the case, we can require an explicit index from the app.\n */\nexport function useDescendant<DescendantType extends Descendant>(\n descendant: Omit<DescendantType, 'index'>,\n context: React.Context<DescendantContextValue<DescendantType>>,\n indexProp?: number,\n) {\n const forceUpdate = useForceUpdate();\n const { registerDescendant, unregisterDescendant, descendants } = React.useContext(context);\n\n // This will initially return -1 because we haven't registered the descendant\n // on the first render. After we register, this will then return the correct\n // index on the following render and we will re-register descendants\n // so that everything is up-to-date before the user interacts with a\n // collection.\n const index = indexProp ?? arrayFindIndex(descendants, item => item.element === descendant.element);\n\n const previousDescendants = usePrevious(descendants);\n\n // We also need to re-register descendants any time ANY of the other\n // descendants have changed. My brain was melting when I wrote this and it\n // feels a little off, but checking in render and using the result in the\n // effect's dependency array works well enough.\n const someDescendantsHaveChanged = descendants.some((nextDescendant, i) => {\n return nextDescendant.element !== previousDescendants?.[i]?.element;\n });\n\n // Prevent any flashing\n // eslint-disable-next-line no-restricted-properties\n React.useLayoutEffect(() => {\n if (!descendant.element) {\n forceUpdate();\n }\n registerDescendant({\n ...descendant,\n index,\n } as DescendantType);\n return () => unregisterDescendant(descendant.element);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n forceUpdate,\n index,\n registerDescendant,\n someDescendantsHaveChanged,\n unregisterDescendant,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...objectValues(descendant),\n ]);\n\n return index;\n}\n\nexport function useDescendantsInit<DescendantType extends Descendant>() {\n return React.useState<DescendantType[]>([]);\n}\n\nexport function useDescendants<DescendantType extends Descendant>(\n ctx: React.Context<DescendantContextValue<DescendantType>>,\n) {\n return React.useContext(ctx).descendants;\n}\n\nconst UnmemoizedDescendantProvider = <DescendantType extends Descendant>({\n context: Ctx,\n children,\n items,\n set,\n}: {\n context: React.Context<DescendantContextValue<DescendantType>>;\n children: React.ReactNode;\n items: DescendantType[];\n set: React.Dispatch<React.SetStateAction<DescendantType[]>>;\n}) => {\n const registerDescendant = React.useCallback(\n ({ element, index: explicitIndex, ...rest }: Omit<DescendantType, 'index'> & { index?: number | undefined }) => {\n if (!element) {\n return;\n }\n\n set(previousItems => {\n let newItems: DescendantType[];\n if (explicitIndex !== null || explicitIndex !== undefined) {\n newItems = [\n ...previousItems,\n {\n ...rest,\n element,\n index: explicitIndex,\n } as DescendantType,\n ];\n } else if (previousItems.length === 0) {\n // If there are no items, register at index 0 and bail.\n newItems = [\n ...previousItems,\n {\n ...rest,\n element,\n index: 0,\n } as DescendantType,\n ];\n } else if (arrayFind(previousItems, item => item.element === element)) {\n // If the element is already registered, just use the same array\n newItems = previousItems;\n } else {\n // When registering a descendant, we need to make sure we insert in\n // into the array in the same order that it appears in the DOM. So as\n // new descendants are added or maybe some are removed, we always know\n // that the array is up-to-date and correct.\n //\n // So here we look at our registered descendants and see if the new\n // element we are adding appears earlier than an existing descendant's\n // DOM node via `node.compareDocumentPosition`. If it does, we insert\n // the new element at this index. Because `registerDescendant` will be\n // called in an effect every time the descendants state value changes,\n // we should be sure that this index is accurate when descendent\n // elements come or go from our component.\n const index = arrayFindIndex(previousItems, item => {\n if (!item.element || !element) {\n return false;\n }\n // Does this element's DOM node appear before another item in the\n // array in our DOM tree? If so, return true to grab the index at\n // this point in the array so we know where to insert the new\n // element.\n return Boolean(\n // eslint-disable-next-line no-bitwise\n item.element.compareDocumentPosition(element as Node) & Node.DOCUMENT_POSITION_PRECEDING,\n );\n });\n\n const newItem = {\n ...rest,\n element,\n index,\n } as DescendantType;\n\n // If an index is not found we will push the element to the end.\n if (index === -1) {\n newItems = [...previousItems, newItem];\n } else {\n newItems = [...previousItems.slice(0, index), newItem, ...previousItems.slice(index)];\n }\n }\n return newItems.map((item, index) => ({ ...item, index }));\n });\n },\n // set is a state setter initialized by the useDescendantsInit hook.\n // We can safely ignore the lint warning here because it will not change\n // between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n const unregisterDescendant = React.useCallback(\n (element: DescendantType['element']) => {\n if (!element) {\n return;\n }\n\n set(previousItems => previousItems.filter(item => element !== item.element));\n },\n // set is a state setter initialized by the useDescendantsInit hook.\n // We can safely ignore the lint warning here because it will not change\n // between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n return (\n <Ctx.Provider\n value={React.useMemo(() => {\n return {\n descendants: items,\n registerDescendant,\n unregisterDescendant,\n };\n }, [items, registerDescendant, unregisterDescendant])}\n >\n {children}\n </Ctx.Provider>\n );\n};\nexport const DescendantProvider = React.memo(UnmemoizedDescendantProvider) as typeof UnmemoizedDescendantProvider;\n\n/**\n * Testing this as an abstraction for compound components that use keyboard\n * navigation. Hoping this will help us prevent bugs and mismatched behavior\n * across various components, but it may also prove to be too messy of an\n * abstraction in the end.\n *\n * Currently used in:\n * - Tabs\n * - Accordion\n *\n */\nexport function useDescendantKeyDown<\n DescendantType extends Descendant,\n K extends keyof DescendantType = keyof DescendantType\n>(\n context: React.Context<DescendantContextValue<DescendantType>>,\n options: {\n currentIndex: number | null | undefined;\n key?: K | 'option';\n filter?: (descendant: DescendantType) => boolean;\n orientation?: 'vertical' | 'horizontal' | 'both';\n rotate?: boolean;\n rtl?: boolean;\n callback(nextOption: DescendantType | DescendantType[K]): void;\n },\n) {\n const { descendants } = React.useContext(context);\n const {\n callback,\n currentIndex,\n filter,\n key = 'index' as K,\n orientation = 'vertical',\n rotate = true,\n rtl = false,\n } = options;\n let index = currentIndex ?? -1;\n\n return function handleKeyDown(event: React.KeyboardEvent) {\n if (\n !arrayIncludes(\n ['ArrowDown', 'ArrowUp', 'ArrowLeft', 'ArrowRight', 'PageUp', 'PageDown', 'Home', 'End'],\n event.key,\n )\n ) {\n return;\n }\n\n // If we use a filter function, we need to re-index our descendants array\n // so that filtered descendent elements aren't selected.\n const selectableDescendants = filter ? descendants.filter(filter) : descendants;\n\n // Current index should map to the updated array vs. the original\n // descendants array.\n if (filter) {\n index = arrayFindIndex(selectableDescendants, descendant => descendant.index === currentIndex);\n }\n\n // We need some options for any of this to work!\n if (!selectableDescendants.length) {\n return;\n }\n\n function getNextOption() {\n const atBottom = index === selectableDescendants.length - 1;\n return atBottom\n ? rotate\n ? getFirstOption()\n : selectableDescendants[index]\n : selectableDescendants[(index + 1) % selectableDescendants.length];\n }\n\n function getPreviousOption() {\n const atTop = index === 0;\n return atTop\n ? rotate\n ? getLastOption()\n : selectableDescendants[index]\n : selectableDescendants[(index - 1 + selectableDescendants.length) % selectableDescendants.length];\n }\n\n function getFirstOption() {\n return selectableDescendants[0];\n }\n\n function getLastOption() {\n return selectableDescendants[selectableDescendants.length - 1];\n }\n\n switch (event.key) {\n case 'ArrowDown':\n if (orientation === 'vertical' || orientation === 'both') {\n event.preventDefault();\n const next = getNextOption();\n callback(key === 'option' ? next : next[key]);\n }\n break;\n case 'ArrowUp':\n if (orientation === 'vertical' || orientation === 'both') {\n event.preventDefault();\n const prev = getPreviousOption();\n callback(key === 'option' ? prev : prev[key]);\n }\n break;\n case 'ArrowLeft':\n if (orientation === 'horizontal' || orientation === 'both') {\n event.preventDefault();\n const nextOrPrev = (rtl ? getNextOption : getPreviousOption)();\n callback(key === 'option' ? nextOrPrev : nextOrPrev[key]);\n }\n break;\n case 'ArrowRight':\n if (orientation === 'horizontal' || orientation === 'both') {\n event.preventDefault();\n const prevOrNext = (rtl ? getPreviousOption : getNextOption)();\n callback(key === 'option' ? prevOrNext : prevOrNext[key]);\n }\n break;\n case 'PageUp':\n event.preventDefault();\n const prevOrFirst = (event.ctrlKey ? getPreviousOption : getFirstOption)();\n callback(key === 'option' ? prevOrFirst : prevOrFirst[key]);\n break;\n case 'Home':\n event.preventDefault();\n const first = getFirstOption();\n callback(key === 'option' ? first : first[key]);\n break;\n case 'PageDown':\n event.preventDefault();\n const nextOrLast = (event.ctrlKey ? getNextOption : getLastOption)();\n callback(key === 'option' ? nextOrLast : nextOrLast[key]);\n break;\n case 'End':\n event.preventDefault();\n const last = getLastOption();\n callback(key === 'option' ? last : last[key]);\n break;\n }\n };\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Types\n\ntype SomeElement<T> = T extends Element ? T : HTMLElement;\n\nexport type Descendant<ElementType = HTMLElement> = {\n element: SomeElement<ElementType> | null;\n index: number;\n};\n\nexport interface DescendantContextValue<DescendantType extends Descendant> {\n descendants: DescendantType[];\n registerDescendant(descendant: DescendantType): void;\n unregisterDescendant(element: DescendantType['element']): void;\n}\n\n/**\n * Forces a re-render, similar to `forceUpdate` in class components.\n */\nexport function useForceUpdate() {\n const [, dispatch] = React.useState(Object.create(null));\n return React.useCallback(() => {\n dispatch(Object.create(null));\n }, []);\n}\n\nexport function createNamedContext<ContextValueType>(\n name: string,\n defaultValue: ContextValueType,\n): React.Context<ContextValueType> {\n const Ctx = React.createContext<ContextValueType>(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n}\n"],"version":3}
@@ -1,22 +0,0 @@
1
- 4235b1305474bd96322310e414f434e9
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.shouldPreventDefaultOnKeyDown = void 0;
5
- var keyboard_key_1 = require("@fluentui/keyboard-key");
6
- /**
7
- * Checks if the keyboard event should preventDefault() for Enter and Spacebar keys
8
- *
9
- * Useful for situations where a keydown needs to be transformed to a click event
10
- */
11
- function shouldPreventDefaultOnKeyDown(e) {
12
- var code = keyboard_key_1.getCode(e);
13
- var target = e.target;
14
- var matchesByKey = code === keyboard_key_1.SpacebarKey || code === keyboard_key_1.EnterKey;
15
- if ((target === null || target === void 0 ? void 0 : target.tagName) === 'A') {
16
- return code === keyboard_key_1.SpacebarKey;
17
- }
18
- var ignoredByTag = (target === null || target === void 0 ? void 0 : target.tagName) === 'INPUT' || (target === null || target === void 0 ? void 0 : target.tagName) === 'TEXTAREA' || (target === null || target === void 0 ? void 0 : target.isContentEditable) === true;
19
- return matchesByKey && !ignoredByTag;
20
- }
21
- exports.shouldPreventDefaultOnKeyDown = shouldPreventDefaultOnKeyDown;
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL21udC93b3JrLzYvcy9wYWNrYWdlcy9yZWFjdC11dGlsaXRpZXMvc3JjL3V0aWxzL3Nob3VsZFByZXZlbnREZWZhdWx0T25LZXlEb3duLnRzIiwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUF3RTtBQUd4RTs7OztHQUlHO0FBQ0gsU0FBZ0IsNkJBQTZCLENBQUMsQ0FBc0M7SUFDbEYsSUFBTSxJQUFJLEdBQUcsc0JBQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixJQUFNLE1BQU0sR0FBNEIsQ0FBQyxDQUFDLE1BQXFCLENBQUM7SUFFaEUsSUFBTSxZQUFZLEdBQUcsSUFBSSxLQUFLLDBCQUFXLElBQUksSUFBSSxLQUFLLHVCQUFRLENBQUM7SUFFL0QsSUFBSSxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxPQUFPLE1BQUssR0FBRyxFQUFFO1FBQzNCLE9BQU8sSUFBSSxLQUFLLDBCQUFXLENBQUM7S0FDN0I7SUFFRCxJQUFNLFlBQVksR0FDaEIsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsT0FBTyxNQUFLLE9BQU8sSUFBSSxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxPQUFPLE1BQUssVUFBVSxJQUFJLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLGlCQUFpQixNQUFLLElBQUksQ0FBQztJQUV0RyxPQUFPLFlBQVksSUFBSSxDQUFDLFlBQVksQ0FBQztBQUN2QyxDQUFDO0FBZEQsc0VBY0MiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiL21udC93b3JrLzYvcy9wYWNrYWdlcy9yZWFjdC11dGlsaXRpZXMvc3JjL3V0aWxzL3Nob3VsZFByZXZlbnREZWZhdWx0T25LZXlEb3duLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldENvZGUsIFNwYWNlYmFyS2V5LCBFbnRlcktleSB9IGZyb20gJ0BmbHVlbnR1aS9rZXlib2FyZC1rZXknO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUga2V5Ym9hcmQgZXZlbnQgc2hvdWxkIHByZXZlbnREZWZhdWx0KCkgZm9yIEVudGVyIGFuZCBTcGFjZWJhciBrZXlzXG4gKlxuICogVXNlZnVsIGZvciBzaXR1YXRpb25zIHdoZXJlIGEga2V5ZG93biBuZWVkcyB0byBiZSB0cmFuc2Zvcm1lZCB0byBhIGNsaWNrIGV2ZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaG91bGRQcmV2ZW50RGVmYXVsdE9uS2V5RG93bihlOiBLZXlib2FyZEV2ZW50IHwgUmVhY3QuS2V5Ym9hcmRFdmVudCkge1xuICBjb25zdCBjb2RlID0gZ2V0Q29kZShlKTtcbiAgY29uc3QgdGFyZ2V0OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCA9IGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuXG4gIGNvbnN0IG1hdGNoZXNCeUtleSA9IGNvZGUgPT09IFNwYWNlYmFyS2V5IHx8IGNvZGUgPT09IEVudGVyS2V5O1xuXG4gIGlmICh0YXJnZXQ/LnRhZ05hbWUgPT09ICdBJykge1xuICAgIHJldHVybiBjb2RlID09PSBTcGFjZWJhcktleTtcbiAgfVxuXG4gIGNvbnN0IGlnbm9yZWRCeVRhZyA9XG4gICAgdGFyZ2V0Py50YWdOYW1lID09PSAnSU5QVVQnIHx8IHRhcmdldD8udGFnTmFtZSA9PT0gJ1RFWFRBUkVBJyB8fCB0YXJnZXQ/LmlzQ29udGVudEVkaXRhYmxlID09PSB0cnVlO1xuXG4gIHJldHVybiBtYXRjaGVzQnlLZXkgJiYgIWlnbm9yZWRCeVRhZztcbn1cbiJdLCJ2ZXJzaW9uIjozfQ==
@@ -1 +0,0 @@
1
- {"file":"/mnt/work/6/s/packages/react-utilities/src/utils/shouldPreventDefaultOnKeyDown.ts","mappings":";;;AAAA,uDAAwE;AAGxE;;;;GAIG;AACH,SAAgB,6BAA6B,CAAC,CAAsC;IAClF,IAAM,IAAI,GAAG,sBAAO,CAAC,CAAC,CAAC,CAAC;IACxB,IAAM,MAAM,GAA4B,CAAC,CAAC,MAAqB,CAAC;IAEhE,IAAM,YAAY,GAAG,IAAI,KAAK,0BAAW,IAAI,IAAI,KAAK,uBAAQ,CAAC;IAE/D,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,MAAK,GAAG,EAAE;QAC3B,OAAO,IAAI,KAAK,0BAAW,CAAC;KAC7B;IAED,IAAM,YAAY,GAChB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,MAAK,OAAO,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,MAAK,UAAU,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,iBAAiB,MAAK,IAAI,CAAC;IAEtG,OAAO,YAAY,IAAI,CAAC,YAAY,CAAC;AACvC,CAAC;AAdD,sEAcC","names":[],"sources":["/mnt/work/6/s/packages/react-utilities/src/utils/shouldPreventDefaultOnKeyDown.ts"],"sourcesContent":["import { getCode, SpacebarKey, EnterKey } from '@fluentui/keyboard-key';\nimport * as React from 'react';\n\n/**\n * Checks if the keyboard event should preventDefault() for Enter and Spacebar keys\n *\n * Useful for situations where a keydown needs to be transformed to a click event\n */\nexport function shouldPreventDefaultOnKeyDown(e: KeyboardEvent | React.KeyboardEvent) {\n const code = getCode(e);\n const target: HTMLElement | undefined = e.target as HTMLElement;\n\n const matchesByKey = code === SpacebarKey || code === EnterKey;\n\n if (target?.tagName === 'A') {\n return code === SpacebarKey;\n }\n\n const ignoredByTag =\n target?.tagName === 'INPUT' || target?.tagName === 'TEXTAREA' || target?.isContentEditable === true;\n\n return matchesByKey && !ignoredByTag;\n}\n"],"version":3}