@kne-components/components-core 0.4.43 → 0.4.45

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 (167) hide show
  1. package/build/asset-manifest.json +119 -119
  2. package/build/index.html +1 -1
  3. package/build/remoteEntry.js +1 -1
  4. package/build/remoteEntry.js.map +1 -1
  5. package/build/static/css/{1014.086aa33e.chunk.css → 1014.270eca57.chunk.css} +2 -2
  6. package/build/static/css/{6454.086aa33e.chunk.css.map → 1014.270eca57.chunk.css.map} +1 -1
  7. package/build/static/css/1742.12f27291.chunk.css +2 -0
  8. package/build/static/css/1742.12f27291.chunk.css.map +1 -0
  9. package/build/static/css/{1996.17626355.chunk.css → 1996.e97d56df.chunk.css} +2 -2
  10. package/build/static/css/{1996.17626355.chunk.css.map → 1996.e97d56df.chunk.css.map} +1 -1
  11. package/build/static/css/2004.33c1e186.chunk.css +2 -0
  12. package/build/static/css/{2004.9a904cf9.chunk.css.map → 2004.33c1e186.chunk.css.map} +1 -1
  13. package/build/static/css/2307.0ec76807.chunk.css +2 -0
  14. package/build/static/css/{2307.65a670f2.chunk.css.map → 2307.0ec76807.chunk.css.map} +1 -1
  15. package/build/static/css/254.b513f3ff.chunk.css +2 -0
  16. package/build/static/css/{254.0d3ecca7.chunk.css.map → 254.b513f3ff.chunk.css.map} +1 -1
  17. package/build/static/css/{2908.9fb96a7f.chunk.css → 2908.84eb11a3.chunk.css} +2 -2
  18. package/build/static/css/{2908.9fb96a7f.chunk.css.map → 2908.84eb11a3.chunk.css.map} +1 -1
  19. package/build/static/css/3404.6f0b882e.chunk.css +2 -0
  20. package/build/static/css/{3404.8431d58f.chunk.css.map → 3404.6f0b882e.chunk.css.map} +1 -1
  21. package/build/static/css/3625.d84a60b5.chunk.css +2 -0
  22. package/build/static/css/{3625.b64de729.chunk.css.map → 3625.d84a60b5.chunk.css.map} +1 -1
  23. package/build/static/css/3771.accb9a83.chunk.css +2 -0
  24. package/build/static/css/{3771.608d94b7.chunk.css.map → 3771.accb9a83.chunk.css.map} +1 -1
  25. package/build/static/css/{3790.848e83b6.chunk.css → 3790.8118caa7.chunk.css} +2 -2
  26. package/build/static/css/{3790.848e83b6.chunk.css.map → 3790.8118caa7.chunk.css.map} +1 -1
  27. package/build/static/css/5195.b239bddb.chunk.css +2 -0
  28. package/build/static/css/{5195.900cc6e5.chunk.css.map → 5195.b239bddb.chunk.css.map} +1 -1
  29. package/build/static/css/5582.877dc4db.chunk.css +2 -0
  30. package/build/static/css/5582.877dc4db.chunk.css.map +1 -0
  31. package/build/static/css/5674.49c3a29d.chunk.css +2 -0
  32. package/build/static/css/{5674.9abc57ff.chunk.css.map → 5674.49c3a29d.chunk.css.map} +1 -1
  33. package/build/static/css/{6454.086aa33e.chunk.css → 6454.270eca57.chunk.css} +2 -2
  34. package/build/static/css/{1014.086aa33e.chunk.css.map → 6454.270eca57.chunk.css.map} +1 -1
  35. package/build/static/css/{6617.086aa33e.chunk.css → 6617.270eca57.chunk.css} +2 -2
  36. package/build/static/css/{6617.086aa33e.chunk.css.map → 6617.270eca57.chunk.css.map} +1 -1
  37. package/build/static/css/{6763.3a48e682.chunk.css → 6763.5cb27d52.chunk.css} +2 -2
  38. package/build/static/css/{6763.3a48e682.chunk.css.map → 6763.5cb27d52.chunk.css.map} +1 -1
  39. package/build/static/css/7227.65ee4c4e.chunk.css +2 -0
  40. package/build/static/css/{7227.5a3d59f7.chunk.css.map → 7227.65ee4c4e.chunk.css.map} +1 -1
  41. package/build/static/css/{7338.086aa33e.chunk.css → 7338.270eca57.chunk.css} +2 -2
  42. package/build/static/css/{7338.086aa33e.chunk.css.map → 7338.270eca57.chunk.css.map} +1 -1
  43. package/build/static/css/7477.98ad0ba7.chunk.css +2 -0
  44. package/build/static/css/7477.98ad0ba7.chunk.css.map +1 -0
  45. package/build/static/css/{7569.d0338e03.chunk.css → 7569.ce87712d.chunk.css} +2 -2
  46. package/build/static/css/{7569.d0338e03.chunk.css.map → 7569.ce87712d.chunk.css.map} +1 -1
  47. package/build/static/css/{7589.3c23807a.chunk.css → 7589.e72d7a14.chunk.css} +2 -2
  48. package/build/static/css/{7589.3c23807a.chunk.css.map → 7589.e72d7a14.chunk.css.map} +1 -1
  49. package/build/static/css/{760.0e588740.chunk.css → 760.9d94b7ab.chunk.css} +2 -2
  50. package/build/static/css/{760.0e588740.chunk.css.map → 760.9d94b7ab.chunk.css.map} +1 -1
  51. package/build/static/css/7857.ec76e428.chunk.css +2 -0
  52. package/build/static/css/7857.ec76e428.chunk.css.map +1 -0
  53. package/build/static/css/833.deb93503.chunk.css +2 -0
  54. package/build/static/css/833.deb93503.chunk.css.map +1 -0
  55. package/build/static/css/{8593.8e76886f.chunk.css → 8593.4a9031dc.chunk.css} +2 -2
  56. package/build/static/css/{8593.8e76886f.chunk.css.map → 8593.4a9031dc.chunk.css.map} +1 -1
  57. package/build/static/css/{8812.9fb96a7f.chunk.css → 8812.84eb11a3.chunk.css} +2 -2
  58. package/build/static/css/{8812.9fb96a7f.chunk.css.map → 8812.84eb11a3.chunk.css.map} +1 -1
  59. package/build/static/css/9556.78fa406b.chunk.css +2 -0
  60. package/build/static/css/{9556.c7d295b9.chunk.css.map → 9556.78fa406b.chunk.css.map} +1 -1
  61. package/build/static/js/{1014.1fafe7a5.chunk.js → 1014.40be68ab.chunk.js} +1 -1
  62. package/build/static/js/1742.190ff95f.chunk.js +2 -0
  63. package/build/static/js/{1742.95ab9458.chunk.js.map → 1742.190ff95f.chunk.js.map} +1 -1
  64. package/build/static/js/1996.758be72d.chunk.js +2 -0
  65. package/build/static/js/{1996.23d83596.chunk.js.map → 1996.758be72d.chunk.js.map} +1 -1
  66. package/build/static/js/{2004.7da6e106.chunk.js → 2004.74384107.chunk.js} +3 -3
  67. package/build/static/js/{2004.7da6e106.chunk.js.map → 2004.74384107.chunk.js.map} +1 -1
  68. package/build/static/js/2086.04de3393.chunk.js +3 -0
  69. package/build/static/js/2086.04de3393.chunk.js.map +1 -0
  70. package/build/static/js/{2242.c61ba7cf.chunk.js → 2242.a0059cca.chunk.js} +2 -2
  71. package/build/static/js/{2242.c61ba7cf.chunk.js.map → 2242.a0059cca.chunk.js.map} +1 -1
  72. package/build/static/js/{254.ad98cab8.chunk.js → 254.54f5f58b.chunk.js} +2 -2
  73. package/build/static/js/{254.ad98cab8.chunk.js.map → 254.54f5f58b.chunk.js.map} +1 -1
  74. package/build/static/js/{3404.a30876ff.chunk.js → 3404.b93a548c.chunk.js} +3 -3
  75. package/build/static/js/{3404.a30876ff.chunk.js.map → 3404.b93a548c.chunk.js.map} +1 -1
  76. package/build/static/js/{3625.0b04804d.chunk.js → 3625.db151aab.chunk.js} +2 -2
  77. package/build/static/js/{3625.0b04804d.chunk.js.map → 3625.db151aab.chunk.js.map} +1 -1
  78. package/build/static/js/{3771.02e3498d.chunk.js → 3771.d4bd749c.chunk.js} +2 -2
  79. package/build/static/js/{3771.02e3498d.chunk.js.map → 3771.d4bd749c.chunk.js.map} +1 -1
  80. package/build/static/js/{3790.94f2135d.chunk.js → 3790.6af26115.chunk.js} +2 -2
  81. package/build/static/js/{3790.94f2135d.chunk.js.map → 3790.6af26115.chunk.js.map} +1 -1
  82. package/build/static/js/3856.23c16ed0.chunk.js +2 -0
  83. package/build/static/js/{3856.c1896b55.chunk.js.map → 3856.23c16ed0.chunk.js.map} +1 -1
  84. package/build/static/js/{4189.c2d140dc.chunk.js → 4189.473f9ca6.chunk.js} +3 -3
  85. package/build/static/js/{4189.c2d140dc.chunk.js.map → 4189.473f9ca6.chunk.js.map} +1 -1
  86. package/build/static/js/4474.1059ef67.chunk.js +2 -0
  87. package/build/static/js/{4474.df8d87ce.chunk.js.map → 4474.1059ef67.chunk.js.map} +1 -1
  88. package/build/static/js/4880.d42b9726.chunk.js +2 -0
  89. package/build/static/js/4880.d42b9726.chunk.js.map +1 -0
  90. package/build/static/js/5195.d3ea6ecc.chunk.js +2 -0
  91. package/build/static/js/{5195.59a3b2c6.chunk.js.map → 5195.d3ea6ecc.chunk.js.map} +1 -1
  92. package/build/static/js/{5674.759f1ec6.chunk.js → 5674.8d9c60e9.chunk.js} +2 -2
  93. package/build/static/js/{5674.759f1ec6.chunk.js.map → 5674.8d9c60e9.chunk.js.map} +1 -1
  94. package/build/static/js/{6454.b4a93eda.chunk.js → 6454.db19f6ca.chunk.js} +1 -1
  95. package/build/static/js/6617.5e0fd87c.chunk.js +1 -0
  96. package/build/static/js/6658.322f7f2e.chunk.js +2 -0
  97. package/build/static/js/6658.322f7f2e.chunk.js.map +1 -0
  98. package/build/static/js/{6763.83929758.chunk.js → 6763.77f6d956.chunk.js} +2 -2
  99. package/build/static/js/{6763.83929758.chunk.js.map → 6763.77f6d956.chunk.js.map} +1 -1
  100. package/build/static/js/7227.3a5d8032.chunk.js +3 -0
  101. package/build/static/js/{7227.0e223742.chunk.js.map → 7227.3a5d8032.chunk.js.map} +1 -1
  102. package/build/static/js/{7338.1e5f1a05.chunk.js → 7338.acdb1965.chunk.js} +2 -2
  103. package/build/static/js/{7338.1e5f1a05.chunk.js.map → 7338.acdb1965.chunk.js.map} +1 -1
  104. package/build/static/js/{7589.4af4312f.chunk.js → 7589.03d16dce.chunk.js} +2 -2
  105. package/build/static/js/{7589.4af4312f.chunk.js.map → 7589.03d16dce.chunk.js.map} +1 -1
  106. package/build/static/js/7591.a8577d0a.chunk.js +2 -0
  107. package/build/static/js/7591.a8577d0a.chunk.js.map +1 -0
  108. package/build/static/js/{760.bd878686.chunk.js → 760.7adc7293.chunk.js} +2 -2
  109. package/build/static/js/{760.bd878686.chunk.js.map → 760.7adc7293.chunk.js.map} +1 -1
  110. package/build/static/js/7857.3ddc9e5b.chunk.js +2 -0
  111. package/build/static/js/{7857.72948013.chunk.js.map → 7857.3ddc9e5b.chunk.js.map} +1 -1
  112. package/build/static/js/{7899.b2705260.chunk.js → 7899.633b8c99.chunk.js} +2 -2
  113. package/build/static/js/{7899.b2705260.chunk.js.map → 7899.633b8c99.chunk.js.map} +1 -1
  114. package/build/static/js/{833.0d85be06.chunk.js → 833.816bfa8f.chunk.js} +2 -2
  115. package/build/static/js/{833.0d85be06.chunk.js.map → 833.816bfa8f.chunk.js.map} +1 -1
  116. package/build/static/js/8593.92a539df.chunk.js +2 -0
  117. package/build/static/js/{8593.af9ad39a.chunk.js.map → 8593.92a539df.chunk.js.map} +1 -1
  118. package/build/static/js/{9556.fa9f4cdb.chunk.js → 9556.46180fc4.chunk.js} +3 -3
  119. package/build/static/js/{9556.fa9f4cdb.chunk.js.map → 9556.46180fc4.chunk.js.map} +1 -1
  120. package/build/static/js/main.3f3ac682.js +2 -0
  121. package/build/static/js/main.3f3ac682.js.map +1 -0
  122. package/package.json +2 -2
  123. package/build/static/css/1742.6ebbba2d.chunk.css +0 -2
  124. package/build/static/css/1742.6ebbba2d.chunk.css.map +0 -1
  125. package/build/static/css/2004.9a904cf9.chunk.css +0 -2
  126. package/build/static/css/2307.65a670f2.chunk.css +0 -2
  127. package/build/static/css/254.0d3ecca7.chunk.css +0 -2
  128. package/build/static/css/3404.8431d58f.chunk.css +0 -2
  129. package/build/static/css/3625.b64de729.chunk.css +0 -2
  130. package/build/static/css/3771.608d94b7.chunk.css +0 -2
  131. package/build/static/css/5195.900cc6e5.chunk.css +0 -2
  132. package/build/static/css/5582.c6f071ae.chunk.css +0 -2
  133. package/build/static/css/5582.c6f071ae.chunk.css.map +0 -1
  134. package/build/static/css/5674.9abc57ff.chunk.css +0 -2
  135. package/build/static/css/7227.5a3d59f7.chunk.css +0 -2
  136. package/build/static/css/7477.e73b3696.chunk.css +0 -2
  137. package/build/static/css/7477.e73b3696.chunk.css.map +0 -1
  138. package/build/static/css/7857.31cc7105.chunk.css +0 -2
  139. package/build/static/css/7857.31cc7105.chunk.css.map +0 -1
  140. package/build/static/css/833.d02b68fc.chunk.css +0 -2
  141. package/build/static/css/833.d02b68fc.chunk.css.map +0 -1
  142. package/build/static/css/9556.c7d295b9.chunk.css +0 -2
  143. package/build/static/js/1742.95ab9458.chunk.js +0 -2
  144. package/build/static/js/1996.23d83596.chunk.js +0 -2
  145. package/build/static/js/2086.849184aa.chunk.js +0 -3
  146. package/build/static/js/2086.849184aa.chunk.js.map +0 -1
  147. package/build/static/js/3856.c1896b55.chunk.js +0 -2
  148. package/build/static/js/4474.df8d87ce.chunk.js +0 -2
  149. package/build/static/js/4880.e0cdb4f8.chunk.js +0 -2
  150. package/build/static/js/4880.e0cdb4f8.chunk.js.map +0 -1
  151. package/build/static/js/5195.59a3b2c6.chunk.js +0 -2
  152. package/build/static/js/6617.758ea269.chunk.js +0 -1
  153. package/build/static/js/6658.2f9b1334.chunk.js +0 -2
  154. package/build/static/js/6658.2f9b1334.chunk.js.map +0 -1
  155. package/build/static/js/7227.0e223742.chunk.js +0 -3
  156. package/build/static/js/7591.2de20087.chunk.js +0 -2
  157. package/build/static/js/7591.2de20087.chunk.js.map +0 -1
  158. package/build/static/js/7857.72948013.chunk.js +0 -2
  159. package/build/static/js/8593.af9ad39a.chunk.js +0 -2
  160. package/build/static/js/main.643e7381.js +0 -2
  161. package/build/static/js/main.643e7381.js.map +0 -1
  162. /package/build/static/js/{2004.7da6e106.chunk.js.LICENSE.txt → 2004.74384107.chunk.js.LICENSE.txt} +0 -0
  163. /package/build/static/js/{2086.849184aa.chunk.js.LICENSE.txt → 2086.04de3393.chunk.js.LICENSE.txt} +0 -0
  164. /package/build/static/js/{3404.a30876ff.chunk.js.LICENSE.txt → 3404.b93a548c.chunk.js.LICENSE.txt} +0 -0
  165. /package/build/static/js/{4189.c2d140dc.chunk.js.LICENSE.txt → 4189.473f9ca6.chunk.js.LICENSE.txt} +0 -0
  166. /package/build/static/js/{7227.0e223742.chunk.js.LICENSE.txt → 7227.3a5d8032.chunk.js.LICENSE.txt} +0 -0
  167. /package/build/static/js/{9556.fa9f4cdb.chunk.js.LICENSE.txt → 9556.46180fc4.chunk.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"static/js/2086.849184aa.chunk.js","mappings":"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","sources":["../node_modules/react-is/index.js","../node_modules/@rc-component/util/es/hooks/useId.js","../node_modules/@rc-component/util/es/Dom/dynamicCSS.js","../node_modules/antd/node_modules/@ant-design/fast-color/es/presetColors.js","../node_modules/antd/node_modules/@ant-design/fast-color/es/FastColor.js","../node_modules/@rc-component/util/es/getScrollBarSize.js","../node_modules/@rc-component/resize-observer/es/Collection.js","../node_modules/@rc-component/resize-observer/es/utils/observerUtil.js","../node_modules/@rc-component/resize-observer/es/SingleObserver/index.js","../node_modules/@rc-component/resize-observer/es/index.js","../node_modules/@rc-component/util/es/omit.js","../node_modules/@rc-component/util/es/warning.js","../node_modules/@rc-component/util/es/hooks/useMergedState.js","../node_modules/@rc-component/util/es/Dom/shadow.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@rc-component/util/es/ref.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@rc-component/motion/es/context.js","../node_modules/@rc-component/motion/es/interface.js","../node_modules/@rc-component/motion/es/util/motion.js","../node_modules/@rc-component/motion/es/hooks/useDomMotionEvents.js","../node_modules/@rc-component/motion/es/hooks/useIsomorphicLayoutEffect.js","../node_modules/@rc-component/motion/es/hooks/useNextFrame.js","../node_modules/@rc-component/motion/es/hooks/useStepQueue.js","../node_modules/@rc-component/motion/es/hooks/useStatus.js","../node_modules/@rc-component/util/es/hooks/useSyncState.js","../node_modules/@rc-component/motion/es/CSSMotion.js","../node_modules/@rc-component/motion/es/util/diff.js","../node_modules/@rc-component/motion/es/CSSMotionList.js","../node_modules/@rc-component/motion/es/index.js","../node_modules/@rc-component/util/es/utils/set.js","../node_modules/@rc-component/util/es/React/isFragment.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@rc-component/trigger/es/Popup/Arrow.js","../node_modules/@rc-component/trigger/es/Popup/Mask.js","../node_modules/@rc-component/trigger/es/Popup/PopupContent.js","../node_modules/@rc-component/trigger/es/hooks/useOffsetStyle.js","../node_modules/@rc-component/trigger/es/Popup/index.js","../node_modules/@rc-component/trigger/es/context.js","../node_modules/@rc-component/trigger/es/hooks/useAction.js","../node_modules/@rc-component/trigger/es/util.js","../node_modules/@rc-component/trigger/es/hooks/useAlign.js","../node_modules/@rc-component/trigger/es/hooks/useDelay.js","../node_modules/@rc-component/trigger/es/UniqueProvider/UniqueContainer.js","../node_modules/@rc-component/trigger/es/UniqueProvider/index.js","../node_modules/@rc-component/trigger/es/UniqueProvider/useTargetState.js","../node_modules/@rc-component/trigger/es/index.js","../node_modules/@rc-component/trigger/es/hooks/useWatch.js","../node_modules/@rc-component/trigger/es/hooks/useWinClick.js","../node_modules/@rc-component/portal/es/Context.js","../node_modules/@rc-component/portal/es/mock.js","../node_modules/@rc-component/portal/es/useDom.js","../node_modules/@rc-component/portal/es/useScrollLocker.js","../node_modules/@rc-component/portal/es/util.js","../node_modules/@rc-component/portal/es/Portal.js","../node_modules/@rc-component/portal/es/index.js","../node_modules/@rc-component/util/es/hooks/useMemo.js","../node_modules/@rc-component/util/es/Dom/findDOMNode.js","../node_modules/@rc-component/util/es/hooks/useState.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/clsx/dist/clsx.mjs","../node_modules/@rc-component/util/es/hooks/useEvent.js","../node_modules/@rc-component/util/es/hooks/useLayoutEffect.js","../node_modules/@rc-component/util/es/Dom/contains.js","../node_modules/@rc-component/util/es/utils/get.js","../node_modules/@rc-component/util/es/Dom/canUseDom.js","../node_modules/@rc-component/util/es/Children/toArray.js","../node_modules/@rc-component/util/es/raf.js","../node_modules/@rc-component/util/es/Dom/isVisible.js","../node_modules/@ant-design/cssinjs-utils/es/util/calc/calculator.js","../node_modules/@ant-design/cssinjs-utils/es/util/calc/CSSCalculator.js","../node_modules/@ant-design/cssinjs-utils/es/util/calc/NumCalculator.js","../node_modules/@ant-design/cssinjs-utils/es/util/calc/index.js","../node_modules/@ant-design/cssinjs-utils/es/util/getCompVarPrefix.js","../node_modules/@ant-design/cssinjs-utils/es/util/getComponentToken.js","../node_modules/@ant-design/cssinjs-utils/es/util/statistic.js","../node_modules/@ant-design/cssinjs-utils/es/util/getDefaultComponentToken.js","../node_modules/@ant-design/cssinjs-utils/es/util/maxmin.js","../node_modules/@ant-design/cssinjs-utils/es/_util/hooks/useUniqueMemo.js","../node_modules/@ant-design/cssinjs-utils/es/hooks/useCSP.js","../node_modules/@ant-design/cssinjs-utils/es/util/genStyleUtils.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@emotion/hash/dist/hash.browser.esm.js","../node_modules/@ant-design/cssinjs/es/Cache.js","../node_modules/@ant-design/cssinjs/es/transformers/autoPrefix.js","../node_modules/@ant-design/cssinjs/es/StyleContext.js","../node_modules/@ant-design/cssinjs/es/theme/calc/calculator.js","../node_modules/@ant-design/cssinjs/es/theme/calc/CSSCalculator.js","../node_modules/@ant-design/cssinjs/es/theme/calc/NumCalculator.js","../node_modules/@ant-design/cssinjs/es/theme/calc/index.js","../node_modules/@ant-design/cssinjs/es/theme/ThemeCache.js","../node_modules/@ant-design/cssinjs/es/theme/Theme.js","../node_modules/@ant-design/cssinjs/es/theme/createTheme.js","../node_modules/@ant-design/cssinjs/es/util/index.js","../node_modules/@ant-design/cssinjs/es/util/css-variables.js","../node_modules/@ant-design/cssinjs/es/hooks/useHMR.js","../node_modules/@ant-design/cssinjs/es/hooks/useGlobalCache.js","../node_modules/@ant-design/cssinjs/es/hooks/useCacheToken.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Parser.js","../node_modules/stylis/src/Prefixer.js","../node_modules/stylis/src/Middleware.js","../node_modules/@ant-design/cssinjs/es/linters/utils.js","../node_modules/@ant-design/cssinjs/es/linters/legacyNotSelectorLinter.js","../node_modules/@ant-design/cssinjs/es/linters/logicalPropertiesLinter.js","../node_modules/@ant-design/cssinjs/es/linters/NaNLinter.js","../node_modules/@ant-design/cssinjs/es/linters/parentSelectorLinter.js","../node_modules/@ant-design/cssinjs/es/util/cacheMapUtil.js","../node_modules/@ant-design/cssinjs/es/hooks/useStyleRegister.js","../node_modules/@ant-design/cssinjs/es/hooks/useCSSVarRegister.js","../node_modules/@ant-design/cssinjs/es/extractStyle.js","../node_modules/@ant-design/cssinjs/es/Keyframes.js","../node_modules/@ant-design/cssinjs/es/transformers/legacyLogicalProperties.js","../node_modules/@ant-design/cssinjs/es/transformers/px2rem.js","../node_modules/@ant-design/cssinjs/es/index.js","../node_modules/@rc-component/util/es/hooks/useControlledState.js","../node_modules/@rc-component/util/es/isEqual.js","../node_modules/antd/node_modules/@ant-design/colors/es/generate.js","../node_modules/antd/node_modules/@ant-design/colors/es/presets.js","../node_modules/react-is/cjs/react-is.production.min.js"],"sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import * as React from 'react';\nfunction getUseId() {\n // We need fully clone React function here to avoid webpack warning React 17 do not export `useId`\n const fullClone = {\n ...React\n };\n return fullClone.useId;\n}\nlet uuid = 0;\n\n/** @private Note only worked in develop env. Not work in production. */\nexport function resetUuid() {\n if (process.env.NODE_ENV !== 'production') {\n uuid = 0;\n }\n}\nconst useOriginId = getUseId();\nexport default useOriginId ?\n// Use React `useId`\nfunction useId(id) {\n const reactId = useOriginId();\n\n // Developer passed id is single source of truth\n if (id) {\n return id;\n }\n\n // Test env always return mock id\n if (process.env.NODE_ENV === 'test') {\n return 'test-id';\n }\n return reactId;\n} :\n// Use compatible of `useId`\nfunction useCompatId(id) {\n // Inner id for accessibility usage. Only work in client side\n const [innerId, setInnerId] = React.useState('ssr-id');\n React.useEffect(() => {\n const nextId = uuid;\n uuid += 1;\n setInnerId(`rc_unique_${nextId}`);\n }, []);\n\n // Developer passed id is single source of truth\n if (id) {\n return id;\n }\n\n // Test env always return mock id\n if (process.env.NODE_ENV === 'test') {\n return 'test-id';\n }\n\n // Return react native id or inner id\n return innerId;\n};","import canUseDom from \"./canUseDom\";\nimport contains from \"./contains\";\nconst APPEND_ORDER = 'data-rc-order';\nconst APPEND_PRIORITY = 'data-rc-priority';\nconst MARK_KEY = `rc-util-key`;\nconst containerCache = new Map();\nfunction getMark({\n mark\n} = {}) {\n if (mark) {\n return mark.startsWith('data-') ? mark : `data-${mark}`;\n }\n return MARK_KEY;\n}\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n const head = document.querySelector('head');\n return head || document.body;\n}\nfunction getOrder(prepend) {\n if (prepend === 'queue') {\n return 'prependQueue';\n }\n return prepend ? 'prepend' : 'append';\n}\n\n/**\n * Find style which inject by rc-util\n */\nfunction findStyles(container) {\n return Array.from((containerCache.get(container) || container).children).filter(node => node.tagName === 'STYLE');\n}\nexport function injectCSS(css, option = {}) {\n if (!canUseDom()) {\n return null;\n }\n const {\n csp,\n prepend,\n priority = 0\n } = option;\n const mergedOrder = getOrder(prepend);\n const isPrependQueue = mergedOrder === 'prependQueue';\n const styleNode = document.createElement('style');\n styleNode.setAttribute(APPEND_ORDER, mergedOrder);\n if (isPrependQueue && priority) {\n styleNode.setAttribute(APPEND_PRIORITY, `${priority}`);\n }\n if (csp?.nonce) {\n styleNode.nonce = csp?.nonce;\n }\n styleNode.innerHTML = css;\n const container = getContainer(option);\n const {\n firstChild\n } = container;\n if (prepend) {\n // If is queue `prepend`, it will prepend first style and then append rest style\n if (isPrependQueue) {\n const existStyle = (option.styles || findStyles(container)).filter(node => {\n // Ignore style which not injected by rc-util with prepend\n if (!['prepend', 'prependQueue'].includes(node.getAttribute(APPEND_ORDER))) {\n return false;\n }\n\n // Ignore style which priority less then new style\n const nodePriority = Number(node.getAttribute(APPEND_PRIORITY) || 0);\n return priority >= nodePriority;\n });\n if (existStyle.length) {\n container.insertBefore(styleNode, existStyle[existStyle.length - 1].nextSibling);\n return styleNode;\n }\n }\n\n // Use `insertBefore` as `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n return styleNode;\n}\nfunction findExistNode(key, option = {}) {\n let {\n styles\n } = option;\n styles ||= findStyles(getContainer(option));\n return styles.find(node => node.getAttribute(getMark(option)) === key);\n}\nexport function removeCSS(key, option = {}) {\n const existNode = findExistNode(key, option);\n if (existNode) {\n const container = getContainer(option);\n container.removeChild(existNode);\n }\n}\n\n/**\n * qiankun will inject `appendChild` to insert into other\n */\nfunction syncRealContainer(container, option) {\n const cachedRealContainer = containerCache.get(container);\n\n // Find real container when not cached or cached container removed\n if (!cachedRealContainer || !contains(document, cachedRealContainer)) {\n const placeholderStyle = injectCSS('', option);\n const {\n parentNode\n } = placeholderStyle;\n containerCache.set(container, parentNode);\n container.removeChild(placeholderStyle);\n }\n}\n\n/**\n * manually clear container cache to avoid global cache in unit testes\n */\nexport function clearContainerCache() {\n containerCache.clear();\n}\nexport function updateCSS(css, key, originOption = {}) {\n const container = getContainer(originOption);\n const styles = findStyles(container);\n const option = {\n ...originOption,\n styles\n };\n\n // Sync real parent\n syncRealContainer(container, option);\n const existNode = findExistNode(key, option);\n if (existNode) {\n if (option.csp?.nonce && existNode.nonce !== option.csp?.nonce) {\n existNode.nonce = option.csp?.nonce;\n }\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n return existNode;\n }\n const newNode = injectCSS(css, option);\n newNode.setAttribute(getMark(option), key);\n return newNode;\n}","// 36 Hex to reduce the size of the file\nexport default {\n aliceblue: '9ehhb',\n antiquewhite: '9sgk7',\n aqua: '1ekf',\n aquamarine: '4zsno',\n azure: '9eiv3',\n beige: '9lhp8',\n bisque: '9zg04',\n black: '0',\n blanchedalmond: '9zhe5',\n blue: '73',\n blueviolet: '5e31e',\n brown: '6g016',\n burlywood: '8ouiv',\n cadetblue: '3qba8',\n chartreuse: '4zshs',\n chocolate: '87k0u',\n coral: '9yvyo',\n cornflowerblue: '3xael',\n cornsilk: '9zjz0',\n crimson: '8l4xo',\n cyan: '1ekf',\n darkblue: '3v',\n darkcyan: 'rkb',\n darkgoldenrod: '776yz',\n darkgray: '6mbhl',\n darkgreen: 'jr4',\n darkgrey: '6mbhl',\n darkkhaki: '7ehkb',\n darkmagenta: '5f91n',\n darkolivegreen: '3bzfz',\n darkorange: '9yygw',\n darkorchid: '5z6x8',\n darkred: '5f8xs',\n darksalmon: '9441m',\n darkseagreen: '5lwgf',\n darkslateblue: '2th1n',\n darkslategray: '1ugcv',\n darkslategrey: '1ugcv',\n darkturquoise: '14up',\n darkviolet: '5rw7n',\n deeppink: '9yavn',\n deepskyblue: '11xb',\n dimgray: '442g9',\n dimgrey: '442g9',\n dodgerblue: '16xof',\n firebrick: '6y7tu',\n floralwhite: '9zkds',\n forestgreen: '1cisi',\n fuchsia: '9y70f',\n gainsboro: '8m8kc',\n ghostwhite: '9pq0v',\n goldenrod: '8j4f4',\n gold: '9zda8',\n gray: '50i2o',\n green: 'pa8',\n greenyellow: '6senj',\n grey: '50i2o',\n honeydew: '9eiuo',\n hotpink: '9yrp0',\n indianred: '80gnw',\n indigo: '2xcoy',\n ivory: '9zldc',\n khaki: '9edu4',\n lavenderblush: '9ziet',\n lavender: '90c8q',\n lawngreen: '4vk74',\n lemonchiffon: '9zkct',\n lightblue: '6s73a',\n lightcoral: '9dtog',\n lightcyan: '8s1rz',\n lightgoldenrodyellow: '9sjiq',\n lightgray: '89jo3',\n lightgreen: '5nkwg',\n lightgrey: '89jo3',\n lightpink: '9z6wx',\n lightsalmon: '9z2ii',\n lightseagreen: '19xgq',\n lightskyblue: '5arju',\n lightslategray: '4nwk9',\n lightslategrey: '4nwk9',\n lightsteelblue: '6wau6',\n lightyellow: '9zlcw',\n lime: '1edc',\n limegreen: '1zcxe',\n linen: '9shk6',\n magenta: '9y70f',\n maroon: '4zsow',\n mediumaquamarine: '40eju',\n mediumblue: '5p',\n mediumorchid: '79qkz',\n mediumpurple: '5r3rv',\n mediumseagreen: '2d9ip',\n mediumslateblue: '4tcku',\n mediumspringgreen: '1di2',\n mediumturquoise: '2uabw',\n mediumvioletred: '7rn9h',\n midnightblue: 'z980',\n mintcream: '9ljp6',\n mistyrose: '9zg0x',\n moccasin: '9zfzp',\n navajowhite: '9zest',\n navy: '3k',\n oldlace: '9wq92',\n olive: '50hz4',\n olivedrab: '472ub',\n orange: '9z3eo',\n orangered: '9ykg0',\n orchid: '8iu3a',\n palegoldenrod: '9bl4a',\n palegreen: '5yw0o',\n paleturquoise: '6v4ku',\n palevioletred: '8k8lv',\n papayawhip: '9zi6t',\n peachpuff: '9ze0p',\n peru: '80oqn',\n pink: '9z8wb',\n plum: '8nba5',\n powderblue: '6wgdi',\n purple: '4zssg',\n rebeccapurple: '3zk49',\n red: '9y6tc',\n rosybrown: '7cv4f',\n royalblue: '2jvtt',\n saddlebrown: '5fmkz',\n salmon: '9rvci',\n sandybrown: '9jn1c',\n seagreen: '1tdnb',\n seashell: '9zje6',\n sienna: '6973h',\n silver: '7ir40',\n skyblue: '5arjf',\n slateblue: '45e4t',\n slategray: '4e100',\n slategrey: '4e100',\n snow: '9zke2',\n springgreen: '1egv',\n steelblue: '2r1kk',\n tan: '87yx8',\n teal: 'pds',\n thistle: '8ggk8',\n tomato: '9yqfb',\n turquoise: '2j4r4',\n violet: '9b10u',\n wheat: '9ld4j',\n white: '9zldr',\n whitesmoke: '9lhpx',\n yellow: '9zl6o',\n yellowgreen: '61fzm'\n};","import presetColors from \"./presetColors\";\nconst round = Math.round;\n\n/**\n * Support format, alpha unit will check the % mark:\n * - rgba(102, 204, 255, .5) -> [102, 204, 255, 0.5]\n * - rgb(102 204 255 / .5) -> [102, 204, 255, 0.5]\n * - rgb(100%, 50%, 0% / 50%) -> [255, 128, 0, 0.5]\n * - hsl(270, 60, 40, .5) -> [270, 60, 40, 0.5]\n * - hsl(270deg 60% 40% / 50%) -> [270, 60, 40, 0.5]\n *\n * When `base` is provided, the percentage value will be divided by `base`.\n */\nfunction splitColorStr(str, parseNum) {\n const match = str\n // Remove str before `(`\n .replace(/^[^(]*\\((.*)/, '$1')\n // Remove str after `)`\n .replace(/\\).*/, '').match(/\\d*\\.?\\d+%?/g) || [];\n const numList = match.map(item => parseFloat(item));\n for (let i = 0; i < 3; i += 1) {\n numList[i] = parseNum(numList[i] || 0, match[i] || '', i);\n }\n\n // For alpha. 50% should be 0.5\n if (match[3]) {\n numList[3] = match[3].includes('%') ? numList[3] / 100 : numList[3];\n } else {\n // By default, alpha is 1\n numList[3] = 1;\n }\n return numList;\n}\nconst parseHSVorHSL = (num, _, index) => index === 0 ? num : num / 100;\n\n/** round and limit number to integer between 0-255 */\nfunction limitRange(value, max) {\n const mergedMax = max || 255;\n if (value > mergedMax) {\n return mergedMax;\n }\n if (value < 0) {\n return 0;\n }\n return value;\n}\nexport class FastColor {\n /**\n * All FastColor objects are valid. So isValid is always true. This property is kept to be compatible with TinyColor.\n */\n isValid = true;\n\n /**\n * Red, R in RGB\n */\n r = 0;\n\n /**\n * Green, G in RGB\n */\n g = 0;\n\n /**\n * Blue, B in RGB\n */\n b = 0;\n\n /**\n * Alpha/Opacity, A in RGBA/HSLA\n */\n a = 1;\n\n // HSV privates\n _h;\n _s;\n _l;\n _v;\n\n // intermediate variables to calculate HSL/HSV\n _max;\n _min;\n _brightness;\n constructor(input) {\n /**\n * Always check 3 char in the object to determine the format.\n * We not use function in check to save bundle size.\n * e.g. 'rgb' -> { r: 0, g: 0, b: 0 }.\n */\n function matchFormat(str) {\n return str[0] in input && str[1] in input && str[2] in input;\n }\n if (!input) {\n // Do nothing since already initialized\n } else if (typeof input === 'string') {\n const trimStr = input.trim();\n function matchPrefix(prefix) {\n return trimStr.startsWith(prefix);\n }\n if (/^#?[A-F\\d]{3,8}$/i.test(trimStr)) {\n this.fromHexString(trimStr);\n } else if (matchPrefix('rgb')) {\n this.fromRgbString(trimStr);\n } else if (matchPrefix('hsl')) {\n this.fromHslString(trimStr);\n } else if (matchPrefix('hsv') || matchPrefix('hsb')) {\n this.fromHsvString(trimStr);\n } else {\n // From preset color\n const presetColor = presetColors[trimStr.toLowerCase()];\n if (presetColor) {\n this.fromHexString(\n // Convert 36 hex to 16 hex\n parseInt(presetColor, 36).toString(16).padStart(6, '0'));\n }\n }\n } else if (input instanceof FastColor) {\n this.r = input.r;\n this.g = input.g;\n this.b = input.b;\n this.a = input.a;\n this._h = input._h;\n this._s = input._s;\n this._l = input._l;\n this._v = input._v;\n } else if (matchFormat('rgb')) {\n this.r = limitRange(input.r);\n this.g = limitRange(input.g);\n this.b = limitRange(input.b);\n this.a = typeof input.a === 'number' ? limitRange(input.a, 1) : 1;\n } else if (matchFormat('hsl')) {\n this.fromHsl(input);\n } else if (matchFormat('hsv')) {\n this.fromHsv(input);\n } else {\n throw new Error('@ant-design/fast-color: unsupported input ' + JSON.stringify(input));\n }\n }\n\n // ======================= Setter =======================\n\n setR(value) {\n return this._sc('r', value);\n }\n setG(value) {\n return this._sc('g', value);\n }\n setB(value) {\n return this._sc('b', value);\n }\n setA(value) {\n return this._sc('a', value, 1);\n }\n setHue(value) {\n const hsv = this.toHsv();\n hsv.h = value;\n return this._c(hsv);\n }\n\n // ======================= Getter =======================\n /**\n * Returns the perceived luminance of a color, from 0-1.\n * @see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n */\n getLuminance() {\n function adjustGamma(raw) {\n const val = raw / 255;\n return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4);\n }\n const R = adjustGamma(this.r);\n const G = adjustGamma(this.g);\n const B = adjustGamma(this.b);\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n }\n getHue() {\n if (typeof this._h === 'undefined') {\n const delta = this.getMax() - this.getMin();\n if (delta === 0) {\n this._h = 0;\n } else {\n this._h = round(60 * (this.r === this.getMax() ? (this.g - this.b) / delta + (this.g < this.b ? 6 : 0) : this.g === this.getMax() ? (this.b - this.r) / delta + 2 : (this.r - this.g) / delta + 4));\n }\n }\n return this._h;\n }\n getSaturation() {\n if (typeof this._s === 'undefined') {\n const delta = this.getMax() - this.getMin();\n if (delta === 0) {\n this._s = 0;\n } else {\n this._s = delta / this.getMax();\n }\n }\n return this._s;\n }\n getLightness() {\n if (typeof this._l === 'undefined') {\n this._l = (this.getMax() + this.getMin()) / 510;\n }\n return this._l;\n }\n getValue() {\n if (typeof this._v === 'undefined') {\n this._v = this.getMax() / 255;\n }\n return this._v;\n }\n\n /**\n * Returns the perceived brightness of the color, from 0-255.\n * Note: this is not the b of HSB\n * @see http://www.w3.org/TR/AERT#color-contrast\n */\n getBrightness() {\n if (typeof this._brightness === 'undefined') {\n this._brightness = (this.r * 299 + this.g * 587 + this.b * 114) / 1000;\n }\n return this._brightness;\n }\n\n // ======================== Func ========================\n\n darken(amount = 10) {\n const h = this.getHue();\n const s = this.getSaturation();\n let l = this.getLightness() - amount / 100;\n if (l < 0) {\n l = 0;\n }\n return this._c({\n h,\n s,\n l,\n a: this.a\n });\n }\n lighten(amount = 10) {\n const h = this.getHue();\n const s = this.getSaturation();\n let l = this.getLightness() + amount / 100;\n if (l > 1) {\n l = 1;\n }\n return this._c({\n h,\n s,\n l,\n a: this.a\n });\n }\n\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n mix(input, amount = 50) {\n const color = this._c(input);\n const p = amount / 100;\n const calc = key => (color[key] - this[key]) * p + this[key];\n const rgba = {\n r: round(calc('r')),\n g: round(calc('g')),\n b: round(calc('b')),\n a: round(calc('a') * 100) / 100\n };\n return this._c(rgba);\n }\n\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n */\n tint(amount = 10) {\n return this.mix({\n r: 255,\n g: 255,\n b: 255,\n a: 1\n }, amount);\n }\n\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n */\n shade(amount = 10) {\n return this.mix({\n r: 0,\n g: 0,\n b: 0,\n a: 1\n }, amount);\n }\n onBackground(background) {\n const bg = this._c(background);\n const alpha = this.a + bg.a * (1 - this.a);\n const calc = key => {\n return round((this[key] * this.a + bg[key] * bg.a * (1 - this.a)) / alpha);\n };\n return this._c({\n r: calc('r'),\n g: calc('g'),\n b: calc('b'),\n a: alpha\n });\n }\n\n // ======================= Status =======================\n isDark() {\n return this.getBrightness() < 128;\n }\n isLight() {\n return this.getBrightness() >= 128;\n }\n\n // ======================== MISC ========================\n equals(other) {\n return this.r === other.r && this.g === other.g && this.b === other.b && this.a === other.a;\n }\n clone() {\n return this._c(this);\n }\n\n // ======================= Format =======================\n toHexString() {\n let hex = '#';\n const rHex = (this.r || 0).toString(16);\n hex += rHex.length === 2 ? rHex : '0' + rHex;\n const gHex = (this.g || 0).toString(16);\n hex += gHex.length === 2 ? gHex : '0' + gHex;\n const bHex = (this.b || 0).toString(16);\n hex += bHex.length === 2 ? bHex : '0' + bHex;\n if (typeof this.a === 'number' && this.a >= 0 && this.a < 1) {\n const aHex = round(this.a * 255).toString(16);\n hex += aHex.length === 2 ? aHex : '0' + aHex;\n }\n return hex;\n }\n\n /** CSS support color pattern */\n toHsl() {\n return {\n h: this.getHue(),\n s: this.getSaturation(),\n l: this.getLightness(),\n a: this.a\n };\n }\n\n /** CSS support color pattern */\n toHslString() {\n const h = this.getHue();\n const s = round(this.getSaturation() * 100);\n const l = round(this.getLightness() * 100);\n return this.a !== 1 ? `hsla(${h},${s}%,${l}%,${this.a})` : `hsl(${h},${s}%,${l}%)`;\n }\n\n /** Same as toHsb */\n toHsv() {\n return {\n h: this.getHue(),\n s: this.getSaturation(),\n v: this.getValue(),\n a: this.a\n };\n }\n toRgb() {\n return {\n r: this.r,\n g: this.g,\n b: this.b,\n a: this.a\n };\n }\n toRgbString() {\n return this.a !== 1 ? `rgba(${this.r},${this.g},${this.b},${this.a})` : `rgb(${this.r},${this.g},${this.b})`;\n }\n toString() {\n return this.toRgbString();\n }\n\n // ====================== Privates ======================\n /** Return a new FastColor object with one channel changed */\n _sc(rgb, value, max) {\n const clone = this.clone();\n clone[rgb] = limitRange(value, max);\n return clone;\n }\n _c(input) {\n return new this.constructor(input);\n }\n getMax() {\n if (typeof this._max === 'undefined') {\n this._max = Math.max(this.r, this.g, this.b);\n }\n return this._max;\n }\n getMin() {\n if (typeof this._min === 'undefined') {\n this._min = Math.min(this.r, this.g, this.b);\n }\n return this._min;\n }\n fromHexString(trimStr) {\n const withoutPrefix = trimStr.replace('#', '');\n function connectNum(index1, index2) {\n return parseInt(withoutPrefix[index1] + withoutPrefix[index2 || index1], 16);\n }\n if (withoutPrefix.length < 6) {\n // #rgb or #rgba\n this.r = connectNum(0);\n this.g = connectNum(1);\n this.b = connectNum(2);\n this.a = withoutPrefix[3] ? connectNum(3) / 255 : 1;\n } else {\n // #rrggbb or #rrggbbaa\n this.r = connectNum(0, 1);\n this.g = connectNum(2, 3);\n this.b = connectNum(4, 5);\n this.a = withoutPrefix[6] ? connectNum(6, 7) / 255 : 1;\n }\n }\n fromHsl({\n h,\n s,\n l,\n a\n }) {\n this._h = h % 360;\n this._s = s;\n this._l = l;\n this.a = typeof a === 'number' ? a : 1;\n if (s <= 0) {\n const rgb = round(l * 255);\n this.r = rgb;\n this.g = rgb;\n this.b = rgb;\n }\n let r = 0,\n g = 0,\n b = 0;\n const huePrime = h / 60;\n const chroma = (1 - Math.abs(2 * l - 1)) * s;\n const secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n if (huePrime >= 0 && huePrime < 1) {\n r = chroma;\n g = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n r = secondComponent;\n g = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n g = chroma;\n b = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n g = secondComponent;\n b = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n r = secondComponent;\n b = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n r = chroma;\n b = secondComponent;\n }\n const lightnessModification = l - chroma / 2;\n this.r = round((r + lightnessModification) * 255);\n this.g = round((g + lightnessModification) * 255);\n this.b = round((b + lightnessModification) * 255);\n }\n fromHsv({\n h,\n s,\n v,\n a\n }) {\n this._h = h % 360;\n this._s = s;\n this._v = v;\n this.a = typeof a === 'number' ? a : 1;\n const vv = round(v * 255);\n this.r = vv;\n this.g = vv;\n this.b = vv;\n if (s <= 0) {\n return;\n }\n const hh = h / 60;\n const i = Math.floor(hh);\n const ff = hh - i;\n const p = round(v * (1.0 - s) * 255);\n const q = round(v * (1.0 - s * ff) * 255);\n const t = round(v * (1.0 - s * (1.0 - ff)) * 255);\n switch (i) {\n case 0:\n this.g = t;\n this.b = p;\n break;\n case 1:\n this.r = q;\n this.b = p;\n break;\n case 2:\n this.r = p;\n this.b = t;\n break;\n case 3:\n this.r = p;\n this.g = q;\n break;\n case 4:\n this.r = t;\n this.g = p;\n break;\n case 5:\n default:\n this.g = p;\n this.b = q;\n break;\n }\n }\n fromHsvString(trimStr) {\n const cells = splitColorStr(trimStr, parseHSVorHSL);\n this.fromHsv({\n h: cells[0],\n s: cells[1],\n v: cells[2],\n a: cells[3]\n });\n }\n fromHslString(trimStr) {\n const cells = splitColorStr(trimStr, parseHSVorHSL);\n this.fromHsl({\n h: cells[0],\n s: cells[1],\n l: cells[2],\n a: cells[3]\n });\n }\n fromRgbString(trimStr) {\n const cells = splitColorStr(trimStr, (num, txt) =>\n // Convert percentage to number. e.g. 50% -> 128\n txt.includes('%') ? round(num / 100 * 255) : num);\n this.r = cells[0];\n this.g = cells[1];\n this.b = cells[2];\n this.a = cells[3];\n }\n}","/* eslint-disable no-param-reassign */\nimport { removeCSS, updateCSS } from \"./Dom/dynamicCSS\";\nlet cached;\nfunction measureScrollbarSize(ele) {\n const randomId = `rc-scrollbar-measure-${Math.random().toString(36).substring(7)}`;\n const measureEle = document.createElement('div');\n measureEle.id = randomId;\n\n // Create Style\n const measureStyle = measureEle.style;\n measureStyle.position = 'absolute';\n measureStyle.left = '0';\n measureStyle.top = '0';\n measureStyle.width = '100px';\n measureStyle.height = '100px';\n measureStyle.overflow = 'scroll';\n\n // Clone Style if needed\n let fallbackWidth;\n let fallbackHeight;\n if (ele) {\n const targetStyle = getComputedStyle(ele);\n measureStyle.scrollbarColor = targetStyle.scrollbarColor;\n measureStyle.scrollbarWidth = targetStyle.scrollbarWidth;\n\n // Set Webkit style\n const webkitScrollbarStyle = getComputedStyle(ele, '::-webkit-scrollbar');\n const width = parseInt(webkitScrollbarStyle.width, 10);\n const height = parseInt(webkitScrollbarStyle.height, 10);\n\n // Try wrap to handle CSP case\n try {\n const widthStyle = width ? `width: ${webkitScrollbarStyle.width};` : '';\n const heightStyle = height ? `height: ${webkitScrollbarStyle.height};` : '';\n updateCSS(`\n#${randomId}::-webkit-scrollbar {\n${widthStyle}\n${heightStyle}\n}`, randomId);\n } catch (e) {\n // Can't wrap, just log error\n console.error(e);\n\n // Get from style directly\n fallbackWidth = width;\n fallbackHeight = height;\n }\n }\n document.body.appendChild(measureEle);\n\n // Measure. Get fallback style if provided\n const scrollWidth = ele && fallbackWidth && !isNaN(fallbackWidth) ? fallbackWidth : measureEle.offsetWidth - measureEle.clientWidth;\n const scrollHeight = ele && fallbackHeight && !isNaN(fallbackHeight) ? fallbackHeight : measureEle.offsetHeight - measureEle.clientHeight;\n\n // Clean up\n document.body.removeChild(measureEle);\n removeCSS(randomId);\n return {\n width: scrollWidth,\n height: scrollHeight\n };\n}\nexport default function getScrollBarSize(fresh) {\n if (typeof document === 'undefined') {\n return 0;\n }\n if (fresh || cached === undefined) {\n cached = measureScrollbarSize();\n }\n return cached.width;\n}\nexport function getTargetScrollBarSize(target) {\n if (typeof document === 'undefined' || !target || !(target instanceof Element)) {\n return {\n width: 0,\n height: 0\n };\n }\n return measureScrollbarSize(target);\n}","import * as React from 'react';\nexport const CollectionContext = /*#__PURE__*/React.createContext(null);\n/**\n * Collect all the resize event from children ResizeObserver\n */\nexport function Collection({\n children,\n onBatchResize\n}) {\n const resizeIdRef = React.useRef(0);\n const resizeInfosRef = React.useRef([]);\n const onCollectionResize = React.useContext(CollectionContext);\n const onResize = React.useCallback((size, element, data) => {\n resizeIdRef.current += 1;\n const currentId = resizeIdRef.current;\n resizeInfosRef.current.push({\n size,\n element,\n data\n });\n Promise.resolve().then(() => {\n if (currentId === resizeIdRef.current) {\n onBatchResize?.(resizeInfosRef.current);\n resizeInfosRef.current = [];\n }\n });\n\n // Continue bubbling if parent exist\n onCollectionResize?.(size, element, data);\n }, [onBatchResize, onCollectionResize]);\n return /*#__PURE__*/React.createElement(CollectionContext.Provider, {\n value: onResize\n }, children);\n}","// =============================== Const ===============================\nconst elementListeners = new Map();\nfunction onResize(entities) {\n entities.forEach(entity => {\n const {\n target\n } = entity;\n elementListeners.get(target)?.forEach(listener => listener(target));\n });\n}\n\n// Delay create ResizeObserver since it's not supported in server side\nlet observer;\nfunction ensureResizeObserver() {\n if (!observer) {\n observer = new ResizeObserver(onResize);\n }\n return observer;\n}\n\n// Dev env only\nexport const _el = process.env.NODE_ENV !== 'production' ? elementListeners : null; // eslint-disable-line\nexport const _rs = process.env.NODE_ENV !== 'production' ? onResize : null; // eslint-disable-line\n\n// ============================== Observe ==============================\nexport function observe(element, callback) {\n if (!elementListeners.has(element)) {\n elementListeners.set(element, new Set());\n ensureResizeObserver().observe(element);\n }\n elementListeners.get(element).add(callback);\n}\nexport function unobserve(element, callback) {\n if (elementListeners.has(element)) {\n elementListeners.get(element).delete(callback);\n if (!elementListeners.get(element).size) {\n ensureResizeObserver().unobserve(element);\n elementListeners.delete(element);\n }\n }\n}","import { getDOM } from \"@rc-component/util/es/Dom/findDOMNode\";\nimport { supportRef, useComposeRef, getNodeRef } from \"@rc-component/util/es/ref\";\nimport * as React from 'react';\nimport { CollectionContext } from \"../Collection\";\nimport { observe, unobserve } from \"../utils/observerUtil\";\nfunction SingleObserver(props, ref) {\n const {\n children,\n disabled\n } = props;\n const elementRef = React.useRef(null);\n const onCollectionResize = React.useContext(CollectionContext);\n\n // =========================== Children ===========================\n const isRenderProps = typeof children === 'function';\n const mergedChildren = isRenderProps ? children(elementRef) : children;\n\n // ============================= Size =============================\n const sizeRef = React.useRef({\n width: -1,\n height: -1,\n offsetWidth: -1,\n offsetHeight: -1\n });\n\n // ============================= Ref ==============================\n const canRef = !isRenderProps && /*#__PURE__*/React.isValidElement(mergedChildren) && supportRef(mergedChildren);\n const originRef = canRef ? getNodeRef(mergedChildren) : null;\n const mergedRef = useComposeRef(originRef, elementRef);\n const getDomElement = () => {\n return getDOM(elementRef.current);\n };\n React.useImperativeHandle(ref, () => getDomElement());\n\n // =========================== Observe ============================\n const propsRef = React.useRef(props);\n propsRef.current = props;\n\n // Handler\n const onInternalResize = React.useCallback(target => {\n const {\n onResize,\n data\n } = propsRef.current;\n const {\n width,\n height\n } = target.getBoundingClientRect();\n const {\n offsetWidth,\n offsetHeight\n } = target;\n\n /**\n * Resize observer trigger when content size changed.\n * In most case we just care about element size,\n * let's use `boundary` instead of `contentRect` here to avoid shaking.\n */\n const fixedWidth = Math.floor(width);\n const fixedHeight = Math.floor(height);\n if (sizeRef.current.width !== fixedWidth || sizeRef.current.height !== fixedHeight || sizeRef.current.offsetWidth !== offsetWidth || sizeRef.current.offsetHeight !== offsetHeight) {\n const size = {\n width: fixedWidth,\n height: fixedHeight,\n offsetWidth,\n offsetHeight\n };\n sizeRef.current = size;\n\n // IE is strange, right?\n const mergedOffsetWidth = offsetWidth === Math.round(width) ? width : offsetWidth;\n const mergedOffsetHeight = offsetHeight === Math.round(height) ? height : offsetHeight;\n const sizeInfo = {\n ...size,\n offsetWidth: mergedOffsetWidth,\n offsetHeight: mergedOffsetHeight\n };\n\n // Let collection know what happened\n onCollectionResize?.(sizeInfo, target, data);\n if (onResize) {\n // defer the callback but not defer to next frame\n Promise.resolve().then(() => {\n onResize(sizeInfo, target);\n });\n }\n }\n }, []);\n\n // Dynamic observe\n React.useEffect(() => {\n const currentElement = getDomElement();\n if (currentElement && !disabled) {\n observe(currentElement, onInternalResize);\n }\n return () => unobserve(currentElement, onInternalResize);\n }, [elementRef.current, disabled]);\n\n // ============================ Render ============================\n return canRef ? /*#__PURE__*/React.cloneElement(mergedChildren, {\n ref: mergedRef\n }) : mergedChildren;\n}\nconst RefSingleObserver = /*#__PURE__*/React.forwardRef(SingleObserver);\nif (process.env.NODE_ENV !== 'production') {\n RefSingleObserver.displayName = 'SingleObserver';\n}\nexport default RefSingleObserver;","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from 'react';\nimport toArray from \"@rc-component/util/es/Children/toArray\";\nimport { warning } from \"@rc-component/util/es/warning\";\nimport SingleObserver from \"./SingleObserver\";\nimport { Collection } from \"./Collection\";\nconst INTERNAL_PREFIX_KEY = 'rc-observer-key';\nimport { _rs } from \"./utils/observerUtil\";\nexport { /** @private Test only for mock trigger resize event */\n_rs };\nfunction ResizeObserver(props, ref) {\n const {\n children\n } = props;\n const childNodes = typeof children === 'function' ? [children] : toArray(children);\n if (process.env.NODE_ENV !== 'production') {\n if (childNodes.length > 1) {\n warning(false, 'Find more than one child node with `children` in ResizeObserver. Please use ResizeObserver.Collection instead.');\n } else if (childNodes.length === 0) {\n warning(false, '`children` of ResizeObserver is empty. Nothing is in observe.');\n }\n }\n return childNodes.map((child, index) => {\n const key = child?.key || `${INTERNAL_PREFIX_KEY}-${index}`;\n return /*#__PURE__*/React.createElement(SingleObserver, _extends({}, props, {\n key: key,\n ref: index === 0 ? ref : undefined\n }), child);\n });\n}\nconst RefResizeObserver = /*#__PURE__*/React.forwardRef(ResizeObserver);\nif (process.env.NODE_ENV !== 'production') {\n RefResizeObserver.displayName = 'ResizeObserver';\n}\nRefResizeObserver.Collection = Collection;\nexport default RefResizeObserver;","export default function omit(obj, fields) {\n const clone = Object.assign({}, obj);\n if (Array.isArray(fields)) {\n fields.forEach(key => {\n delete clone[key];\n });\n }\n return clone;\n}","/* eslint-disable no-console */\nlet warned = {};\nconst preWarningFns = [];\n\n/**\n * Pre warning enable you to parse content before console.error.\n * Modify to null will prevent warning.\n */\nexport const preMessage = fn => {\n preWarningFns.push(fn);\n};\n\n/**\n * Warning if condition not match.\n * @param valid Condition\n * @param message Warning message\n * @example\n * ```js\n * warning(false, 'some error'); // print some error\n * warning(true, 'some error'); // print nothing\n * warning(1 === 2, 'some error'); // print some error\n * ```\n */\nexport function warning(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n const finalMessage = preWarningFns.reduce((msg, preMessageFn) => preMessageFn(msg ?? '', 'warning'), message);\n if (finalMessage) {\n console.error(`Warning: ${finalMessage}`);\n }\n }\n}\n\n/** @see Similar to {@link warning} */\nexport function note(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n const finalMessage = preWarningFns.reduce((msg, preMessageFn) => preMessageFn(msg ?? '', 'note'), message);\n if (finalMessage) {\n console.warn(`Note: ${finalMessage}`);\n }\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nwarningOnce.preMessage = preMessage;\nwarningOnce.resetWarned = resetWarned;\nwarningOnce.noteOnce = noteOnce;\nexport default warningOnce;","import useEvent from \"./useEvent\";\nimport { useLayoutUpdateEffect } from \"./useLayoutEffect\";\nimport useState from \"./useState\";\n/** We only think `undefined` is empty */\nfunction hasValue(value) {\n return value !== undefined;\n}\n\n/**\n * @deprecated Please use `useControlledState` instead if not need support < React 18.\n * Similar to `useState` but will use props value if provided.\n * Note that internal use rc-util `useState` hook.\n */\nexport default function useMergedState(defaultStateValue, option) {\n const {\n defaultValue,\n value,\n onChange,\n postState\n } = option || {};\n\n // ======================= Init =======================\n const [innerValue, setInnerValue] = useState(() => {\n if (hasValue(value)) {\n return value;\n } else if (hasValue(defaultValue)) {\n return typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n } else {\n return typeof defaultStateValue === 'function' ? defaultStateValue() : defaultStateValue;\n }\n });\n const mergedValue = value !== undefined ? value : innerValue;\n const postMergedValue = postState ? postState(mergedValue) : mergedValue;\n\n // ====================== Change ======================\n const onChangeFn = useEvent(onChange);\n const [prevValue, setPrevValue] = useState([mergedValue]);\n useLayoutUpdateEffect(() => {\n const prev = prevValue[0];\n if (innerValue !== prev) {\n onChangeFn(innerValue, prev);\n }\n }, [prevValue]);\n\n // Sync value back to `undefined` when it from control to un-control\n useLayoutUpdateEffect(() => {\n if (!hasValue(value)) {\n setInnerValue(value);\n }\n }, [value]);\n\n // ====================== Update ======================\n const triggerChange = useEvent((updater, ignoreDestroy) => {\n setInnerValue(updater, ignoreDestroy);\n setPrevValue([mergedValue], ignoreDestroy);\n });\n return [postMergedValue, triggerChange];\n}","function getRoot(ele) {\n return ele?.getRootNode?.();\n}\n\n/**\n * Check if is in shadowRoot\n */\nexport function inShadow(ele) {\n return getRoot(ele) instanceof ShadowRoot;\n}\n\n/**\n * Return shadowRoot if possible\n */\nexport function getShadowRoot(ele) {\n return inShadow(ele) ? getRoot(ele) : null;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import { isValidElement, version } from 'react';\nimport { ForwardRef, isMemo } from 'react-is';\nimport useMemo from \"./hooks/useMemo\";\nimport isFragment from \"./React/isFragment\";\nconst ReactMajorVersion = Number(version.split('.')[0]);\nexport const fillRef = (ref, node) => {\n if (typeof ref === 'function') {\n ref(node);\n } else if (typeof ref === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n};\n\n/**\n * Merge refs into one ref function to support ref passing.\n */\nexport const composeRef = (...refs) => {\n const refList = refs.filter(Boolean);\n if (refList.length <= 1) {\n return refList[0];\n }\n return node => {\n refs.forEach(ref => {\n fillRef(ref, node);\n });\n };\n};\nexport const useComposeRef = (...refs) => {\n return useMemo(() => composeRef(...refs),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n refs, (prev, next) => prev.length !== next.length || prev.every((ref, i) => ref !== next[i]));\n};\nexport const supportRef = nodeOrComponent => {\n if (!nodeOrComponent) {\n return false;\n }\n\n // React 19 no need `forwardRef` anymore. So just pass if is a React element.\n if (isReactElement(nodeOrComponent) && ReactMajorVersion >= 19) {\n return true;\n }\n const type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type;\n\n // Function component node\n if (typeof type === 'function' && !type.prototype?.render && type.$$typeof !== ForwardRef) {\n return false;\n }\n\n // Class component\n if (typeof nodeOrComponent === 'function' && !nodeOrComponent.prototype?.render && nodeOrComponent.$$typeof !== ForwardRef) {\n return false;\n }\n return true;\n};\nfunction isReactElement(node) {\n return /*#__PURE__*/isValidElement(node) && !isFragment(node);\n}\nexport const supportNodeRef = node => {\n return isReactElement(node) && supportRef(node);\n};\n\n/**\n * In React 19. `ref` is not a property from node.\n * But a property from `props.ref`.\n * To check if `props.ref` exist or fallback to `ref`.\n */\nexport const getNodeRef = node => {\n if (node && isReactElement(node)) {\n const ele = node;\n\n // Source from:\n // https://github.com/mui/material-ui/blob/master/packages/mui-utils/src/getReactNodeRef/getReactNodeRef.ts\n return ele.props.propertyIsEnumerable('ref') ? ele.props.ref : ele.ref;\n }\n return null;\n};","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nfunction _createSuper(t) {\n var r = isNativeReflectConstruct();\n return function () {\n var e,\n o = getPrototypeOf(t);\n if (r) {\n var s = getPrototypeOf(this).constructor;\n e = Reflect.construct(o, arguments, s);\n } else e = o.apply(this, arguments);\n return possibleConstructorReturn(this, e);\n };\n}\nexport { _createSuper as default };","import * as React from 'react';\nexport const Context = /*#__PURE__*/React.createContext({});\nexport default function MotionProvider({\n children,\n ...props\n}) {\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: props\n }, children);\n}","export const STATUS_NONE = 'none';\nexport const STATUS_APPEAR = 'appear';\nexport const STATUS_ENTER = 'enter';\nexport const STATUS_LEAVE = 'leave';\nexport const STEP_NONE = 'none';\nexport const STEP_PREPARE = 'prepare';\nexport const STEP_START = 'start';\nexport const STEP_ACTIVE = 'active';\nexport const STEP_ACTIVATED = 'end';\n/**\n * Used for disabled motion case.\n * Prepare stage will still work but start & active will be skipped.\n */\nexport const STEP_PREPARED = 'prepared';","import canUseDOM from \"@rc-component/util/es/Dom/canUseDom\";\n// ================= Transition =================\n// Event wrapper. Copy from react source code\nfunction makePrefixMap(styleProp, eventName) {\n const prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[`Webkit${styleProp}`] = `webkit${eventName}`;\n prefixes[`Moz${styleProp}`] = `moz${eventName}`;\n prefixes[`ms${styleProp}`] = `MS${eventName}`;\n prefixes[`O${styleProp}`] = `o${eventName.toLowerCase()}`;\n return prefixes;\n}\nexport function getVendorPrefixes(domSupport, win) {\n const prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n return prefixes;\n}\nconst vendorPrefixes = getVendorPrefixes(canUseDOM(), typeof window !== 'undefined' ? window : {});\nlet style = {};\nif (canUseDOM()) {\n ({\n style\n } = document.createElement('div'));\n}\nconst prefixedEventNames = {};\nexport function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n const prefixMap = vendorPrefixes[eventName];\n if (prefixMap) {\n const stylePropList = Object.keys(prefixMap);\n const len = stylePropList.length;\n for (let i = 0; i < len; i += 1) {\n const styleProp = stylePropList[i];\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\n }\n }\n return '';\n}\nconst internalAnimationEndName = getVendorPrefixedEventName('animationend');\nconst internalTransitionEndName = getVendorPrefixedEventName('transitionend');\nexport const supportTransition = !!(internalAnimationEndName && internalTransitionEndName);\nexport const animationEndName = internalAnimationEndName || 'animationend';\nexport const transitionEndName = internalTransitionEndName || 'transitionend';\nexport function getTransitionName(transitionName, transitionType) {\n if (!transitionName) return null;\n if (typeof transitionName === 'object') {\n const type = transitionType.replace(/-\\w/g, match => match[1].toUpperCase());\n return transitionName[type];\n }\n return `${transitionName}-${transitionType}`;\n}","import * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from \"../util/motion\";\nexport default (onInternalMotionEnd => {\n const cacheElementRef = useRef();\n\n // Remove events\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n }\n\n // Patch events\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd);\n\n // Save as cache in case dom removed trigger by `motionDeadline`\n cacheElementRef.current = element;\n }\n }\n\n // Clean up when removed\n React.useEffect(() => () => {\n removeMotionEvents(cacheElementRef.current);\n cacheElementRef.current = null;\n }, []);\n return [patchMotionEvents, removeMotionEvents];\n});","import canUseDom from \"@rc-component/util/es/Dom/canUseDom\";\nimport { useEffect, useLayoutEffect } from 'react';\n\n// It's safe to use `useLayoutEffect` but the warning is annoying\nconst useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","import raf from \"@rc-component/util/es/raf\";\nimport * as React from 'react';\nexport default (() => {\n const nextFrameRef = React.useRef(null);\n function cancelNextFrame() {\n raf.cancel(nextFrameRef.current);\n }\n function nextFrame(callback, delay = 2) {\n cancelNextFrame();\n const nextFrameId = raf(() => {\n if (delay <= 1) {\n callback({\n isCanceled: () => nextFrameId !== nextFrameRef.current\n });\n } else {\n nextFrame(callback, delay - 1);\n }\n });\n nextFrameRef.current = nextFrameId;\n }\n React.useEffect(() => () => {\n cancelNextFrame();\n }, []);\n return [nextFrame, cancelNextFrame];\n});","import useState from \"@rc-component/util/es/hooks/useState\";\nimport * as React from 'react';\nimport { STEP_ACTIVATED, STEP_ACTIVE, STEP_NONE, STEP_PREPARE, STEP_PREPARED, STEP_START } from \"../interface\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect\";\nimport useNextFrame from \"./useNextFrame\";\nconst FULL_STEP_QUEUE = [STEP_PREPARE, STEP_START, STEP_ACTIVE, STEP_ACTIVATED];\nconst SIMPLE_STEP_QUEUE = [STEP_PREPARE, STEP_PREPARED];\n\n/** Skip current step */\nexport const SkipStep = false;\n/** Current step should be update in */\nexport const DoStep = true;\nexport function isActive(step) {\n return step === STEP_ACTIVE || step === STEP_ACTIVATED;\n}\nexport default ((status, prepareOnly, callback) => {\n const [step, setStep] = useState(STEP_NONE);\n const [nextFrame, cancelNextFrame] = useNextFrame();\n function startQueue() {\n setStep(STEP_PREPARE, true);\n }\n const STEP_QUEUE = prepareOnly ? SIMPLE_STEP_QUEUE : FULL_STEP_QUEUE;\n useIsomorphicLayoutEffect(() => {\n if (step !== STEP_NONE && step !== STEP_ACTIVATED) {\n const index = STEP_QUEUE.indexOf(step);\n const nextStep = STEP_QUEUE[index + 1];\n const result = callback(step);\n if (result === SkipStep) {\n // Skip when no needed\n setStep(nextStep, true);\n } else if (nextStep) {\n // Do as frame for step update\n nextFrame(info => {\n function doNext() {\n // Skip since current queue is ood\n if (info.isCanceled()) return;\n setStep(nextStep, true);\n }\n if (result === true) {\n doNext();\n } else {\n // Only promise should be async\n Promise.resolve(result).then(doNext);\n }\n });\n }\n }\n }, [status, step]);\n React.useEffect(() => () => {\n cancelNextFrame();\n }, []);\n return [startQueue, step];\n});","import { useEvent } from '@rc-component/util';\nimport useState from \"@rc-component/util/es/hooks/useState\";\nimport useSyncState from \"@rc-component/util/es/hooks/useSyncState\";\nimport * as React from 'react';\nimport { useEffect, useRef } from 'react';\nimport { STATUS_APPEAR, STATUS_ENTER, STATUS_LEAVE, STATUS_NONE, STEP_ACTIVE, STEP_PREPARE, STEP_PREPARED, STEP_START } from \"../interface\";\nimport useDomMotionEvents from \"./useDomMotionEvents\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect\";\nimport useStepQueue, { DoStep, isActive, SkipStep } from \"./useStepQueue\";\nexport default function useStatus(supportMotion, visible, getElement, {\n motionEnter = true,\n motionAppear = true,\n motionLeave = true,\n motionDeadline,\n motionLeaveImmediately,\n onAppearPrepare,\n onEnterPrepare,\n onLeavePrepare,\n onAppearStart,\n onEnterStart,\n onLeaveStart,\n onAppearActive,\n onEnterActive,\n onLeaveActive,\n onAppearEnd,\n onEnterEnd,\n onLeaveEnd,\n onVisibleChanged\n}) {\n // Used for outer render usage to avoid `visible: false & status: none` to render nothing\n const [asyncVisible, setAsyncVisible] = useState();\n const [getStatus, setStatus] = useSyncState(STATUS_NONE);\n const [style, setStyle] = useState(null);\n const currentStatus = getStatus();\n const mountedRef = useRef(false);\n const deadlineRef = useRef(null);\n\n // =========================== Dom Node ===========================\n function getDomElement() {\n return getElement();\n }\n\n // ========================== Motion End ==========================\n const activeRef = useRef(false);\n\n /**\n * Clean up status & style\n */\n function updateMotionEndStatus() {\n setStatus(STATUS_NONE);\n setStyle(null, true);\n }\n const onInternalMotionEnd = useEvent(event => {\n const status = getStatus();\n // Do nothing since not in any transition status.\n // This may happen when `motionDeadline` trigger.\n if (status === STATUS_NONE) {\n return;\n }\n const element = getDomElement();\n if (event && !event.deadline && event.target !== element) {\n // event exists\n // not initiated by deadline\n // transitionEnd not fired by inner elements\n return;\n }\n const currentActive = activeRef.current;\n let canEnd;\n if (status === STATUS_APPEAR && currentActive) {\n canEnd = onAppearEnd?.(element, event);\n } else if (status === STATUS_ENTER && currentActive) {\n canEnd = onEnterEnd?.(element, event);\n } else if (status === STATUS_LEAVE && currentActive) {\n canEnd = onLeaveEnd?.(element, event);\n }\n\n // Only update status when `canEnd` and not destroyed\n if (currentActive && canEnd !== false) {\n updateMotionEndStatus();\n }\n });\n const [patchMotionEvents] = useDomMotionEvents(onInternalMotionEnd);\n\n // ============================= Step =============================\n const getEventHandlers = targetStatus => {\n switch (targetStatus) {\n case STATUS_APPEAR:\n return {\n [STEP_PREPARE]: onAppearPrepare,\n [STEP_START]: onAppearStart,\n [STEP_ACTIVE]: onAppearActive\n };\n case STATUS_ENTER:\n return {\n [STEP_PREPARE]: onEnterPrepare,\n [STEP_START]: onEnterStart,\n [STEP_ACTIVE]: onEnterActive\n };\n case STATUS_LEAVE:\n return {\n [STEP_PREPARE]: onLeavePrepare,\n [STEP_START]: onLeaveStart,\n [STEP_ACTIVE]: onLeaveActive\n };\n default:\n return {};\n }\n };\n const eventHandlers = React.useMemo(() => getEventHandlers(currentStatus), [currentStatus]);\n const [startStep, step] = useStepQueue(currentStatus, !supportMotion, newStep => {\n // Only prepare step can be skip\n if (newStep === STEP_PREPARE) {\n const onPrepare = eventHandlers[STEP_PREPARE];\n if (!onPrepare) {\n return SkipStep;\n }\n return onPrepare(getDomElement());\n }\n\n // Rest step is sync update\n if (step in eventHandlers) {\n setStyle(eventHandlers[step]?.(getDomElement(), null) || null);\n }\n if (step === STEP_ACTIVE && currentStatus !== STATUS_NONE) {\n // Patch events when motion needed\n patchMotionEvents(getDomElement());\n if (motionDeadline > 0) {\n clearTimeout(deadlineRef.current);\n deadlineRef.current = setTimeout(() => {\n onInternalMotionEnd({\n deadline: true\n });\n }, motionDeadline);\n }\n }\n if (step === STEP_PREPARED) {\n updateMotionEndStatus();\n }\n return DoStep;\n });\n const active = isActive(step);\n activeRef.current = active;\n\n // ============================ Status ============================\n const visibleRef = useRef(null);\n\n // Update with new status\n useIsomorphicLayoutEffect(() => {\n // When use Suspense, the `visible` will repeat trigger,\n // But not real change of the `visible`, we need to skip it.\n // https://github.com/ant-design/ant-design/issues/44379\n if (mountedRef.current && visibleRef.current === visible) {\n return;\n }\n setAsyncVisible(visible);\n const isMounted = mountedRef.current;\n mountedRef.current = true;\n\n // if (!supportMotion) {\n // return;\n // }\n\n let nextStatus;\n\n // Appear\n if (!isMounted && visible && motionAppear) {\n nextStatus = STATUS_APPEAR;\n }\n\n // Enter\n if (isMounted && visible && motionEnter) {\n nextStatus = STATUS_ENTER;\n }\n\n // Leave\n if (isMounted && !visible && motionLeave || !isMounted && motionLeaveImmediately && !visible && motionLeave) {\n nextStatus = STATUS_LEAVE;\n }\n const nextEventHandlers = getEventHandlers(nextStatus);\n\n // Update to next status\n if (nextStatus && (supportMotion || nextEventHandlers[STEP_PREPARE])) {\n setStatus(nextStatus);\n startStep();\n } else {\n // Set back in case no motion but prev status has prepare step\n setStatus(STATUS_NONE);\n }\n visibleRef.current = visible;\n }, [visible]);\n\n // ============================ Effect ============================\n // Reset when motion changed\n useEffect(() => {\n if (\n // Cancel appear\n currentStatus === STATUS_APPEAR && !motionAppear ||\n // Cancel enter\n currentStatus === STATUS_ENTER && !motionEnter ||\n // Cancel leave\n currentStatus === STATUS_LEAVE && !motionLeave) {\n setStatus(STATUS_NONE);\n }\n }, [motionAppear, motionEnter, motionLeave]);\n useEffect(() => () => {\n mountedRef.current = false;\n clearTimeout(deadlineRef.current);\n }, []);\n\n // Trigger `onVisibleChanged`\n const firstMountChangeRef = React.useRef(false);\n useEffect(() => {\n // [visible & motion not end] => [!visible & motion end] still need trigger onVisibleChanged\n if (asyncVisible) {\n firstMountChangeRef.current = true;\n }\n if (asyncVisible !== undefined && currentStatus === STATUS_NONE) {\n // Skip first render is invisible since it's nothing changed\n if (firstMountChangeRef.current || asyncVisible) {\n onVisibleChanged?.(asyncVisible);\n }\n firstMountChangeRef.current = true;\n }\n }, [asyncVisible, currentStatus]);\n\n // ============================ Styles ============================\n let mergedStyle = style;\n if (eventHandlers[STEP_PREPARE] && step === STEP_START) {\n mergedStyle = {\n transition: 'none',\n ...mergedStyle\n };\n }\n return [getStatus, step, mergedStyle, asyncVisible ?? visible];\n}","import * as React from 'react';\nimport useEvent from \"./useEvent\";\n/**\n * Same as React.useState but will always get latest state.\n * This is useful when React merge multiple state updates into one.\n * e.g. onTransitionEnd trigger multiple event at once will be merged state update in React.\n */\nexport default function useSyncState(defaultValue) {\n const [, forceUpdate] = React.useReducer(x => x + 1, 0);\n const currentValueRef = React.useRef(defaultValue);\n const getValue = useEvent(() => {\n return currentValueRef.current;\n });\n const setValue = useEvent(updater => {\n currentValueRef.current = typeof updater === 'function' ? updater(currentValueRef.current) : updater;\n forceUpdate();\n });\n return [getValue, setValue];\n}","/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp, react/prop-types */\nimport { getDOM } from \"@rc-component/util/es/Dom/findDOMNode\";\nimport { getNodeRef, supportRef } from \"@rc-component/util/es/ref\";\nimport { clsx } from 'clsx';\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport { Context } from \"./context\";\nimport useStatus from \"./hooks/useStatus\";\nimport { isActive } from \"./hooks/useStepQueue\";\nimport { STATUS_NONE, STEP_PREPARE, STEP_START } from \"./interface\";\nimport { getTransitionName, supportTransition } from \"./util/motion\";\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\nexport function genCSSMotion(config) {\n let transitionSupport = config;\n if (typeof config === 'object') {\n ({\n transitionSupport\n } = config);\n }\n function isSupportTransition(props, contextMotion) {\n return !!(props.motionName && transitionSupport && contextMotion !== false);\n }\n const CSSMotion = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n // Default config\n visible = true,\n removeOnLeave = true,\n forceRender,\n children,\n motionName,\n leavedClassName,\n eventProps\n } = props;\n const {\n motion: contextMotion\n } = React.useContext(Context);\n const supportMotion = isSupportTransition(props, contextMotion);\n\n // Ref to the react node, it may be a HTMLElement\n const nodeRef = useRef();\n function getDomElement() {\n return getDOM(nodeRef.current);\n }\n const [getStatus, statusStep, statusStyle, mergedVisible] = useStatus(supportMotion, visible, getDomElement, props);\n const status = getStatus();\n\n // Record whether content has rendered\n // Will return null for un-rendered even when `removeOnLeave={false}`\n const renderedRef = React.useRef(mergedVisible);\n if (mergedVisible) {\n renderedRef.current = true;\n }\n\n // ====================== Refs ======================\n const refObj = React.useMemo(() => {\n const obj = {};\n Object.defineProperties(obj, {\n nativeElement: {\n enumerable: true,\n get: getDomElement\n },\n inMotion: {\n enumerable: true,\n get: () => () => getStatus() !== STATUS_NONE\n },\n enableMotion: {\n enumerable: true,\n get: () => () => supportMotion\n }\n });\n return obj;\n }, []);\n\n // We lock `deps` here since function return object\n // will repeat trigger ref from `refConfig` -> `null` -> `refConfig`\n React.useImperativeHandle(ref, () => refObj, []);\n\n // ===================== Render =====================\n let motionChildren;\n const mergedProps = {\n ...eventProps,\n visible\n };\n if (!children) {\n // No children\n motionChildren = null;\n } else if (status === STATUS_NONE) {\n // Stable children\n if (mergedVisible) {\n motionChildren = children({\n ...mergedProps\n }, nodeRef);\n } else if (!removeOnLeave && renderedRef.current && leavedClassName) {\n motionChildren = children({\n ...mergedProps,\n className: leavedClassName\n }, nodeRef);\n } else if (forceRender || !removeOnLeave && !leavedClassName) {\n motionChildren = children({\n ...mergedProps,\n style: {\n display: 'none'\n }\n }, nodeRef);\n } else {\n motionChildren = null;\n }\n } else {\n // In motion\n let statusSuffix;\n if (statusStep === STEP_PREPARE) {\n statusSuffix = 'prepare';\n } else if (isActive(statusStep)) {\n statusSuffix = 'active';\n } else if (statusStep === STEP_START) {\n statusSuffix = 'start';\n }\n const motionCls = getTransitionName(motionName, `${status}-${statusSuffix}`);\n motionChildren = children({\n ...mergedProps,\n className: clsx(getTransitionName(motionName, status), {\n [motionCls]: motionCls && statusSuffix,\n [motionName]: typeof motionName === 'string'\n }),\n style: statusStyle\n }, nodeRef);\n }\n\n // Auto inject ref if child node not have `ref` props\n if ( /*#__PURE__*/React.isValidElement(motionChildren) && supportRef(motionChildren)) {\n const originNodeRef = getNodeRef(motionChildren);\n if (!originNodeRef) {\n motionChildren = /*#__PURE__*/React.cloneElement(motionChildren, {\n ref: nodeRef\n });\n }\n }\n return motionChildren;\n });\n CSSMotion.displayName = 'CSSMotion';\n return CSSMotion;\n}\nexport default genCSSMotion(supportTransition);","export const STATUS_ADD = 'add';\nexport const STATUS_KEEP = 'keep';\nexport const STATUS_REMOVE = 'remove';\nexport const STATUS_REMOVED = 'removed';\nexport function wrapKeyToObject(key) {\n let keyObj;\n if (key && typeof key === 'object' && 'key' in key) {\n keyObj = key;\n } else {\n keyObj = {\n key: key\n };\n }\n return {\n ...keyObj,\n key: String(keyObj.key)\n };\n}\nexport function parseKeys(keys = []) {\n return keys.map(wrapKeyToObject);\n}\nexport function diffKeys(prevKeys = [], currentKeys = []) {\n let list = [];\n let currentIndex = 0;\n const currentLen = currentKeys.length;\n const prevKeyObjects = parseKeys(prevKeys);\n const currentKeyObjects = parseKeys(currentKeys);\n\n // Check prev keys to insert or keep\n prevKeyObjects.forEach(keyObj => {\n let hit = false;\n for (let i = currentIndex; i < currentLen; i += 1) {\n const currentKeyObj = currentKeyObjects[i];\n if (currentKeyObj.key === keyObj.key) {\n // New added keys should add before current key\n if (currentIndex < i) {\n list = list.concat(currentKeyObjects.slice(currentIndex, i).map(obj => ({\n ...obj,\n status: STATUS_ADD\n })));\n currentIndex = i;\n }\n list.push({\n ...currentKeyObj,\n status: STATUS_KEEP\n });\n currentIndex += 1;\n hit = true;\n break;\n }\n }\n\n // If not hit, it means key is removed\n if (!hit) {\n list.push({\n ...keyObj,\n status: STATUS_REMOVE\n });\n }\n });\n\n // Add rest to the list\n if (currentIndex < currentLen) {\n list = list.concat(currentKeyObjects.slice(currentIndex).map(obj => ({\n ...obj,\n status: STATUS_ADD\n })));\n }\n\n /**\n * Merge same key when it remove and add again:\n * [1 - add, 2 - keep, 1 - remove] -> [1 - keep, 2 - keep]\n */\n const keys = {};\n list.forEach(({\n key\n }) => {\n keys[key] = (keys[key] || 0) + 1;\n });\n const duplicatedKeys = Object.keys(keys).filter(key => keys[key] > 1);\n duplicatedKeys.forEach(matchKey => {\n // Remove `STATUS_REMOVE` node.\n list = list.filter(({\n key,\n status\n }) => key !== matchKey || status !== STATUS_REMOVE);\n\n // Update `STATUS_ADD` to `STATUS_KEEP`\n list.forEach(node => {\n if (node.key === matchKey) {\n // eslint-disable-next-line no-param-reassign\n node.status = STATUS_KEEP;\n }\n });\n });\n return list;\n}","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n/* eslint react/prop-types: 0 */\nimport * as React from 'react';\nimport OriginCSSMotion from \"./CSSMotion\";\nimport { diffKeys, parseKeys, STATUS_ADD, STATUS_KEEP, STATUS_REMOVE, STATUS_REMOVED } from \"./util/diff\";\nimport { supportTransition } from \"./util/motion\";\nconst MOTION_PROP_NAMES = ['eventProps', 'visible', 'children', 'motionName', 'motionAppear', 'motionEnter', 'motionLeave', 'motionLeaveImmediately', 'motionDeadline', 'removeOnLeave', 'leavedClassName', 'onAppearPrepare', 'onAppearStart', 'onAppearActive', 'onAppearEnd', 'onEnterStart', 'onEnterActive', 'onEnterEnd', 'onLeaveStart', 'onLeaveActive', 'onLeaveEnd'];\n/**\n * Generate a CSSMotionList component with config\n * @param transitionSupport No need since CSSMotionList no longer depends on transition support\n * @param CSSMotion CSSMotion component\n */\nexport function genCSSMotionList(transitionSupport, CSSMotion = OriginCSSMotion) {\n class CSSMotionList extends React.Component {\n static defaultProps = {\n component: 'div'\n };\n state = {\n keyEntities: []\n };\n static getDerivedStateFromProps({\n keys\n }, {\n keyEntities\n }) {\n const parsedKeyObjects = parseKeys(keys);\n const mixedKeyEntities = diffKeys(keyEntities, parsedKeyObjects);\n return {\n keyEntities: mixedKeyEntities.filter(entity => {\n const prevEntity = keyEntities.find(({\n key\n }) => entity.key === key);\n\n // Remove if already mark as removed\n if (prevEntity && prevEntity.status === STATUS_REMOVED && entity.status === STATUS_REMOVE) {\n return false;\n }\n return true;\n })\n };\n }\n\n // ZombieJ: Return the count of rest keys. It's safe to refactor if need more info.\n removeKey = removeKey => {\n this.setState(prevState => {\n const nextKeyEntities = prevState.keyEntities.map(entity => {\n if (entity.key !== removeKey) return entity;\n return {\n ...entity,\n status: STATUS_REMOVED\n };\n });\n return {\n keyEntities: nextKeyEntities\n };\n }, () => {\n const {\n keyEntities\n } = this.state;\n const restKeysCount = keyEntities.filter(({\n status\n }) => status !== STATUS_REMOVED).length;\n if (restKeysCount === 0 && this.props.onAllRemoved) {\n this.props.onAllRemoved();\n }\n });\n };\n render() {\n const {\n keyEntities\n } = this.state;\n const {\n component,\n children,\n onVisibleChanged,\n onAllRemoved,\n ...restProps\n } = this.props;\n const Component = component || React.Fragment;\n const motionProps = {};\n MOTION_PROP_NAMES.forEach(prop => {\n motionProps[prop] = restProps[prop];\n delete restProps[prop];\n });\n delete restProps.keys;\n return /*#__PURE__*/React.createElement(Component, restProps, keyEntities.map(({\n status,\n ...eventProps\n }, index) => {\n const visible = status === STATUS_ADD || status === STATUS_KEEP;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motionProps, {\n key: eventProps.key,\n visible: visible,\n eventProps: eventProps,\n onVisibleChanged: changedVisible => {\n onVisibleChanged?.(changedVisible, {\n key: eventProps.key\n });\n if (!changedVisible) {\n this.removeKey(eventProps.key);\n }\n }\n }), (props, ref) => children({\n ...props,\n index\n }, ref));\n }));\n }\n }\n return CSSMotionList;\n}\nexport default genCSSMotionList(supportTransition);","import CSSMotion from \"./CSSMotion\";\nimport CSSMotionList from \"./CSSMotionList\";\nexport { default as Provider } from \"./context\";\nexport { CSSMotionList };\nexport default CSSMotion;","import get from \"./get\";\nfunction internalSet(entity, paths, value, removeIfUndefined) {\n if (!paths.length) {\n return value;\n }\n const [path, ...restPath] = paths;\n let clone;\n if (!entity && typeof path === 'number') {\n clone = [];\n } else if (Array.isArray(entity)) {\n clone = [...entity];\n } else {\n clone = {\n ...entity\n };\n }\n\n // Delete prop if `removeIfUndefined` and value is undefined\n if (removeIfUndefined && value === undefined && restPath.length === 1) {\n delete clone[path][restPath[0]];\n } else {\n clone[path] = internalSet(clone[path], restPath, value, removeIfUndefined);\n }\n return clone;\n}\nexport default function set(entity, paths, value, removeIfUndefined = false) {\n // Do nothing if `removeIfUndefined` and parent object not exist\n if (paths.length && removeIfUndefined && value === undefined && !get(entity, paths.slice(0, -1))) {\n return entity;\n }\n return internalSet(entity, paths, value, removeIfUndefined);\n}\nfunction isObject(obj) {\n return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === Object.prototype;\n}\nfunction createEmpty(source) {\n return Array.isArray(source) ? [] : {};\n}\nconst keys = typeof Reflect === 'undefined' ? Object.keys : Reflect.ownKeys;\n\n// ================================ Merge ================================\n\n/**\n * Merge multiple objects. Support custom merge logic.\n * @param sources object sources\n * @param config.prepareArray Customize array prepare function.\n * It will return empty [] by default.\n * So when match array, it will auto be override with next array in sources.\n */\nexport function mergeWith(sources, config = {}) {\n const {\n prepareArray\n } = config;\n const finalPrepareArray = prepareArray || (() => []);\n let clone = createEmpty(sources[0]);\n sources.forEach(src => {\n function internalMerge(path, parentLoopSet) {\n const loopSet = new Set(parentLoopSet);\n const value = get(src, path);\n const isArr = Array.isArray(value);\n if (isArr || isObject(value)) {\n // Only add not loop obj\n if (!loopSet.has(value)) {\n loopSet.add(value);\n const originValue = get(clone, path);\n if (isArr) {\n // Array will always be override\n clone = set(clone, path, finalPrepareArray(originValue, value));\n } else if (!originValue || typeof originValue !== 'object') {\n // Init container if not exist\n clone = set(clone, path, createEmpty(value));\n }\n keys(value).forEach(key => {\n internalMerge([...path, key], loopSet);\n });\n }\n } else {\n clone = set(clone, path, value);\n }\n }\n internalMerge([]);\n });\n return clone;\n}\n\n/**\n * Merge multiple objects into a new single object.\n * Arrays will be replaced by default.\n */\nexport function merge(...sources) {\n return mergeWith(sources);\n}","const REACT_ELEMENT_TYPE_18 = Symbol.for('react.element');\nconst REACT_ELEMENT_TYPE_19 = Symbol.for('react.transitional.element');\nconst REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\n\n/**\n * Compatible with React 18 or 19 to check if node is a Fragment.\n */\nexport default function isFragment(object) {\n return (\n // Base object type\n object && typeof object === 'object' && (\n // React Element type\n object.$$typeof === REACT_ELEMENT_TYPE_18 || object.$$typeof === REACT_ELEMENT_TYPE_19) &&\n // React Fragment type\n object.type === REACT_FRAGMENT_TYPE\n );\n}","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import { clsx } from 'clsx';\nimport * as React from 'react';\nexport default function Arrow(props) {\n const {\n prefixCls,\n align,\n arrow,\n arrowPos\n } = props;\n const {\n className,\n content,\n style\n } = arrow || {};\n const {\n x = 0,\n y = 0\n } = arrowPos;\n const arrowRef = React.useRef(null);\n\n // Skip if no align\n if (!align || !align.points) {\n return null;\n }\n const alignStyle = {\n position: 'absolute'\n };\n\n // Skip if no need to align\n if (align.autoArrow !== false) {\n const popupPoints = align.points[0];\n const targetPoints = align.points[1];\n const popupTB = popupPoints[0];\n const popupLR = popupPoints[1];\n const targetTB = targetPoints[0];\n const targetLR = targetPoints[1];\n\n // Top & Bottom\n if (popupTB === targetTB || !['t', 'b'].includes(popupTB)) {\n alignStyle.top = y;\n } else if (popupTB === 't') {\n alignStyle.top = 0;\n } else {\n alignStyle.bottom = 0;\n }\n\n // Left & Right\n if (popupLR === targetLR || !['l', 'r'].includes(popupLR)) {\n alignStyle.left = x;\n } else if (popupLR === 'l') {\n alignStyle.left = 0;\n } else {\n alignStyle.right = 0;\n }\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: arrowRef,\n className: clsx(`${prefixCls}-arrow`, className),\n style: {\n ...alignStyle,\n ...style\n }\n }, content);\n}","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport { clsx } from 'clsx';\nimport CSSMotion from '@rc-component/motion';\nimport * as React from 'react';\nexport default function Mask(props) {\n const {\n prefixCls,\n open,\n zIndex,\n mask,\n motion,\n mobile\n } = props;\n if (!mask) {\n return null;\n }\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motion, {\n motionAppear: true,\n visible: open,\n removeOnLeave: true\n }), ({\n className\n }) => /*#__PURE__*/React.createElement(\"div\", {\n style: {\n zIndex\n },\n className: clsx(`${prefixCls}-mask`, mobile && `${prefixCls}-mobile-mask`, className)\n }));\n}","import * as React from 'react';\nconst PopupContent = /*#__PURE__*/React.memo(({\n children\n}) => children, (_, next) => next.cache);\nif (process.env.NODE_ENV !== 'production') {\n PopupContent.displayName = 'PopupContent';\n}\nexport default PopupContent;","export default function useOffsetStyle(isMobile, ready, open, align, offsetR, offsetB, offsetX, offsetY) {\n // >>>>> Offset\n const AUTO = 'auto';\n const offsetStyle = isMobile ? {} : {\n left: '-1000vw',\n top: '-1000vh',\n right: AUTO,\n bottom: AUTO\n };\n\n // Set align style\n if (!isMobile && (ready || !open)) {\n const {\n points\n } = align;\n const dynamicInset = align.dynamicInset || align._experimental?.dynamicInset;\n const alignRight = dynamicInset && points[0][1] === 'r';\n const alignBottom = dynamicInset && points[0][0] === 'b';\n if (alignRight) {\n offsetStyle.right = offsetR;\n offsetStyle.left = AUTO;\n } else {\n offsetStyle.left = offsetX;\n offsetStyle.right = AUTO;\n }\n if (alignBottom) {\n offsetStyle.bottom = offsetB;\n offsetStyle.top = AUTO;\n } else {\n offsetStyle.top = offsetY;\n offsetStyle.bottom = AUTO;\n }\n }\n return offsetStyle;\n}","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport { clsx } from 'clsx';\nimport CSSMotion from '@rc-component/motion';\nimport ResizeObserver from '@rc-component/resize-observer';\nimport useLayoutEffect from \"@rc-component/util/es/hooks/useLayoutEffect\";\nimport { composeRef } from \"@rc-component/util/es/ref\";\nimport * as React from 'react';\nimport Arrow from \"./Arrow\";\nimport Mask from \"./Mask\";\nimport PopupContent from \"./PopupContent\";\nimport useOffsetStyle from \"../hooks/useOffsetStyle\";\nimport { useEvent } from '@rc-component/util';\nconst Popup = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n popup,\n className,\n prefixCls,\n style,\n target,\n onVisibleChanged,\n // Open\n open,\n keepDom,\n fresh,\n // Click\n onClick,\n // Mask\n mask,\n // Arrow\n arrow,\n arrowPos,\n align,\n // Motion\n motion,\n maskMotion,\n // Mobile\n mobile,\n // Portal\n forceRender,\n getPopupContainer,\n autoDestroy,\n portal: Portal,\n children,\n zIndex,\n onMouseEnter,\n onMouseLeave,\n onPointerEnter,\n onPointerDownCapture,\n ready,\n offsetX,\n offsetY,\n offsetR,\n offsetB,\n onAlign,\n onPrepare,\n // Resize\n onResize,\n stretch,\n targetWidth,\n targetHeight\n } = props;\n const popupContent = typeof popup === 'function' ? popup() : popup;\n\n // We can not remove holder only when motion finished.\n const isNodeVisible = open || keepDom;\n\n // ========================= Mobile =========================\n const isMobile = !!mobile;\n\n // ========================== Mask ==========================\n const [mergedMask, mergedMaskMotion, mergedPopupMotion] = React.useMemo(() => {\n if (mobile) {\n return [mobile.mask, mobile.maskMotion, mobile.motion];\n }\n return [mask, maskMotion, motion];\n }, [mobile, mask, maskMotion, motion]);\n\n // ======================= Container ========================\n const getPopupContainerNeedParams = getPopupContainer?.length > 0;\n const [show, setShow] = React.useState(!getPopupContainer || !getPopupContainerNeedParams);\n\n // Delay to show since `getPopupContainer` need target element\n useLayoutEffect(() => {\n if (!show && getPopupContainerNeedParams && target) {\n setShow(true);\n }\n }, [show, getPopupContainerNeedParams, target]);\n\n // ========================= Resize =========================\n const onInternalResize = useEvent((size, ele) => {\n onResize?.(size, ele);\n onAlign();\n });\n\n // ========================= Styles =========================\n const offsetStyle = useOffsetStyle(isMobile, ready, open, align, offsetR, offsetB, offsetX, offsetY);\n\n // ========================= Render =========================\n if (!show) {\n return null;\n }\n\n // >>>>> Misc\n const miscStyle = {};\n if (stretch) {\n if (stretch.includes('height') && targetHeight) {\n miscStyle.height = targetHeight;\n } else if (stretch.includes('minHeight') && targetHeight) {\n miscStyle.minHeight = targetHeight;\n }\n if (stretch.includes('width') && targetWidth) {\n miscStyle.width = targetWidth;\n } else if (stretch.includes('minWidth') && targetWidth) {\n miscStyle.minWidth = targetWidth;\n }\n }\n if (!open) {\n miscStyle.pointerEvents = 'none';\n }\n return /*#__PURE__*/React.createElement(Portal, {\n open: forceRender || isNodeVisible,\n getContainer: getPopupContainer && (() => getPopupContainer(target)),\n autoDestroy: autoDestroy\n }, /*#__PURE__*/React.createElement(Mask, {\n prefixCls: prefixCls,\n open: open,\n zIndex: zIndex,\n mask: mergedMask,\n motion: mergedMaskMotion,\n mobile: isMobile\n }), /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onInternalResize,\n disabled: !open\n }, resizeObserverRef => {\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n motionAppear: true,\n motionEnter: true,\n motionLeave: true,\n removeOnLeave: false,\n forceRender: forceRender,\n leavedClassName: `${prefixCls}-hidden`\n }, mergedPopupMotion, {\n onAppearPrepare: onPrepare,\n onEnterPrepare: onPrepare,\n visible: open,\n onVisibleChanged: nextVisible => {\n motion?.onVisibleChanged?.(nextVisible);\n onVisibleChanged(nextVisible);\n }\n }), ({\n className: motionClassName,\n style: motionStyle\n }, motionRef) => {\n const cls = clsx(prefixCls, motionClassName, className, {\n [`${prefixCls}-mobile`]: isMobile\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: composeRef(resizeObserverRef, ref, motionRef),\n className: cls,\n style: {\n '--arrow-x': `${arrowPos.x || 0}px`,\n '--arrow-y': `${arrowPos.y || 0}px`,\n ...offsetStyle,\n ...miscStyle,\n ...motionStyle,\n boxSizing: 'border-box',\n zIndex,\n ...style\n },\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onPointerEnter: onPointerEnter,\n onClick: onClick,\n onPointerDownCapture: onPointerDownCapture\n }, arrow && /*#__PURE__*/React.createElement(Arrow, {\n prefixCls: prefixCls,\n arrow: arrow,\n arrowPos: arrowPos,\n align: align\n }), /*#__PURE__*/React.createElement(PopupContent, {\n cache: !open && !fresh\n }, popupContent));\n });\n }), children);\n});\nif (process.env.NODE_ENV !== 'production') {\n Popup.displayName = 'Popup';\n}\nexport default Popup;","import * as React from 'react';\n\n// ===================== Nest =====================\n\nconst TriggerContext = /*#__PURE__*/React.createContext(null);\nexport default TriggerContext;\n\n// ==================== Unique ====================\n\nexport const UniqueContext = /*#__PURE__*/React.createContext(null);","import * as React from 'react';\nfunction toArray(val) {\n return val ? Array.isArray(val) ? val : [val] : [];\n}\nexport default function useAction(action, showAction, hideAction) {\n return React.useMemo(() => {\n const mergedShowAction = toArray(showAction ?? action);\n const mergedHideAction = toArray(hideAction ?? action);\n const showActionSet = new Set(mergedShowAction);\n const hideActionSet = new Set(mergedHideAction);\n if (showActionSet.has('hover') && !showActionSet.has('click')) {\n showActionSet.add('touch');\n }\n if (hideActionSet.has('hover') && !hideActionSet.has('click')) {\n hideActionSet.add('touch');\n }\n return [showActionSet, hideActionSet];\n }, [action, showAction, hideAction]);\n}","function isPointsEq(a1 = [], a2 = [], isAlignPoint) {\n const getVal = (a, index) => a[index] || '';\n if (isAlignPoint) {\n return getVal(a1, 0) === getVal(a2, 0);\n }\n return getVal(a1, 0) === getVal(a2, 0) && getVal(a1, 1) === getVal(a2, 1);\n}\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n const {\n points\n } = align;\n const placements = Object.keys(builtinPlacements);\n for (let i = 0; i < placements.length; i += 1) {\n const placement = placements[i];\n if (isPointsEq(builtinPlacements[placement]?.points, points, isAlignPoint)) {\n return `${prefixCls}-placement-${placement}`;\n }\n }\n return '';\n}\nexport function getWin(ele) {\n return ele.ownerDocument.defaultView;\n}\n\n/**\n * Get all the scrollable parent elements of the element\n * @param ele The element to be detected\n * @param areaOnly Only return the parent which will cut visible area\n */\nexport function collectScroller(ele) {\n const scrollerList = [];\n let current = ele?.parentElement;\n const scrollStyle = ['hidden', 'scroll', 'clip', 'auto'];\n while (current) {\n const {\n overflowX,\n overflowY,\n overflow\n } = getWin(current).getComputedStyle(current);\n if ([overflowX, overflowY, overflow].some(o => scrollStyle.includes(o))) {\n scrollerList.push(current);\n }\n current = current.parentElement;\n }\n return scrollerList;\n}\nexport function toNum(num, defaultValue = 1) {\n return Number.isNaN(num) ? defaultValue : num;\n}\nfunction getPxValue(val) {\n return toNum(parseFloat(val), 0);\n}\n/**\n *\n *\n * **************************************\n * * Border *\n * * ************************** *\n * * * * * *\n * * B * * S * B *\n * * o * * c * o *\n * * r * Content * r * r *\n * * d * * o * d *\n * * e * * l * e *\n * * r ******************** l * r *\n * * * Scroll * *\n * * ************************** *\n * * Border *\n * **************************************\n *\n */\n/**\n * Get visible area of element\n */\nexport function getVisibleArea(initArea, scrollerList) {\n const visibleArea = {\n ...initArea\n };\n (scrollerList || []).forEach(ele => {\n if (ele instanceof HTMLBodyElement || ele instanceof HTMLHtmlElement) {\n return;\n }\n\n // Skip if static position which will not affect visible area\n const {\n overflow,\n overflowClipMargin,\n borderTopWidth,\n borderBottomWidth,\n borderLeftWidth,\n borderRightWidth\n } = getWin(ele).getComputedStyle(ele);\n const eleRect = ele.getBoundingClientRect();\n const {\n offsetHeight: eleOutHeight,\n clientHeight: eleInnerHeight,\n offsetWidth: eleOutWidth,\n clientWidth: eleInnerWidth\n } = ele;\n const borderTopNum = getPxValue(borderTopWidth);\n const borderBottomNum = getPxValue(borderBottomWidth);\n const borderLeftNum = getPxValue(borderLeftWidth);\n const borderRightNum = getPxValue(borderRightWidth);\n const scaleX = toNum(Math.round(eleRect.width / eleOutWidth * 1000) / 1000);\n const scaleY = toNum(Math.round(eleRect.height / eleOutHeight * 1000) / 1000);\n\n // Original visible area\n const eleScrollWidth = (eleOutWidth - eleInnerWidth - borderLeftNum - borderRightNum) * scaleX;\n const eleScrollHeight = (eleOutHeight - eleInnerHeight - borderTopNum - borderBottomNum) * scaleY;\n\n // Cut border size\n const scaledBorderTopWidth = borderTopNum * scaleY;\n const scaledBorderBottomWidth = borderBottomNum * scaleY;\n const scaledBorderLeftWidth = borderLeftNum * scaleX;\n const scaledBorderRightWidth = borderRightNum * scaleX;\n\n // Clip margin\n let clipMarginWidth = 0;\n let clipMarginHeight = 0;\n if (overflow === 'clip') {\n const clipNum = getPxValue(overflowClipMargin);\n clipMarginWidth = clipNum * scaleX;\n clipMarginHeight = clipNum * scaleY;\n }\n\n // Region\n const eleLeft = eleRect.x + scaledBorderLeftWidth - clipMarginWidth;\n const eleTop = eleRect.y + scaledBorderTopWidth - clipMarginHeight;\n const eleRight = eleLeft + eleRect.width + 2 * clipMarginWidth - scaledBorderLeftWidth - scaledBorderRightWidth - eleScrollWidth;\n const eleBottom = eleTop + eleRect.height + 2 * clipMarginHeight - scaledBorderTopWidth - scaledBorderBottomWidth - eleScrollHeight;\n visibleArea.left = Math.max(visibleArea.left, eleLeft);\n visibleArea.top = Math.max(visibleArea.top, eleTop);\n visibleArea.right = Math.min(visibleArea.right, eleRight);\n visibleArea.bottom = Math.min(visibleArea.bottom, eleBottom);\n });\n return visibleArea;\n}","import { isDOM } from \"@rc-component/util/es/Dom/findDOMNode\";\nimport isVisible from \"@rc-component/util/es/Dom/isVisible\";\nimport useEvent from \"@rc-component/util/es/hooks/useEvent\";\nimport useLayoutEffect from \"@rc-component/util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport { collectScroller, getVisibleArea, getWin, toNum } from \"../util\";\nfunction getUnitOffset(size, offset = 0) {\n const offsetStr = `${offset}`;\n const cells = offsetStr.match(/^(.*)\\%$/);\n if (cells) {\n return size * (parseFloat(cells[1]) / 100);\n }\n return parseFloat(offsetStr);\n}\nfunction getNumberOffset(rect, offset) {\n const [offsetX, offsetY] = offset || [];\n return [getUnitOffset(rect.width, offsetX), getUnitOffset(rect.height, offsetY)];\n}\nfunction splitPoints(points = '') {\n return [points[0], points[1]];\n}\nfunction getAlignPoint(rect, points) {\n const topBottom = points[0];\n const leftRight = points[1];\n let x;\n let y;\n\n // Top & Bottom\n if (topBottom === 't') {\n y = rect.y;\n } else if (topBottom === 'b') {\n y = rect.y + rect.height;\n } else {\n y = rect.y + rect.height / 2;\n }\n\n // Left & Right\n if (leftRight === 'l') {\n x = rect.x;\n } else if (leftRight === 'r') {\n x = rect.x + rect.width;\n } else {\n x = rect.x + rect.width / 2;\n }\n return {\n x,\n y\n };\n}\nfunction reversePoints(points, index) {\n const reverseMap = {\n t: 'b',\n b: 't',\n l: 'r',\n r: 'l'\n };\n const clone = [...points];\n clone[index] = reverseMap[points[index]] || 'c';\n return clone;\n}\nfunction flatPoints(points) {\n return points.join('');\n}\nexport default function useAlign(open, popupEle, target, placement, builtinPlacements, popupAlign, onPopupAlign, mobile) {\n const [offsetInfo, setOffsetInfo] = React.useState({\n ready: false,\n offsetX: 0,\n offsetY: 0,\n offsetR: 0,\n offsetB: 0,\n arrowX: 0,\n arrowY: 0,\n scaleX: 1,\n scaleY: 1,\n align: builtinPlacements[placement] || {}\n });\n const alignCountRef = React.useRef(0);\n const scrollerList = React.useMemo(() => {\n if (!popupEle || mobile) {\n return [];\n }\n return collectScroller(popupEle);\n }, [popupEle]);\n\n // ========================= Flip ==========================\n // We will memo flip info.\n // If size change to make flip, it will memo the flip info and use it in next align.\n const prevFlipRef = React.useRef({});\n const resetFlipCache = () => {\n prevFlipRef.current = {};\n };\n if (!open) {\n resetFlipCache();\n }\n\n // ========================= Align =========================\n const onAlign = useEvent(() => {\n if (popupEle && target && open && !mobile) {\n const popupElement = popupEle;\n const doc = popupElement.ownerDocument;\n const win = getWin(popupElement);\n const {\n position: popupPosition\n } = win.getComputedStyle(popupElement);\n const originLeft = popupElement.style.left;\n const originTop = popupElement.style.top;\n const originRight = popupElement.style.right;\n const originBottom = popupElement.style.bottom;\n const originOverflow = popupElement.style.overflow;\n\n // Placement\n const placementInfo = {\n ...builtinPlacements[placement],\n ...popupAlign\n };\n\n // placeholder element\n const placeholderElement = doc.createElement('div');\n popupElement.parentElement?.appendChild(placeholderElement);\n placeholderElement.style.left = `${popupElement.offsetLeft}px`;\n placeholderElement.style.top = `${popupElement.offsetTop}px`;\n placeholderElement.style.position = popupPosition;\n placeholderElement.style.height = `${popupElement.offsetHeight}px`;\n placeholderElement.style.width = `${popupElement.offsetWidth}px`;\n\n // Reset first\n popupElement.style.left = '0';\n popupElement.style.top = '0';\n popupElement.style.right = 'auto';\n popupElement.style.bottom = 'auto';\n popupElement.style.overflow = 'hidden';\n\n // Calculate align style, we should consider `transform` case\n let targetRect;\n if (Array.isArray(target)) {\n targetRect = {\n x: target[0],\n y: target[1],\n width: 0,\n height: 0\n };\n } else {\n const rect = target.getBoundingClientRect();\n rect.x = rect.x ?? rect.left;\n rect.y = rect.y ?? rect.top;\n targetRect = {\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n };\n }\n const popupRect = popupElement.getBoundingClientRect();\n const {\n height,\n width\n } = win.getComputedStyle(popupElement);\n popupRect.x = popupRect.x ?? popupRect.left;\n popupRect.y = popupRect.y ?? popupRect.top;\n const {\n clientWidth,\n clientHeight,\n scrollWidth,\n scrollHeight,\n scrollTop,\n scrollLeft\n } = doc.documentElement;\n const popupHeight = popupRect.height;\n const popupWidth = popupRect.width;\n const targetHeight = targetRect.height;\n const targetWidth = targetRect.width;\n\n // Get bounding of visible area\n const visibleRegion = {\n left: 0,\n top: 0,\n right: clientWidth,\n bottom: clientHeight\n };\n const scrollRegion = {\n left: -scrollLeft,\n top: -scrollTop,\n right: scrollWidth - scrollLeft,\n bottom: scrollHeight - scrollTop\n };\n let {\n htmlRegion\n } = placementInfo;\n const VISIBLE = 'visible';\n const VISIBLE_FIRST = 'visibleFirst';\n if (htmlRegion !== 'scroll' && htmlRegion !== VISIBLE_FIRST) {\n htmlRegion = VISIBLE;\n }\n const isVisibleFirst = htmlRegion === VISIBLE_FIRST;\n const scrollRegionArea = getVisibleArea(scrollRegion, scrollerList);\n const visibleRegionArea = getVisibleArea(visibleRegion, scrollerList);\n const visibleArea = htmlRegion === VISIBLE ? visibleRegionArea : scrollRegionArea;\n\n // When set to `visibleFirst`,\n // the check `adjust` logic will use `visibleRegion` for check first.\n const adjustCheckVisibleArea = isVisibleFirst ? visibleRegionArea : visibleArea;\n\n // Record right & bottom align data\n popupElement.style.left = 'auto';\n popupElement.style.top = 'auto';\n popupElement.style.right = '0';\n popupElement.style.bottom = '0';\n const popupMirrorRect = popupElement.getBoundingClientRect();\n\n // Reset back\n popupElement.style.left = originLeft;\n popupElement.style.top = originTop;\n popupElement.style.right = originRight;\n popupElement.style.bottom = originBottom;\n popupElement.style.overflow = originOverflow;\n popupElement.parentElement?.removeChild(placeholderElement);\n\n // Calculate scale\n const scaleX = toNum(Math.round(popupWidth / parseFloat(width) * 1000) / 1000);\n const scaleY = toNum(Math.round(popupHeight / parseFloat(height) * 1000) / 1000);\n\n // No need to align since it's not visible in view\n if (scaleX === 0 || scaleY === 0 || isDOM(target) && !isVisible(target)) {\n return;\n }\n\n // Offset\n const {\n offset,\n targetOffset\n } = placementInfo;\n let [popupOffsetX, popupOffsetY] = getNumberOffset(popupRect, offset);\n const [targetOffsetX, targetOffsetY] = getNumberOffset(targetRect, targetOffset);\n targetRect.x -= targetOffsetX;\n targetRect.y -= targetOffsetY;\n\n // Points\n const [popupPoint, targetPoint] = placementInfo.points || [];\n const targetPoints = splitPoints(targetPoint);\n const popupPoints = splitPoints(popupPoint);\n const targetAlignPoint = getAlignPoint(targetRect, targetPoints);\n const popupAlignPoint = getAlignPoint(popupRect, popupPoints);\n\n // Real align info may not same as origin one\n const nextAlignInfo = {\n ...placementInfo\n };\n let nextPoints = [popupPoints, targetPoints];\n\n // Next Offset\n let nextOffsetX = targetAlignPoint.x - popupAlignPoint.x + popupOffsetX;\n let nextOffsetY = targetAlignPoint.y - popupAlignPoint.y + popupOffsetY;\n\n // ============== Intersection ===============\n // Get area by position. Used for check if flip area is better\n function getIntersectionVisibleArea(offsetX, offsetY, area = visibleArea) {\n const l = popupRect.x + offsetX;\n const t = popupRect.y + offsetY;\n const r = l + popupWidth;\n const b = t + popupHeight;\n const visibleL = Math.max(l, area.left);\n const visibleT = Math.max(t, area.top);\n const visibleR = Math.min(r, area.right);\n const visibleB = Math.min(b, area.bottom);\n return Math.max(0, (visibleR - visibleL) * (visibleB - visibleT));\n }\n const originIntersectionVisibleArea = getIntersectionVisibleArea(nextOffsetX, nextOffsetY);\n\n // As `visibleFirst`, we prepare this for check\n const originIntersectionRecommendArea = getIntersectionVisibleArea(nextOffsetX, nextOffsetY, visibleRegionArea);\n\n // ========================== Overflow ===========================\n const targetAlignPointTL = getAlignPoint(targetRect, ['t', 'l']);\n const popupAlignPointTL = getAlignPoint(popupRect, ['t', 'l']);\n const targetAlignPointBR = getAlignPoint(targetRect, ['b', 'r']);\n const popupAlignPointBR = getAlignPoint(popupRect, ['b', 'r']);\n const overflow = placementInfo.overflow || {};\n const {\n adjustX,\n adjustY,\n shiftX,\n shiftY\n } = overflow;\n const supportAdjust = val => {\n if (typeof val === 'boolean') {\n return val;\n }\n return val >= 0;\n };\n\n // Prepare position\n let nextPopupY;\n let nextPopupBottom;\n let nextPopupX;\n let nextPopupRight;\n function syncNextPopupPosition() {\n nextPopupY = popupRect.y + nextOffsetY;\n nextPopupBottom = nextPopupY + popupHeight;\n nextPopupX = popupRect.x + nextOffsetX;\n nextPopupRight = nextPopupX + popupWidth;\n }\n syncNextPopupPosition();\n\n // >>>>>>>>>> Top & Bottom\n const needAdjustY = supportAdjust(adjustY);\n const sameTB = popupPoints[0] === targetPoints[0];\n\n // Bottom to Top\n if (needAdjustY && popupPoints[0] === 't' && (nextPopupBottom > adjustCheckVisibleArea.bottom || prevFlipRef.current.bt)) {\n let tmpNextOffsetY = nextOffsetY;\n if (sameTB) {\n tmpNextOffsetY -= popupHeight - targetHeight;\n } else {\n tmpNextOffsetY = targetAlignPointTL.y - popupAlignPointBR.y - popupOffsetY;\n }\n const newVisibleArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY);\n const newVisibleRecommendArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n newVisibleArea > originIntersectionVisibleArea || newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.bt = true;\n nextOffsetY = tmpNextOffsetY;\n popupOffsetY = -popupOffsetY;\n nextPoints = [reversePoints(nextPoints[0], 0), reversePoints(nextPoints[1], 0)];\n } else {\n prevFlipRef.current.bt = false;\n }\n }\n\n // Top to Bottom\n if (needAdjustY && popupPoints[0] === 'b' && (nextPopupY < adjustCheckVisibleArea.top || prevFlipRef.current.tb)) {\n let tmpNextOffsetY = nextOffsetY;\n if (sameTB) {\n tmpNextOffsetY += popupHeight - targetHeight;\n } else {\n tmpNextOffsetY = targetAlignPointBR.y - popupAlignPointTL.y - popupOffsetY;\n }\n const newVisibleArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY);\n const newVisibleRecommendArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n newVisibleArea > originIntersectionVisibleArea || newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.tb = true;\n nextOffsetY = tmpNextOffsetY;\n popupOffsetY = -popupOffsetY;\n nextPoints = [reversePoints(nextPoints[0], 0), reversePoints(nextPoints[1], 0)];\n } else {\n prevFlipRef.current.tb = false;\n }\n }\n\n // >>>>>>>>>> Left & Right\n const needAdjustX = supportAdjust(adjustX);\n\n // >>>>> Flip\n const sameLR = popupPoints[1] === targetPoints[1];\n\n // Right to Left\n if (needAdjustX && popupPoints[1] === 'l' && (nextPopupRight > adjustCheckVisibleArea.right || prevFlipRef.current.rl)) {\n let tmpNextOffsetX = nextOffsetX;\n if (sameLR) {\n tmpNextOffsetX -= popupWidth - targetWidth;\n } else {\n tmpNextOffsetX = targetAlignPointTL.x - popupAlignPointBR.x - popupOffsetX;\n }\n const newVisibleArea = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY);\n const newVisibleRecommendArea = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n newVisibleArea > originIntersectionVisibleArea || newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.rl = true;\n nextOffsetX = tmpNextOffsetX;\n popupOffsetX = -popupOffsetX;\n nextPoints = [reversePoints(nextPoints[0], 1), reversePoints(nextPoints[1], 1)];\n } else {\n prevFlipRef.current.rl = false;\n }\n }\n\n // Left to Right\n if (needAdjustX && popupPoints[1] === 'r' && (nextPopupX < adjustCheckVisibleArea.left || prevFlipRef.current.lr)) {\n let tmpNextOffsetX = nextOffsetX;\n if (sameLR) {\n tmpNextOffsetX += popupWidth - targetWidth;\n } else {\n tmpNextOffsetX = targetAlignPointBR.x - popupAlignPointTL.x - popupOffsetX;\n }\n const newVisibleArea = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY);\n const newVisibleRecommendArea = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n newVisibleArea > originIntersectionVisibleArea || newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.lr = true;\n nextOffsetX = tmpNextOffsetX;\n popupOffsetX = -popupOffsetX;\n nextPoints = [reversePoints(nextPoints[0], 1), reversePoints(nextPoints[1], 1)];\n } else {\n prevFlipRef.current.lr = false;\n }\n }\n nextAlignInfo.points = [flatPoints(nextPoints[0]), flatPoints(nextPoints[1])];\n\n // ============================ Shift ============================\n syncNextPopupPosition();\n const numShiftX = shiftX === true ? 0 : shiftX;\n if (typeof numShiftX === 'number') {\n // Left\n if (nextPopupX < visibleRegionArea.left) {\n nextOffsetX -= nextPopupX - visibleRegionArea.left - popupOffsetX;\n if (targetRect.x + targetWidth < visibleRegionArea.left + numShiftX) {\n nextOffsetX += targetRect.x - visibleRegionArea.left + targetWidth - numShiftX;\n }\n }\n\n // Right\n if (nextPopupRight > visibleRegionArea.right) {\n nextOffsetX -= nextPopupRight - visibleRegionArea.right - popupOffsetX;\n if (targetRect.x > visibleRegionArea.right - numShiftX) {\n nextOffsetX += targetRect.x - visibleRegionArea.right + numShiftX;\n }\n }\n }\n const numShiftY = shiftY === true ? 0 : shiftY;\n if (typeof numShiftY === 'number') {\n // Top\n if (nextPopupY < visibleRegionArea.top) {\n nextOffsetY -= nextPopupY - visibleRegionArea.top - popupOffsetY;\n\n // When target if far away from visible area\n // Stop shift\n if (targetRect.y + targetHeight < visibleRegionArea.top + numShiftY) {\n nextOffsetY += targetRect.y - visibleRegionArea.top + targetHeight - numShiftY;\n }\n }\n\n // Bottom\n if (nextPopupBottom > visibleRegionArea.bottom) {\n nextOffsetY -= nextPopupBottom - visibleRegionArea.bottom - popupOffsetY;\n if (targetRect.y > visibleRegionArea.bottom - numShiftY) {\n nextOffsetY += targetRect.y - visibleRegionArea.bottom + numShiftY;\n }\n }\n }\n\n // ============================ Arrow ============================\n // Arrow center align\n const popupLeft = popupRect.x + nextOffsetX;\n const popupRight = popupLeft + popupWidth;\n const popupTop = popupRect.y + nextOffsetY;\n const popupBottom = popupTop + popupHeight;\n const targetLeft = targetRect.x;\n const targetRight = targetLeft + targetWidth;\n const targetTop = targetRect.y;\n const targetBottom = targetTop + targetHeight;\n\n /** Max left of the popup and target element */\n const maxLeft = Math.max(popupLeft, targetLeft);\n /** Min right of the popup and target element */\n const minRight = Math.min(popupRight, targetRight);\n\n /** The center X of popup & target cross area */\n const xCenter = (maxLeft + minRight) / 2;\n /** Arrow X of popup offset */\n const nextArrowX = xCenter - popupLeft;\n const maxTop = Math.max(popupTop, targetTop);\n const minBottom = Math.min(popupBottom, targetBottom);\n const yCenter = (maxTop + minBottom) / 2;\n const nextArrowY = yCenter - popupTop;\n onPopupAlign?.(popupEle, nextAlignInfo);\n\n // Additional calculate right & bottom position\n let offsetX4Right = popupMirrorRect.right - popupRect.x - (nextOffsetX + popupRect.width);\n let offsetY4Bottom = popupMirrorRect.bottom - popupRect.y - (nextOffsetY + popupRect.height);\n if (scaleX === 1) {\n nextOffsetX = Math.round(nextOffsetX);\n offsetX4Right = Math.round(offsetX4Right);\n }\n if (scaleY === 1) {\n nextOffsetY = Math.round(nextOffsetY);\n offsetY4Bottom = Math.round(offsetY4Bottom);\n }\n const nextOffsetInfo = {\n ready: true,\n offsetX: nextOffsetX / scaleX,\n offsetY: nextOffsetY / scaleY,\n offsetR: offsetX4Right / scaleX,\n offsetB: offsetY4Bottom / scaleY,\n arrowX: nextArrowX / scaleX,\n arrowY: nextArrowY / scaleY,\n scaleX,\n scaleY,\n align: nextAlignInfo\n };\n setOffsetInfo(nextOffsetInfo);\n }\n });\n const triggerAlign = () => {\n alignCountRef.current += 1;\n const id = alignCountRef.current;\n\n // Merge all align requirement into one frame\n Promise.resolve().then(() => {\n if (alignCountRef.current === id) {\n onAlign();\n }\n });\n };\n\n // Reset ready status when placement & open changed\n const resetReady = () => {\n setOffsetInfo(ori => ({\n ...ori,\n ready: false\n }));\n };\n useLayoutEffect(resetReady, [placement]);\n useLayoutEffect(() => {\n if (!open) {\n resetReady();\n }\n }, [open]);\n return [offsetInfo.ready, offsetInfo.offsetX, offsetInfo.offsetY, offsetInfo.offsetR, offsetInfo.offsetB, offsetInfo.arrowX, offsetInfo.arrowY, offsetInfo.scaleX, offsetInfo.scaleY, offsetInfo.align, triggerAlign];\n}","import * as React from 'react';\nexport default function useDelay() {\n const delayRef = React.useRef(null);\n const clearDelay = () => {\n if (delayRef.current) {\n clearTimeout(delayRef.current);\n delayRef.current = null;\n }\n };\n const delayInvoke = (callback, delay) => {\n clearDelay();\n if (delay === 0) {\n callback();\n } else {\n delayRef.current = setTimeout(() => {\n callback();\n }, delay * 1000);\n }\n };\n\n // Clean up on unmount\n React.useEffect(() => {\n return () => {\n clearDelay();\n };\n }, []);\n return delayInvoke;\n}","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from 'react';\nimport useOffsetStyle from \"../hooks/useOffsetStyle\";\nimport { clsx } from 'clsx';\nimport CSSMotion from '@rc-component/motion';\nconst UniqueContainer = props => {\n const {\n prefixCls,\n isMobile,\n ready,\n open,\n align,\n offsetR,\n offsetB,\n offsetX,\n offsetY,\n arrowPos,\n popupSize,\n motion,\n uniqueContainerClassName,\n uniqueContainerStyle\n } = props;\n const containerCls = `${prefixCls}-unique-container`;\n const [motionVisible, setMotionVisible] = React.useState(false);\n\n // ========================= Styles =========================\n const offsetStyle = useOffsetStyle(isMobile, ready, open, align, offsetR, offsetB, offsetX, offsetY);\n\n // Cache for offsetStyle when ready is true\n const cachedOffsetStyleRef = React.useRef(offsetStyle);\n\n // Update cached offset style when ready is true\n if (ready) {\n cachedOffsetStyleRef.current = offsetStyle;\n }\n\n // Apply popup size if available\n const sizeStyle = {};\n if (popupSize) {\n sizeStyle.width = popupSize.width;\n sizeStyle.height = popupSize.height;\n }\n\n // ========================= Render =========================\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n motionAppear: true,\n motionEnter: true,\n motionLeave: true,\n removeOnLeave: false,\n leavedClassName: `${containerCls}-hidden`\n }, motion, {\n visible: open,\n onVisibleChanged: nextVisible => {\n setMotionVisible(nextVisible);\n }\n }), ({\n className: motionClassName,\n style: motionStyle\n }) => {\n const cls = clsx(containerCls, motionClassName, uniqueContainerClassName, {\n [`${containerCls}-visible`]: motionVisible\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls,\n style: {\n '--arrow-x': `${arrowPos?.x || 0}px`,\n '--arrow-y': `${arrowPos?.y || 0}px`,\n ...cachedOffsetStyleRef.current,\n ...sizeStyle,\n ...motionStyle,\n ...uniqueContainerStyle\n }\n });\n });\n};\nexport default UniqueContainer;","import * as React from 'react';\nimport Portal from '@rc-component/portal';\nimport TriggerContext, { UniqueContext } from \"../context\";\nimport useDelay from \"../hooks/useDelay\";\nimport useAlign from \"../hooks/useAlign\";\nimport Popup from \"../Popup\";\nimport { useEvent } from '@rc-component/util';\nimport useTargetState from \"./useTargetState\";\nimport { isDOM } from \"@rc-component/util/es/Dom/findDOMNode\";\nimport UniqueContainer from \"./UniqueContainer\";\nimport { clsx } from 'clsx';\nimport { getAlignPopupClassName } from \"../util\";\nconst UniqueProvider = ({\n children,\n postTriggerProps\n}) => {\n const [trigger, open, options, onTargetVisibleChanged] = useTargetState();\n\n // ========================== Options ===========================\n const mergedOptions = React.useMemo(() => {\n if (!options || !postTriggerProps) {\n return options;\n }\n return postTriggerProps(options);\n }, [options, postTriggerProps]);\n\n // =========================== Popup ============================\n const [popupEle, setPopupEle] = React.useState(null);\n const [popupSize, setPopupSize] = React.useState(null);\n\n // Used for forwardRef popup. Not use internal\n const externalPopupRef = React.useRef(null);\n const setPopupRef = useEvent(node => {\n externalPopupRef.current = node;\n if (isDOM(node) && popupEle !== node) {\n setPopupEle(node);\n }\n });\n\n // ========================== Register ==========================\n // Store the isOpen function from the latest show call\n const isOpenRef = React.useRef(null);\n const delayInvoke = useDelay();\n const show = useEvent((showOptions, isOpen) => {\n // Store the isOpen function for later use in hide\n isOpenRef.current = isOpen;\n delayInvoke(() => {\n trigger(showOptions);\n }, showOptions.delay);\n });\n const hide = delay => {\n delayInvoke(() => {\n // Check if we should still hide by calling the isOpen function\n // If isOpen returns true, it means another trigger wants to keep it open\n if (isOpenRef.current?.()) {\n return; // Don't hide if something else wants it open\n }\n trigger(false);\n // Don't clear target, currentNode, options immediately, wait until animation completes\n }, delay);\n };\n\n // Callback after animation completes\n const onVisibleChanged = useEvent(visible => {\n // Call useTargetState callback to handle animation state\n onTargetVisibleChanged(visible);\n });\n\n // =========================== Align ============================\n const [ready, offsetX, offsetY, offsetR, offsetB, arrowX, arrowY,\n\n // scaleX - not used in UniqueProvider\n ,,\n // scaleY - not used in UniqueProvider\n alignInfo, onAlign] = useAlign(open, popupEle, mergedOptions?.target, mergedOptions?.popupPlacement, mergedOptions?.builtinPlacements || {}, mergedOptions?.popupAlign, undefined,\n // onPopupAlign\n false // isMobile\n );\n const alignedClassName = React.useMemo(() => {\n if (!mergedOptions) {\n return '';\n }\n const baseClassName = getAlignPopupClassName(mergedOptions.builtinPlacements || {}, mergedOptions.prefixCls || '', alignInfo, false // alignPoint is false for UniqueProvider\n );\n return clsx(baseClassName, mergedOptions.getPopupClassNameFromAlign?.(alignInfo));\n }, [alignInfo, mergedOptions?.getPopupClassNameFromAlign, mergedOptions?.builtinPlacements, mergedOptions?.prefixCls]);\n const contextValue = React.useMemo(() => ({\n show,\n hide\n }), []);\n\n // =========================== Align ============================\n React.useEffect(() => {\n onAlign();\n }, [mergedOptions?.target]);\n\n // =========================== Motion ===========================\n const onPrepare = useEvent(() => {\n onAlign();\n return Promise.resolve();\n });\n\n // ======================== Trigger Context =====================\n const subPopupElements = React.useRef({});\n const parentContext = React.useContext(TriggerContext);\n const triggerContextValue = React.useMemo(() => ({\n registerSubPopup: (id, subPopupEle) => {\n subPopupElements.current[id] = subPopupEle;\n parentContext?.registerSubPopup(id, subPopupEle);\n }\n }), [parentContext]);\n\n // =========================== Render ===========================\n const prefixCls = mergedOptions?.prefixCls;\n return /*#__PURE__*/React.createElement(UniqueContext.Provider, {\n value: contextValue\n }, children, mergedOptions && /*#__PURE__*/React.createElement(TriggerContext.Provider, {\n value: triggerContextValue\n }, /*#__PURE__*/React.createElement(Popup, {\n ref: setPopupRef,\n portal: Portal,\n prefixCls: prefixCls,\n popup: mergedOptions.popup,\n className: clsx(mergedOptions.popupClassName, alignedClassName, `${prefixCls}-unique-controlled`),\n style: mergedOptions.popupStyle,\n target: mergedOptions.target,\n open: open,\n keepDom: true,\n fresh: true,\n autoDestroy: false,\n onVisibleChanged: onVisibleChanged,\n ready: ready,\n offsetX: offsetX,\n offsetY: offsetY,\n offsetR: offsetR,\n offsetB: offsetB,\n onAlign: onAlign,\n onPrepare: onPrepare,\n onResize: size => setPopupSize({\n width: size.offsetWidth,\n height: size.offsetHeight\n }),\n arrowPos: {\n x: arrowX,\n y: arrowY\n },\n align: alignInfo,\n zIndex: mergedOptions.zIndex,\n mask: mergedOptions.mask,\n arrow: mergedOptions.arrow,\n motion: mergedOptions.popupMotion,\n maskMotion: mergedOptions.maskMotion,\n getPopupContainer: mergedOptions.getPopupContainer\n }, /*#__PURE__*/React.createElement(UniqueContainer, {\n prefixCls: prefixCls,\n isMobile: false,\n ready: ready,\n open: open,\n align: alignInfo,\n offsetR: offsetR,\n offsetB: offsetB,\n offsetX: offsetX,\n offsetY: offsetY,\n arrowPos: {\n x: arrowX,\n y: arrowY\n },\n popupSize: popupSize,\n motion: mergedOptions.popupMotion,\n uniqueContainerClassName: clsx(mergedOptions.uniqueContainerClassName, alignedClassName),\n uniqueContainerStyle: mergedOptions.uniqueContainerStyle\n }))));\n};\nexport default UniqueProvider;","import React from 'react';\nimport { useEvent } from '@rc-component/util';\n/**\n * Control the state of popup bind target:\n * 1. When set `target`. Do show the popup.\n * 2. When `target` is removed. Do hide the popup.\n * 3. When `target` change to another one:\n * a. We wait motion finish of previous popup.\n * b. Then we set new target and show the popup.\n * 4. During appear/enter animation, cache new options and apply after animation completes.\n */\nexport default function useTargetState() {\n const [options, setOptions] = React.useState(null);\n const [open, setOpen] = React.useState(false);\n const [isAnimating, setIsAnimating] = React.useState(false);\n const pendingOptionsRef = React.useRef(null);\n const trigger = useEvent(nextOptions => {\n if (nextOptions === false) {\n // Clear pending options when hiding\n pendingOptionsRef.current = null;\n setOpen(false);\n } else {\n if (isAnimating && open) {\n // If animating (appear or enter), cache new options\n pendingOptionsRef.current = nextOptions;\n } else {\n setOpen(true);\n // Set new options\n setOptions(nextOptions);\n pendingOptionsRef.current = null;\n\n // Only mark as animating when transitioning from closed to open\n if (!open) {\n setIsAnimating(true);\n }\n }\n }\n });\n const onVisibleChanged = useEvent(visible => {\n if (visible) {\n // Animation enter completed, check if there are pending options\n setIsAnimating(false);\n if (pendingOptionsRef.current) {\n // Apply pending options\n setOptions(pendingOptionsRef.current);\n pendingOptionsRef.current = null;\n }\n } else {\n // Animation leave completed\n setIsAnimating(false);\n pendingOptionsRef.current = null;\n }\n });\n return [trigger, open, options, onVisibleChanged];\n}","import Portal from '@rc-component/portal';\nimport { clsx } from 'clsx';\nimport ResizeObserver from '@rc-component/resize-observer';\nimport { isDOM } from \"@rc-component/util/es/Dom/findDOMNode\";\nimport { getShadowRoot } from \"@rc-component/util/es/Dom/shadow\";\nimport useEvent from \"@rc-component/util/es/hooks/useEvent\";\nimport useId from \"@rc-component/util/es/hooks/useId\";\nimport useLayoutEffect from \"@rc-component/util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport Popup from \"./Popup\";\nimport TriggerContext, { UniqueContext } from \"./context\";\nimport useAction from \"./hooks/useAction\";\nimport useAlign from \"./hooks/useAlign\";\nimport useDelay from \"./hooks/useDelay\";\nimport useWatch from \"./hooks/useWatch\";\nimport useWinClick from \"./hooks/useWinClick\";\nimport { getAlignPopupClassName } from \"./util\";\nimport UniqueProvider from \"./UniqueProvider\";\nimport { useControlledState } from '@rc-component/util';\nexport { UniqueProvider };\n\n// Removed Props List\n// Seems this can be auto\n// getDocument?: (element?: HTMLElement) => Document;\n\n// New version will not wrap popup with `rc-trigger-popup-content` when multiple children\n\nexport function generateTrigger(PortalComponent = Portal) {\n const Trigger = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls = 'rc-trigger-popup',\n children,\n // Action\n action = 'hover',\n showAction,\n hideAction,\n // Open\n popupVisible,\n defaultPopupVisible,\n onOpenChange,\n afterOpenChange,\n onPopupVisibleChange,\n afterPopupVisibleChange,\n // Delay\n mouseEnterDelay,\n mouseLeaveDelay = 0.1,\n focusDelay,\n blurDelay,\n // Mask\n mask,\n maskClosable = true,\n // Portal\n getPopupContainer,\n forceRender,\n autoDestroy,\n // Popup\n popup,\n popupClassName,\n uniqueContainerClassName,\n uniqueContainerStyle,\n popupStyle,\n popupPlacement,\n builtinPlacements = {},\n popupAlign,\n zIndex,\n stretch,\n getPopupClassNameFromAlign,\n fresh,\n unique,\n alignPoint,\n onPopupClick,\n onPopupAlign,\n // Arrow\n arrow,\n // Motion\n popupMotion,\n maskMotion,\n // Private\n mobile,\n ...restProps\n } = props;\n const mergedAutoDestroy = autoDestroy || false;\n const openUncontrolled = popupVisible === undefined;\n\n // =========================== Mobile ===========================\n const isMobile = !!mobile;\n\n // ========================== Context ===========================\n const subPopupElements = React.useRef({});\n const parentContext = React.useContext(TriggerContext);\n const context = React.useMemo(() => {\n return {\n registerSubPopup: (id, subPopupEle) => {\n subPopupElements.current[id] = subPopupEle;\n parentContext?.registerSubPopup(id, subPopupEle);\n }\n };\n }, [parentContext]);\n\n // ======================== UniqueContext =========================\n const uniqueContext = React.useContext(UniqueContext);\n\n // =========================== Popup ============================\n const id = useId();\n const [popupEle, setPopupEle] = React.useState(null);\n\n // Used for forwardRef popup. Not use internal\n const externalPopupRef = React.useRef(null);\n const setPopupRef = useEvent(node => {\n externalPopupRef.current = node;\n if (isDOM(node) && popupEle !== node) {\n setPopupEle(node);\n }\n parentContext?.registerSubPopup(id, node);\n });\n\n // =========================== Target ===========================\n // Use state to control here since `useRef` update not trigger render\n const [targetEle, setTargetEle] = React.useState(null);\n\n // Used for forwardRef target. Not use internal\n const externalForwardRef = React.useRef(null);\n const setTargetRef = useEvent(node => {\n if (isDOM(node) && targetEle !== node) {\n setTargetEle(node);\n externalForwardRef.current = node;\n }\n });\n const cloneProps = {};\n const inPopupOrChild = useEvent(ele => {\n const childDOM = targetEle;\n return childDOM?.contains(ele) || getShadowRoot(childDOM)?.host === ele || ele === childDOM || popupEle?.contains(ele) || getShadowRoot(popupEle)?.host === ele || ele === popupEle || Object.values(subPopupElements.current).some(subPopupEle => subPopupEle?.contains(ele) || ele === subPopupEle);\n });\n\n // =========================== Arrow ============================\n const innerArrow = arrow ? {\n // true and Object likely\n ...(arrow !== true ? arrow : {})\n } : null;\n\n // ============================ Open ============================\n const [internalOpen, setInternalOpen] = useControlledState(defaultPopupVisible || false, popupVisible);\n const mergedOpen = internalOpen || false;\n\n // ========================== Children ==========================\n const child = React.useMemo(() => {\n const nextChild = typeof children === 'function' ? children({\n open: mergedOpen\n }) : children;\n return React.Children.only(nextChild);\n }, [children, mergedOpen]);\n const originChildProps = child?.props || {};\n\n // Support ref\n const isOpen = useEvent(() => mergedOpen);\n\n // Extract common options for UniqueProvider\n const getUniqueOptions = useEvent((delay = 0) => ({\n popup,\n target: targetEle,\n delay,\n prefixCls,\n popupClassName,\n uniqueContainerClassName,\n uniqueContainerStyle,\n popupStyle,\n popupPlacement,\n builtinPlacements,\n popupAlign,\n zIndex,\n mask,\n maskClosable,\n popupMotion,\n maskMotion,\n arrow: innerArrow,\n getPopupContainer,\n getPopupClassNameFromAlign,\n id\n }));\n\n // Handle controlled state changes for UniqueProvider\n // Only sync to UniqueProvider when it's controlled mode\n // If there is a parentContext, don't call uniqueContext methods\n useLayoutEffect(() => {\n if (uniqueContext && unique && targetEle && !openUncontrolled && !parentContext) {\n if (mergedOpen) {\n uniqueContext.show(getUniqueOptions(mouseEnterDelay), isOpen);\n } else {\n uniqueContext.hide(mouseLeaveDelay);\n }\n }\n }, [mergedOpen, targetEle]);\n const openRef = React.useRef(mergedOpen);\n openRef.current = mergedOpen;\n const lastTriggerRef = React.useRef([]);\n lastTriggerRef.current = [];\n const internalTriggerOpen = useEvent(nextOpen => {\n setInternalOpen(nextOpen);\n\n // Enter or Pointer will both trigger open state change\n // We only need take one to avoid duplicated change event trigger\n // Use `lastTriggerRef` to record last open type\n if ((lastTriggerRef.current[lastTriggerRef.current.length - 1] ?? mergedOpen) !== nextOpen) {\n lastTriggerRef.current.push(nextOpen);\n onOpenChange?.(nextOpen);\n onPopupVisibleChange?.(nextOpen);\n }\n });\n\n // Trigger for delay\n const delayInvoke = useDelay();\n const triggerOpen = (nextOpen, delay = 0) => {\n // If it's controlled mode, always use internal trigger logic\n // UniqueProvider will be synced through useLayoutEffect\n if (popupVisible !== undefined) {\n delayInvoke(() => {\n internalTriggerOpen(nextOpen);\n }, delay);\n return;\n }\n\n // If UniqueContext exists and not controlled, pass delay to Provider instead of handling it internally\n // If there is a parentContext, don't call uniqueContext methods\n if (uniqueContext && unique && openUncontrolled && !parentContext) {\n if (nextOpen) {\n uniqueContext.show(getUniqueOptions(delay), isOpen);\n } else {\n uniqueContext.hide(delay);\n }\n return;\n }\n delayInvoke(() => {\n internalTriggerOpen(nextOpen);\n }, delay);\n };\n\n // ========================== Motion ============================\n const [inMotion, setInMotion] = React.useState(false);\n useLayoutEffect(firstMount => {\n if (!firstMount || mergedOpen) {\n setInMotion(true);\n }\n }, [mergedOpen]);\n const [motionPrepareResolve, setMotionPrepareResolve] = React.useState(null);\n\n // =========================== Align ============================\n const [mousePos, setMousePos] = React.useState(null);\n const setMousePosByEvent = event => {\n setMousePos([event.clientX, event.clientY]);\n };\n const [ready, offsetX, offsetY, offsetR, offsetB, arrowX, arrowY, scaleX, scaleY, alignInfo, onAlign] = useAlign(mergedOpen, popupEle, alignPoint && mousePos !== null ? mousePos : targetEle, popupPlacement, builtinPlacements, popupAlign, onPopupAlign, isMobile);\n const [showActions, hideActions] = useAction(action, showAction, hideAction);\n const clickToShow = showActions.has('click');\n const clickToHide = hideActions.has('click') || hideActions.has('contextMenu');\n const triggerAlign = useEvent(() => {\n if (!inMotion) {\n onAlign();\n }\n });\n const onScroll = () => {\n if (openRef.current && alignPoint && clickToHide) {\n triggerOpen(false);\n }\n };\n useWatch(mergedOpen, targetEle, popupEle, triggerAlign, onScroll);\n useLayoutEffect(() => {\n triggerAlign();\n }, [mousePos, popupPlacement]);\n\n // When no builtinPlacements and popupAlign changed\n useLayoutEffect(() => {\n if (mergedOpen && !builtinPlacements?.[popupPlacement]) {\n triggerAlign();\n }\n }, [JSON.stringify(popupAlign)]);\n const alignedClassName = React.useMemo(() => {\n const baseClassName = getAlignPopupClassName(builtinPlacements, prefixCls, alignInfo, alignPoint);\n return clsx(baseClassName, getPopupClassNameFromAlign?.(alignInfo));\n }, [alignInfo, getPopupClassNameFromAlign, builtinPlacements, prefixCls, alignPoint]);\n\n // ============================ Refs ============================\n React.useImperativeHandle(ref, () => ({\n nativeElement: externalForwardRef.current,\n popupElement: externalPopupRef.current,\n forceAlign: triggerAlign\n }));\n\n // ========================== Stretch ===========================\n const [targetWidth, setTargetWidth] = React.useState(0);\n const [targetHeight, setTargetHeight] = React.useState(0);\n const syncTargetSize = () => {\n if (stretch && targetEle) {\n const rect = targetEle.getBoundingClientRect();\n setTargetWidth(rect.width);\n setTargetHeight(rect.height);\n }\n };\n const onTargetResize = () => {\n syncTargetSize();\n triggerAlign();\n };\n\n // ========================== Motion ============================\n const onVisibleChanged = visible => {\n setInMotion(false);\n onAlign();\n afterOpenChange?.(visible);\n afterPopupVisibleChange?.(visible);\n };\n\n // We will trigger align when motion is in prepare\n const onPrepare = () => new Promise(resolve => {\n syncTargetSize();\n setMotionPrepareResolve(() => resolve);\n });\n useLayoutEffect(() => {\n if (motionPrepareResolve) {\n onAlign();\n motionPrepareResolve();\n setMotionPrepareResolve(null);\n }\n }, [motionPrepareResolve]);\n\n // =========================== Action ===========================\n /**\n * Util wrapper for trigger action\n * @param eventName Listen event name\n * @param nextOpen Next open state after trigger\n * @param delay Delay to trigger open change\n * @param callback Callback if current event need additional action\n * @param ignoreCheck Ignore current event if check return true\n */\n function wrapperAction(eventName, nextOpen, delay, callback, ignoreCheck) {\n cloneProps[eventName] = (event, ...args) => {\n if (!ignoreCheck || !ignoreCheck()) {\n callback?.(event);\n triggerOpen(nextOpen, delay);\n }\n\n // Pass to origin\n originChildProps[eventName]?.(event, ...args);\n };\n }\n\n // ======================= Action: Touch ========================\n const touchToShow = showActions.has('touch');\n const touchToHide = hideActions.has('touch');\n\n /** Used for prevent `hover` event conflict with mobile env */\n const touchedRef = React.useRef(false);\n if (touchToShow || touchToHide) {\n cloneProps.onTouchStart = (...args) => {\n touchedRef.current = true;\n if (openRef.current && touchToHide) {\n triggerOpen(false);\n } else if (!openRef.current && touchToShow) {\n triggerOpen(true);\n }\n\n // Pass to origin\n originChildProps.onTouchStart?.(...args);\n };\n }\n\n // ======================= Action: Click ========================\n if (clickToShow || clickToHide) {\n cloneProps.onClick = (event, ...args) => {\n if (openRef.current && clickToHide) {\n triggerOpen(false);\n } else if (!openRef.current && clickToShow) {\n setMousePosByEvent(event);\n triggerOpen(true);\n }\n\n // Pass to origin\n originChildProps.onClick?.(event, ...args);\n touchedRef.current = false;\n };\n }\n\n // Click to hide is special action since click popup element should not hide\n const onPopupPointerDown = useWinClick(mergedOpen, clickToHide || touchToHide, targetEle, popupEle, mask, maskClosable, inPopupOrChild, triggerOpen);\n\n // ======================= Action: Hover ========================\n const hoverToShow = showActions.has('hover');\n const hoverToHide = hideActions.has('hover');\n let onPopupMouseEnter;\n let onPopupMouseLeave;\n const ignoreMouseTrigger = () => {\n return touchedRef.current;\n };\n if (hoverToShow) {\n const onMouseEnterCallback = event => {\n setMousePosByEvent(event);\n };\n\n // Compatible with old browser which not support pointer event\n wrapperAction('onMouseEnter', true, mouseEnterDelay, onMouseEnterCallback, ignoreMouseTrigger);\n wrapperAction('onPointerEnter', true, mouseEnterDelay, onMouseEnterCallback, ignoreMouseTrigger);\n onPopupMouseEnter = event => {\n // Only trigger re-open when popup is visible\n if ((mergedOpen || inMotion) && popupEle?.contains(event.target)) {\n triggerOpen(true, mouseEnterDelay);\n }\n };\n\n // Align Point\n if (alignPoint) {\n cloneProps.onMouseMove = event => {\n originChildProps.onMouseMove?.(event);\n };\n }\n }\n if (hoverToHide) {\n wrapperAction('onMouseLeave', false, mouseLeaveDelay, undefined, ignoreMouseTrigger);\n wrapperAction('onPointerLeave', false, mouseLeaveDelay, undefined, ignoreMouseTrigger);\n onPopupMouseLeave = () => {\n triggerOpen(false, mouseLeaveDelay);\n };\n }\n\n // ======================= Action: Focus ========================\n if (showActions.has('focus')) {\n wrapperAction('onFocus', true, focusDelay);\n }\n if (hideActions.has('focus')) {\n wrapperAction('onBlur', false, blurDelay);\n }\n\n // ==================== Action: ContextMenu =====================\n if (showActions.has('contextMenu')) {\n cloneProps.onContextMenu = (event, ...args) => {\n if (openRef.current && hideActions.has('contextMenu')) {\n triggerOpen(false);\n } else {\n setMousePosByEvent(event);\n triggerOpen(true);\n }\n event.preventDefault();\n\n // Pass to origin\n originChildProps.onContextMenu?.(event, ...args);\n };\n }\n\n // ============================ Perf ============================\n const rendedRef = React.useRef(false);\n rendedRef.current ||= forceRender || mergedOpen || inMotion;\n\n // =========================== Render ===========================\n const mergedChildrenProps = {\n ...originChildProps,\n ...cloneProps\n };\n\n // Pass props into cloneProps for nest usage\n const passedProps = {};\n const passedEventList = ['onContextMenu', 'onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur'];\n passedEventList.forEach(eventName => {\n if (restProps[eventName]) {\n passedProps[eventName] = (...args) => {\n mergedChildrenProps[eventName]?.(...args);\n restProps[eventName](...args);\n };\n }\n });\n const arrowPos = {\n x: arrowX,\n y: arrowY\n };\n\n // Child Node\n const triggerNode = /*#__PURE__*/React.cloneElement(child, {\n ...mergedChildrenProps,\n ...passedProps\n });\n\n // Render\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ResizeObserver, {\n disabled: !mergedOpen,\n ref: setTargetRef,\n onResize: onTargetResize\n }, triggerNode), rendedRef.current && (!uniqueContext || !unique) && /*#__PURE__*/React.createElement(TriggerContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(Popup, {\n portal: PortalComponent,\n ref: setPopupRef,\n prefixCls: prefixCls,\n popup: popup,\n className: clsx(popupClassName, !isMobile && alignedClassName),\n style: popupStyle,\n target: targetEle,\n onMouseEnter: onPopupMouseEnter,\n onMouseLeave: onPopupMouseLeave\n // https://github.com/ant-design/ant-design/issues/43924\n ,\n onPointerEnter: onPopupMouseEnter,\n zIndex: zIndex\n // Open\n ,\n open: mergedOpen,\n keepDom: inMotion,\n fresh: fresh\n // Click\n ,\n onClick: onPopupClick,\n onPointerDownCapture: onPopupPointerDown\n // Mask\n ,\n mask: mask\n // Motion\n ,\n motion: popupMotion,\n maskMotion: maskMotion,\n onVisibleChanged: onVisibleChanged,\n onPrepare: onPrepare\n // Portal\n ,\n forceRender: forceRender,\n autoDestroy: mergedAutoDestroy,\n getPopupContainer: getPopupContainer\n // Arrow\n ,\n align: alignInfo,\n arrow: innerArrow,\n arrowPos: arrowPos\n // Align\n ,\n ready: ready,\n offsetX: offsetX,\n offsetY: offsetY,\n offsetR: offsetR,\n offsetB: offsetB,\n onAlign: triggerAlign\n // Stretch\n ,\n stretch: stretch,\n targetWidth: targetWidth / scaleX,\n targetHeight: targetHeight / scaleY\n // Mobile\n ,\n mobile: mobile\n })));\n });\n if (process.env.NODE_ENV !== 'production') {\n Trigger.displayName = 'Trigger';\n }\n return Trigger;\n}\nexport default generateTrigger(Portal);","import useLayoutEffect from \"@rc-component/util/es/hooks/useLayoutEffect\";\nimport { collectScroller, getWin } from \"../util\";\nexport default function useWatch(open, target, popup, onAlign, onScroll) {\n useLayoutEffect(() => {\n if (open && target && popup) {\n const targetElement = target;\n const popupElement = popup;\n const targetScrollList = collectScroller(targetElement);\n const popupScrollList = collectScroller(popupElement);\n const win = getWin(popupElement);\n const mergedList = new Set([win, ...targetScrollList, ...popupScrollList]);\n function notifyScroll() {\n onAlign();\n onScroll();\n }\n mergedList.forEach(scroller => {\n scroller.addEventListener('scroll', notifyScroll, {\n passive: true\n });\n });\n win.addEventListener('resize', notifyScroll, {\n passive: true\n });\n\n // First time always do align\n onAlign();\n return () => {\n mergedList.forEach(scroller => {\n scroller.removeEventListener('scroll', notifyScroll);\n win.removeEventListener('resize', notifyScroll);\n });\n };\n }\n }, [open, target, popup]);\n}","import { getShadowRoot } from \"@rc-component/util/es/Dom/shadow\";\nimport { warning } from \"@rc-component/util/es/warning\";\nimport * as React from 'react';\nimport { getWin } from \"../util\";\n\n/**\n * Close if click on the window.\n * Return the function that click on the Popup element.\n */\nexport default function useWinClick(open, clickToHide, targetEle, popupEle, mask, maskClosable, inPopupOrChild, triggerOpen) {\n const openRef = React.useRef(open);\n openRef.current = open;\n const popupPointerDownRef = React.useRef(false);\n\n // Click to hide is special action since click popup element should not hide\n React.useEffect(() => {\n if (clickToHide && popupEle && (!mask || maskClosable)) {\n const onPointerDown = () => {\n popupPointerDownRef.current = false;\n };\n const onTriggerClose = e => {\n if (openRef.current && !inPopupOrChild(e.composedPath?.()?.[0] || e.target) && !popupPointerDownRef.current) {\n triggerOpen(false);\n }\n };\n const win = getWin(popupEle);\n win.addEventListener('pointerdown', onPointerDown, true);\n win.addEventListener('mousedown', onTriggerClose, true);\n win.addEventListener('contextmenu', onTriggerClose, true);\n\n // shadow root\n const targetShadowRoot = getShadowRoot(targetEle);\n if (targetShadowRoot) {\n targetShadowRoot.addEventListener('mousedown', onTriggerClose, true);\n targetShadowRoot.addEventListener('contextmenu', onTriggerClose, true);\n }\n\n // Warning if target and popup not in same root\n if (process.env.NODE_ENV !== 'production' && targetEle) {\n const targetRoot = targetEle.getRootNode?.();\n const popupRoot = popupEle.getRootNode?.();\n warning(targetRoot === popupRoot, `trigger element and popup element should in same shadow root.`);\n }\n return () => {\n win.removeEventListener('pointerdown', onPointerDown, true);\n win.removeEventListener('mousedown', onTriggerClose, true);\n win.removeEventListener('contextmenu', onTriggerClose, true);\n if (targetShadowRoot) {\n targetShadowRoot.removeEventListener('mousedown', onTriggerClose, true);\n targetShadowRoot.removeEventListener('contextmenu', onTriggerClose, true);\n }\n };\n }\n }, [clickToHide, targetEle, popupEle, mask, maskClosable]);\n function onPopupPointerDown() {\n popupPointerDownRef.current = true;\n }\n return onPopupPointerDown;\n}","import * as React from 'react';\nconst OrderContext = /*#__PURE__*/React.createContext(null);\nexport default OrderContext;","export let inline = false;\nexport function inlineMock(nextInline) {\n if (typeof nextInline === 'boolean') {\n inline = nextInline;\n }\n return inline;\n}","import * as React from 'react';\nimport useLayoutEffect from \"@rc-component/util/es/hooks/useLayoutEffect\";\nimport canUseDom from \"@rc-component/util/es/Dom/canUseDom\";\nimport OrderContext from \"./Context\";\nconst EMPTY_LIST = [];\n\n/**\n * Will add `div` to document. Nest call will keep order\n * @param render Render DOM in document\n */\nexport default function useDom(render, debug) {\n const [ele] = React.useState(() => {\n if (!canUseDom()) {\n return null;\n }\n const defaultEle = document.createElement('div');\n if (process.env.NODE_ENV !== 'production' && debug) {\n defaultEle.setAttribute('data-debug', debug);\n }\n return defaultEle;\n });\n\n // ========================== Order ==========================\n const appendedRef = React.useRef(false);\n const queueCreate = React.useContext(OrderContext);\n const [queue, setQueue] = React.useState(EMPTY_LIST);\n const mergedQueueCreate = queueCreate || (appendedRef.current ? undefined : appendFn => {\n setQueue(origin => {\n const newQueue = [appendFn, ...origin];\n return newQueue;\n });\n });\n\n // =========================== DOM ===========================\n function append() {\n if (!ele.parentElement) {\n document.body.appendChild(ele);\n }\n appendedRef.current = true;\n }\n function cleanup() {\n ele.parentElement?.removeChild(ele);\n appendedRef.current = false;\n }\n useLayoutEffect(() => {\n if (render) {\n if (queueCreate) {\n queueCreate(append);\n } else {\n append();\n }\n } else {\n cleanup();\n }\n return cleanup;\n }, [render]);\n useLayoutEffect(() => {\n if (queue.length) {\n queue.forEach(appendFn => appendFn());\n setQueue(EMPTY_LIST);\n }\n }, [queue]);\n return [ele, mergedQueueCreate];\n}","import * as React from 'react';\nimport { updateCSS, removeCSS } from \"@rc-component/util/es/Dom/dynamicCSS\";\nimport useLayoutEffect from \"@rc-component/util/es/hooks/useLayoutEffect\";\nimport { getTargetScrollBarSize } from \"@rc-component/util/es/getScrollBarSize\";\nimport { isBodyOverflowing } from \"./util\";\nconst UNIQUE_ID = `rc-util-locker-${Date.now()}`;\nlet uuid = 0;\nexport default function useScrollLocker(lock) {\n const mergedLock = !!lock;\n const [id] = React.useState(() => {\n uuid += 1;\n return `${UNIQUE_ID}_${uuid}`;\n });\n useLayoutEffect(() => {\n if (mergedLock) {\n const scrollbarSize = getTargetScrollBarSize(document.body).width;\n const isOverflow = isBodyOverflowing();\n updateCSS(`\nhtml body {\n overflow-y: hidden;\n ${isOverflow ? `width: calc(100% - ${scrollbarSize}px);` : ''}\n}`, id);\n } else {\n removeCSS(id);\n }\n return () => {\n removeCSS(id);\n };\n }, [mergedLock, id]);\n}","/**\n * Test usage export. Do not use in your production\n */\nexport function isBodyOverflowing() {\n return document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) && window.innerWidth > document.body.offsetWidth;\n}","import canUseDom from \"@rc-component/util/es/Dom/canUseDom\";\nimport { getNodeRef, supportRef, useComposeRef } from \"@rc-component/util/es/ref\";\nimport warning from \"@rc-component/util/es/warning\";\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport OrderContext from \"./Context\";\nimport { inlineMock } from \"./mock\";\nimport useDom from \"./useDom\";\nimport useScrollLocker from \"./useScrollLocker\";\nconst getPortalContainer = getContainer => {\n if (getContainer === false) {\n return false;\n }\n if (!canUseDom() || !getContainer) {\n return null;\n }\n if (typeof getContainer === 'string') {\n return document.querySelector(getContainer);\n }\n if (typeof getContainer === 'function') {\n return getContainer();\n }\n return getContainer;\n};\nconst Portal = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n open,\n autoLock,\n getContainer,\n debug,\n autoDestroy = true,\n children\n } = props;\n const [shouldRender, setShouldRender] = React.useState(open);\n const mergedRender = shouldRender || open;\n\n // ========================= Warning =========================\n if (process.env.NODE_ENV !== 'production') {\n warning(canUseDom() || !open, `Portal only work in client side. Please call 'useEffect' to show Portal instead default render in SSR.`);\n }\n\n // ====================== Should Render ======================\n React.useEffect(() => {\n if (autoDestroy || open) {\n setShouldRender(open);\n }\n }, [open, autoDestroy]);\n\n // ======================== Container ========================\n const [innerContainer, setInnerContainer] = React.useState(() => getPortalContainer(getContainer));\n React.useEffect(() => {\n const customizeContainer = getPortalContainer(getContainer);\n\n // Tell component that we check this in effect which is safe to be `null`\n setInnerContainer(customizeContainer ?? null);\n });\n const [defaultContainer, queueCreate] = useDom(mergedRender && !innerContainer, debug);\n const mergedContainer = innerContainer ?? defaultContainer;\n\n // ========================= Locker ==========================\n useScrollLocker(autoLock && open && canUseDom() && (mergedContainer === defaultContainer || mergedContainer === document.body));\n\n // =========================== Ref ===========================\n let childRef = null;\n if (children && supportRef(children) && ref) {\n childRef = getNodeRef(children);\n }\n const mergedRef = useComposeRef(childRef, ref);\n\n // ========================= Render ==========================\n // Do not render when nothing need render\n // When innerContainer is `undefined`, it may not ready since user use ref in the same render\n if (!mergedRender || !canUseDom() || innerContainer === undefined) {\n return null;\n }\n\n // Render inline\n const renderInline = mergedContainer === false || inlineMock();\n let reffedChildren = children;\n if (ref) {\n reffedChildren = /*#__PURE__*/React.cloneElement(children, {\n ref: mergedRef\n });\n }\n return /*#__PURE__*/React.createElement(OrderContext.Provider, {\n value: queueCreate\n }, renderInline ? reffedChildren : /*#__PURE__*/createPortal(reffedChildren, mergedContainer));\n});\nif (process.env.NODE_ENV !== 'production') {\n Portal.displayName = 'Portal';\n}\nexport default Portal;","import Portal from \"./Portal\";\nimport { inlineMock } from \"./mock\";\nexport { inlineMock };\nexport default Portal;","import * as React from 'react';\nexport default function useMemo(getValue, condition, shouldUpdate) {\n const cacheRef = React.useRef({});\n if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {\n cacheRef.current.value = getValue();\n cacheRef.current.condition = condition;\n }\n return cacheRef.current.value;\n}","export function isDOM(node) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Element\n // Since XULElement is also subclass of Element, we only need HTMLElement and SVGElement\n return node instanceof HTMLElement || node instanceof SVGElement;\n}\n\n/**\n * Retrieves a DOM node via a ref, and does not invoke `findDOMNode`.\n */\nexport function getDOM(node) {\n if (node && typeof node === 'object' && isDOM(node.nativeElement)) {\n return node.nativeElement;\n }\n if (isDOM(node)) {\n return node;\n }\n return null;\n}\n\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\nexport default function findDOMNode(node) {\n const domNode = getDOM(node);\n if (domNode) {\n return domNode;\n }\n if (node && typeof node === 'object' && 'current' in node) {\n const refDomNode = getDOM(node.current);\n if (refDomNode) {\n return refDomNode;\n }\n }\n return null;\n}","import * as React from 'react';\n/**\n * Same as React.useState but `setState` accept `ignoreDestroy` param to not to setState after destroyed.\n * We do not make this auto is to avoid real memory leak.\n * Developer should confirm it's safe to ignore themselves.\n */\nexport default function useSafeState(defaultValue) {\n const destroyRef = React.useRef(false);\n const [value, setValue] = React.useState(defaultValue);\n React.useEffect(() => {\n destroyRef.current = false;\n return () => {\n destroyRef.current = true;\n };\n }, []);\n function safeSetState(updater, ignoreDestroy) {\n if (ignoreDestroy && destroyRef.current) {\n return;\n }\n setValue(updater);\n }\n return [value, safeSetState];\n}","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","/* eslint-disable @typescript-eslint/ban-types */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport * as React from 'react';\nfunction useEvent(callback) {\n const fnRef = React.useRef(callback);\n fnRef.current = callback;\n const memoFn = React.useCallback((...args) => fnRef.current?.(...args), []);\n return memoFn;\n}\nexport default useEvent;","import * as React from 'react';\nimport canUseDom from \"../Dom/canUseDom\";\n\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\nconst useInternalLayoutEffect = process.env.NODE_ENV !== 'test' && canUseDom() ? React.useLayoutEffect : React.useEffect;\nconst useLayoutEffect = (callback, deps) => {\n const firstMountRef = React.useRef(true);\n useInternalLayoutEffect(() => {\n return callback(firstMountRef.current);\n }, deps);\n\n // We tell react that first mount has passed\n useInternalLayoutEffect(() => {\n firstMountRef.current = false;\n return () => {\n firstMountRef.current = true;\n };\n }, []);\n};\nexport const useLayoutUpdateEffect = (callback, deps) => {\n useLayoutEffect(firstMount => {\n if (!firstMount) {\n return callback();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\nexport default useLayoutEffect;","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n // Use native if support\n if (root.contains) {\n return root.contains(n);\n }\n\n // `document.contains` not support with IE11\n let node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}","export default function get(entity, path) {\n let current = entity;\n for (let i = 0; i < path.length; i += 1) {\n if (current === null || current === undefined) {\n return undefined;\n }\n current = current[path[i]];\n }\n return current;\n}","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import isFragment from \"../React/isFragment\";\nimport React from 'react';\nexport default function toArray(children, option = {}) {\n let ret = [];\n React.Children.forEach(children, child => {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if (isFragment(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n return ret;\n}","let raf = callback => +setTimeout(callback, 16);\nlet caf = num => clearTimeout(num);\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = callback => window.requestAnimationFrame(callback);\n caf = handle => window.cancelAnimationFrame(handle);\n}\nlet rafUUID = 0;\nconst rafIds = new Map();\nfunction cleanup(id) {\n rafIds.delete(id);\n}\nconst wrapperRaf = (callback, times = 1) => {\n rafUUID += 1;\n const id = rafUUID;\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id);\n\n // Trigger\n callback();\n } else {\n // Next raf\n const realId = raf(() => {\n callRef(leftTimes - 1);\n });\n\n // Bind real raf id\n rafIds.set(id, realId);\n }\n }\n callRef(times);\n return id;\n};\nwrapperRaf.cancel = id => {\n const realId = rafIds.get(id);\n cleanup(id);\n return caf(realId);\n};\nif (process.env.NODE_ENV !== 'production') {\n wrapperRaf.ids = () => rafIds;\n}\nexport default wrapperRaf;","export default (element => {\n if (!element) {\n return false;\n }\n if (element instanceof Element) {\n if (element.offsetParent) {\n return true;\n }\n if (element.getBBox) {\n const {\n width,\n height\n } = element.getBBox();\n if (width || height) {\n return true;\n }\n }\n if (element.getBoundingClientRect) {\n const {\n width,\n height\n } = element.getBoundingClientRect();\n if (width || height) {\n return true;\n }\n }\n }\n return false;\n});","import _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nvar AbstractCalculator = /*#__PURE__*/_createClass(function AbstractCalculator() {\n _classCallCheck(this, AbstractCalculator);\n});\nexport default AbstractCalculator;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport AbstractCalculator from \"./calculator\";\nvar CALC_UNIT = 'CALC_UNIT';\nvar regexp = new RegExp(CALC_UNIT, 'g');\nfunction unit(value) {\n if (typeof value === 'number') {\n return \"\".concat(value).concat(CALC_UNIT);\n }\n return value;\n}\nvar CSSCalculator = /*#__PURE__*/function (_AbstractCalculator) {\n _inherits(CSSCalculator, _AbstractCalculator);\n var _super = _createSuper(CSSCalculator);\n function CSSCalculator(num, unitlessCssVar) {\n var _this;\n _classCallCheck(this, CSSCalculator);\n _this = _super.call(this);\n _defineProperty(_assertThisInitialized(_this), \"result\", '');\n _defineProperty(_assertThisInitialized(_this), \"unitlessCssVar\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"lowPriority\", void 0);\n var numType = _typeof(num);\n _this.unitlessCssVar = unitlessCssVar;\n if (num instanceof CSSCalculator) {\n _this.result = \"(\".concat(num.result, \")\");\n } else if (numType === 'number') {\n _this.result = unit(num);\n } else if (numType === 'string') {\n _this.result = num;\n }\n return _this;\n }\n _createClass(CSSCalculator, [{\n key: \"add\",\n value: function add(num) {\n if (num instanceof CSSCalculator) {\n this.result = \"\".concat(this.result, \" + \").concat(num.getResult());\n } else if (typeof num === 'number' || typeof num === 'string') {\n this.result = \"\".concat(this.result, \" + \").concat(unit(num));\n }\n this.lowPriority = true;\n return this;\n }\n }, {\n key: \"sub\",\n value: function sub(num) {\n if (num instanceof CSSCalculator) {\n this.result = \"\".concat(this.result, \" - \").concat(num.getResult());\n } else if (typeof num === 'number' || typeof num === 'string') {\n this.result = \"\".concat(this.result, \" - \").concat(unit(num));\n }\n this.lowPriority = true;\n return this;\n }\n }, {\n key: \"mul\",\n value: function mul(num) {\n if (this.lowPriority) {\n this.result = \"(\".concat(this.result, \")\");\n }\n if (num instanceof CSSCalculator) {\n this.result = \"\".concat(this.result, \" * \").concat(num.getResult(true));\n } else if (typeof num === 'number' || typeof num === 'string') {\n this.result = \"\".concat(this.result, \" * \").concat(num);\n }\n this.lowPriority = false;\n return this;\n }\n }, {\n key: \"div\",\n value: function div(num) {\n if (this.lowPriority) {\n this.result = \"(\".concat(this.result, \")\");\n }\n if (num instanceof CSSCalculator) {\n this.result = \"\".concat(this.result, \" / \").concat(num.getResult(true));\n } else if (typeof num === 'number' || typeof num === 'string') {\n this.result = \"\".concat(this.result, \" / \").concat(num);\n }\n this.lowPriority = false;\n return this;\n }\n }, {\n key: \"getResult\",\n value: function getResult(force) {\n return this.lowPriority || force ? \"(\".concat(this.result, \")\") : this.result;\n }\n }, {\n key: \"equal\",\n value: function equal(options) {\n var _this2 = this;\n var _ref = options || {},\n cssUnit = _ref.unit;\n var mergedUnit = true;\n if (typeof cssUnit === 'boolean') {\n mergedUnit = cssUnit;\n } else if (Array.from(this.unitlessCssVar).some(function (cssVar) {\n return _this2.result.includes(cssVar);\n })) {\n mergedUnit = false;\n }\n this.result = this.result.replace(regexp, mergedUnit ? 'px' : '');\n if (typeof this.lowPriority !== 'undefined') {\n return \"calc(\".concat(this.result, \")\");\n }\n return this.result;\n }\n }]);\n return CSSCalculator;\n}(AbstractCalculator);\nexport { CSSCalculator as default };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport AbstractCalculator from \"./calculator\";\nvar NumCalculator = /*#__PURE__*/function (_AbstractCalculator) {\n _inherits(NumCalculator, _AbstractCalculator);\n var _super = _createSuper(NumCalculator);\n function NumCalculator(num) {\n var _this;\n _classCallCheck(this, NumCalculator);\n _this = _super.call(this);\n _defineProperty(_assertThisInitialized(_this), \"result\", 0);\n if (num instanceof NumCalculator) {\n _this.result = num.result;\n } else if (typeof num === 'number') {\n _this.result = num;\n }\n return _this;\n }\n _createClass(NumCalculator, [{\n key: \"add\",\n value: function add(num) {\n if (num instanceof NumCalculator) {\n this.result += num.result;\n } else if (typeof num === 'number') {\n this.result += num;\n }\n return this;\n }\n }, {\n key: \"sub\",\n value: function sub(num) {\n if (num instanceof NumCalculator) {\n this.result -= num.result;\n } else if (typeof num === 'number') {\n this.result -= num;\n }\n return this;\n }\n }, {\n key: \"mul\",\n value: function mul(num) {\n if (num instanceof NumCalculator) {\n this.result *= num.result;\n } else if (typeof num === 'number') {\n this.result *= num;\n }\n return this;\n }\n }, {\n key: \"div\",\n value: function div(num) {\n if (num instanceof NumCalculator) {\n this.result /= num.result;\n } else if (typeof num === 'number') {\n this.result /= num;\n }\n return this;\n }\n }, {\n key: \"equal\",\n value: function equal() {\n return this.result;\n }\n }]);\n return NumCalculator;\n}(AbstractCalculator);\nexport default NumCalculator;","import CSSCalculator from \"./CSSCalculator\";\nimport NumCalculator from \"./NumCalculator\";\nvar genCalc = function genCalc(type, unitlessCssVar) {\n var Calculator = type === 'css' ? CSSCalculator : NumCalculator;\n return function (num) {\n return new Calculator(num, unitlessCssVar);\n };\n};\nexport default genCalc;","var getCompVarPrefix = function getCompVarPrefix(component, prefix) {\n return \"\".concat([prefix, component.replace(/([A-Z]+)([A-Z][a-z]+)/g, '$1-$2').replace(/([a-z])([A-Z])/g, '$1-$2')].filter(Boolean).join('-'));\n};\nexport default getCompVarPrefix;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { warning } from '@rc-component/util';\nfunction getComponentToken(component, token, defaultToken, options) {\n var customToken = _objectSpread({}, token[component]);\n if (options !== null && options !== void 0 && options.deprecatedTokens) {\n var deprecatedTokens = options.deprecatedTokens;\n deprecatedTokens.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n oldTokenKey = _ref2[0],\n newTokenKey = _ref2[1];\n if (process.env.NODE_ENV !== 'production') {\n warning(!(customToken !== null && customToken !== void 0 && customToken[oldTokenKey]), \"Component Token `\".concat(String(oldTokenKey), \"` of \").concat(String(component), \" is deprecated. Please use `\").concat(String(newTokenKey), \"` instead.\"));\n }\n\n // Should wrap with `if` clause, or there will be `undefined` in object.\n if (customToken !== null && customToken !== void 0 && customToken[oldTokenKey] || customToken !== null && customToken !== void 0 && customToken[newTokenKey]) {\n var _customToken$newToken;\n (_customToken$newToken = customToken[newTokenKey]) !== null && _customToken$newToken !== void 0 ? _customToken$newToken : customToken[newTokenKey] = customToken === null || customToken === void 0 ? void 0 : customToken[oldTokenKey];\n }\n });\n }\n var mergedToken = _objectSpread(_objectSpread({}, defaultToken), customToken);\n\n // Remove same value as global token to minimize size\n Object.keys(mergedToken).forEach(function (key) {\n if (mergedToken[key] === token[key]) {\n delete mergedToken[key];\n }\n });\n return mergedToken;\n}\nexport default getComponentToken;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar enableStatistic = process.env.NODE_ENV !== 'production' || typeof CSSINJS_STATISTIC !== 'undefined';\nvar recording = true;\n\n/**\n * This function will do as `Object.assign` in production. But will use Object.defineProperty:get to\n * pass all value access in development. To support statistic field usage with alias token.\n */\nexport function merge() {\n for (var _len = arguments.length, objs = new Array(_len), _key = 0; _key < _len; _key++) {\n objs[_key] = arguments[_key];\n }\n /* istanbul ignore next */\n if (!enableStatistic) {\n return Object.assign.apply(Object, [{}].concat(objs));\n }\n recording = false;\n var ret = {};\n objs.forEach(function (obj) {\n if (_typeof(obj) !== 'object') {\n return;\n }\n var keys = Object.keys(obj);\n keys.forEach(function (key) {\n Object.defineProperty(ret, key, {\n configurable: true,\n enumerable: true,\n get: function get() {\n return obj[key];\n }\n });\n });\n });\n recording = true;\n return ret;\n}\n\n/** @internal Internal Usage. Not use in your production. */\nexport var statistic = {};\n\n/** @internal Internal Usage. Not use in your production. */\nexport var _statistic_build_ = {};\n\n/* istanbul ignore next */\nfunction noop() {}\n\n/** Statistic token usage case. Should use `merge` function if you do not want spread record. */\nvar statisticToken = function statisticToken(token) {\n var tokenKeys;\n var proxy = token;\n var flush = noop;\n if (enableStatistic && typeof Proxy !== 'undefined') {\n tokenKeys = new Set();\n proxy = new Proxy(token, {\n get: function get(obj, prop) {\n if (recording) {\n var _tokenKeys;\n (_tokenKeys = tokenKeys) === null || _tokenKeys === void 0 || _tokenKeys.add(prop);\n }\n return obj[prop];\n }\n });\n flush = function flush(componentName, componentToken) {\n var _statistic$componentN;\n statistic[componentName] = {\n global: Array.from(tokenKeys),\n component: _objectSpread(_objectSpread({}, (_statistic$componentN = statistic[componentName]) === null || _statistic$componentN === void 0 ? void 0 : _statistic$componentN.component), componentToken)\n };\n };\n }\n return {\n token: proxy,\n keys: tokenKeys,\n flush: flush\n };\n};\nexport default statisticToken;","import { merge as mergeToken } from \"./statistic\";\nfunction getDefaultComponentToken(component, token, getDefaultToken) {\n if (typeof getDefaultToken === 'function') {\n var _token$component;\n return getDefaultToken(mergeToken(token, (_token$component = token[component]) !== null && _token$component !== void 0 ? _token$component : {}));\n }\n return getDefaultToken !== null && getDefaultToken !== void 0 ? getDefaultToken : {};\n}\nexport default getDefaultComponentToken;","import { unit } from '@ant-design/cssinjs';\nfunction genMaxMin(type) {\n if (type === 'js') {\n return {\n max: Math.max,\n min: Math.min\n };\n }\n return {\n max: function max() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return \"max(\".concat(args.map(function (value) {\n return unit(value);\n }).join(','), \")\");\n },\n min: function min() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return \"min(\".concat(args.map(function (value) {\n return unit(value);\n }).join(','), \")\");\n }\n };\n}\nexport default genMaxMin;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport React from 'react';\nvar BEAT_LIMIT = 1000 * 60 * 10;\n\n/**\n * A helper class to map keys to values.\n * It supports both primitive keys and object keys.\n */\nvar ArrayKeyMap = /*#__PURE__*/function () {\n function ArrayKeyMap() {\n _classCallCheck(this, ArrayKeyMap);\n _defineProperty(this, \"map\", new Map());\n // Use WeakMap to avoid memory leak\n _defineProperty(this, \"objectIDMap\", new WeakMap());\n _defineProperty(this, \"nextID\", 0);\n _defineProperty(this, \"lastAccessBeat\", new Map());\n // We will clean up the cache when reach the limit\n _defineProperty(this, \"accessBeat\", 0);\n }\n _createClass(ArrayKeyMap, [{\n key: \"set\",\n value: function set(keys, value) {\n // New set will trigger clear\n this.clear();\n\n // Set logic\n var compositeKey = this.getCompositeKey(keys);\n this.map.set(compositeKey, value);\n this.lastAccessBeat.set(compositeKey, Date.now());\n }\n }, {\n key: \"get\",\n value: function get(keys) {\n var compositeKey = this.getCompositeKey(keys);\n var cache = this.map.get(compositeKey);\n this.lastAccessBeat.set(compositeKey, Date.now());\n this.accessBeat += 1;\n return cache;\n }\n }, {\n key: \"getCompositeKey\",\n value: function getCompositeKey(keys) {\n var _this = this;\n var ids = keys.map(function (key) {\n if (key && _typeof(key) === 'object') {\n return \"obj_\".concat(_this.getObjectID(key));\n }\n return \"\".concat(_typeof(key), \"_\").concat(key);\n });\n return ids.join('|');\n }\n }, {\n key: \"getObjectID\",\n value: function getObjectID(obj) {\n if (this.objectIDMap.has(obj)) {\n return this.objectIDMap.get(obj);\n }\n var id = this.nextID;\n this.objectIDMap.set(obj, id);\n this.nextID += 1;\n return id;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var _this2 = this;\n if (this.accessBeat > 10000) {\n var now = Date.now();\n this.lastAccessBeat.forEach(function (beat, key) {\n if (now - beat > BEAT_LIMIT) {\n _this2.map.delete(key);\n _this2.lastAccessBeat.delete(key);\n }\n });\n this.accessBeat = 0;\n }\n }\n }]);\n return ArrayKeyMap;\n}();\nvar uniqueMap = new ArrayKeyMap();\n\n/**\n * Like `useMemo`, but this hook result will be shared across all instances.\n */\nfunction useUniqueMemo(memoFn, deps) {\n return React.useMemo(function () {\n var cachedValue = uniqueMap.get(deps);\n if (cachedValue) {\n return cachedValue;\n }\n var newValue = memoFn();\n uniqueMap.set(deps, newValue);\n return newValue;\n }, deps);\n}\nexport default useUniqueMemo;","/**\n * Provide a default hook since not everyone needs to config this.\n */\nvar useDefaultCSP = function useDefaultCSP() {\n return {};\n};\nexport default useDefaultCSP;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useMemo } from 'react';\nimport { token2CSSVar, useCSSVarRegister, useStyleRegister } from '@ant-design/cssinjs';\nimport genCalc from \"./calc\";\nimport getCompVarPrefix from \"./getCompVarPrefix\";\nimport getComponentToken from \"./getComponentToken\";\nimport getDefaultComponentToken from \"./getDefaultComponentToken\";\nimport genMaxMin from \"./maxmin\";\nimport statisticToken, { merge as mergeToken } from \"./statistic\";\nimport useUniqueMemo from \"../_util/hooks/useUniqueMemo\";\nimport useDefaultCSP from \"../hooks/useCSP\";\nfunction genStyleUtils(config) {\n // Dependency inversion for preparing basic config.\n var _config$useCSP = config.useCSP,\n useCSP = _config$useCSP === void 0 ? useDefaultCSP : _config$useCSP,\n useToken = config.useToken,\n usePrefix = config.usePrefix,\n getResetStyles = config.getResetStyles,\n getCommonStyle = config.getCommonStyle,\n getCompUnitless = config.getCompUnitless;\n function genStyleHooks(component, styleFn, getDefaultToken, options) {\n var componentName = Array.isArray(component) ? component[0] : component;\n function prefixToken(key) {\n return \"\".concat(String(componentName)).concat(key.slice(0, 1).toUpperCase()).concat(key.slice(1));\n }\n\n // Fill unitless\n var originUnitless = (options === null || options === void 0 ? void 0 : options.unitless) || {};\n var originCompUnitless = typeof getCompUnitless === 'function' ? getCompUnitless(component) : {};\n var compUnitless = _objectSpread(_objectSpread({}, originCompUnitless), {}, _defineProperty({}, prefixToken('zIndexPopup'), true));\n Object.keys(originUnitless).forEach(function (key) {\n compUnitless[prefixToken(key)] = originUnitless[key];\n });\n\n // Options\n var mergedOptions = _objectSpread(_objectSpread({}, options), {}, {\n unitless: compUnitless,\n prefixToken: prefixToken\n });\n\n // Hooks\n var useStyle = genComponentStyleHook(component, styleFn, getDefaultToken, mergedOptions);\n var useCSSVar = genCSSVarRegister(componentName, getDefaultToken, mergedOptions);\n return function (prefixCls) {\n var rootCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : prefixCls;\n var hashId = useStyle(prefixCls, rootCls);\n var cssVarCls = useCSSVar(rootCls);\n return [hashId, cssVarCls];\n };\n }\n function genCSSVarRegister(component, getDefaultToken, options) {\n var compUnitless = options.unitless,\n prefixToken = options.prefixToken,\n ignore = options.ignore;\n return function (rootCls) {\n var _useToken = useToken(),\n cssVar = _useToken.cssVar,\n realToken = _useToken.realToken;\n useCSSVarRegister({\n path: [component],\n prefix: cssVar.prefix,\n key: cssVar.key,\n unitless: compUnitless,\n ignore: ignore,\n token: realToken,\n scope: rootCls\n }, function () {\n var defaultToken = getDefaultComponentToken(component, realToken, getDefaultToken);\n var componentToken = getComponentToken(component, realToken, defaultToken, {\n deprecatedTokens: options === null || options === void 0 ? void 0 : options.deprecatedTokens\n });\n if (defaultToken) {\n Object.keys(defaultToken).forEach(function (key) {\n componentToken[prefixToken(key)] = componentToken[key];\n delete componentToken[key];\n });\n }\n return componentToken;\n });\n return cssVar === null || cssVar === void 0 ? void 0 : cssVar.key;\n };\n }\n function genComponentStyleHook(componentName, styleFn, getDefaultToken) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var cells = Array.isArray(componentName) ? componentName : [componentName, componentName];\n var _cells = _slicedToArray(cells, 1),\n component = _cells[0];\n var concatComponent = cells.join('-');\n var mergedLayer = config.layer || {\n name: 'antd'\n };\n\n // Return new style hook\n return function (prefixCls) {\n var rootCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : prefixCls;\n var _useToken2 = useToken(),\n theme = _useToken2.theme,\n realToken = _useToken2.realToken,\n hashId = _useToken2.hashId,\n token = _useToken2.token,\n cssVar = _useToken2.cssVar,\n zeroRuntime = _useToken2.zeroRuntime;\n\n // Update of `disabledRuntimeStyle` would cause React hook error, so memoized it and never update.\n var memoizedZeroRuntime = useMemo(function () {\n return zeroRuntime;\n }, []);\n if (memoizedZeroRuntime) {\n return hashId;\n }\n var _usePrefix = usePrefix(),\n rootPrefixCls = _usePrefix.rootPrefixCls,\n iconPrefixCls = _usePrefix.iconPrefixCls;\n var csp = useCSP();\n var type = 'css';\n\n // Use unique memo to share the result across all instances\n var calc = useUniqueMemo(function () {\n var unitlessCssVar = new Set();\n Object.keys(options.unitless || {}).forEach(function (key) {\n // Some component proxy the AliasToken (e.g. Image) and some not (e.g. Modal)\n // We should both pass in `unitlessCssVar` to make sure the CSSVar can be unitless.\n unitlessCssVar.add(token2CSSVar(key, cssVar.prefix));\n unitlessCssVar.add(token2CSSVar(key, getCompVarPrefix(component, cssVar.prefix)));\n });\n return genCalc(type, unitlessCssVar);\n }, [type, component, cssVar === null || cssVar === void 0 ? void 0 : cssVar.prefix]);\n var _genMaxMin = genMaxMin(type),\n max = _genMaxMin.max,\n min = _genMaxMin.min;\n\n // Shared config\n var sharedConfig = {\n theme: theme,\n token: token,\n hashId: hashId,\n nonce: function nonce() {\n return csp.nonce;\n },\n clientOnly: options.clientOnly,\n layer: mergedLayer,\n // antd is always at top of styles\n order: options.order || -999\n };\n\n // This if statement is safe, as it will only be used if the generator has the function. It's not dynamic.\n if (typeof getResetStyles === 'function') {\n // Generate style for all need reset tags.\n useStyleRegister(_objectSpread(_objectSpread({}, sharedConfig), {}, {\n clientOnly: false,\n path: ['Shared', rootPrefixCls]\n }), function () {\n return getResetStyles(token, {\n prefix: {\n rootPrefixCls: rootPrefixCls,\n iconPrefixCls: iconPrefixCls\n },\n csp: csp\n });\n });\n }\n useStyleRegister(_objectSpread(_objectSpread({}, sharedConfig), {}, {\n path: [concatComponent, prefixCls, iconPrefixCls]\n }), function () {\n if (options.injectStyle === false) {\n return [];\n }\n var _statisticToken = statisticToken(token),\n proxyToken = _statisticToken.token,\n flush = _statisticToken.flush;\n var defaultComponentToken = getDefaultComponentToken(component, realToken, getDefaultToken);\n var componentCls = \".\".concat(prefixCls);\n var componentToken = getComponentToken(component, realToken, defaultComponentToken, {\n deprecatedTokens: options.deprecatedTokens\n });\n if (defaultComponentToken && _typeof(defaultComponentToken) === 'object') {\n Object.keys(defaultComponentToken).forEach(function (key) {\n defaultComponentToken[key] = \"var(\".concat(token2CSSVar(key, getCompVarPrefix(component, cssVar.prefix)), \")\");\n });\n }\n var mergedToken = mergeToken(proxyToken, {\n componentCls: componentCls,\n prefixCls: prefixCls,\n iconCls: \".\".concat(iconPrefixCls),\n antCls: \".\".concat(rootPrefixCls),\n calc: calc,\n max: max,\n min: min\n }, defaultComponentToken);\n var styleInterpolation = styleFn(mergedToken, {\n hashId: hashId,\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls,\n iconPrefixCls: iconPrefixCls\n });\n flush(component, componentToken);\n var commonStyle = typeof getCommonStyle === 'function' ? getCommonStyle(mergedToken, prefixCls, rootCls, options.resetFont) : null;\n return [options.resetStyle === false ? null : commonStyle, styleInterpolation];\n });\n return hashId;\n };\n }\n function genSubStyleComponent(componentName, styleFn, getDefaultToken) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var useStyle = genComponentStyleHook(componentName, styleFn, getDefaultToken, _objectSpread({\n resetStyle: false,\n // Sub Style should default after root one\n order: -998\n }, options));\n var StyledComponent = function StyledComponent(_ref) {\n var prefixCls = _ref.prefixCls,\n _ref$rootCls = _ref.rootCls,\n rootCls = _ref$rootCls === void 0 ? prefixCls : _ref$rootCls;\n useStyle(prefixCls, rootCls);\n return null;\n };\n if (process.env.NODE_ENV !== 'production') {\n StyledComponent.displayName = \"SubStyle_\".concat(String(Array.isArray(componentName) ? componentName.join('.') : componentName));\n }\n return StyledComponent;\n }\n return {\n genStyleHooks: genStyleHooks,\n genSubStyleComponent: genSubStyleComponent,\n genComponentStyleHook: genComponentStyleHook\n };\n}\nexport default genStyleUtils;","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","// [times, realValue]\n\nconst SPLIT = '%';\n\n/** Connect key with `SPLIT` */\nexport function pathKey(keys) {\n return keys.join(SPLIT);\n}\n\n/** Record update id for extract static style order. */\nlet updateId = 0;\nclass Entity {\n instanceId;\n constructor(instanceId) {\n this.instanceId = instanceId;\n }\n\n /** @private Internal cache map. Do not access this directly */\n cache = new Map();\n\n /** @private Record update times for each key */\n updateTimes = new Map();\n extracted = new Set();\n get(keys) {\n return this.opGet(pathKey(keys));\n }\n\n /** A fast get cache with `get` concat. */\n opGet(keyPathStr) {\n return this.cache.get(keyPathStr) || null;\n }\n update(keys, valueFn) {\n return this.opUpdate(pathKey(keys), valueFn);\n }\n\n /** A fast get cache with `get` concat. */\n opUpdate(keyPathStr, valueFn) {\n const prevValue = this.cache.get(keyPathStr);\n const nextValue = valueFn(prevValue);\n if (nextValue === null) {\n this.cache.delete(keyPathStr);\n this.updateTimes.delete(keyPathStr);\n } else {\n this.cache.set(keyPathStr, nextValue);\n this.updateTimes.set(keyPathStr, updateId);\n updateId += 1;\n }\n }\n}\nexport default Entity;","export const AUTO_PREFIX = {};\nconst transform = AUTO_PREFIX;\nexport default transform;","import useMemo from \"@rc-component/util/es/hooks/useMemo\";\nimport isEqual from \"@rc-component/util/es/isEqual\";\nimport * as React from 'react';\nimport CacheEntity from \"./Cache\";\nimport { AUTO_PREFIX } from \"./transformers/autoPrefix\";\nexport const ATTR_TOKEN = 'data-token-hash';\nexport const ATTR_MARK = 'data-css-hash';\nexport const ATTR_CACHE_PATH = 'data-cache-path';\n\n// Mark css-in-js instance in style element\nexport const CSS_IN_JS_INSTANCE = '__cssinjs_instance__';\nexport function createCache() {\n const cssinjsInstanceId = Math.random().toString(12).slice(2);\n\n // Tricky SSR: Move all inline style to the head.\n // PS: We do not recommend tricky mode.\n if (typeof document !== 'undefined' && document.head && document.body) {\n const styles = document.body.querySelectorAll(`style[${ATTR_MARK}]`) || [];\n const {\n firstChild\n } = document.head;\n Array.from(styles).forEach(style => {\n style[CSS_IN_JS_INSTANCE] = style[CSS_IN_JS_INSTANCE] || cssinjsInstanceId;\n\n // Not force move if no head\n if (style[CSS_IN_JS_INSTANCE] === cssinjsInstanceId) {\n document.head.insertBefore(style, firstChild);\n }\n });\n\n // Deduplicate of moved styles\n const styleHash = {};\n Array.from(document.querySelectorAll(`style[${ATTR_MARK}]`)).forEach(style => {\n const hash = style.getAttribute(ATTR_MARK);\n if (styleHash[hash]) {\n if (style[CSS_IN_JS_INSTANCE] === cssinjsInstanceId) {\n style.parentNode?.removeChild(style);\n }\n } else {\n styleHash[hash] = true;\n }\n });\n }\n return new CacheEntity(cssinjsInstanceId);\n}\nconst StyleContext = /*#__PURE__*/React.createContext({\n hashPriority: 'low',\n cache: createCache(),\n defaultCache: true,\n autoPrefix: false\n});\nexport const StyleProvider = props => {\n const {\n children,\n ...restProps\n } = props;\n const parentContext = React.useContext(StyleContext);\n const context = useMemo(() => {\n const mergedContext = {\n ...parentContext\n };\n Object.keys(restProps).forEach(key => {\n const value = restProps[key];\n if (restProps[key] !== undefined) {\n mergedContext[key] = value;\n }\n });\n const {\n cache,\n transformers = []\n } = restProps;\n mergedContext.cache = mergedContext.cache || createCache();\n mergedContext.defaultCache = !cache && parentContext.defaultCache;\n\n // autoPrefix\n if (transformers.includes(AUTO_PREFIX)) {\n mergedContext.autoPrefix = true;\n }\n return mergedContext;\n }, [parentContext, restProps], (prev, next) => !isEqual(prev[0], next[0], true) || !isEqual(prev[1], next[1], true));\n return /*#__PURE__*/React.createElement(StyleContext.Provider, {\n value: context\n }, children);\n};\nexport default StyleContext;","class AbstractCalculator {}\nexport default AbstractCalculator;","import AbstractCalculator from \"./calculator\";\nconst CALC_UNIT = 'CALC_UNIT';\nconst regexp = new RegExp(CALC_UNIT, 'g');\nfunction unit(value) {\n if (typeof value === 'number') {\n return `${value}${CALC_UNIT}`;\n }\n return value;\n}\nexport default class CSSCalculator extends AbstractCalculator {\n result = '';\n unitlessCssVar;\n lowPriority;\n constructor(num, unitlessCssVar) {\n super();\n const numType = typeof num;\n this.unitlessCssVar = unitlessCssVar;\n if (num instanceof CSSCalculator) {\n this.result = `(${num.result})`;\n } else if (numType === 'number') {\n this.result = unit(num);\n } else if (numType === 'string') {\n this.result = num;\n }\n }\n add(num) {\n if (num instanceof CSSCalculator) {\n this.result = `${this.result} + ${num.getResult()}`;\n } else if (typeof num === 'number' || typeof num === 'string') {\n this.result = `${this.result} + ${unit(num)}`;\n }\n this.lowPriority = true;\n return this;\n }\n sub(num) {\n if (num instanceof CSSCalculator) {\n this.result = `${this.result} - ${num.getResult()}`;\n } else if (typeof num === 'number' || typeof num === 'string') {\n this.result = `${this.result} - ${unit(num)}`;\n }\n this.lowPriority = true;\n return this;\n }\n mul(num) {\n if (this.lowPriority) {\n this.result = `(${this.result})`;\n }\n if (num instanceof CSSCalculator) {\n this.result = `${this.result} * ${num.getResult(true)}`;\n } else if (typeof num === 'number' || typeof num === 'string') {\n this.result = `${this.result} * ${num}`;\n }\n this.lowPriority = false;\n return this;\n }\n div(num) {\n if (this.lowPriority) {\n this.result = `(${this.result})`;\n }\n if (num instanceof CSSCalculator) {\n this.result = `${this.result} / ${num.getResult(true)}`;\n } else if (typeof num === 'number' || typeof num === 'string') {\n this.result = `${this.result} / ${num}`;\n }\n this.lowPriority = false;\n return this;\n }\n getResult(force) {\n return this.lowPriority || force ? `(${this.result})` : this.result;\n }\n equal(options) {\n const {\n unit: cssUnit\n } = options || {};\n let mergedUnit = true;\n if (typeof cssUnit === 'boolean') {\n mergedUnit = cssUnit;\n } else if (Array.from(this.unitlessCssVar).some(cssVar => this.result.includes(cssVar))) {\n mergedUnit = false;\n }\n this.result = this.result.replace(regexp, mergedUnit ? 'px' : '');\n if (typeof this.lowPriority !== 'undefined') {\n return `calc(${this.result})`;\n }\n return this.result;\n }\n}","import AbstractCalculator from \"./calculator\";\nexport default class NumCalculator extends AbstractCalculator {\n result = 0;\n constructor(num) {\n super();\n if (num instanceof NumCalculator) {\n this.result = num.result;\n } else if (typeof num === 'number') {\n this.result = num;\n }\n }\n add(num) {\n if (num instanceof NumCalculator) {\n this.result += num.result;\n } else if (typeof num === 'number') {\n this.result += num;\n }\n return this;\n }\n sub(num) {\n if (num instanceof NumCalculator) {\n this.result -= num.result;\n } else if (typeof num === 'number') {\n this.result -= num;\n }\n return this;\n }\n mul(num) {\n if (num instanceof NumCalculator) {\n this.result *= num.result;\n } else if (typeof num === 'number') {\n this.result *= num;\n }\n return this;\n }\n div(num) {\n if (num instanceof NumCalculator) {\n this.result /= num.result;\n } else if (typeof num === 'number') {\n this.result /= num;\n }\n return this;\n }\n equal() {\n return this.result;\n }\n}","import CSSCalculator from \"./CSSCalculator\";\nimport NumCalculator from \"./NumCalculator\";\nconst genCalc = (type, unitlessCssVar) => {\n const Calculator = type === 'css' ? CSSCalculator : NumCalculator;\n return num => new Calculator(num, unitlessCssVar);\n};\nexport default genCalc;","// ================================== Cache ==================================\n\nexport function sameDerivativeOption(left, right) {\n if (left.length !== right.length) {\n return false;\n }\n for (let i = 0; i < left.length; i++) {\n if (left[i] !== right[i]) {\n return false;\n }\n }\n return true;\n}\nexport default class ThemeCache {\n static MAX_CACHE_SIZE = 20;\n static MAX_CACHE_OFFSET = 5;\n cache;\n keys;\n cacheCallTimes;\n constructor() {\n this.cache = new Map();\n this.keys = [];\n this.cacheCallTimes = 0;\n }\n size() {\n return this.keys.length;\n }\n internalGet(derivativeOption, updateCallTimes = false) {\n let cache = {\n map: this.cache\n };\n derivativeOption.forEach(derivative => {\n if (!cache) {\n cache = undefined;\n } else {\n cache = cache?.map?.get(derivative);\n }\n });\n if (cache?.value && updateCallTimes) {\n cache.value[1] = this.cacheCallTimes++;\n }\n return cache?.value;\n }\n get(derivativeOption) {\n return this.internalGet(derivativeOption, true)?.[0];\n }\n has(derivativeOption) {\n return !!this.internalGet(derivativeOption);\n }\n set(derivativeOption, value) {\n // New cache\n if (!this.has(derivativeOption)) {\n if (this.size() + 1 > ThemeCache.MAX_CACHE_SIZE + ThemeCache.MAX_CACHE_OFFSET) {\n const [targetKey] = this.keys.reduce((result, key) => {\n const [, callTimes] = result;\n if (this.internalGet(key)[1] < callTimes) {\n return [key, this.internalGet(key)[1]];\n }\n return result;\n }, [this.keys[0], this.cacheCallTimes]);\n this.delete(targetKey);\n }\n this.keys.push(derivativeOption);\n }\n let cache = this.cache;\n derivativeOption.forEach((derivative, index) => {\n if (index === derivativeOption.length - 1) {\n cache.set(derivative, {\n value: [value, this.cacheCallTimes++]\n });\n } else {\n const cacheValue = cache.get(derivative);\n if (!cacheValue) {\n cache.set(derivative, {\n map: new Map()\n });\n } else if (!cacheValue.map) {\n cacheValue.map = new Map();\n }\n cache = cache.get(derivative).map;\n }\n });\n }\n deleteByPath(currentCache, derivatives) {\n const cache = currentCache.get(derivatives[0]);\n if (derivatives.length === 1) {\n if (!cache.map) {\n currentCache.delete(derivatives[0]);\n } else {\n currentCache.set(derivatives[0], {\n map: cache.map\n });\n }\n return cache.value?.[0];\n }\n const result = this.deleteByPath(cache.map, derivatives.slice(1));\n if ((!cache.map || cache.map.size === 0) && !cache.value) {\n currentCache.delete(derivatives[0]);\n }\n return result;\n }\n delete(derivativeOption) {\n // If cache exists\n if (this.has(derivativeOption)) {\n this.keys = this.keys.filter(item => !sameDerivativeOption(item, derivativeOption));\n return this.deleteByPath(this.cache, derivativeOption);\n }\n return undefined;\n }\n}","import { warning } from \"@rc-component/util/es/warning\";\nlet uuid = 0;\n\n/**\n * Theme with algorithms to derive tokens from design tokens.\n * Use `createTheme` first which will help to manage the theme instance cache.\n */\nexport default class Theme {\n derivatives;\n id;\n constructor(derivatives) {\n this.derivatives = Array.isArray(derivatives) ? derivatives : [derivatives];\n this.id = uuid;\n if (derivatives.length === 0) {\n warning(derivatives.length > 0, '[Ant Design CSS-in-JS] Theme should have at least one derivative function.');\n }\n uuid += 1;\n }\n getDerivativeToken(token) {\n return this.derivatives.reduce((result, derivative) => derivative(token, result), undefined);\n }\n}","import ThemeCache from \"./ThemeCache\";\nimport Theme from \"./Theme\";\nconst cacheThemes = new ThemeCache();\n\n/**\n * Same as new Theme, but will always return same one if `derivative` not changed.\n */\nexport default function createTheme(derivatives) {\n const derivativeArr = Array.isArray(derivatives) ? derivatives : [derivatives];\n // Create new theme if not exist\n if (!cacheThemes.has(derivativeArr)) {\n cacheThemes.set(derivativeArr, new Theme(derivativeArr));\n }\n\n // Get theme from cache and return\n return cacheThemes.get(derivativeArr);\n}","import hash from '@emotion/hash';\nimport canUseDom from \"@rc-component/util/es/Dom/canUseDom\";\nimport { removeCSS, updateCSS } from \"@rc-component/util/es/Dom/dynamicCSS\";\nimport { ATTR_MARK, ATTR_TOKEN } from \"../StyleContext\";\nimport { Theme } from \"../theme\";\n\n// Create a cache for memo concat\n\nconst resultCache = new WeakMap();\nconst RESULT_VALUE = {};\nexport function memoResult(callback, deps) {\n let current = resultCache;\n for (let i = 0; i < deps.length; i += 1) {\n const dep = deps[i];\n if (!current.has(dep)) {\n current.set(dep, new WeakMap());\n }\n current = current.get(dep);\n }\n if (!current.has(RESULT_VALUE)) {\n current.set(RESULT_VALUE, callback());\n }\n return current.get(RESULT_VALUE);\n}\n\n// Create a cache here to avoid always loop generate\nconst flattenTokenCache = new WeakMap();\n\n/**\n * Flatten token to string, this will auto cache the result when token not change\n */\nexport function flattenToken(token) {\n let str = flattenTokenCache.get(token) || '';\n if (!str) {\n Object.keys(token).forEach(key => {\n const value = token[key];\n str += key;\n if (value instanceof Theme) {\n str += value.id;\n } else if (value && typeof value === 'object') {\n str += flattenToken(value);\n } else {\n str += value;\n }\n });\n\n // https://github.com/ant-design/ant-design/issues/48386\n // Should hash the string to avoid style tag name too long\n str = hash(str);\n\n // Put in cache\n flattenTokenCache.set(token, str);\n }\n return str;\n}\n\n/**\n * Convert derivative token to key string\n */\nexport function token2key(token, salt) {\n return hash(`${salt}_${flattenToken(token)}`);\n}\nconst randomSelectorKey = `random-${Date.now()}-${Math.random()}`.replace(/\\./g, '');\n\n// Magic `content` for detect selector support\nconst checkContent = '_bAmBoO_';\nfunction supportSelector(styleStr, handleElement, supportCheck) {\n if (canUseDom()) {\n updateCSS(styleStr, randomSelectorKey);\n const ele = document.createElement('div');\n ele.style.position = 'fixed';\n ele.style.left = '0';\n ele.style.top = '0';\n handleElement?.(ele);\n document.body.appendChild(ele);\n if (process.env.NODE_ENV !== 'production') {\n ele.innerHTML = 'Test';\n ele.style.zIndex = '9999999';\n }\n const support = supportCheck ? supportCheck(ele) : getComputedStyle(ele).content?.includes(checkContent);\n ele.parentNode?.removeChild(ele);\n removeCSS(randomSelectorKey);\n return support;\n }\n return false;\n}\nlet canLayer = undefined;\nexport function supportLayer() {\n if (canLayer === undefined) {\n canLayer = supportSelector(`@layer ${randomSelectorKey} { .${randomSelectorKey} { content: \"${checkContent}\"!important; } }`, ele => {\n ele.className = randomSelectorKey;\n });\n }\n return canLayer;\n}\nlet canWhere = undefined;\nexport function supportWhere() {\n if (canWhere === undefined) {\n canWhere = supportSelector(`:where(.${randomSelectorKey}) { content: \"${checkContent}\"!important; }`, ele => {\n ele.className = randomSelectorKey;\n });\n }\n return canWhere;\n}\nlet canLogic = undefined;\nexport function supportLogicProps() {\n if (canLogic === undefined) {\n canLogic = supportSelector(`.${randomSelectorKey} { inset-block: 93px !important; }`, ele => {\n ele.className = randomSelectorKey;\n }, ele => getComputedStyle(ele).bottom === '93px');\n }\n return canLogic;\n}\nexport const isClientSide = canUseDom();\nexport function unit(num) {\n if (typeof num === 'number') {\n return `${num}px`;\n }\n return num;\n}\nexport function toStyleStr(style, tokenKey, styleId, customizeAttrs = {}, plain = false) {\n if (plain) {\n return style;\n }\n const attrs = {\n ...customizeAttrs,\n [ATTR_TOKEN]: tokenKey,\n [ATTR_MARK]: styleId\n };\n const attrStr = Object.keys(attrs).map(attr => {\n const val = attrs[attr];\n return val ? `${attr}=\"${val}\"` : null;\n }).filter(v => v).join(' ');\n return `<style ${attrStr}>${style}</style>`;\n}\nexport function where(options) {\n const {\n hashCls,\n hashPriority = 'low'\n } = options || {};\n if (!hashCls) {\n return '';\n }\n const hashSelector = `.${hashCls}`;\n return hashPriority === 'low' ? `:where(${hashSelector})` : hashSelector;\n}","import { where } from \"../util\";\nexport const token2CSSVar = (token, prefix = '') => {\n return `--${prefix ? `${prefix}-` : ''}${token}`.replace(/([a-z0-9])([A-Z])/g, '$1-$2').replace(/([A-Z]+)([A-Z][a-z0-9]+)/g, '$1-$2').replace(/([a-z])([A-Z0-9])/g, '$1-$2').toLowerCase();\n};\nexport const serializeCSSVar = (cssVars, hashId, options) => {\n const {\n hashCls,\n hashPriority = 'low'\n } = options || {};\n if (!Object.keys(cssVars).length) {\n return '';\n }\n return `${where({\n hashCls,\n hashPriority\n })}.${hashId}${options?.scope ? `.${options.scope}` : ''}{${Object.entries(cssVars).map(([key, value]) => `${key}:${value};`).join('')}}`;\n};\nexport const transformToken = (token, themeKey, config) => {\n const {\n hashCls,\n hashPriority = 'low',\n prefix,\n unitless,\n ignore,\n preserve\n } = config || {};\n const cssVars = {};\n const result = {};\n Object.entries(token).forEach(([key, value]) => {\n if (preserve?.[key]) {\n result[key] = value;\n } else if ((typeof value === 'string' || typeof value === 'number') && !ignore?.[key]) {\n const cssVar = token2CSSVar(key, prefix);\n cssVars[cssVar] = typeof value === 'number' && !unitless?.[key] ? `${value}px` : String(value);\n result[key] = `var(${cssVar})`;\n }\n });\n return [result, serializeCSSVar(cssVars, themeKey, {\n scope: config?.scope,\n hashCls,\n hashPriority\n })];\n};","function useProdHMR() {\n return false;\n}\nlet webpackHMR = false;\nfunction useDevHMR() {\n return webpackHMR;\n}\nexport default process.env.NODE_ENV === 'production' ? useProdHMR : useDevHMR;\n\n// Webpack `module.hot.accept` do not support any deps update trigger\n// We have to hack handler to force mark as HRM\nif (process.env.NODE_ENV !== 'production' && typeof module !== 'undefined' && module && module.hot && typeof window !== 'undefined') {\n // Use `globalThis` first, and `window` for older browsers\n // const win = globalThis as any;\n const win = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : null;\n if (win && typeof win.webpackHotUpdate === 'function') {\n const originWebpackHotUpdate = win.webpackHotUpdate;\n win.webpackHotUpdate = (...args) => {\n webpackHMR = true;\n setTimeout(() => {\n webpackHMR = false;\n }, 0);\n return originWebpackHotUpdate(...args);\n };\n }\n}","import * as React from 'react';\nimport { useInsertionEffect } from 'react';\nimport { pathKey } from \"../Cache\";\nimport StyleContext from \"../StyleContext\";\nimport useHMR from \"./useHMR\";\nconst effectMap = new Map();\nexport default function useGlobalCache(prefix, keyPath, cacheFn, onCacheRemove,\n// Add additional effect trigger by `useInsertionEffect`\nonCacheEffect) {\n const {\n cache: globalCache\n } = React.useContext(StyleContext);\n const fullPath = [prefix, ...keyPath];\n const fullPathStr = pathKey(fullPath);\n const HMRUpdate = useHMR();\n const buildCache = updater => {\n globalCache.opUpdate(fullPathStr, prevCache => {\n const [times = 0, cache] = prevCache || [undefined, undefined];\n\n // HMR should always ignore cache since developer may change it\n let tmpCache = cache;\n if (process.env.NODE_ENV !== 'production' && cache && HMRUpdate) {\n onCacheRemove?.(tmpCache, HMRUpdate);\n tmpCache = null;\n }\n const mergedCache = tmpCache || cacheFn();\n const data = [times, mergedCache];\n\n // Call updater if need additional logic\n return updater ? updater(data) : data;\n });\n };\n\n // Create cache\n React.useMemo(() => {\n buildCache();\n }, /* eslint-disable react-hooks/exhaustive-deps */\n [fullPathStr]\n /* eslint-enable */);\n let cacheEntity = globalCache.opGet(fullPathStr);\n\n // HMR clean the cache but not trigger `useMemo` again\n // Let's fallback of this\n // ref https://github.com/ant-design/cssinjs/issues/127\n if (process.env.NODE_ENV !== 'production' && !cacheEntity) {\n buildCache();\n cacheEntity = globalCache.opGet(fullPathStr);\n }\n const cacheContent = cacheEntity[1];\n\n // Remove if no need anymore\n useInsertionEffect(() => {\n buildCache(([times, cache]) => [times + 1, cache]);\n if (!effectMap.has(fullPathStr)) {\n onCacheEffect?.(cacheContent);\n effectMap.set(fullPathStr, true);\n\n // 微任务清理混存,可以认为是单次 batch render 中只触发一次 effect\n Promise.resolve().then(() => {\n effectMap.delete(fullPathStr);\n });\n }\n return () => {\n globalCache.opUpdate(fullPathStr, prevCache => {\n const [times = 0, cache] = prevCache || [];\n const nextCount = times - 1;\n if (nextCount === 0) {\n onCacheRemove?.(cache, false);\n effectMap.delete(fullPathStr);\n return null;\n }\n return [times - 1, cache];\n });\n };\n }, [fullPathStr]);\n return cacheContent;\n}","import hash from '@emotion/hash';\nimport { updateCSS } from \"@rc-component/util/es/Dom/dynamicCSS\";\nimport { useContext } from 'react';\nimport StyleContext, { ATTR_MARK, ATTR_TOKEN, CSS_IN_JS_INSTANCE } from \"../StyleContext\";\nimport { flattenToken, memoResult, token2key, toStyleStr } from \"../util\";\nimport { transformToken } from \"../util/css-variables\";\nimport useGlobalCache from \"./useGlobalCache\";\nconst EMPTY_OVERRIDE = {};\n\n// Generate different prefix to make user selector break in production env.\n// This helps developer not to do style override directly on the hash id.\nconst hashPrefix = process.env.NODE_ENV !== 'production' ? 'css-dev-only-do-not-override' : 'css';\nconst tokenKeys = new Map();\nfunction recordCleanToken(tokenKey) {\n tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) + 1);\n}\nfunction removeStyleTags(key, instanceId) {\n if (typeof document !== 'undefined') {\n const styles = document.querySelectorAll(`style[${ATTR_TOKEN}=\"${key}\"]`);\n styles.forEach(style => {\n if (style[CSS_IN_JS_INSTANCE] === instanceId) {\n style.parentNode?.removeChild(style);\n }\n });\n }\n}\nconst TOKEN_THRESHOLD = -1;\n\n// Remove will check current keys first\nfunction cleanTokenStyle(tokenKey, instanceId) {\n tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) - 1);\n const cleanableKeyList = new Set();\n tokenKeys.forEach((value, key) => {\n if (value <= 0) cleanableKeyList.add(key);\n });\n\n // Should keep tokens under threshold for not to insert style too often\n if (tokenKeys.size - cleanableKeyList.size > TOKEN_THRESHOLD) {\n cleanableKeyList.forEach(key => {\n removeStyleTags(key, instanceId);\n tokenKeys.delete(key);\n });\n }\n}\nexport const getComputedToken = (originToken, overrideToken, theme, format) => {\n const derivativeToken = theme.getDerivativeToken(originToken);\n\n // Merge with override\n let mergedDerivativeToken = {\n ...derivativeToken,\n ...overrideToken\n };\n\n // Format if needed\n if (format) {\n mergedDerivativeToken = format(mergedDerivativeToken);\n }\n return mergedDerivativeToken;\n};\nexport const TOKEN_PREFIX = 'token';\n/**\n * Cache theme derivative token as global shared one\n * @param theme Theme entity\n * @param tokens List of tokens, used for cache. Please do not dynamic generate object directly\n * @param option Additional config\n * @returns Call Theme.getDerivativeToken(tokenObject) to get token\n */\nexport default function useCacheToken(theme, tokens, option) {\n const {\n cache: {\n instanceId\n },\n container,\n hashPriority\n } = useContext(StyleContext);\n const {\n salt = '',\n override = EMPTY_OVERRIDE,\n formatToken,\n getComputedToken: compute,\n cssVar\n } = option;\n\n // Basic - We do basic cache here\n const mergedToken = memoResult(() => Object.assign({}, ...tokens), tokens);\n const tokenStr = flattenToken(mergedToken);\n const overrideTokenStr = flattenToken(override);\n const cssVarStr = flattenToken(cssVar);\n const cachedToken = useGlobalCache(TOKEN_PREFIX, [salt, theme.id, tokenStr, overrideTokenStr, cssVarStr], () => {\n const mergedDerivativeToken = compute ? compute(mergedToken, override, theme) : getComputedToken(mergedToken, override, theme, formatToken);\n const actualToken = {\n ...mergedDerivativeToken\n };\n\n // Optimize for `useStyleRegister` performance\n const mergedSalt = `${salt}_${cssVar.prefix}`;\n const hashId = hash(mergedSalt);\n const hashCls = `${hashPrefix}-${hash(mergedSalt)}`;\n actualToken._tokenKey = token2key(actualToken, mergedSalt);\n\n // Replace token value with css variables\n const [tokenWithCssVar, cssVarsStr] = transformToken(mergedDerivativeToken, cssVar.key, {\n prefix: cssVar.prefix,\n ignore: cssVar.ignore,\n unitless: cssVar.unitless,\n preserve: cssVar.preserve,\n hashPriority,\n hashCls: cssVar.hashed ? hashCls : undefined\n });\n tokenWithCssVar._hashId = hashId;\n recordCleanToken(cssVar.key);\n return [tokenWithCssVar, hashCls, actualToken, cssVarsStr, cssVar.key];\n }, ([,,,, themeKey]) => {\n // Remove token will remove all related style\n cleanTokenStyle(themeKey, instanceId);\n }, ([,,, cssVarsStr, themeKey]) => {\n if (!cssVarsStr) {\n return;\n }\n const style = updateCSS(cssVarsStr, hash(`css-var-${themeKey}`), {\n mark: ATTR_MARK,\n prepend: 'queue',\n attachTo: container,\n priority: -999\n });\n style[CSS_IN_JS_INSTANCE] = instanceId;\n\n // Used for `useCacheToken` to remove on batch when token removed\n style.setAttribute(ATTR_TOKEN, themeKey);\n });\n return cachedToken;\n}\nexport const extract = (cache, effectStyles, options) => {\n const [,, realToken, styleStr, cssVarKey] = cache;\n const {\n plain\n } = options || {};\n if (!styleStr) {\n return null;\n }\n const styleId = realToken._tokenKey;\n const order = -999;\n\n // ====================== Style ======================\n // Used for @rc-component/util\n const sharedAttrs = {\n 'data-rc-order': 'prependQueue',\n 'data-rc-priority': `${order}`\n };\n const styleText = toStyleStr(styleStr, cssVarKey, styleId, sharedAttrs, plain);\n return [order, styleId, styleText];\n};","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES, NAMESPACE} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case NAMESPACE: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, token, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tif ((token(previous || 1) == 5 || token(peek() || 1) == 5) && strlen(characters) && substr(characters, -1, void 0) !== ' ') characters += ' '\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length || (variable === 0 && previous === 47)))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tswitch (atrule) {\n\t\t\t\t\t\t\t\t\t// c(ontainer)\n\t\t\t\t\t\t\t\t\tcase 99:\n\t\t\t\t\t\t\t\t\t\tif (charat(characters, 3) === 110) break\n\t\t\t\t\t\t\t\t\t// l(ayer)\n\t\t\t\t\t\t\t\t\tcase 108:\n\t\t\t\t\t\t\t\t\t\tif (charat(characters, 2) === 97) break\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\toffset = 0\n\t\t\t\t\t\t\t\t\t// d(ocument) m(edia) s(upports)\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (offset) parse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\telse parse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace, substr, match} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @param {object[]} children\n * @return {string}\n */\nexport function prefix (value, length, children) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599:\n\t\t\treturn WEBKIT + value + value\n\t\t// mask-composite\n\t\tcase 4855:\n\t\t\treturn WEBKIT + value.replace('add', 'source-over').replace('substract', 'source-out').replace('intersect', 'source-in').replace('exclude', 'xor') + value\n\t\t// tab-size\n\t\tcase 4789:\n\t\t\treturn MOZ + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t\t// default: fallthrough to below\n\t\t\t}\n\t\t// flex, flex-direction, scroll-snap-type, writing-mode\n\t\tcase 6828: case 4268: case 2903:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/g, '') + (!match(value, /flex-|baseline/) ? MS + 'grid-row-' + replace(value, /flex-|-self/g, '') : '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/g, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /space-between/, 'justify') + WEBKIT + value + value\n\t\t// justify-self\n\t\tcase 4200:\n\t\t\tif (!match(value, /flex-|baseline/)) return MS + 'grid-column-align' + substr(value, length) + value\n\t\t\tbreak\n\t\t// grid-template-(columns|rows)\n\t\tcase 2592: case 3360:\n\t\t\treturn MS + replace(value, 'template-', '') + value\n\t\t// grid-(row|column)-start\n\t\tcase 4384: case 3616:\n\t\t\tif (children && children.some(function (element, index) { return length = index, match(element.props, /grid-\\w+-end/) })) {\n\t\t\t\treturn ~indexof(value + (children = children[length].value), 'span', 0) ? value : (MS + replace(value, '-start', '') + value + MS + 'grid-row-span:' + (~indexof(children, 'span', 0) ? match(children, /\\d+/) : +match(children, /\\d+/) - +match(value, /\\d+/)) + ';')\n\t\t\t}\n\t\t\treturn MS + replace(value, '-start', '') + value\n\t\t// grid-(row|column)-end\n\t\tcase 4896: case 4128:\n\t\t\treturn (children && children.some(function (element) { return match(element.props, /grid-\\w+-start/) })) ? value : MS + replace(replace(value, '-end', '-span'), 'span ', '') + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch', 0) ? prefix(replace(value, 'stretch', 'fill-available'), length, children) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// grid-(column|row)\n\t\tcase 5152: case 5920:\n\t\t\treturn replace(value, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (MS + a + ':' + b + f) + (c ? (MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value })\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// stick(y)?\n\t\t\tif (charat(value, length + 6) === 121)\n\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\tbreak\n\t\t// display: (flex|inline-flex|grid|inline-grid)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {\n\t\t\t\t// (inline-)?fle(x)\n\t\t\t\tcase 120:\n\t\t\t\t\treturn replace(value, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t\t// (inline-)?gri(d)\n\t\t\t\tcase 100:\n\t\t\t\t\treturn replace(value, ':', ':' + MS) + value\n\t\t\t}\n\t\t\tbreak\n\t\t// scroll-margin, scroll-margin-(top|right|bottom|left)\n\t\tcase 5719: case 2647: case 2135: case 3927: case 2391:\n\t\t\treturn replace(value, 'scroll-', 'scroll-snap-') + value\n\t}\n\n\treturn value\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js'\nimport {copy, lift, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(children = element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, callback = /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import devWarning from \"@rc-component/util/es/warning\";\nexport function lintWarning(message, info) {\n const {\n path,\n parentSelectors\n } = info;\n devWarning(false, `[Ant Design CSS-in-JS] ${path ? `Error in ${path}: ` : ''}${message}${parentSelectors.length ? ` Selector: ${parentSelectors.join(' | ')}` : ''}`);\n}","import { lintWarning } from \"./utils\";\nfunction isConcatSelector(selector) {\n const notContent = selector.match(/:not\\(([^)]*)\\)/)?.[1] || '';\n\n // split selector. e.g.\n // `h1#a.b` => ['h1', #a', '.b']\n const splitCells = notContent.split(/(\\[[^[]*])|(?=[.#])/).filter(str => str);\n return splitCells.length > 1;\n}\nfunction parsePath(info) {\n return info.parentSelectors.reduce((prev, cur) => {\n if (!prev) {\n return cur;\n }\n return cur.includes('&') ? cur.replace(/&/g, prev) : `${prev} ${cur}`;\n }, '');\n}\nconst linter = (key, value, info) => {\n const parentSelectorPath = parsePath(info);\n const notList = parentSelectorPath.match(/:not\\([^)]*\\)/g) || [];\n if (notList.length > 0 && notList.some(isConcatSelector)) {\n lintWarning(`Concat ':not' selector not support in legacy browsers.`, info);\n }\n};\nexport default linter;","import { lintWarning } from \"./utils\";\nconst linter = (key, value, info) => {\n switch (key) {\n case 'marginLeft':\n case 'marginRight':\n case 'paddingLeft':\n case 'paddingRight':\n case 'left':\n case 'right':\n case 'borderLeft':\n case 'borderLeftWidth':\n case 'borderLeftStyle':\n case 'borderLeftColor':\n case 'borderRight':\n case 'borderRightWidth':\n case 'borderRightStyle':\n case 'borderRightColor':\n case 'borderTopLeftRadius':\n case 'borderTopRightRadius':\n case 'borderBottomLeftRadius':\n case 'borderBottomRightRadius':\n lintWarning(`You seem to be using non-logical property '${key}' which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties.`, info);\n return;\n case 'margin':\n case 'padding':\n case 'borderWidth':\n case 'borderStyle':\n // case 'borderColor':\n if (typeof value === 'string') {\n const valueArr = value.split(' ').map(item => item.trim());\n if (valueArr.length === 4 && valueArr[1] !== valueArr[3]) {\n lintWarning(`You seem to be using '${key}' property with different left ${key} and right ${key}, which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties.`, info);\n }\n }\n return;\n case 'clear':\n case 'textAlign':\n if (value === 'left' || value === 'right') {\n lintWarning(`You seem to be using non-logical value '${value}' of ${key}, which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties.`, info);\n }\n return;\n case 'borderRadius':\n if (typeof value === 'string') {\n const radiusGroups = value.split('/').map(item => item.trim());\n const invalid = radiusGroups.reduce((result, group) => {\n if (result) {\n return result;\n }\n const radiusArr = group.split(' ').map(item => item.trim());\n // borderRadius: '2px 4px'\n if (radiusArr.length >= 2 && radiusArr[0] !== radiusArr[1]) {\n return true;\n }\n // borderRadius: '4px 4px 2px'\n if (radiusArr.length === 3 && radiusArr[1] !== radiusArr[2]) {\n return true;\n }\n // borderRadius: '4px 4px 2px 4px'\n if (radiusArr.length === 4 && radiusArr[2] !== radiusArr[3]) {\n return true;\n }\n return result;\n }, false);\n if (invalid) {\n lintWarning(`You seem to be using non-logical value '${value}' of ${key}, which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties.`, info);\n }\n }\n return;\n default:\n }\n};\nexport default linter;","import { lintWarning } from \"./utils\";\nconst linter = (key, value, info) => {\n if (typeof value === 'string' && /NaN/g.test(value) || Number.isNaN(value)) {\n lintWarning(`Unexpected 'NaN' in property '${key}: ${value}'.`, info);\n }\n};\nexport default linter;","import { lintWarning } from \"./utils\";\nconst linter = (key, value, info) => {\n if (info.parentSelectors.some(selector => {\n const selectors = selector.split(',');\n return selectors.some(item => item.split('&').length > 2);\n })) {\n lintWarning('Should not use more than one `&` in a selector.', info);\n }\n};\nexport default linter;","import canUseDom from \"@rc-component/util/es/Dom/canUseDom\";\nimport { ATTR_MARK } from \"../StyleContext\";\nexport const ATTR_CACHE_MAP = 'data-ant-cssinjs-cache-path';\n\n/**\n * This marks style from the css file.\n * Which means not exist in `<style />` tag.\n */\nexport const CSS_FILE_STYLE = '_FILE_STYLE__';\nexport function serialize(cachePathMap) {\n return Object.keys(cachePathMap).map(path => {\n const hash = cachePathMap[path];\n return `${path}:${hash}`;\n }).join(';');\n}\nlet cachePathMap;\nlet fromCSSFile = true;\n\n/**\n * @private Test usage only. Can save remove if no need.\n */\nexport function reset(mockCache, fromFile = true) {\n cachePathMap = mockCache;\n fromCSSFile = fromFile;\n}\nexport function prepare() {\n if (!cachePathMap) {\n cachePathMap = {};\n if (canUseDom()) {\n const div = document.createElement('div');\n div.className = ATTR_CACHE_MAP;\n div.style.position = 'fixed';\n div.style.visibility = 'hidden';\n div.style.top = '-9999px';\n document.body.appendChild(div);\n let content = getComputedStyle(div).content || '';\n content = content.replace(/^\"/, '').replace(/\"$/, '');\n\n // Fill data\n content.split(';').forEach(item => {\n const [path, hash] = item.split(':');\n cachePathMap[path] = hash;\n });\n\n // Remove inline record style\n const inlineMapStyle = document.querySelector(`style[${ATTR_CACHE_MAP}]`);\n if (inlineMapStyle) {\n fromCSSFile = false;\n inlineMapStyle.parentNode?.removeChild(inlineMapStyle);\n }\n document.body.removeChild(div);\n }\n }\n}\nexport function existPath(path) {\n prepare();\n return !!cachePathMap[path];\n}\nexport function getStyleAndHash(path) {\n const hash = cachePathMap[path];\n let styleStr = null;\n if (hash && canUseDom()) {\n if (fromCSSFile) {\n styleStr = CSS_FILE_STYLE;\n } else {\n const style = document.querySelector(`style[${ATTR_MARK}=\"${cachePathMap[path]}\"]`);\n if (style) {\n styleStr = style.innerHTML;\n } else {\n // Clean up since not exist anymore\n delete cachePathMap[path];\n }\n }\n }\n return [styleStr, hash];\n}","import hash from '@emotion/hash';\nimport { removeCSS, updateCSS } from \"@rc-component/util/es/Dom/dynamicCSS\";\nimport * as React from 'react';\n// @ts-ignore\nimport unitless from '@emotion/unitless';\nimport { compile, middleware, prefixer, serialize, stringify } from 'stylis';\nimport { contentQuotesLinter, hashedAnimationLinter } from \"../linters\";\nimport StyleContext, { ATTR_CACHE_PATH, ATTR_MARK, CSS_IN_JS_INSTANCE } from \"../StyleContext\";\nimport { isClientSide, toStyleStr } from \"../util\";\nimport { CSS_FILE_STYLE, existPath, getStyleAndHash } from \"../util/cacheMapUtil\";\nimport useGlobalCache from \"./useGlobalCache\";\nconst SKIP_CHECK = '_skip_check_';\nconst MULTI_VALUE = '_multi_value_';\n// ============================================================================\n// == Parser ==\n// ============================================================================\n// Preprocessor style content to browser support one\nexport function normalizeStyle(styleStr, autoPrefix) {\n const serialized = autoPrefix ? serialize(compile(styleStr), middleware([prefixer, stringify])) : serialize(compile(styleStr), stringify);\n return serialized.replace(/\\{%%%\\:[^;];}/g, ';');\n}\nfunction isCompoundCSSProperty(value) {\n return typeof value === 'object' && value && (SKIP_CHECK in value || MULTI_VALUE in value);\n}\n\n// 注入 hash 值\nfunction injectSelectorHash(key, hashId, hashPriority) {\n if (!hashId) {\n return key;\n }\n const hashClassName = `.${hashId}`;\n const hashSelector = hashPriority === 'low' ? `:where(${hashClassName})` : hashClassName;\n\n // 注入 hashId\n const keys = key.split(',').map(k => {\n const fullPath = k.trim().split(/\\s+/);\n\n // 如果 Selector 第一个是 HTML Element,那我们就插到它的后面。反之,就插到最前面。\n let firstPath = fullPath[0] || '';\n const htmlElement = firstPath.match(/^\\w+/)?.[0] || '';\n firstPath = `${htmlElement}${hashSelector}${firstPath.slice(htmlElement.length)}`;\n return [firstPath, ...fullPath.slice(1)].join(' ');\n });\n return keys.join(',');\n}\n// Parse CSSObject to style content\nexport const parseStyle = (interpolation, config = {}, {\n root,\n injectHash,\n parentSelectors\n} = {\n root: true,\n parentSelectors: []\n}) => {\n const {\n hashId,\n layer,\n path,\n hashPriority,\n transformers = [],\n linters = []\n } = config;\n let styleStr = '';\n let effectStyle = {};\n function parseKeyframes(keyframes) {\n const animationName = keyframes.getName(hashId);\n if (!effectStyle[animationName]) {\n const [parsedStr] = parseStyle(keyframes.style, config, {\n root: false,\n parentSelectors\n });\n effectStyle[animationName] = `@keyframes ${keyframes.getName(hashId)}${parsedStr}`;\n }\n }\n function flattenList(list, fullList = []) {\n list.forEach(item => {\n if (Array.isArray(item)) {\n flattenList(item, fullList);\n } else if (item) {\n fullList.push(item);\n }\n });\n return fullList;\n }\n const flattenStyleList = flattenList(Array.isArray(interpolation) ? interpolation : [interpolation]);\n flattenStyleList.forEach(originStyle => {\n // Only root level can use raw string\n const style = typeof originStyle === 'string' && !root ? {} : originStyle;\n if (typeof style === 'string') {\n styleStr += `${style}\\n`;\n } else if (style._keyframe) {\n // Keyframe\n parseKeyframes(style);\n } else {\n const mergedStyle = transformers.reduce((prev, trans) => trans?.visit?.(prev) || prev, style);\n\n // Normal CSSObject\n Object.keys(mergedStyle).forEach(key => {\n const value = mergedStyle[key];\n if (typeof value === 'object' && value && (key !== 'animationName' || !value._keyframe) && !isCompoundCSSProperty(value)) {\n let subInjectHash = false;\n\n // 当成嵌套对象来处理\n let mergedKey = key.trim();\n // Whether treat child as root. In most case it is false.\n let nextRoot = false;\n\n // 拆分多个选择器\n if ((root || injectHash) && hashId) {\n if (mergedKey.startsWith('@')) {\n // 略过媒体查询,交给子节点继续插入 hashId\n subInjectHash = true;\n } else if (mergedKey === '&') {\n // 抹掉 root selector 上的单个 &\n mergedKey = injectSelectorHash('', hashId, hashPriority);\n } else {\n // 注入 hashId\n mergedKey = injectSelectorHash(key, hashId, hashPriority);\n }\n } else if (root && !hashId && (mergedKey === '&' || mergedKey === '')) {\n // In case of `{ '&': { a: { color: 'red' } } }` or `{ '': { a: { color: 'red' } } }` without hashId,\n // we will get `&{a:{color:red;}}` or `{a:{color:red;}}` string for stylis to compile.\n // But it does not conform to stylis syntax,\n // and finally we will get `{color:red;}` as css, which is wrong.\n // So we need to remove key in root, and treat child `{ a: { color: 'red' } }` as root.\n mergedKey = '';\n nextRoot = true;\n }\n const [parsedStr, childEffectStyle] = parseStyle(value, config, {\n root: nextRoot,\n injectHash: subInjectHash,\n parentSelectors: [...parentSelectors, mergedKey]\n });\n effectStyle = {\n ...effectStyle,\n ...childEffectStyle\n };\n styleStr += `${mergedKey}${parsedStr}`;\n } else {\n function appendStyle(cssKey, cssValue) {\n if (process.env.NODE_ENV !== 'production' && (typeof value !== 'object' || !value?.[SKIP_CHECK])) {\n [contentQuotesLinter, hashedAnimationLinter, ...linters].forEach(linter => linter(cssKey, cssValue, {\n path,\n hashId,\n parentSelectors\n }));\n }\n\n // 如果是样式则直接插入\n const styleName = cssKey.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`);\n\n // Auto suffix with px\n let formatValue = cssValue;\n if (!unitless[cssKey] && typeof formatValue === 'number' && formatValue !== 0) {\n formatValue = `${formatValue}px`;\n }\n\n // handle animationName & Keyframe value\n if (cssKey === 'animationName' && cssValue?._keyframe) {\n parseKeyframes(cssValue);\n formatValue = cssValue.getName(hashId);\n }\n styleStr += `${styleName}:${formatValue};`;\n }\n const actualValue = value?.value ?? value;\n if (typeof value === 'object' && value?.[MULTI_VALUE] && Array.isArray(actualValue)) {\n actualValue.forEach(item => {\n appendStyle(key, item);\n });\n } else {\n appendStyle(key, actualValue);\n }\n }\n });\n }\n });\n if (!root) {\n styleStr = `{${styleStr}}`;\n } else if (layer) {\n // fixme: https://github.com/thysultan/stylis/pull/339\n if (styleStr) {\n styleStr = `@layer ${layer.name} {${styleStr}}`;\n }\n if (layer.dependencies) {\n effectStyle[`@layer ${layer.name}`] = layer.dependencies.map(deps => `@layer ${deps}, ${layer.name};`).join('\\n');\n }\n }\n return [styleStr, effectStyle];\n};\n\n// ============================================================================\n// == Register ==\n// ============================================================================\nexport function uniqueHash(path, styleStr) {\n return hash(`${path.join('%')}${styleStr}`);\n}\nexport const STYLE_PREFIX = 'style';\n/**\n * Register a style to the global style sheet.\n */\nexport default function useStyleRegister(info, styleFn) {\n const {\n path,\n hashId,\n layer,\n nonce,\n clientOnly,\n order = 0\n } = info;\n const {\n mock,\n hashPriority,\n container,\n transformers,\n linters,\n cache,\n layer: enableLayer,\n autoPrefix\n } = React.useContext(StyleContext);\n const fullPath = [hashId || ''];\n if (enableLayer) {\n fullPath.push('layer');\n }\n fullPath.push(...path);\n\n // Check if need insert style\n let isMergedClientSide = isClientSide;\n if (process.env.NODE_ENV !== 'production' && mock !== undefined) {\n isMergedClientSide = mock === 'client';\n }\n useGlobalCache(STYLE_PREFIX, fullPath,\n // Create cache if needed\n () => {\n const cachePath = fullPath.join('|');\n\n // Get style from SSR inline style directly\n if (existPath(cachePath)) {\n const [inlineCacheStyleStr, styleHash] = getStyleAndHash(cachePath);\n if (inlineCacheStyleStr) {\n return [inlineCacheStyleStr, styleHash, {}, clientOnly, order];\n }\n }\n\n // Generate style\n const styleObj = styleFn();\n const [parsedStyle, effectStyle] = parseStyle(styleObj, {\n hashId,\n hashPriority,\n layer: enableLayer ? layer : undefined,\n path: path.join('-'),\n transformers,\n linters\n });\n const styleStr = normalizeStyle(parsedStyle, autoPrefix || false);\n const styleId = uniqueHash(fullPath, styleStr);\n return [styleStr, styleId, effectStyle, clientOnly, order];\n },\n // Remove cache if no need\n (cacheValue, fromHMR) => {\n const [, styleId] = cacheValue;\n if (fromHMR && isClientSide) {\n removeCSS(styleId, {\n mark: ATTR_MARK,\n attachTo: container\n });\n }\n },\n // Effect: Inject style here\n cacheValue => {\n const [styleStr, styleId, effectStyle,, priority] = cacheValue;\n if (isMergedClientSide && styleStr !== CSS_FILE_STYLE) {\n const mergedCSSConfig = {\n mark: ATTR_MARK,\n prepend: enableLayer ? false : 'queue',\n attachTo: container,\n priority\n };\n const nonceStr = typeof nonce === 'function' ? nonce() : nonce;\n if (nonceStr) {\n mergedCSSConfig.csp = {\n nonce: nonceStr\n };\n }\n\n // ================= Split Effect Style =================\n // We will split effectStyle here since @layer should be at the top level\n const effectLayerKeys = [];\n const effectRestKeys = [];\n Object.keys(effectStyle).forEach(key => {\n if (key.startsWith('@layer')) {\n effectLayerKeys.push(key);\n } else {\n effectRestKeys.push(key);\n }\n });\n\n // ================= Inject Layer Style =================\n // Inject layer style\n effectLayerKeys.forEach(effectKey => {\n updateCSS(normalizeStyle(effectStyle[effectKey], autoPrefix || false), `_layer-${effectKey}`, {\n ...mergedCSSConfig,\n prepend: true\n });\n });\n\n // ==================== Inject Style ====================\n // Inject style\n const style = updateCSS(styleStr, styleId, mergedCSSConfig);\n style[CSS_IN_JS_INSTANCE] = cache.instanceId;\n\n // Debug usage. Dev only\n if (process.env.NODE_ENV !== 'production') {\n style.setAttribute(ATTR_CACHE_PATH, fullPath.join('|'));\n }\n\n // ================ Inject Effect Style =================\n // Inject client side effect style\n effectRestKeys.forEach(effectKey => {\n updateCSS(normalizeStyle(effectStyle[effectKey], autoPrefix || false), `_effect-${effectKey}`, mergedCSSConfig);\n });\n }\n });\n}\nexport const extract = (cache, effectStyles, options) => {\n const [styleStr, styleId, effectStyle, clientOnly, order] = cache;\n const {\n plain,\n autoPrefix\n } = options || {};\n\n // Skip client only style\n if (clientOnly) {\n return null;\n }\n let keyStyleText = styleStr;\n\n // ====================== Share ======================\n // Used for @rc-component/util\n const sharedAttrs = {\n 'data-rc-order': 'prependQueue',\n 'data-rc-priority': `${order}`\n };\n\n // ====================== Style ======================\n keyStyleText = toStyleStr(styleStr, undefined, styleId, sharedAttrs, plain);\n\n // =============== Create effect style ===============\n if (effectStyle) {\n Object.keys(effectStyle).forEach(effectKey => {\n // Effect style can be reused\n if (!effectStyles[effectKey]) {\n effectStyles[effectKey] = true;\n const effectStyleStr = normalizeStyle(effectStyle[effectKey], autoPrefix || false);\n const effectStyleHTML = toStyleStr(effectStyleStr, undefined, `_effect-${effectKey}`, sharedAttrs, plain);\n if (effectKey.startsWith('@layer')) {\n keyStyleText = effectStyleHTML + keyStyleText;\n } else {\n keyStyleText += effectStyleHTML;\n }\n }\n });\n }\n return [order, styleId, keyStyleText];\n};","import { removeCSS, updateCSS } from \"@rc-component/util/es/Dom/dynamicCSS\";\nimport { useContext } from 'react';\nimport StyleContext, { ATTR_MARK, ATTR_TOKEN, CSS_IN_JS_INSTANCE } from \"../StyleContext\";\nimport { isClientSide, toStyleStr } from \"../util\";\nimport { transformToken } from \"../util/css-variables\";\nimport useGlobalCache from \"./useGlobalCache\";\nimport { uniqueHash } from \"./useStyleRegister\";\nexport const CSS_VAR_PREFIX = 'cssVar';\nconst useCSSVarRegister = (config, fn) => {\n const {\n key,\n prefix,\n unitless,\n ignore,\n token,\n hashId,\n scope = ''\n } = config;\n const {\n cache: {\n instanceId\n },\n container,\n hashPriority\n } = useContext(StyleContext);\n const {\n _tokenKey: tokenKey\n } = token;\n const stylePath = [...config.path, key, scope, tokenKey];\n const cache = useGlobalCache(CSS_VAR_PREFIX, stylePath, () => {\n const originToken = fn();\n const [mergedToken, cssVarsStr] = transformToken(originToken, key, {\n prefix,\n unitless,\n ignore,\n scope,\n hashPriority,\n hashCls: hashId\n });\n const styleId = uniqueHash(stylePath, cssVarsStr);\n return [mergedToken, cssVarsStr, styleId, key];\n }, ([,, styleId]) => {\n if (isClientSide) {\n removeCSS(styleId, {\n mark: ATTR_MARK,\n attachTo: container\n });\n }\n }, ([, cssVarsStr, styleId]) => {\n if (!cssVarsStr) {\n return;\n }\n const style = updateCSS(cssVarsStr, styleId, {\n mark: ATTR_MARK,\n prepend: 'queue',\n attachTo: container,\n priority: -999\n });\n style[CSS_IN_JS_INSTANCE] = instanceId;\n\n // Used for `useCacheToken` to remove on batch when token removed\n style.setAttribute(ATTR_TOKEN, key);\n });\n return cache;\n};\nexport const extract = (cache, effectStyles, options) => {\n const [, styleStr, styleId, cssVarKey] = cache;\n const {\n plain\n } = options || {};\n if (!styleStr) {\n return null;\n }\n const order = -999;\n\n // ====================== Style ======================\n // Used for @rc-component/util\n const sharedAttrs = {\n 'data-rc-order': 'prependQueue',\n 'data-rc-priority': `${order}`\n };\n const styleText = toStyleStr(styleStr, cssVarKey, styleId, sharedAttrs, plain);\n return [order, styleId, styleText];\n};\nexport default useCSSVarRegister;","import { extract as tokenExtractStyle, TOKEN_PREFIX } from \"./hooks/useCacheToken\";\nimport { CSS_VAR_PREFIX, extract as cssVarExtractStyle } from \"./hooks/useCSSVarRegister\";\nimport { extract as styleExtractStyle, STYLE_PREFIX } from \"./hooks/useStyleRegister\";\nimport { toStyleStr } from \"./util\";\nimport { ATTR_CACHE_MAP, serialize as serializeCacheMap } from \"./util/cacheMapUtil\";\nconst ExtractStyleFns = {\n [STYLE_PREFIX]: styleExtractStyle,\n [TOKEN_PREFIX]: tokenExtractStyle,\n [CSS_VAR_PREFIX]: cssVarExtractStyle\n};\nfunction isNotNull(value) {\n return value !== null;\n}\nexport default function extractStyle(cache, options) {\n const {\n plain = false,\n types = ['style', 'token', 'cssVar'],\n once = false\n } = typeof options === 'boolean' ? {\n plain: options\n } : options || {};\n const matchPrefixRegexp = new RegExp(`^(${(typeof types === 'string' ? [types] : types).join('|')})%`);\n\n // prefix with `style` is used for `useStyleRegister` to cache style context\n const styleKeys = Array.from(cache.cache.keys()).filter(key => matchPrefixRegexp.test(key));\n\n // Common effect styles like animation\n const effectStyles = {};\n\n // Mapping of cachePath to style hash\n const cachePathMap = {};\n let styleText = '';\n styleKeys.map(key => {\n if (once && cache.extracted.has(key)) {\n return null; // Skip if already extracted\n }\n const cachePath = key.replace(matchPrefixRegexp, '').replace(/%/g, '|');\n const [prefix] = key.split('%');\n const extractFn = ExtractStyleFns[prefix];\n const extractedStyle = extractFn(cache.cache.get(key)[1], effectStyles, {\n plain\n });\n if (!extractedStyle) {\n return null;\n }\n const updateTime = cache.updateTimes.get(key) || 0;\n const [order, styleId, styleStr] = extractedStyle;\n if (key.startsWith('style')) {\n cachePathMap[cachePath] = styleId;\n }\n\n // record that this style has been extracted\n cache.extracted.add(key);\n return [order, styleStr, updateTime];\n }).filter(isNotNull).sort(([o1,, u1], [o2,, u2]) => {\n if (o1 !== o2) {\n return o1 - o2;\n }\n return u1 - u2;\n }).forEach(([, style]) => {\n styleText += style;\n });\n\n // ==================== Fill Cache Path ====================\n styleText += toStyleStr(`.${ATTR_CACHE_MAP}{content:\"${serializeCacheMap(cachePathMap)}\";}`, undefined, undefined, {\n [ATTR_CACHE_MAP]: ATTR_CACHE_MAP\n }, plain);\n return styleText;\n}","class Keyframe {\n name;\n style;\n constructor(name, style) {\n this.name = name;\n this.style = style;\n }\n getName(hashId = '') {\n return hashId ? `${hashId}-${this.name}` : this.name;\n }\n _keyframe = true;\n}\nexport default Keyframe;","function splitValues(value) {\n if (typeof value === 'number') {\n return [[value], false];\n }\n const rawStyle = String(value).trim();\n const importantCells = rawStyle.match(/(.*)(!important)/);\n const splitStyle = (importantCells ? importantCells[1] : rawStyle).trim().split(/\\s+/);\n\n // Combine styles split in brackets, like `calc(1px + 2px)`\n let temp = [];\n let brackets = 0;\n return [splitStyle.reduce((list, item) => {\n if (item.includes('(') || item.includes(')')) {\n const left = item.split('(').length - 1;\n const right = item.split(')').length - 1;\n brackets += left - right;\n }\n if (brackets >= 0) temp.push(item);\n if (brackets === 0) {\n list.push(temp.join(' '));\n temp = [];\n }\n return list;\n }, []), !!importantCells];\n}\nfunction noSplit(list) {\n list.notSplit = true;\n return list;\n}\nconst keyMap = {\n // Inset\n inset: ['top', 'right', 'bottom', 'left'],\n insetBlock: ['top', 'bottom'],\n insetBlockStart: ['top'],\n insetBlockEnd: ['bottom'],\n insetInline: ['left', 'right'],\n insetInlineStart: ['left'],\n insetInlineEnd: ['right'],\n // Margin\n marginBlock: ['marginTop', 'marginBottom'],\n marginBlockStart: ['marginTop'],\n marginBlockEnd: ['marginBottom'],\n marginInline: ['marginLeft', 'marginRight'],\n marginInlineStart: ['marginLeft'],\n marginInlineEnd: ['marginRight'],\n // Padding\n paddingBlock: ['paddingTop', 'paddingBottom'],\n paddingBlockStart: ['paddingTop'],\n paddingBlockEnd: ['paddingBottom'],\n paddingInline: ['paddingLeft', 'paddingRight'],\n paddingInlineStart: ['paddingLeft'],\n paddingInlineEnd: ['paddingRight'],\n // Border\n borderBlock: noSplit(['borderTop', 'borderBottom']),\n borderBlockStart: noSplit(['borderTop']),\n borderBlockEnd: noSplit(['borderBottom']),\n borderInline: noSplit(['borderLeft', 'borderRight']),\n borderInlineStart: noSplit(['borderLeft']),\n borderInlineEnd: noSplit(['borderRight']),\n // Border width\n borderBlockWidth: ['borderTopWidth', 'borderBottomWidth'],\n borderBlockStartWidth: ['borderTopWidth'],\n borderBlockEndWidth: ['borderBottomWidth'],\n borderInlineWidth: ['borderLeftWidth', 'borderRightWidth'],\n borderInlineStartWidth: ['borderLeftWidth'],\n borderInlineEndWidth: ['borderRightWidth'],\n // Border style\n borderBlockStyle: ['borderTopStyle', 'borderBottomStyle'],\n borderBlockStartStyle: ['borderTopStyle'],\n borderBlockEndStyle: ['borderBottomStyle'],\n borderInlineStyle: ['borderLeftStyle', 'borderRightStyle'],\n borderInlineStartStyle: ['borderLeftStyle'],\n borderInlineEndStyle: ['borderRightStyle'],\n // Border color\n borderBlockColor: ['borderTopColor', 'borderBottomColor'],\n borderBlockStartColor: ['borderTopColor'],\n borderBlockEndColor: ['borderBottomColor'],\n borderInlineColor: ['borderLeftColor', 'borderRightColor'],\n borderInlineStartColor: ['borderLeftColor'],\n borderInlineEndColor: ['borderRightColor'],\n // Border radius\n borderStartStartRadius: ['borderTopLeftRadius'],\n borderStartEndRadius: ['borderTopRightRadius'],\n borderEndStartRadius: ['borderBottomLeftRadius'],\n borderEndEndRadius: ['borderBottomRightRadius']\n};\nfunction wrapImportantAndSkipCheck(value, important) {\n let parsedValue = value;\n if (important) {\n parsedValue = `${parsedValue} !important`;\n }\n return {\n _skip_check_: true,\n value: parsedValue\n };\n}\n\n/**\n * Convert css logical properties to legacy properties.\n * Such as: `margin-block-start` to `margin-top`.\n * Transform list:\n * - inset\n * - margin\n * - padding\n * - border\n */\nconst transform = {\n visit: cssObj => {\n const clone = {};\n Object.keys(cssObj).forEach(key => {\n const value = cssObj[key];\n const matchValue = keyMap[key];\n if (matchValue && (typeof value === 'number' || typeof value === 'string')) {\n const [values, important] = splitValues(value);\n if (matchValue.length && matchValue.notSplit) {\n // not split means always give same value like border\n matchValue.forEach(matchKey => {\n clone[matchKey] = wrapImportantAndSkipCheck(value, important);\n });\n } else if (matchValue.length === 1) {\n // Handle like `marginBlockStart` => `marginTop`\n clone[matchValue[0]] = wrapImportantAndSkipCheck(values[0], important);\n } else if (matchValue.length === 2) {\n // Handle like `marginBlock` => `marginTop` & `marginBottom`\n matchValue.forEach((matchKey, index) => {\n clone[matchKey] = wrapImportantAndSkipCheck(values[index] ?? values[0], important);\n });\n } else if (matchValue.length === 4) {\n // Handle like `inset` => `top` & `right` & `bottom` & `left`\n matchValue.forEach((matchKey, index) => {\n clone[matchKey] = wrapImportantAndSkipCheck(values[index] ?? values[index - 2] ?? values[0], important);\n });\n } else {\n clone[key] = value;\n }\n } else {\n clone[key] = value;\n }\n });\n return clone;\n }\n};\nexport default transform;","/**\n * respect https://github.com/cuth/postcss-pxtorem\n */\n// @ts-ignore\nimport unitless from '@emotion/unitless';\nconst pxRegex = /url\\([^)]+\\)|var\\([^)]+\\)|(\\d*\\.?\\d+)px/g;\nfunction toFixed(number, precision) {\n const multiplier = Math.pow(10, precision + 1),\n wholeNumber = Math.floor(number * multiplier);\n return Math.round(wholeNumber / 10) * 10 / multiplier;\n}\nconst transform = (options = {}) => {\n const {\n rootValue = 16,\n precision = 5,\n mediaQuery = false\n } = options;\n const pxReplace = (m, $1) => {\n if (!$1) return m;\n const pixels = parseFloat($1);\n // covenant: pixels <= 1, not transform to rem @zombieJ\n if (pixels <= 1) return m;\n const fixedVal = toFixed(pixels / rootValue, precision);\n return `${fixedVal}rem`;\n };\n const visit = cssObj => {\n const clone = {\n ...cssObj\n };\n Object.entries(cssObj).forEach(([key, value]) => {\n if (typeof value === 'string' && value.includes('px')) {\n const newValue = value.replace(pxRegex, pxReplace);\n clone[key] = newValue;\n }\n\n // no unit\n if (!unitless[key] && typeof value === 'number' && value !== 0) {\n clone[key] = `${value}px`.replace(pxRegex, pxReplace);\n }\n\n // Media queries\n const mergedKey = key.trim();\n if (mergedKey.startsWith('@') && mergedKey.includes('px') && mediaQuery) {\n const newKey = key.replace(pxRegex, pxReplace);\n clone[newKey] = clone[key];\n delete clone[key];\n }\n });\n return clone;\n };\n return {\n visit\n };\n};\nexport default transform;","import extractStyle from \"./extractStyle\";\nimport useCacheToken, { getComputedToken } from \"./hooks/useCacheToken\";\nimport useCSSVarRegister from \"./hooks/useCSSVarRegister\";\nimport useStyleRegister from \"./hooks/useStyleRegister\";\nimport Keyframes from \"./Keyframes\";\nimport { legacyNotSelectorLinter, logicalPropertiesLinter, NaNLinter, parentSelectorLinter } from \"./linters\";\nimport StyleContext, { createCache, StyleProvider } from \"./StyleContext\";\nimport { createTheme, genCalc, Theme } from \"./theme\";\nimport autoPrefixTransformer from \"./transformers/autoPrefix\";\nimport legacyLogicalPropertiesTransformer from \"./transformers/legacyLogicalProperties\";\nimport px2remTransformer from \"./transformers/px2rem\";\nimport { supportLogicProps, supportWhere, unit } from \"./util\";\nimport { token2CSSVar } from \"./util/css-variables\";\nexport { Theme, createTheme, useStyleRegister, useCSSVarRegister, useCacheToken, createCache, StyleProvider, StyleContext, Keyframes, extractStyle, getComputedToken,\n// Transformer\nautoPrefixTransformer, legacyLogicalPropertiesTransformer, px2remTransformer,\n// Linters\nlogicalPropertiesLinter, legacyNotSelectorLinter, parentSelectorLinter, NaNLinter,\n// util\ntoken2CSSVar, unit, genCalc };\nexport const _experimental = {\n supportModernCSS: () => supportWhere() && supportLogicProps()\n};","import { useState } from 'react';\nimport useLayoutEffect from \"./useLayoutEffect\";\n/**\n * Similar to `useState` but will use props value if provided.\n * From React 18, we do not need safe `useState` since it will not throw for unmounted update.\n * This hooks remove the `onChange` & `postState` logic since we only need basic merged state logic.\n */\nexport default function useControlledState(defaultStateValue, value) {\n const [innerValue, setInnerValue] = useState(defaultStateValue);\n const mergedValue = value !== undefined ? value : innerValue;\n useLayoutEffect(mount => {\n if (!mount) {\n setInnerValue(value);\n }\n }, [value]);\n return [\n // Value\n mergedValue,\n // Update function\n setInnerValue];\n}","import warning from \"./warning\";\n\n/**\n * Deeply compares two object literals.\n * @param obj1 object 1\n * @param obj2 object 2\n * @param shallow shallow compare\n * @returns\n */\nfunction isEqual(obj1, obj2, shallow = false) {\n // https://github.com/mapbox/mapbox-gl-js/pull/5979/files#diff-fde7145050c47cc3a306856efd5f9c3016e86e859de9afbd02c879be5067e58f\n const refSet = new Set();\n function deepEqual(a, b, level = 1) {\n const circular = refSet.has(a);\n warning(!circular, 'Warning: There may be circular references');\n if (circular) {\n return false;\n }\n if (a === b) {\n return true;\n }\n if (shallow && level > 1) {\n return false;\n }\n refSet.add(a);\n const newLevel = level + 1;\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (!deepEqual(a[i], b[i], newLevel)) {\n return false;\n }\n }\n return true;\n }\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n const keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) {\n return false;\n }\n return keys.every(key => deepEqual(a[key], b[key], newLevel));\n }\n // other\n return false;\n }\n return deepEqual(obj1, obj2);\n}\nexport default isEqual;","import { FastColor } from '@ant-design/fast-color';\nconst hueStep = 2; // 色相阶梯\nconst saturationStep = 0.16; // 饱和度阶梯,浅色部分\nconst saturationStep2 = 0.05; // 饱和度阶梯,深色部分\nconst brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\nconst brightnessStep2 = 0.15; // 亮度阶梯,深色部分\nconst lightColorCount = 5; // 浅色数量,主色上\nconst darkColorCount = 4; // 深色数量,主色下\n\n// 暗色主题颜色映射关系表\nconst darkColorMap = [{\n index: 7,\n amount: 15\n}, {\n index: 6,\n amount: 25\n}, {\n index: 5,\n amount: 30\n}, {\n index: 5,\n amount: 45\n}, {\n index: 5,\n amount: 65\n}, {\n index: 5,\n amount: 85\n}, {\n index: 4,\n amount: 90\n}, {\n index: 3,\n amount: 95\n}, {\n index: 2,\n amount: 97\n}, {\n index: 1,\n amount: 98\n}];\nfunction getHue(hsv, i, light) {\n let hue;\n // 根据色相不同,色相转向不同\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n return hue;\n}\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n let saturation;\n if (light) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n }\n // 边界值修正\n if (saturation > 1) {\n saturation = 1;\n }\n // 第一格的 s 限制在 0.06-0.1 之间\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n return Math.round(saturation * 100) / 100;\n}\nfunction getValue(hsv, i, light) {\n let value;\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n // Clamp value between 0 and 1\n value = Math.max(0, Math.min(1, value));\n return Math.round(value * 100) / 100;\n}\nexport default function generate(color, opts = {}) {\n const patterns = [];\n const pColor = new FastColor(color);\n const hsv = pColor.toHsv();\n for (let i = lightColorCount; i > 0; i -= 1) {\n const c = new FastColor({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n });\n patterns.push(c);\n }\n patterns.push(pColor);\n for (let i = 1; i <= darkColorCount; i += 1) {\n const c = new FastColor({\n h: getHue(hsv, i),\n s: getSaturation(hsv, i),\n v: getValue(hsv, i)\n });\n patterns.push(c);\n }\n\n // dark theme patterns\n if (opts.theme === 'dark') {\n return darkColorMap.map(({\n index,\n amount\n }) => new FastColor(opts.backgroundColor || '#141414').mix(patterns[index], amount).toHexString());\n }\n return patterns.map(c => c.toHexString());\n}","// Generated by script. Do NOT modify!\n\nexport const presetPrimaryColors = {\n \"red\": \"#F5222D\",\n \"volcano\": \"#FA541C\",\n \"orange\": \"#FA8C16\",\n \"gold\": \"#FAAD14\",\n \"yellow\": \"#FADB14\",\n \"lime\": \"#A0D911\",\n \"green\": \"#52C41A\",\n \"cyan\": \"#13C2C2\",\n \"blue\": \"#1677FF\",\n \"geekblue\": \"#2F54EB\",\n \"purple\": \"#722ED1\",\n \"magenta\": \"#EB2F96\",\n \"grey\": \"#666666\"\n};\nexport const red = [\"#fff1f0\", \"#ffccc7\", \"#ffa39e\", \"#ff7875\", \"#ff4d4f\", \"#f5222d\", \"#cf1322\", \"#a8071a\", \"#820014\", \"#5c0011\"];\nred.primary = red[5];\nexport const volcano = [\"#fff2e8\", \"#ffd8bf\", \"#ffbb96\", \"#ff9c6e\", \"#ff7a45\", \"#fa541c\", \"#d4380d\", \"#ad2102\", \"#871400\", \"#610b00\"];\nvolcano.primary = volcano[5];\nexport const orange = [\"#fff7e6\", \"#ffe7ba\", \"#ffd591\", \"#ffc069\", \"#ffa940\", \"#fa8c16\", \"#d46b08\", \"#ad4e00\", \"#873800\", \"#612500\"];\norange.primary = orange[5];\nexport const gold = [\"#fffbe6\", \"#fff1b8\", \"#ffe58f\", \"#ffd666\", \"#ffc53d\", \"#faad14\", \"#d48806\", \"#ad6800\", \"#874d00\", \"#613400\"];\ngold.primary = gold[5];\nexport const yellow = [\"#feffe6\", \"#ffffb8\", \"#fffb8f\", \"#fff566\", \"#ffec3d\", \"#fadb14\", \"#d4b106\", \"#ad8b00\", \"#876800\", \"#614700\"];\nyellow.primary = yellow[5];\nexport const lime = [\"#fcffe6\", \"#f4ffb8\", \"#eaff8f\", \"#d3f261\", \"#bae637\", \"#a0d911\", \"#7cb305\", \"#5b8c00\", \"#3f6600\", \"#254000\"];\nlime.primary = lime[5];\nexport const green = [\"#f6ffed\", \"#d9f7be\", \"#b7eb8f\", \"#95de64\", \"#73d13d\", \"#52c41a\", \"#389e0d\", \"#237804\", \"#135200\", \"#092b00\"];\ngreen.primary = green[5];\nexport const cyan = [\"#e6fffb\", \"#b5f5ec\", \"#87e8de\", \"#5cdbd3\", \"#36cfc9\", \"#13c2c2\", \"#08979c\", \"#006d75\", \"#00474f\", \"#002329\"];\ncyan.primary = cyan[5];\nexport const blue = [\"#e6f4ff\", \"#bae0ff\", \"#91caff\", \"#69b1ff\", \"#4096ff\", \"#1677ff\", \"#0958d9\", \"#003eb3\", \"#002c8c\", \"#001d66\"];\nblue.primary = blue[5];\nexport const geekblue = [\"#f0f5ff\", \"#d6e4ff\", \"#adc6ff\", \"#85a5ff\", \"#597ef7\", \"#2f54eb\", \"#1d39c4\", \"#10239e\", \"#061178\", \"#030852\"];\ngeekblue.primary = geekblue[5];\nexport const purple = [\"#f9f0ff\", \"#efdbff\", \"#d3adf7\", \"#b37feb\", \"#9254de\", \"#722ed1\", \"#531dab\", \"#391085\", \"#22075e\", \"#120338\"];\npurple.primary = purple[5];\nexport const magenta = [\"#fff0f6\", \"#ffd6e7\", \"#ffadd2\", \"#ff85c0\", \"#f759ab\", \"#eb2f96\", \"#c41d7f\", \"#9e1068\", \"#780650\", \"#520339\"];\nmagenta.primary = magenta[5];\nexport const grey = [\"#a6a6a6\", \"#999999\", \"#8c8c8c\", \"#808080\", \"#737373\", \"#666666\", \"#404040\", \"#1a1a1a\", \"#000000\", \"#000000\"];\ngrey.primary = grey[5];\nexport const gray = grey;\nexport const presetPalettes = {\n red,\n volcano,\n orange,\n gold,\n yellow,\n lime,\n green,\n cyan,\n blue,\n geekblue,\n purple,\n magenta,\n grey\n};\nexport const redDark = [\"#2a1215\", \"#431418\", \"#58181c\", \"#791a1f\", \"#a61d24\", \"#d32029\", \"#e84749\", \"#f37370\", \"#f89f9a\", \"#fac8c3\"];\nredDark.primary = redDark[5];\nexport const volcanoDark = [\"#2b1611\", \"#441d12\", \"#592716\", \"#7c3118\", \"#aa3e19\", \"#d84a1b\", \"#e87040\", \"#f3956a\", \"#f8b692\", \"#fad4bc\"];\nvolcanoDark.primary = volcanoDark[5];\nexport const orangeDark = [\"#2b1d11\", \"#442a11\", \"#593815\", \"#7c4a15\", \"#aa6215\", \"#d87a16\", \"#e89a3c\", \"#f3b765\", \"#f8cf8d\", \"#fae3b7\"];\norangeDark.primary = orangeDark[5];\nexport const goldDark = [\"#2b2111\", \"#443111\", \"#594214\", \"#7c5914\", \"#aa7714\", \"#d89614\", \"#e8b339\", \"#f3cc62\", \"#f8df8b\", \"#faedb5\"];\ngoldDark.primary = goldDark[5];\nexport const yellowDark = [\"#2b2611\", \"#443b11\", \"#595014\", \"#7c6e14\", \"#aa9514\", \"#d8bd14\", \"#e8d639\", \"#f3ea62\", \"#f8f48b\", \"#fafab5\"];\nyellowDark.primary = yellowDark[5];\nexport const limeDark = [\"#1f2611\", \"#2e3c10\", \"#3e4f13\", \"#536d13\", \"#6f9412\", \"#8bbb11\", \"#a9d134\", \"#c9e75d\", \"#e4f88b\", \"#f0fab5\"];\nlimeDark.primary = limeDark[5];\nexport const greenDark = [\"#162312\", \"#1d3712\", \"#274916\", \"#306317\", \"#3c8618\", \"#49aa19\", \"#6abe39\", \"#8fd460\", \"#b2e58b\", \"#d5f2bb\"];\ngreenDark.primary = greenDark[5];\nexport const cyanDark = [\"#112123\", \"#113536\", \"#144848\", \"#146262\", \"#138585\", \"#13a8a8\", \"#33bcb7\", \"#58d1c9\", \"#84e2d8\", \"#b2f1e8\"];\ncyanDark.primary = cyanDark[5];\nexport const blueDark = [\"#111a2c\", \"#112545\", \"#15325b\", \"#15417e\", \"#1554ad\", \"#1668dc\", \"#3c89e8\", \"#65a9f3\", \"#8dc5f8\", \"#b7dcfa\"];\nblueDark.primary = blueDark[5];\nexport const geekblueDark = [\"#131629\", \"#161d40\", \"#1c2755\", \"#203175\", \"#263ea0\", \"#2b4acb\", \"#5273e0\", \"#7f9ef3\", \"#a8c1f8\", \"#d2e0fa\"];\ngeekblueDark.primary = geekblueDark[5];\nexport const purpleDark = [\"#1a1325\", \"#24163a\", \"#301c4d\", \"#3e2069\", \"#51258f\", \"#642ab5\", \"#854eca\", \"#ab7ae0\", \"#cda8f0\", \"#ebd7fa\"];\npurpleDark.primary = purpleDark[5];\nexport const magentaDark = [\"#291321\", \"#40162f\", \"#551c3b\", \"#75204f\", \"#a02669\", \"#cb2b83\", \"#e0529c\", \"#f37fb7\", \"#f8a8cc\", \"#fad2e3\"];\nmagentaDark.primary = magentaDark[5];\nexport const greyDark = [\"#151515\", \"#1f1f1f\", \"#2d2d2d\", \"#393939\", \"#494949\", \"#5a5a5a\", \"#6a6a6a\", \"#7b7b7b\", \"#888888\", \"#969696\"];\ngreyDark.primary = greyDark[5];\nexport const presetDarkPalettes = {\n red: redDark,\n volcano: volcanoDark,\n orange: orangeDark,\n gold: goldDark,\n yellow: yellowDark,\n lime: limeDark,\n green: greenDark,\n cyan: cyanDark,\n blue: blueDark,\n geekblue: geekblueDark,\n purple: purpleDark,\n magenta: magentaDark,\n grey: greyDark\n};","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n"],"names":["module","exports","uuid","useOriginId","_objectSpread","React","useId","id","reactId","innerId","setInnerId","nextId","concat","APPEND_ORDER","APPEND_PRIORITY","containerCache","Map","getMark","mark","arguments","length","undefined","startsWith","getContainer","option","attachTo","document","querySelector","body","findStyles","container","Array","from","get","children","filter","node","tagName","injectCSS","css","canUseDom","csp","prepend","priority","mergedOrder","getOrder","isPrependQueue","styleNode","createElement","setAttribute","nonce","innerHTML","firstChild","existStyle","styles","includes","getAttribute","nodePriority","Number","insertBefore","nextSibling","appendChild","findExistNode","key","find","removeCSS","existNode","removeChild","updateCSS","originOption","cachedRealContainer","contains","placeholderStyle","parentNode","set","syncRealContainer","_option$csp","_option$csp2","_option$csp3","newNode","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","goldenrod","gold","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavenderblush","lavender","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","round","Math","splitColorStr","str","parseNum","match","replace","numList","map","item","parseFloat","i","parseHSVorHSL","num","_","index","limitRange","value","max","mergedMax","FastColor","constructor","input","matchFormat","_defineProperty","trimStr","trim","matchPrefix","prefix","test","this","fromHexString","fromRgbString","fromHslString","fromHsvString","presetColor","presetColors","toLowerCase","parseInt","toString","padStart","r","g","b","a","_h","_s","_l","_v","fromHsl","Error","JSON","stringify","fromHsv","setR","_sc","setG","setB","setA","setHue","hsv","toHsv","h","_c","getLuminance","adjustGamma","raw","val","pow","getHue","delta","getMax","getMin","getSaturation","getLightness","getValue","getBrightness","_brightness","darken","amount","s","l","lighten","mix","color","p","calc","rgba","tint","shade","onBackground","background","bg","alpha","isDark","isLight","equals","other","clone","toHexString","hex","rHex","gHex","bHex","aHex","toHsl","toHslString","v","toRgb","toRgbString","rgb","_max","_min","min","withoutPrefix","connectNum","index1","index2","_ref","huePrime","chroma","abs","secondComponent","lightnessModification","_ref2","vv","hh","floor","ff","q","t","cells","txt","cached","measureScrollbarSize","ele","randomId","random","substring","measureEle","measureStyle","style","fallbackWidth","fallbackHeight","position","left","top","width","height","overflow","targetStyle","getComputedStyle","scrollbarColor","scrollbarWidth","webkitScrollbarStyle","widthStyle","heightStyle","e","console","error","scrollWidth","isNaN","offsetWidth","clientWidth","scrollHeight","offsetHeight","clientHeight","getScrollBarSize","fresh","getTargetScrollBarSize","target","Element","CollectionContext","elementListeners","onResize","entities","forEach","entity","_elementListeners$get","listener","observer","ensureResizeObserver","ResizeObserver","RefSingleObserver","props","ref","disabled","elementRef","onCollectionResize","isRenderProps","mergedChildren","sizeRef","canRef","supportRef","originRef","getNodeRef","mergedRef","useComposeRef","getDomElement","getDOM","current","propsRef","onInternalResize","data","getBoundingClientRect","fixedWidth","fixedHeight","size","mergedOffsetWidth","mergedOffsetHeight","sizeInfo","Promise","resolve","then","currentElement","element","callback","has","Set","observe","add","delete","unobserve","_extends","Object","assign","bind","source","prototype","hasOwnProperty","call","apply","RefResizeObserver","toArray","child","SingleObserver","Collection","onBatchResize","resizeIdRef","resizeInfosRef","currentId","push","Provider","omit","obj","fields","isArray","warned","preWarningFns","warning","valid","message","process","note","method","warningOnce","noteOnce","preMessage","fn","resetWarned","hasValue","useMergedState","defaultStateValue","defaultValue","onChange","postState","innerValue","setInnerValue","useState","mergedValue","postMergedValue","onChangeFn","useEvent","prevValue","setPrevValue","useLayoutUpdateEffect","prev","updater","ignoreDestroy","getRoot","_ele$getRootNode","getRootNode","getShadowRoot","ShadowRoot","inShadow","_unsupportedIterableToArray","slice","name","ReactMajorVersion","version","split","fillRef","composeRef","_len","refs","_key","refList","Boolean","_len2","_key2","useMemo","next","every","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","isReactElement","type","isMemo","render","$$typeof","ForwardRef","isValidElement","isFragment","supportNodeRef","propertyIsEnumerable","_createSuper","o","Reflect","construct","Context","MotionProvider","_objectWithoutProperties","_excluded","STATUS_NONE","STATUS_APPEAR","STATUS_ENTER","STATUS_LEAVE","STEP_NONE","STEP_PREPARE","STEP_START","STEP_ACTIVE","STEP_ACTIVATED","STEP_PREPARED","makePrefixMap","styleProp","eventName","prefixes","vendorPrefixes","domSupport","win","animationend","transitionend","animation","transition","getVendorPrefixes","canUseDOM","window","prefixedEventNames","getVendorPrefixedEventName","prefixMap","stylePropList","keys","len","internalAnimationEndName","internalTransitionEndName","supportTransition","animationEndName","transitionEndName","getTransitionName","transitionName","transitionType","toUpperCase","useLayoutEffect","useEffect","FULL_STEP_QUEUE","SIMPLE_STEP_QUEUE","SkipStep","isActive","step","status","prepareOnly","setStep","nextFrame","cancelNextFrame","nextFrameRef","raf","cancel","delay","nextFrameId","isCanceled","useNextFrame","STEP_QUEUE","useIsomorphicLayoutEffect","indexOf","nextStep","result","info","doNext","useStatus","supportMotion","visible","getElement","motionEnter","motionAppear","motionLeave","motionDeadline","motionLeaveImmediately","onAppearPrepare","onEnterPrepare","onLeavePrepare","onAppearStart","onEnterStart","onLeaveStart","onAppearActive","onEnterActive","onLeaveActive","onAppearEnd","onEnterEnd","onLeaveEnd","onVisibleChanged","asyncVisible","setAsyncVisible","getStatus","setStatus","forceUpdate","x","currentValueRef","useSyncState","setStyle","currentStatus","mountedRef","useRef","deadlineRef","activeRef","updateMotionEndStatus","onInternalMotionEnd","event","deadline","currentActive","canEnd","patchMotionEvents","cacheElementRef","removeMotionEvents","removeEventListener","addEventListener","useDomMotionEvents","getEventHandlers","targetStatus","eventHandlers","startStep","useStepQueue","newStep","onPrepare","_eventHandlers$step","clearTimeout","setTimeout","active","visibleRef","isMounted","nextStatus","nextEventHandlers","firstMountChangeRef","mergedStyle","config","transitionSupport","CSSMotion","removeOnLeave","forceRender","motionName","leavedClassName","eventProps","motion","contextMotion","isSupportTransition","nodeRef","statusStep","statusStyle","mergedVisible","renderedRef","refObj","defineProperties","nativeElement","enumerable","inMotion","enableMotion","motionChildren","mergedProps","className","display","statusSuffix","motionCls","clsx","displayName","STATUS_ADD","STATUS_KEEP","STATUS_REMOVE","STATUS_REMOVED","wrapKeyToObject","keyObj","String","parseKeys","MOTION_PROP_NAMES","OriginCSSMotion","CSSMotionList","keyEntities","removeKey","setState","prevState","state","onAllRemoved","getDerivedStateFromProps","_ref3","parsedKeyObjects","mixedKeyEntities","prevKeys","currentKeys","list","currentIndex","currentLen","prevKeyObjects","currentKeyObjects","hit","currentKeyObj","matchKey","diffKeys","prevEntity","_ref4","_this$props","component","restProps","Component","motionProps","prop","_ref5","_excluded2","changedVisible","internalSet","paths","removeIfUndefined","path","restPath","createEmpty","ownKeys","mergeWith","sources","prepareArray","finalPrepareArray","src","internalMerge","parentLoopSet","loopSet","isArr","getPrototypeOf","originValue","merge","REACT_ELEMENT_TYPE_18","Symbol","for","REACT_ELEMENT_TYPE_19","REACT_FRAGMENT_TYPE","object","_arrayLikeToArray","n","Arrow","prefixCls","align","arrow","arrowPos","content","y","arrowRef","points","alignStyle","autoArrow","popupPoints","targetPoints","popupTB","popupLR","targetTB","targetLR","bottom","right","Mask","open","zIndex","mask","mobile","cache","useOffsetStyle","isMobile","ready","offsetR","offsetB","offsetX","offsetY","AUTO","offsetStyle","_align$_experimental","dynamicInset","_experimental","alignRight","alignBottom","popup","keepDom","onClick","maskMotion","getPopupContainer","autoDestroy","portal","Portal","onMouseEnter","onMouseLeave","onPointerEnter","onPointerDownCapture","onAlign","stretch","targetWidth","targetHeight","popupContent","isNodeVisible","mergedMask","mergedMaskMotion","mergedPopupMotion","getPopupContainerNeedParams","show","setShow","miscStyle","minHeight","minWidth","pointerEvents","resizeObserverRef","nextVisible","_motion$onVisibleChan","motionRef","motionClassName","motionStyle","cls","boxSizing","PopupContent","UniqueContext","isPointsEq","a1","a2","getVal","getAlignPopupClassName","builtinPlacements","isAlignPoint","placements","_builtinPlacements$pl","placement","getWin","ownerDocument","defaultView","collectScroller","scrollerList","parentElement","scrollStyle","overflowX","overflowY","some","toNum","getPxValue","getVisibleArea","initArea","visibleArea","HTMLBodyElement","HTMLHtmlElement","overflowClipMargin","borderTopWidth","borderBottomWidth","borderLeftWidth","borderRightWidth","eleRect","eleOutHeight","eleInnerHeight","eleOutWidth","eleInnerWidth","borderTopNum","borderBottomNum","borderLeftNum","borderRightNum","scaleX","scaleY","eleScrollWidth","eleScrollHeight","scaledBorderTopWidth","scaledBorderBottomWidth","scaledBorderLeftWidth","scaledBorderRightWidth","clipMarginWidth","clipMarginHeight","clipNum","eleLeft","eleTop","eleRight","eleBottom","getUnitOffset","offsetStr","getNumberOffset","rect","offset","splitPoints","getAlignPoint","topBottom","leftRight","reversePoints","flatPoints","join","useAlign","popupEle","popupAlign","onPopupAlign","offsetInfo","setOffsetInfo","arrowX","arrowY","alignCountRef","prevFlipRef","_popupElement$parentE","_popupRect$x","_popupRect$y","_popupElement$parentE2","popupElement","doc","popupPosition","originLeft","originTop","originRight","originBottom","originOverflow","placementInfo","placeholderElement","targetRect","offsetLeft","offsetTop","_rect$x","_rect$y","popupRect","scrollTop","scrollLeft","documentElement","popupHeight","popupWidth","visibleRegion","scrollRegion","htmlRegion","VISIBLE","VISIBLE_FIRST","isVisibleFirst","scrollRegionArea","visibleRegionArea","adjustCheckVisibleArea","popupMirrorRect","isDOM","isVisible","targetOffset","popupOffsetX","popupOffsetY","targetOffsetX","targetOffsetY","popupPoint","targetPoint","targetAlignPoint","popupAlignPoint","nextAlignInfo","nextPoints","nextOffsetX","nextOffsetY","getIntersectionVisibleArea","area","visibleL","visibleT","visibleR","visibleB","originIntersectionVisibleArea","originIntersectionRecommendArea","targetAlignPointTL","popupAlignPointTL","targetAlignPointBR","popupAlignPointBR","adjustX","adjustY","shiftX","shiftY","supportAdjust","nextPopupY","nextPopupBottom","nextPopupX","nextPopupRight","syncNextPopupPosition","needAdjustY","sameTB","bt","tmpNextOffsetY","newVisibleArea","newVisibleRecommendArea","tb","needAdjustX","sameLR","rl","tmpNextOffsetX","lr","numShiftX","numShiftY","popupLeft","popupRight","popupTop","popupBottom","targetLeft","targetRight","targetTop","targetBottom","nextArrowX","nextArrowY","offsetX4Right","offsetY4Bottom","resetReady","ori","triggerAlign","useDelay","delayRef","clearDelay","delayInvoke","popupSize","uniqueContainerClassName","uniqueContainerStyle","containerCls","motionVisible","setMotionVisible","cachedOffsetStyleRef","sizeStyle","postTriggerProps","trigger","options","onTargetVisibleChanged","setOptions","setOpen","isAnimating","setIsAnimating","pendingOptionsRef","nextOptions","useTargetState","mergedOptions","setPopupEle","setPopupSize","externalPopupRef","setPopupRef","isOpenRef","showOptions","isOpen","hide","_isOpenRef$current","alignInfo","popupPlacement","alignedClassName","_mergedOptions$getPop","baseClassName","getPopupClassNameFromAlign","contextValue","subPopupElements","parentContext","TriggerContext","triggerContextValue","registerSubPopup","subPopupEle","Popup","popupClassName","popupStyle","popupMotion","UniqueContainer","generateTrigger","PortalComponent","Trigger","action","showAction","hideAction","popupVisible","defaultPopupVisible","onOpenChange","afterOpenChange","onPopupVisibleChange","afterPopupVisibleChange","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","maskClosable","unique","alignPoint","onPopupClick","mergedAutoDestroy","openUncontrolled","context","uniqueContext","targetEle","setTargetEle","externalForwardRef","setTargetRef","cloneProps","inPopupOrChild","_getShadowRoot","_getShadowRoot2","childDOM","host","values","innerArrow","internalOpen","setInternalOpen","useControlledState","mergedOpen","nextChild","only","originChildProps","getUniqueOptions","openRef","lastTriggerRef","internalTriggerOpen","nextOpen","_lastTriggerRef$curre","triggerOpen","setInMotion","firstMount","motionPrepareResolve","setMotionPrepareResolve","mousePos","setMousePos","setMousePosByEvent","clientX","clientY","showActions","hideActions","mergedShowAction","mergedHideAction","showActionSet","hideActionSet","useAction","clickToShow","clickToHide","onScroll","targetScrollList","popupScrollList","mergedList","notifyScroll","scroller","passive","useWatch","forceAlign","setTargetWidth","setTargetHeight","syncTargetSize","wrapperAction","ignoreCheck","_originChildProps$eve","args","touchToShow","touchToHide","touchedRef","onTouchStart","_originChildProps$onT","_originChildProps$onC","_len3","_key3","onPopupPointerDown","popupPointerDownRef","onPointerDown","onTriggerClose","_e$composedPath","composedPath","targetShadowRoot","useWinClick","hoverToShow","hoverToHide","onPopupMouseEnter","onPopupMouseLeave","ignoreMouseTrigger","onMouseEnterCallback","onMouseMove","_originChildProps$onM","onContextMenu","_originChildProps$onC2","preventDefault","_len4","_key4","rendedRef","mergedChildrenProps","passedProps","_mergedChildrenProps$","_len5","_key5","triggerNode","onTargetResize","inline","EMPTY_LIST","UNIQUE_ID","Date","now","useScrollLocker","lock","mergedLock","scrollbarSize","isOverflow","innerHeight","innerWidth","getPortalContainer","autoLock","debug","shouldRender","setShouldRender","mergedRender","innerContainer","setInnerContainer","customizeContainer","defaultContainer","queueCreate","appendedRef","OrderContext","queue","setQueue","mergedQueueCreate","appendFn","origin","append","cleanup","_ele$parentElement","useDom","mergedContainer","childRef","renderInline","nextInline","reffedChildren","createPortal","condition","shouldUpdate","cacheRef","HTMLElement","SVGElement","useSafeState","destroyRef","setValue","_isNativeReflectConstruct","valueOf","f","fnRef","memoFn","_fnRef$current","useInternalLayoutEffect","deps","firstMountRef","root","ret","keepEmpty","caf","requestAnimationFrame","handle","cancelAnimationFrame","rafUUID","rafIds","wrapperRaf","callRef","leftTimes","realId","offsetParent","getBBox","_createClass","AbstractCalculator","_classCallCheck","CALC_UNIT","regexp","RegExp","unit","CSSCalculator","_AbstractCalculator","_inherits","_super","unitlessCssVar","_this","_assertThisInitialized","numType","_typeof","getResult","lowPriority","force","_this2","cssUnit","mergedUnit","cssVar","NumCalculator","Calculator","token","defaultToken","customToken","deprecatedTokens","_customToken$newToken","_slicedToArray","oldTokenKey","newTokenKey","mergedToken","enableStatistic","CSSINJS_STATISTIC","recording","objs","defineProperty","configurable","statistic","noop","tokenKeys","proxy","flush","Proxy","_tokenKeys","componentName","componentToken","_statistic$componentN","global","getDefaultToken","_token$component","mergeToken","uniqueMap","ArrayKeyMap","WeakMap","clear","compositeKey","getCompositeKey","lastAccessBeat","accessBeat","getObjectID","objectIDMap","nextID","beat","cachedValue","newValue","_config$useCSP","useCSP","useDefaultCSP","useToken","usePrefix","getResetStyles","getCommonStyle","getCompUnitless","genComponentStyleHook","styleFn","concatComponent","mergedLayer","layer","rootCls","_useToken2","theme","realToken","hashId","zeroRuntime","_usePrefix","rootPrefixCls","iconPrefixCls","useUniqueMemo","unitless","token2CSSVar","getCompVarPrefix","genCalc","_genMaxMin","genMaxMin","sharedConfig","clientOnly","order","useStyleRegister","injectStyle","_statisticToken","statisticToken","proxyToken","defaultComponentToken","getDefaultComponentToken","componentCls","getComponentToken","iconCls","antCls","styleInterpolation","commonStyle","resetFont","resetStyle","genStyleHooks","prefixToken","originUnitless","originCompUnitless","compUnitless","useStyle","useCSSVar","ignore","_useToken","useCSSVarRegister","scope","genCSSVarRegister","genSubStyleComponent","_ref$rootCls","iterator","u","done","unsupportedIterableToArray","TypeError","k","charCodeAt","pathKey","updateId","instanceId","opGet","keyPathStr","update","valueFn","opUpdate","nextValue","updateTimes","AUTO_PREFIX","ATTR_TOKEN","ATTR_MARK","CSS_IN_JS_INSTANCE","createCache","cssinjsInstanceId","head","querySelectorAll","styleHash","hash","_style$parentNode","CacheEntity","StyleContext","hashPriority","defaultCache","autoPrefix","StyleProvider","mergedContext","transformers","isEqual","super","sub","mul","div","equal","ThemeCache","cacheCallTimes","internalGet","derivativeOption","_cache2","_cache3","updateCallTimes","derivative","_cache","_this$internalGet","MAX_CACHE_SIZE","MAX_CACHE_OFFSET","targetKey","reduce","callTimes","cacheValue","deleteByPath","currentCache","derivatives","_cache$value","sameDerivativeOption","Theme","getDerivativeToken","cacheThemes","createTheme","derivativeArr","resultCache","RESULT_VALUE","flattenTokenCache","flattenToken","randomSelectorKey","checkContent","supportSelector","styleStr","handleElement","supportCheck","_getComputedStyle$con","_ele$parentNode","support","canWhere","canLogic","isClientSide","toStyleStr","tokenKey","styleId","customizeAttrs","attrs","attrStr","attr","serializeCSSVar","cssVars","hashCls","hashSelector","where","entries","transformToken","themeKey","preserve","effectMap","useGlobalCache","keyPath","cacheFn","onCacheRemove","onCacheEffect","globalCache","fullPathStr","buildCache","useHMR","prevCache","times","cacheContent","useInsertionEffect","EMPTY_OVERRIDE","cleanTokenStyle","cleanableKeyList","removeStyleTags","getComputedToken","originToken","overrideToken","format","derivativeToken","mergedDerivativeToken","TOKEN_PREFIX","useCacheToken","tokens","useContext","salt","override","formatToken","compute","dep","memoResult","tokenStr","overrideTokenStr","cssVarStr","cachedToken","actualToken","mergedSalt","_tokenKey","token2key","tokenWithCssVar","cssVarsStr","hashed","_hashId","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","orphans","tabSize","widows","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","KEYFRAMES","fromCharCode","pattern","exec","replacement","indexof","search","charat","substr","begin","end","strlen","sizeof","array","serialize","output","return","line","column","character","characters","parent","siblings","copy","lift","peek","caret","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","parse","rule","rules","rulesets","pseudo","declarations","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","j","z","c","d","prefixer","combine","lintWarning","parentSelectors","devWarning","isConcatSelector","selector","_selector$match","linter","parentSelectorPath","cur","parsePath","notList","valueArr","group","radiusArr","ATTR_CACHE_MAP","CSS_FILE_STYLE","cachePathMap","fromCSSFile","existPath","visibility","inlineMapStyle","_inlineMapStyle$paren","prepare","MULTI_VALUE","normalizeStyle","collection","middleware","injectSelectorHash","hashClassName","_firstPath$match","fullPath","firstPath","htmlElement","parseStyle","interpolation","injectHash","linters","effectStyle","parseKeyframes","keyframes","animationName","getName","parsedStr","flattenStyleList","flattenList","fullList","originStyle","_keyframe","trans","_trans$visit","visit","isCompoundCSSProperty","_value$value","appendStyle","cssKey","cssValue","styleName","formatValue","actualValue","subInjectHash","mergedKey","nextRoot","childEffectStyle","dependencies","uniqueHash","STYLE_PREFIX","mock","enableLayer","isMergedClientSide","cachePath","inlineCacheStyleStr","getStyleAndHash","styleObj","parsedStyle","fromHMR","mergedCSSConfig","nonceStr","effectLayerKeys","effectRestKeys","effectKey","CSS_VAR_PREFIX","stylePath","ExtractStyleFns","extract","effectStyles","plain","keyStyleText","sharedAttrs","effectStyleHTML","cssVarKey","isNotNull","extractStyle","types","once","matchPrefixRegexp","styleKeys","styleText","extracted","extractedStyle","extractFn","updateTime","sort","o1","u1","o2","u2","serializeCacheMap","noSplit","notSplit","keyMap","inset","insetBlock","insetBlockStart","insetBlockEnd","insetInline","insetInlineStart","insetInlineEnd","marginBlock","marginBlockStart","marginBlockEnd","marginInline","marginInlineStart","marginInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd","paddingInline","paddingInlineStart","paddingInlineEnd","borderBlock","borderBlockStart","borderBlockEnd","borderInline","borderInlineStart","borderInlineEnd","borderBlockWidth","borderBlockStartWidth","borderBlockEndWidth","borderInlineWidth","borderInlineStartWidth","borderInlineEndWidth","borderBlockStyle","borderBlockStartStyle","borderBlockEndStyle","borderInlineStyle","borderInlineStartStyle","borderInlineEndStyle","borderBlockColor","borderBlockStartColor","borderBlockEndColor","borderInlineColor","borderInlineStartColor","borderInlineEndColor","borderStartStartRadius","borderStartEndRadius","borderEndStartRadius","borderEndEndRadius","wrapImportantAndSkipCheck","important","parsedValue","_skip_check_","cssObj","matchValue","rawStyle","importantCells","splitStyle","temp","brackets","splitValues","_values$index","_values$index2","pxRegex","rootValue","precision","mediaQuery","pxReplace","m","$1","pixels","fixedVal","number","multiplier","wholeNumber","toFixed","newKey","supportModernCSS","mount","obj1","obj2","shallow","refSet","deepEqual","level","circular","newLevel","darkColorMap","light","hue","saturation","generate","opts","patterns","pColor","backgroundColor","presetPrimaryColors","primary","volcano","geekblue","presetPalettes","redDark","volcanoDark","orangeDark","goldDark","yellowDark","limeDark","greenDark","cyanDark","blueDark","geekblueDark","purpleDark","magentaDark","greyDark","presetDarkPalettes"],"ignoreList":[],"sourceRoot":""}