@automattic/charts 0.44.0 → 0.46.0

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 (113) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/{chunk-2HB55BRH.js → chunk-4H3J2HCD.js} +102 -47
  3. package/dist/chunk-4H3J2HCD.js.map +1 -0
  4. package/dist/{chunk-G4FX5I3V.cjs → chunk-7AH76DXF.cjs} +119 -64
  5. package/dist/chunk-7AH76DXF.cjs.map +1 -0
  6. package/dist/{chunk-3O6FHD2T.js → chunk-A3PGOCJO.js} +46 -4
  7. package/dist/chunk-A3PGOCJO.js.map +1 -0
  8. package/dist/{chunk-G66WE3ON.js → chunk-BWEMZ72V.js} +41 -15
  9. package/dist/chunk-BWEMZ72V.js.map +1 -0
  10. package/dist/{chunk-BZ6UDD37.cjs → chunk-CNAKHZMW.cjs} +69 -31
  11. package/dist/chunk-CNAKHZMW.cjs.map +1 -0
  12. package/dist/{chunk-MAV6SE6L.cjs → chunk-GEB4GELE.cjs} +24 -24
  13. package/dist/{chunk-MAV6SE6L.cjs.map → chunk-GEB4GELE.cjs.map} +1 -1
  14. package/dist/{chunk-KM62I6SD.js → chunk-HVWETEEV.js} +53 -15
  15. package/dist/chunk-HVWETEEV.js.map +1 -0
  16. package/dist/{chunk-HYHBAHIU.js → chunk-JGX3ZNK5.js} +3 -3
  17. package/dist/{chunk-W5RFMC3A.js → chunk-JI6OGGGF.js} +3 -3
  18. package/dist/{chunk-SHADFB3T.js → chunk-KEBKTDOQ.js} +2 -2
  19. package/dist/{chunk-2HUX2CAT.cjs → chunk-LSGYIUQX.cjs} +44 -2
  20. package/dist/chunk-LSGYIUQX.cjs.map +1 -0
  21. package/dist/{chunk-UHESRL2F.cjs → chunk-N36WJKYM.cjs} +6 -6
  22. package/dist/{chunk-UHESRL2F.cjs.map → chunk-N36WJKYM.cjs.map} +1 -1
  23. package/dist/{chunk-Q2LDRQN7.js → chunk-PFT2X4OW.js} +2 -2
  24. package/dist/{chunk-GK3XEXVI.cjs → chunk-PNSMPZ3E.cjs} +8 -8
  25. package/dist/{chunk-GK3XEXVI.cjs.map → chunk-PNSMPZ3E.cjs.map} +1 -1
  26. package/dist/{chunk-SC462VDM.cjs → chunk-QPHNEQCK.cjs} +11 -11
  27. package/dist/{chunk-SC462VDM.cjs.map → chunk-QPHNEQCK.cjs.map} +1 -1
  28. package/dist/{chunk-ZA7OWPY7.cjs → chunk-VOMSG7KV.cjs} +50 -24
  29. package/dist/chunk-VOMSG7KV.cjs.map +1 -0
  30. package/dist/{chunk-QLLKOSJ6.cjs → chunk-YKVKFUV7.cjs} +50 -24
  31. package/dist/chunk-YKVKFUV7.cjs.map +1 -0
  32. package/dist/{chunk-XDIWMJZD.js → chunk-ZSNO2BYX.js} +39 -13
  33. package/dist/chunk-ZSNO2BYX.js.map +1 -0
  34. package/dist/components/bar-chart/index.cjs +4 -4
  35. package/dist/components/bar-chart/index.d.cts +2 -1
  36. package/dist/components/bar-chart/index.d.ts +2 -1
  37. package/dist/components/bar-chart/index.js +3 -3
  38. package/dist/components/bar-list-chart/index.cjs +5 -5
  39. package/dist/components/bar-list-chart/index.d.cts +1 -1
  40. package/dist/components/bar-list-chart/index.d.ts +1 -1
  41. package/dist/components/bar-list-chart/index.js +4 -4
  42. package/dist/components/conversion-funnel-chart/index.cjs +3 -3
  43. package/dist/components/conversion-funnel-chart/index.d.cts +1 -1
  44. package/dist/components/conversion-funnel-chart/index.d.ts +1 -1
  45. package/dist/components/conversion-funnel-chart/index.js +2 -2
  46. package/dist/components/leaderboard-chart/index.cjs +4 -4
  47. package/dist/components/leaderboard-chart/index.d.cts +2 -2
  48. package/dist/components/leaderboard-chart/index.d.ts +2 -2
  49. package/dist/components/leaderboard-chart/index.js +3 -3
  50. package/dist/components/legend/index.cjs +3 -3
  51. package/dist/components/legend/index.d.cts +1 -1
  52. package/dist/components/legend/index.d.ts +1 -1
  53. package/dist/components/legend/index.js +2 -2
  54. package/dist/components/line-chart/index.cjs +4 -4
  55. package/dist/components/line-chart/index.d.cts +1 -1
  56. package/dist/components/line-chart/index.d.ts +1 -1
  57. package/dist/components/line-chart/index.js +3 -3
  58. package/dist/components/pie-chart/index.cjs +4 -4
  59. package/dist/components/pie-chart/index.d.cts +7 -1
  60. package/dist/components/pie-chart/index.d.ts +7 -1
  61. package/dist/components/pie-chart/index.js +3 -3
  62. package/dist/components/pie-semi-circle-chart/index.cjs +4 -4
  63. package/dist/components/pie-semi-circle-chart/index.d.cts +7 -1
  64. package/dist/components/pie-semi-circle-chart/index.d.ts +7 -1
  65. package/dist/components/pie-semi-circle-chart/index.js +3 -3
  66. package/dist/components/tooltip/index.d.cts +1 -1
  67. package/dist/components/tooltip/index.d.ts +1 -1
  68. package/dist/hooks/index.cjs +4 -2
  69. package/dist/hooks/index.cjs.map +1 -1
  70. package/dist/hooks/index.d.cts +79 -2
  71. package/dist/hooks/index.d.ts +79 -2
  72. package/dist/hooks/index.js +3 -1
  73. package/dist/index.cjs +10 -10
  74. package/dist/index.d.cts +3 -3
  75. package/dist/index.d.ts +3 -3
  76. package/dist/index.js +9 -9
  77. package/dist/{leaderboard-chart-BWEheWCd.d.cts → leaderboard-chart-B5JRimc9.d.cts} +2 -2
  78. package/dist/{leaderboard-chart-rqyTz1m6.d.ts → leaderboard-chart-DQ8i8GMA.d.ts} +2 -2
  79. package/dist/providers/index.cjs +2 -2
  80. package/dist/providers/index.d.cts +2 -2
  81. package/dist/providers/index.d.ts +2 -2
  82. package/dist/providers/index.js +1 -1
  83. package/dist/{themes-CGUHFZ5g.d.ts → themes-CN85BQM1.d.ts} +1 -1
  84. package/dist/{themes-B4swlmql.d.cts → themes-TIJq1lG_.d.cts} +1 -1
  85. package/dist/{types-cEbX_Q2K.d.ts → types-73KOEWs9.d.cts} +3 -1
  86. package/dist/{types-cEbX_Q2K.d.cts → types-73KOEWs9.d.ts} +3 -1
  87. package/package.json +3 -3
  88. package/src/components/bar-chart/bar-chart.tsx +57 -11
  89. package/src/components/bar-chart/test/bar-chart.test.tsx +114 -0
  90. package/src/components/leaderboard-chart/leaderboard-chart.tsx +85 -38
  91. package/src/components/leaderboard-chart/test/leaderboard-chart.test.tsx +48 -0
  92. package/src/components/leaderboard-chart/types.ts +1 -0
  93. package/src/components/pie-chart/pie-chart.tsx +130 -93
  94. package/src/components/pie-chart/test/pie-chart.test.tsx +174 -0
  95. package/src/components/pie-semi-circle-chart/pie-semi-circle-chart.tsx +96 -57
  96. package/src/components/pie-semi-circle-chart/test/pie-semi-circle-chart.test.tsx +84 -0
  97. package/src/hooks/index.ts +1 -0
  98. package/src/hooks/use-interactive-legend-data.ts +138 -0
  99. package/src/types.ts +3 -1
  100. package/dist/chunk-2HB55BRH.js.map +0 -1
  101. package/dist/chunk-2HUX2CAT.cjs.map +0 -1
  102. package/dist/chunk-3O6FHD2T.js.map +0 -1
  103. package/dist/chunk-BZ6UDD37.cjs.map +0 -1
  104. package/dist/chunk-G4FX5I3V.cjs.map +0 -1
  105. package/dist/chunk-G66WE3ON.js.map +0 -1
  106. package/dist/chunk-KM62I6SD.js.map +0 -1
  107. package/dist/chunk-QLLKOSJ6.cjs.map +0 -1
  108. package/dist/chunk-XDIWMJZD.js.map +0 -1
  109. package/dist/chunk-ZA7OWPY7.cjs.map +0 -1
  110. /package/dist/{chunk-HYHBAHIU.js.map → chunk-JGX3ZNK5.js.map} +0 -0
  111. /package/dist/{chunk-W5RFMC3A.js.map → chunk-JI6OGGGF.js.map} +0 -0
  112. /package/dist/{chunk-SHADFB3T.js.map → chunk-KEBKTDOQ.js.map} +0 -0
  113. /package/dist/{chunk-Q2LDRQN7.js.map → chunk-PFT2X4OW.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js","../../../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js","../../../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js","../../../../node_modules/.pnpm/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///webpack/bootstrap%20e215e692fd94470ebd89","webpack:///src/index.js","webpack:///src/utils.js","../../../../node_modules/.pnpm/@wordpress+element@6.31.0/node_modules/@wordpress/element/build-module/@wordpress/element/src/react.ts","../../../../node_modules/.pnpm/is-plain-object@5.0.0/node_modules/is-plain-object/dist/is-plain-object.mjs","../../../../node_modules/.pnpm/lower-case@2.0.2/node_modules/lower-case/src/index.ts","../../../../node_modules/.pnpm/no-case@3.0.4/node_modules/no-case/src/index.ts","../../../../node_modules/.pnpm/dot-case@3.0.4/node_modules/dot-case/src/index.ts","../../../../node_modules/.pnpm/param-case@3.0.4/node_modules/param-case/src/index.ts","../../../../node_modules/.pnpm/@wordpress+hooks@4.33.0/node_modules/@wordpress/hooks/src/validateNamespace.ts","../../../../node_modules/.pnpm/@wordpress+hooks@4.33.0/node_modules/@wordpress/hooks/src/validateHookName.ts","../../../../node_modules/.pnpm/@wordpress+hooks@4.33.0/node_modules/@wordpress/hooks/src/createAddHook.ts","../../../../node_modules/.pnpm/@wordpress+hooks@4.33.0/node_modules/@wordpress/hooks/src/createRemoveHook.ts","../../../../node_modules/.pnpm/@wordpress+hooks@4.33.0/node_modules/@wordpress/hooks/src/createHasHook.ts","../../../../node_modules/.pnpm/@wordpress+hooks@4.33.0/node_modules/@wordpress/hooks/src/createRunHook.ts","../../../../node_modules/.pnpm/@wordpress+hooks@4.33.0/node_modules/@wordpress/hooks/src/createCurrentHook.ts","../../../../node_modules/.pnpm/@wordpress+hooks@4.33.0/node_modules/@wordpress/hooks/src/createDoingHook.ts","../../../../node_modules/.pnpm/@wordpress+hooks@4.33.0/node_modules/@wordpress/hooks/src/createDidHook.ts","../../../../node_modules/.pnpm/@wordpress+hooks@4.33.0/node_modules/@wordpress/hooks/src/createHooks.ts","../../../../node_modules/.pnpm/@wordpress+hooks@4.33.0/node_modules/@wordpress/hooks/src/index.ts","../../../../node_modules/.pnpm/@wordpress+deprecated@4.33.0/node_modules/@wordpress/deprecated/src/index.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/context/@wordpress/components/src/context/context-system-provider.js","../../../../node_modules/.pnpm/@wordpress+warning@3.33.0/node_modules/@wordpress/warning/src/utils.ts","../../../../node_modules/.pnpm/@wordpress+warning@3.33.0/node_modules/@wordpress/warning/src/index.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/utils/@wordpress/components/src/utils/values.js","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/utils/hooks/@wordpress/components/src/utils/hooks/use-update-effect.js","../../../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@18.3.25_react@18.3.1/node_modules/@emotion/react/dist/emotion-element-d59e098f.esm.js","../../../../node_modules/.pnpm/@emotion+sheet@1.4.0/node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","../../../../node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Enum.js","../../../../node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Utility.js","../../../../node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Tokenizer.js","../../../../node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Parser.js","../../../../node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Serializer.js","../../../../node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Middleware.js","../../../../node_modules/.pnpm/@emotion+weak-memoize@0.4.0/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js","../../../../node_modules/.pnpm/@emotion+memoize@0.9.0/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../../../node_modules/.pnpm/@emotion+cache@11.14.0/node_modules/@emotion/cache/dist/emotion-cache.esm.js","../../../../node_modules/.pnpm/@emotion+utils@1.4.2/node_modules/@emotion/utils/dist/emotion-utils.esm.js","../../../../node_modules/.pnpm/@emotion+hash@0.9.2/node_modules/@emotion/hash/dist/emotion-hash.esm.js","../../../../node_modules/.pnpm/@emotion+unitless@0.10.0/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../../../../node_modules/.pnpm/@emotion+serialize@1.3.3/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","../../../../node_modules/.pnpm/@emotion+use-insertion-effect-with-fallbacks@1.2.0_react@18.3.1/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.esm.js","../../../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@18.3.25_react@18.3.1/node_modules/@emotion/react/dist/emotion-react.esm.js","../../../../node_modules/.pnpm/@emotion+css@11.13.5/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js","../../../../node_modules/.pnpm/@emotion+css@11.13.5/node_modules/@emotion/css/dist/emotion-css.esm.js","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/utils/hooks/@wordpress/components/src/utils/hooks/use-cx.ts","../../../../node_modules/.pnpm/memize@2.1.1/node_modules/memize/dist/index.js","../../../../node_modules/.pnpm/colord@2.9.3/node_modules/colord/index.mjs","../../../../node_modules/.pnpm/colord@2.9.3/node_modules/colord/plugins/names.mjs","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/utils/@wordpress/components/src/utils/colors.js","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/utils/@wordpress/components/src/utils/space.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/utils/@wordpress/components/src/utils/colors-values.js","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/utils/@wordpress/components/src/utils/config-values.js","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/context/@wordpress/components/src/context/constants.js","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/context/@wordpress/components/src/context/get-styled-class-name-from-key.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/context/@wordpress/components/src/context/context-connect.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/context/@wordpress/components/src/context/utils.js","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/context/@wordpress/components/src/context/use-context-system.js","../../../../node_modules/.pnpm/@emotion+styled@11.14.1_@emotion+react@11.14.0_@types+react@18.3.25_react@18.3.1__@types+react@18.3.25_react@18.3.1/node_modules/@emotion/styled/base/dist/emotion-styled-base.esm.js","../../../../node_modules/.pnpm/@emotion+is-prop-valid@1.4.0/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/view/@wordpress/components/src/view/component.tsx","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/utils/@wordpress/components/src/utils/use-responsive-value.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/flex/@wordpress/components/src/flex/styles.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/flex/flex/@wordpress/components/src/flex/flex/hook.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/flex/@wordpress/components/src/flex/context.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/flex/flex-item/@wordpress/components/src/flex/flex-item/hook.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/flex/flex-item/@wordpress/components/src/flex/flex-item/component.tsx","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/truncate/@wordpress/components/src/truncate/styles.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/truncate/@wordpress/components/src/truncate/utils.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/truncate/@wordpress/components/src/truncate/hook.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/text/@wordpress/components/src/text/styles.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/text/@wordpress/components/src/text/utils.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/utils/@wordpress/components/src/utils/font-size.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/text/@wordpress/components/src/text/get-line-height.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/text/@wordpress/components/src/text/hook.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/text/@wordpress/components/src/text/component.tsx","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/h-stack/@wordpress/components/src/h-stack/utils.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/utils/@wordpress/components/src/utils/get-valid-children.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/h-stack/@wordpress/components/src/h-stack/hook.tsx","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/v-stack/@wordpress/components/src/v-stack/hook.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/v-stack/@wordpress/components/src/v-stack/component.tsx","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/grid/@wordpress/components/src/grid/utils.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/grid/@wordpress/components/src/grid/hook.ts","../../../../node_modules/.pnpm/@wordpress+components@30.4.0_@types+react@18.3.25_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@wordpress/components/build-module/grid/@wordpress/components/src/grid/component.tsx","../src/components/leaderboard-chart/leaderboard-chart.tsx","../src/components/leaderboard-chart/hooks/use-leaderboard-legend-items.ts","../src/components/leaderboard-chart/leaderboard-chart.module.scss"],"sourcesContent":["/** @license React v16.13.1\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\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.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\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'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","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap e215e692fd94470ebd89","// @flow\n\nexport { combineChunks, fillInChunks, findAll, findChunks } from './utils'\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","// @flow\n\nexport type Chunk = {|\n highlight: boolean,\n start: number,\n end: number,\n|};\n\n/**\n * Creates an array of chunk objects representing both higlightable and non highlightable pieces of text that match each search word.\n * @return Array of \"chunks\" (where a Chunk is { start:number, end:number, highlight:boolean })\n */\nexport const findAll = ({\n autoEscape,\n caseSensitive = false,\n findChunks = defaultFindChunks,\n sanitize,\n searchWords,\n textToHighlight\n}: {\n autoEscape?: boolean,\n caseSensitive?: boolean,\n findChunks?: typeof defaultFindChunks,\n sanitize?: typeof defaultSanitize,\n searchWords: Array<string>,\n textToHighlight: string,\n}): Array<Chunk> => (\n fillInChunks({\n chunksToHighlight: combineChunks({\n chunks: findChunks({\n autoEscape,\n caseSensitive,\n sanitize,\n searchWords,\n textToHighlight\n })\n }),\n totalLength: textToHighlight ? textToHighlight.length : 0\n })\n)\n\n/**\n * Takes an array of {start:number, end:number} objects and combines chunks that overlap into single chunks.\n * @return {start:number, end:number}[]\n */\nexport const combineChunks = ({\n chunks\n}: {\n chunks: Array<Chunk>,\n}): Array<Chunk> => {\n chunks = chunks\n .sort((first, second) => first.start - second.start)\n .reduce((processedChunks, nextChunk) => {\n // First chunk just goes straight in the array...\n if (processedChunks.length === 0) {\n return [nextChunk]\n } else {\n // ... subsequent chunks get checked to see if they overlap...\n const prevChunk = processedChunks.pop()\n if (nextChunk.start < prevChunk.end) {\n // It may be the case that prevChunk completely surrounds nextChunk, so take the\n // largest of the end indexes.\n const endIndex = Math.max(prevChunk.end, nextChunk.end)\n processedChunks.push({highlight: false, start: prevChunk.start, end: endIndex})\n } else {\n processedChunks.push(prevChunk, nextChunk)\n }\n return processedChunks\n }\n }, [])\n\n return chunks\n}\n\n/**\n * Examine text for any matches.\n * If we find matches, add them to the returned array as a \"chunk\" object ({start:number, end:number}).\n * @return {start:number, end:number}[]\n */\nconst defaultFindChunks = ({\n autoEscape,\n caseSensitive,\n sanitize = defaultSanitize,\n searchWords,\n textToHighlight\n}: {\n autoEscape?: boolean,\n caseSensitive?: boolean,\n sanitize?: typeof defaultSanitize,\n searchWords: Array<string>,\n textToHighlight: string,\n}): Array<Chunk> => {\n textToHighlight = sanitize(textToHighlight)\n\n return searchWords\n .filter(searchWord => searchWord) // Remove empty words\n .reduce((chunks, searchWord) => {\n searchWord = sanitize(searchWord)\n\n if (autoEscape) {\n searchWord = escapeRegExpFn(searchWord)\n }\n\n const regex = new RegExp(searchWord, caseSensitive ? 'g' : 'gi')\n\n let match\n while ((match = regex.exec(textToHighlight))) {\n let start = match.index\n let end = regex.lastIndex\n // We do not return zero-length matches\n if (end > start) {\n chunks.push({highlight: false, start, end})\n }\n\n // Prevent browsers like Firefox from getting stuck in an infinite loop\n // See http://www.regexguru.com/2008/04/watch-out-for-zero-length-matches/\n if (match.index === regex.lastIndex) {\n regex.lastIndex++\n }\n }\n\n return chunks\n }, [])\n}\n// Allow the findChunks to be overridden in findAll,\n// but for backwards compatibility we export as the old name\nexport {defaultFindChunks as findChunks}\n\n/**\n * Given a set of chunks to highlight, create an additional set of chunks\n * to represent the bits of text between the highlighted text.\n * @param chunksToHighlight {start:number, end:number}[]\n * @param totalLength number\n * @return {start:number, end:number, highlight:boolean}[]\n */\nexport const fillInChunks = ({\n chunksToHighlight,\n totalLength\n}: {\n chunksToHighlight: Array<Chunk>,\n totalLength: number,\n}): Array<Chunk> => {\n const allChunks = []\n const append = (start, end, highlight) => {\n if (end - start > 0) {\n allChunks.push({\n start,\n end,\n highlight\n })\n }\n }\n\n if (chunksToHighlight.length === 0) {\n append(0, totalLength, false)\n } else {\n let lastIndex = 0\n chunksToHighlight.forEach((chunk) => {\n append(lastIndex, chunk.start, false)\n append(chunk.start, chunk.end, true)\n lastIndex = chunk.end\n })\n append(lastIndex, totalLength, false)\n }\n return allChunks\n}\n\nfunction defaultSanitize (string: string): string {\n return string\n}\n\nfunction escapeRegExpFn (string: string): string {\n return string.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&')\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils.js","/**\n * External dependencies\n */\n// eslint-disable-next-line @typescript-eslint/no-restricted-imports\nimport {\n\tChildren,\n\tcloneElement,\n\tComponent,\n\tcreateContext,\n\tcreateElement,\n\tcreateRef,\n\tforwardRef,\n\tFragment,\n\tisValidElement,\n\tmemo,\n\tPureComponent,\n\tStrictMode,\n\tuseCallback,\n\tuseContext,\n\tuseDebugValue,\n\tuseDeferredValue,\n\tuseEffect,\n\tuseId,\n\tuseMemo,\n\tuseImperativeHandle,\n\tuseInsertionEffect,\n\tuseLayoutEffect,\n\tuseReducer,\n\tuseRef,\n\tuseState,\n\tuseSyncExternalStore,\n\tuseTransition,\n\tstartTransition,\n\tlazy,\n\tSuspense,\n} from 'react';\nimport type { ReactNode } from 'react';\n\n/**\n * Object containing a React element.\n */\nexport type Element = React.ReactElement;\n\n/**\n * Object containing a React component.\n */\nexport type ComponentType< T = any > = React.ComponentType< T >;\n\n/**\n * Object containing a React synthetic event.\n */\nexport type SyntheticEvent< T = Element > = React.SyntheticEvent< T >;\n\n/**\n * Object containing a React ref object.\n */\nexport type RefObject< T > = React.RefObject< T >;\n\n/**\n * Object containing a React ref callback.\n */\nexport type RefCallback< T > = React.RefCallback< T >;\n\n/**\n * Object containing a React ref.\n */\nexport type Ref< T > = React.Ref< T >;\n\n/**\n * Object that provides utilities for dealing with React children.\n */\nexport { Children };\n\n/**\n * Creates a copy of an element with extended props.\n *\n * @param {Element} element Element\n * @param {?Object} props Props to apply to cloned element\n *\n * @return {Element} Cloned element.\n */\nexport { cloneElement };\n\n/**\n * A base class to create WordPress Components (Refs, state and lifecycle hooks)\n */\nexport { Component };\n\n/**\n * Creates a context object containing two components: a provider and consumer.\n *\n * @param {Object} defaultValue A default data stored in the context.\n *\n * @return {Object} Context object.\n */\nexport { createContext };\n\n/**\n * Returns a new element of given type. Type can be either a string tag name or\n * another function which itself returns an element.\n *\n * @param {?(string|Function)} type Tag name or element creator\n * @param {Object} props Element properties, either attribute\n * set to apply to DOM node or values to\n * pass through to element creator\n * @param {...Element} children Descendant elements\n *\n * @return {Element} Element.\n */\nexport { createElement };\n\n/**\n * Returns an object tracking a reference to a rendered element via its\n * `current` property as either a DOMElement or Element, dependent upon the\n * type of element rendered with the ref attribute.\n *\n * @return {Object} Ref object.\n */\nexport { createRef };\n\n/**\n * Component enhancer used to enable passing a ref to its wrapped component.\n * Pass a function argument which receives `props` and `ref` as its arguments,\n * returning an element using the forwarded ref. The return value is a new\n * component which forwards its ref.\n *\n * @param {Function} forwarder Function passed `props` and `ref`, expected to\n * return an element.\n *\n * @return {Component} Enhanced component.\n */\nexport { forwardRef };\n\n/**\n * A component which renders its children without any wrapping element.\n */\nexport { Fragment };\n\n/**\n * Checks if an object is a valid React Element.\n *\n * @param {Object} objectToCheck The object to be checked.\n *\n * @return {boolean} true if objectToTest is a valid React Element and false otherwise.\n */\nexport { isValidElement };\n\n/**\n * @see https://react.dev/reference/react/memo\n */\nexport { memo };\n\n/**\n * Component that activates additional checks and warnings for its descendants.\n */\nexport { StrictMode };\n\n/**\n * @see https://react.dev/reference/react/useCallback\n */\nexport { useCallback };\n\n/**\n * @see https://react.dev/reference/react/useContext\n */\nexport { useContext };\n\n/**\n * @see https://react.dev/reference/react/useDebugValue\n */\nexport { useDebugValue };\n\n/**\n * @see https://react.dev/reference/react/useDeferredValue\n */\nexport { useDeferredValue };\n\n/**\n * @see https://react.dev/reference/react/useEffect\n */\nexport { useEffect };\n\n/**\n * @see https://react.dev/reference/react/useId\n */\nexport { useId };\n\n/**\n * @see https://react.dev/reference/react/useImperativeHandle\n */\nexport { useImperativeHandle };\n\n/**\n * @see https://react.dev/reference/react/useInsertionEffect\n */\nexport { useInsertionEffect };\n\n/**\n * @see https://react.dev/reference/react/useLayoutEffect\n */\nexport { useLayoutEffect };\n\n/**\n * @see https://react.dev/reference/react/useMemo\n */\nexport { useMemo };\n\n/**\n * @see https://react.dev/reference/react/useReducer\n */\nexport { useReducer };\n\n/**\n * @see https://react.dev/reference/react/useRef\n */\nexport { useRef };\n\n/**\n * @see https://react.dev/reference/react/useState\n */\nexport { useState };\n\n/**\n * @see https://react.dev/reference/react/useSyncExternalStore\n */\nexport { useSyncExternalStore };\n\n/**\n * @see https://react.dev/reference/react/useTransition\n */\nexport { useTransition };\n\n/**\n * @see https://react.dev/reference/react/startTransition\n */\nexport { startTransition };\n\n/**\n * @see https://react.dev/reference/react/lazy\n */\nexport { lazy };\n\n/**\n * @see https://react.dev/reference/react/Suspense\n */\nexport { Suspense };\n\n/**\n * @see https://react.dev/reference/react/PureComponent\n */\nexport { PureComponent };\n\n/**\n * Concatenate two or more React children objects.\n *\n * @param childrenArguments - Array of children arguments (array of arrays/strings/objects) to concatenate.\n * @return The concatenated value.\n */\nexport function concatChildren(\n\t...childrenArguments: ReactNode[][]\n): ReactNode[] {\n\treturn childrenArguments.reduce< ReactNode[] >(\n\t\t( accumulator, children, i ) => {\n\t\t\tChildren.forEach( children, ( child, j ) => {\n\t\t\t\tif ( isValidElement( child ) && typeof child !== 'string' ) {\n\t\t\t\t\tchild = cloneElement( child, {\n\t\t\t\t\t\tkey: [ i, j ].join(),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\taccumulator.push( child );\n\t\t\t} );\n\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n}\n\n/**\n * Switches the nodeName of all the elements in the children object.\n *\n * @param children Children object.\n * @param nodeName Node name.\n *\n * @return The updated children object.\n */\nexport function switchChildrenNodeName(\n\tchildren: ReactNode,\n\tnodeName: string\n): ReactNode {\n\treturn (\n\t\tchildren &&\n\t\tChildren.map( children, ( elt, index ) => {\n\t\t\tif ( typeof elt?.valueOf() === 'string' ) {\n\t\t\t\treturn createElement( nodeName, { key: index }, elt );\n\t\t\t}\n\t\t\tif ( ! isValidElement( elt ) ) {\n\t\t\t\treturn elt;\n\t\t\t}\n\n\t\t\tconst { children: childrenProp, ...props } = elt.props;\n\t\t\treturn createElement(\n\t\t\t\tnodeName,\n\t\t\t\t{ key: index, ...props },\n\t\t\t\tchildrenProp\n\t\t\t);\n\t\t} )\n\t);\n}\n","/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexport { isPlainObject };\n","/**\n * Locale character mapping rules.\n */\ninterface Locale {\n regexp: RegExp;\n map: Record<string, string>;\n}\n\n/**\n * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n */\nconst SUPPORTED_LOCALE: Record<string, Locale> = {\n tr: {\n regexp: /\\u0130|\\u0049|\\u0049\\u0307/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n az: {\n regexp: /\\u0130/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n lt: {\n regexp: /\\u0049|\\u004A|\\u012E|\\u00CC|\\u00CD|\\u0128/g,\n map: {\n I: \"\\u0069\\u0307\",\n J: \"\\u006A\\u0307\",\n Į: \"\\u012F\\u0307\",\n Ì: \"\\u0069\\u0307\\u0300\",\n Í: \"\\u0069\\u0307\\u0301\",\n Ĩ: \"\\u0069\\u0307\\u0303\",\n },\n },\n};\n\n/**\n * Localized lower case.\n */\nexport function localeLowerCase(str: string, locale: string) {\n const lang = SUPPORTED_LOCALE[locale.toLowerCase()];\n if (lang) return lowerCase(str.replace(lang.regexp, (m) => lang.map[m]));\n return lowerCase(str);\n}\n\n/**\n * Lower case as a function.\n */\nexport function lowerCase(str: string) {\n return str.toLowerCase();\n}\n","import { lowerCase } from \"lower-case\";\n\nexport interface Options {\n splitRegexp?: RegExp | RegExp[];\n stripRegexp?: RegExp | RegExp[];\n delimiter?: string;\n transform?: (part: string, index: number, parts: string[]) => string;\n}\n\n// Support camel case (\"camelCase\" -> \"camel Case\" and \"CAMELCase\" -> \"CAMEL Case\").\nconst DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];\n\n// Remove all non-word characters.\nconst DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;\n\n/**\n * Normalize the string into something other libraries can manipulate easier.\n */\nexport function noCase(input: string, options: Options = {}) {\n const {\n splitRegexp = DEFAULT_SPLIT_REGEXP,\n stripRegexp = DEFAULT_STRIP_REGEXP,\n transform = lowerCase,\n delimiter = \" \",\n } = options;\n\n let result = replace(\n replace(input, splitRegexp, \"$1\\0$2\"),\n stripRegexp,\n \"\\0\"\n );\n let start = 0;\n let end = result.length;\n\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\") start++;\n while (result.charAt(end - 1) === \"\\0\") end--;\n\n // Transform each token independently.\n return result.slice(start, end).split(\"\\0\").map(transform).join(delimiter);\n}\n\n/**\n * Replace `re` in the input string with the replacement value.\n */\nfunction replace(input: string, re: RegExp | RegExp[], value: string) {\n if (re instanceof RegExp) return input.replace(re, value);\n return re.reduce((input, re) => input.replace(re, value), input);\n}\n","import { noCase, Options } from \"no-case\";\n\nexport { Options };\n\nexport function dotCase(input: string, options: Options = {}) {\n return noCase(input, {\n delimiter: \".\",\n ...options,\n });\n}\n","import { dotCase, Options } from \"dot-case\";\n\nexport { Options };\n\nexport function paramCase(input: string, options: Options = {}) {\n return dotCase(input, {\n delimiter: \"-\",\n ...options,\n });\n}\n","/**\n * Validate a namespace string.\n *\n * @param namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return Whether the namespace is valid.\n */\nfunction validateNamespace( namespace: string ): boolean {\n\tif ( 'string' !== typeof namespace || '' === namespace ) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error( 'The namespace must be a non-empty string.' );\n\t\treturn false;\n\t}\n\n\tif ( ! /^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test( namespace ) ) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(\n\t\t\t'The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.'\n\t\t);\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n\nexport default validateNamespace;\n","/**\n * Validate a hookName string.\n *\n * @param hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return Whether the hook name is valid.\n */\nfunction validateHookName( hookName: string ): boolean {\n\tif ( 'string' !== typeof hookName || '' === hookName ) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error( 'The hook name must be a non-empty string.' );\n\t\treturn false;\n\t}\n\n\tif ( /^__/.test( hookName ) ) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error( 'The hook name cannot begin with `__`.' );\n\t\treturn false;\n\t}\n\n\tif ( ! /^[a-zA-Z][a-zA-Z0-9_.-]*$/.test( hookName ) ) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(\n\t\t\t'The hook name can only contain numbers, letters, dashes, periods and underscores.'\n\t\t);\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n\nexport default validateHookName;\n","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace';\nimport validateHookName from './validateHookName';\nimport type { Callback, Hooks, StoreKey } from '.';\nimport type { Handler, HookInfo } from './types';\n\n/**\n *\n * Adds the hook to the appropriate hooks container.\n */\nexport type AddHook = (\n\t/**\n\t * Name of hook to add\n\t */\n\thookName: string,\n\t/**\n\t * The unique namespace identifying the callback in the form.\n\t */\n\tnamespace: string,\n\t/**\n\t * Function to call when the hook is run.\n\t */\n\tcallback: Callback,\n\t/**\n\t * Priority of this hook\n\t */\n\tpriority?: number\n) => void;\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param hooks Hooks instance.\n * @param storeKey\n *\n * @return Function that adds a new hook.\n */\nfunction createAddHook( hooks: Hooks, storeKey: StoreKey ): AddHook {\n\treturn function addHook( hookName, namespace, callback, priority = 10 ) {\n\t\tconst hooksStore = hooks[ storeKey ];\n\n\t\tif ( ! validateHookName( hookName ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! validateNamespace( namespace ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( 'function' !== typeof callback ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( 'The hook callback must be a function.' );\n\t\t\treturn;\n\t\t}\n\n\t\t// Validate numeric priority\n\t\tif ( 'number' !== typeof priority ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t'If specified, the hook priority must be a number.'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst handler: Handler = { callback, priority, namespace };\n\n\t\tif ( hooksStore[ hookName ] ) {\n\t\t\t// Find the correct insert index of the new hook.\n\t\t\tconst handlers = hooksStore[ hookName ].handlers;\n\n\t\t\tlet i: number;\n\t\t\tfor ( i = handlers.length; i > 0; i-- ) {\n\t\t\t\tif ( priority >= handlers[ i - 1 ].priority ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( i === handlers.length ) {\n\t\t\t\t// If append, operate via direct assignment.\n\t\t\t\thandlers[ i ] = handler;\n\t\t\t} else {\n\t\t\t\t// Otherwise, insert before index via splice.\n\t\t\t\thandlers.splice( i, 0, handler );\n\t\t\t}\n\n\t\t\t// We may also be currently executing this hook. If the callback\n\t\t\t// we're adding would come after the current callback, there's no\n\t\t\t// problem; otherwise we need to increase the execution index of\n\t\t\t// any other runs by 1 to account for the added element.\n\t\t\thooksStore.__current.forEach( ( hookInfo: HookInfo ) => {\n\t\t\t\tif (\n\t\t\t\t\thookInfo.name === hookName &&\n\t\t\t\t\thookInfo.currentIndex >= i\n\t\t\t\t) {\n\t\t\t\t\thookInfo.currentIndex++;\n\t\t\t\t}\n\t\t\t} );\n\t\t} else {\n\t\t\t// This is the first hook of its type.\n\t\t\thooksStore[ hookName ] = {\n\t\t\t\thandlers: [ handler ],\n\t\t\t\truns: 0,\n\t\t\t};\n\t\t}\n\n\t\tif ( hookName !== 'hookAdded' ) {\n\t\t\thooks.doAction(\n\t\t\t\t'hookAdded',\n\t\t\t\thookName,\n\t\t\t\tnamespace,\n\t\t\t\tcallback,\n\t\t\t\tpriority\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default createAddHook;\n","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace';\nimport validateHookName from './validateHookName';\nimport type { Hooks, StoreKey } from './types';\n\n/**\n * Removes the specified callback (or all callbacks) from the hook with a given hookName\n * and namespace.\n */\nexport type RemoveHook = (\n\t/**\n\t * The name of the hook to modify.\n\t */\n\thookName: string,\n\t/**\n\t * The unique namespace identifying the callback in the form `vendor/plugin/function`.\n\t */\n\tnamespace: string\n) => number | undefined;\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param hooks Hooks instance.\n * @param storeKey\n * @param [removeAll=false] Whether to remove all callbacks for a hookName,\n * without regard to namespace. Used to create\n * `removeAll*` functions.\n *\n * @return Function that removes hooks.\n */\nfunction createRemoveHook(\n\thooks: Hooks,\n\tstoreKey: StoreKey,\n\tremoveAll: boolean = false\n): RemoveHook {\n\treturn function removeHook( hookName, namespace ) {\n\t\tconst hooksStore = hooks[ storeKey ];\n\n\t\tif ( ! validateHookName( hookName ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! removeAll && ! validateNamespace( namespace ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Bail if no hooks exist by this name.\n\t\tif ( ! hooksStore[ hookName ] ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tlet handlersRemoved = 0;\n\n\t\tif ( removeAll ) {\n\t\t\thandlersRemoved = hooksStore[ hookName ].handlers.length;\n\t\t\thooksStore[ hookName ] = {\n\t\t\t\truns: hooksStore[ hookName ].runs,\n\t\t\t\thandlers: [],\n\t\t\t};\n\t\t} else {\n\t\t\t// Try to find the specified callback to remove.\n\t\t\tconst handlers = hooksStore[ hookName ].handlers;\n\t\t\tfor ( let i = handlers.length - 1; i >= 0; i-- ) {\n\t\t\t\tif ( handlers[ i ].namespace === namespace ) {\n\t\t\t\t\thandlers.splice( i, 1 );\n\t\t\t\t\thandlersRemoved++;\n\t\t\t\t\t// This callback may also be part of a hook that is\n\t\t\t\t\t// currently executing. If the callback we're removing\n\t\t\t\t\t// comes after the current callback, there's no problem;\n\t\t\t\t\t// otherwise we need to decrease the execution index of any\n\t\t\t\t\t// other runs by 1 to account for the removed element.\n\t\t\t\t\thooksStore.__current.forEach( ( hookInfo ) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\thookInfo.name === hookName &&\n\t\t\t\t\t\t\thookInfo.currentIndex >= i\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\thookInfo.currentIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( hookName !== 'hookRemoved' ) {\n\t\t\thooks.doAction( 'hookRemoved', hookName, namespace );\n\t\t}\n\n\t\treturn handlersRemoved;\n\t};\n}\n\nexport default createRemoveHook;\n","/**\n * Internal dependencies\n */\nimport type { Hooks, StoreKey } from './types';\n/**\n *\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n */\nexport type HasHook = (\n\t/**\n\t * The name of the hook to check for.\n\t */\n\thookname: string,\n\t/**\n\t * The unique namespace identifying the callback in the form `vendor/plugin/function`.\n\t */\n\tnamespace?: string\n) => boolean;\n\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param hooks Hooks instance.\n * @param storeKey\n *\n * @return Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook( hooks: Hooks, storeKey: StoreKey ): HasHook {\n\treturn function hasHook( hookName, namespace ) {\n\t\tconst hooksStore = hooks[ storeKey ];\n\n\t\t// Use the namespace if provided.\n\t\tif ( 'undefined' !== typeof namespace ) {\n\t\t\treturn (\n\t\t\t\thookName in hooksStore &&\n\t\t\t\thooksStore[ hookName ].handlers.some(\n\t\t\t\t\t( hook ) => hook.namespace === namespace\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\treturn hookName in hooksStore;\n\t};\n}\n\nexport default createHasHook;\n","/**\n * Internal dependencies\n */\nimport type { Hooks, StoreKey } from './types';\n\nexport type RunHook = (\n\thookName: string,\n\t...args: unknown[]\n) => undefined | unknown;\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param hooks Hooks instance.\n * @param storeKey\n * @param returnFirstArg Whether each hook callback is expected to return its first argument.\n * @param async Whether the hook callback should be run asynchronously\n *\n * @return Function that runs hook callbacks.\n */\nfunction createRunHook(\n\thooks: Hooks,\n\tstoreKey: StoreKey,\n\treturnFirstArg: boolean,\n\tasync: boolean\n): RunHook {\n\treturn function runHook( hookName, ...args ) {\n\t\tconst hooksStore = hooks[ storeKey ];\n\n\t\tif ( ! hooksStore[ hookName ] ) {\n\t\t\thooksStore[ hookName ] = {\n\t\t\t\thandlers: [],\n\t\t\t\truns: 0,\n\t\t\t};\n\t\t}\n\n\t\thooksStore[ hookName ].runs++;\n\n\t\tconst handlers = hooksStore[ hookName ].handlers;\n\n\t\t// The following code is stripped from production builds.\n\t\tif ( 'production' !== process.env.NODE_ENV ) {\n\t\t\t// Handle any 'all' hooks registered.\n\t\t\tif ( 'hookAdded' !== hookName && hooksStore.all ) {\n\t\t\t\thandlers.push( ...hooksStore.all.handlers );\n\t\t\t}\n\t\t}\n\n\t\tif ( ! handlers || ! handlers.length ) {\n\t\t\treturn returnFirstArg ? args[ 0 ] : undefined;\n\t\t}\n\n\t\tconst hookInfo = {\n\t\t\tname: hookName,\n\t\t\tcurrentIndex: 0,\n\t\t};\n\n\t\tasync function asyncRunner() {\n\t\t\ttry {\n\t\t\t\thooksStore.__current.add( hookInfo );\n\t\t\t\tlet result = returnFirstArg ? args[ 0 ] : undefined;\n\t\t\t\twhile ( hookInfo.currentIndex < handlers.length ) {\n\t\t\t\t\tconst handler = handlers[ hookInfo.currentIndex ];\n\t\t\t\t\tresult = await handler.callback.apply( null, args );\n\t\t\t\t\tif ( returnFirstArg ) {\n\t\t\t\t\t\targs[ 0 ] = result;\n\t\t\t\t\t}\n\t\t\t\t\thookInfo.currentIndex++;\n\t\t\t\t}\n\t\t\t\treturn returnFirstArg ? result : undefined;\n\t\t\t} finally {\n\t\t\t\thooksStore.__current.delete( hookInfo );\n\t\t\t}\n\t\t}\n\n\t\tfunction syncRunner() {\n\t\t\ttry {\n\t\t\t\thooksStore.__current.add( hookInfo );\n\t\t\t\tlet result = returnFirstArg ? args[ 0 ] : undefined;\n\t\t\t\twhile ( hookInfo.currentIndex < handlers.length ) {\n\t\t\t\t\tconst handler = handlers[ hookInfo.currentIndex ];\n\t\t\t\t\tresult = handler.callback.apply( null, args );\n\t\t\t\t\tif ( returnFirstArg ) {\n\t\t\t\t\t\targs[ 0 ] = result;\n\t\t\t\t\t}\n\t\t\t\t\thookInfo.currentIndex++;\n\t\t\t\t}\n\t\t\t\treturn returnFirstArg ? result : undefined;\n\t\t\t} finally {\n\t\t\t\thooksStore.__current.delete( hookInfo );\n\t\t\t}\n\t\t}\n\n\t\treturn ( async ? asyncRunner : syncRunner )();\n\t};\n}\n\nexport default createRunHook;\n","/**\n * Internal dependencies\n */\nimport type { Hooks, StoreKey } from './types';\n\n/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param hooks Hooks instance.\n * @param storeKey\n *\n * @return Function that returns the current hook name or null.\n */\nfunction createCurrentHook(\n\thooks: Hooks,\n\tstoreKey: StoreKey\n): () => string | null {\n\treturn function currentHook() {\n\t\tconst hooksStore = hooks[ storeKey ];\n\t\tconst currentArray = Array.from( hooksStore.__current );\n\t\treturn currentArray.at( -1 )?.name ?? null;\n\t};\n}\n\nexport default createCurrentHook;\n","/**\n * Internal dependencies\n */\nimport type { Hooks, StoreKey } from './types';\n\n/**\n * Returns whether a hook is currently being executed.\n *\n */\nexport type DoingHook = (\n\t/**\n\t * The name of the hook to check for.\n\t * If omitted, will check for any hook being executed.\n\t */ hookName?: string\n) => boolean;\n\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param hooks Hooks instance.\n * @param storeKey\n *\n * @return Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook( hooks: Hooks, storeKey: StoreKey ): DoingHook {\n\treturn function doingHook( hookName ) {\n\t\tconst hooksStore = hooks[ storeKey ];\n\n\t\t// If the hookName was not passed, check for any current hook.\n\t\tif ( 'undefined' === typeof hookName ) {\n\t\t\treturn hooksStore.__current.size > 0;\n\t\t}\n\n\t\t// Find if the `hookName` hook is in `__current`.\n\t\treturn Array.from( hooksStore.__current ).some(\n\t\t\t( hook ) => hook.name === hookName\n\t\t);\n\t};\n}\n\nexport default createDoingHook;\n","/**\n * Internal dependencies\n */\nimport validateHookName from './validateHookName';\nimport type { Hooks, StoreKey } from './types';\n\n/**\n *\n * Returns the number of times an action has been fired.\n *\n */\nexport type DidHook = (\n\t/**\n\t * The hook name to check.\n\t */\n\thookName: string\n) => number | undefined;\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param hooks Hooks instance.\n * @param storeKey\n *\n * @return Function that returns a hook's call count.\n */\nfunction createDidHook( hooks: Hooks, storeKey: StoreKey ): DidHook {\n\treturn function didHook( hookName ) {\n\t\tconst hooksStore = hooks[ storeKey ];\n\n\t\tif ( ! validateHookName( hookName ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn hooksStore[ hookName ] && hooksStore[ hookName ].runs\n\t\t\t? hooksStore[ hookName ].runs\n\t\t\t: 0;\n\t};\n}\n\nexport default createDidHook;\n","/**\n * Internal dependencies\n */\nimport createAddHook from './createAddHook';\nimport createRemoveHook from './createRemoveHook';\nimport createHasHook from './createHasHook';\nimport createRunHook from './createRunHook';\nimport createCurrentHook from './createCurrentHook';\nimport createDoingHook from './createDoingHook';\nimport createDidHook from './createDidHook';\nimport type { Store } from './types';\n\n/**\n * Internal class for constructing hooks. Use `createHooks()` function\n *\n * Note, it is necessary to expose this class to make its type public.\n *\n * @private\n */\nexport class _Hooks {\n\tpublic actions: Store;\n\tpublic filters: Store;\n\n\tpublic addAction: ReturnType< typeof createAddHook >;\n\tpublic addFilter: ReturnType< typeof createAddHook >;\n\tpublic removeAction: ReturnType< typeof createRemoveHook >;\n\tpublic removeFilter: ReturnType< typeof createRemoveHook >;\n\tpublic hasAction: ReturnType< typeof createHasHook >;\n\tpublic hasFilter: ReturnType< typeof createHasHook >;\n\tpublic removeAllActions: ReturnType< typeof createRemoveHook >;\n\tpublic removeAllFilters: ReturnType< typeof createRemoveHook >;\n\tpublic doAction: ReturnType< typeof createRunHook >;\n\tpublic doActionAsync: ReturnType< typeof createRunHook >;\n\tpublic applyFilters: ReturnType< typeof createRunHook >;\n\tpublic applyFiltersAsync: ReturnType< typeof createRunHook >;\n\tpublic currentAction: ReturnType< typeof createCurrentHook >;\n\tpublic currentFilter: ReturnType< typeof createCurrentHook >;\n\tpublic doingAction: ReturnType< typeof createDoingHook >;\n\tpublic doingFilter: ReturnType< typeof createDoingHook >;\n\tpublic didAction: ReturnType< typeof createDidHook >;\n\tpublic didFilter: ReturnType< typeof createDidHook >;\n\n\tconstructor() {\n\t\tthis.actions = Object.create( null );\n\t\tthis.actions.__current = new Set();\n\n\t\tthis.filters = Object.create( null );\n\t\tthis.filters.__current = new Set();\n\n\t\tthis.addAction = createAddHook( this, 'actions' );\n\t\tthis.addFilter = createAddHook( this, 'filters' );\n\t\tthis.removeAction = createRemoveHook( this, 'actions' );\n\t\tthis.removeFilter = createRemoveHook( this, 'filters' );\n\t\tthis.hasAction = createHasHook( this, 'actions' );\n\t\tthis.hasFilter = createHasHook( this, 'filters' );\n\t\tthis.removeAllActions = createRemoveHook( this, 'actions', true );\n\t\tthis.removeAllFilters = createRemoveHook( this, 'filters', true );\n\t\tthis.doAction = createRunHook( this, 'actions', false, false );\n\t\tthis.doActionAsync = createRunHook( this, 'actions', false, true );\n\t\tthis.applyFilters = createRunHook( this, 'filters', true, false );\n\t\tthis.applyFiltersAsync = createRunHook( this, 'filters', true, true );\n\t\tthis.currentAction = createCurrentHook( this, 'actions' );\n\t\tthis.currentFilter = createCurrentHook( this, 'filters' );\n\t\tthis.doingAction = createDoingHook( this, 'actions' );\n\t\tthis.doingFilter = createDoingHook( this, 'filters' );\n\t\tthis.didAction = createDidHook( this, 'actions' );\n\t\tthis.didFilter = createDidHook( this, 'filters' );\n\t}\n}\n\nexport type Hooks = _Hooks;\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return A Hooks instance.\n */\nfunction createHooks(): Hooks {\n\treturn new _Hooks();\n}\n\nexport default createHooks;\n","/**\n * Internal dependencies\n */\nimport createHooks from './createHooks';\n\nexport * from './types';\n\nexport const defaultHooks = createHooks();\n\nconst {\n\taddAction,\n\taddFilter,\n\tremoveAction,\n\tremoveFilter,\n\thasAction,\n\thasFilter,\n\tremoveAllActions,\n\tremoveAllFilters,\n\tdoAction,\n\tdoActionAsync,\n\tapplyFilters,\n\tapplyFiltersAsync,\n\tcurrentAction,\n\tcurrentFilter,\n\tdoingAction,\n\tdoingFilter,\n\tdidAction,\n\tdidFilter,\n\tactions,\n\tfilters,\n} = defaultHooks;\n\nexport {\n\tcreateHooks,\n\taddAction,\n\taddFilter,\n\tremoveAction,\n\tremoveFilter,\n\thasAction,\n\thasFilter,\n\tremoveAllActions,\n\tremoveAllFilters,\n\tdoAction,\n\tdoActionAsync,\n\tapplyFilters,\n\tapplyFiltersAsync,\n\tcurrentAction,\n\tcurrentFilter,\n\tdoingAction,\n\tdoingFilter,\n\tdidAction,\n\tdidFilter,\n\tactions,\n\tfilters,\n};\n","/**\n * WordPress dependencies\n */\nimport { doAction } from '@wordpress/hooks';\n\n/**\n * Object map tracking messages which have been logged, for use in ensuring a\n * message is only logged once.\n */\nexport const logged: Record< string, true > = Object.create( null );\n\ntype DeprecatedOptions = {\n\t/**\n\t * Version in which the feature was deprecated.\n\t */\n\tsince?: string;\n\t/**\n\t * Version in which the feature will be removed.\n\t */\n\tversion?: string;\n\t/**\n\t * Feature to use instead.\n\t */\n\talternative?: string;\n\t/**\n\t * Plugin name if it's a plugin feature.\n\t */\n\tplugin?: string;\n\t/**\n\t * Link to documentation.\n\t */\n\tlink?: string;\n\t/**\n\t * Additional message to help transition away from the deprecated feature.\n\t */\n\thint?: string;\n};\n\n/**\n * Logs a message to notify developers about a deprecated feature.\n *\n * @param {string} feature Name of the deprecated feature.\n * @param {DeprecatedOptions} [options] Personalisation options\n *\n * @example\n * ```js\n * import deprecated from '@wordpress/deprecated';\n *\n * deprecated( 'Eating meat', {\n * \tsince: '2019.01.01',\n * \tversion: '2020.01.01',\n * \talternative: 'vegetables',\n * \tplugin: 'the earth',\n * \thint: 'You may find it beneficial to transition gradually.',\n * } );\n *\n * // Logs: 'Eating meat is deprecated since version 2019.01.01 and will be removed from the earth in version 2020.01.01. Please use vegetables instead. Note: You may find it beneficial to transition gradually.'\n * ```\n */\nexport default function deprecated(\n\tfeature: string,\n\toptions: DeprecatedOptions = {}\n) {\n\tconst { since, version, alternative, plugin, link, hint } = options;\n\n\tconst pluginMessage = plugin ? ` from ${ plugin }` : '';\n\tconst sinceMessage = since ? ` since version ${ since }` : '';\n\tconst versionMessage = version\n\t\t? ` and will be removed${ pluginMessage } in version ${ version }`\n\t\t: '';\n\tconst useInsteadMessage = alternative\n\t\t? ` Please use ${ alternative } instead.`\n\t\t: '';\n\tconst linkMessage = link ? ` See: ${ link }` : '';\n\tconst hintMessage = hint ? ` Note: ${ hint }` : '';\n\tconst message = `${ feature } is deprecated${ sinceMessage }${ versionMessage }.${ useInsteadMessage }${ linkMessage }${ hintMessage }`;\n\n\t// Skip if already logged.\n\tif ( message in logged ) {\n\t\treturn;\n\t}\n\n\t/**\n\t * Fires whenever a deprecated feature is encountered\n\t *\n\t * @param {string} feature Name of the deprecated feature.\n\t * @param {DeprecatedOptions} options Personalisation options\n\t * @param {string} message Message sent to console.warn\n\t */\n\tdoAction( 'deprecated', feature, options, message );\n\n\t// eslint-disable-next-line no-console\n\tconsole.warn( message );\n\n\tlogged[ message ] = true;\n}\n","/**\n * External dependencies\n */\nimport deepmerge from 'deepmerge';\nimport fastDeepEqual from 'fast-deep-equal/es6';\nimport { isPlainObject } from 'is-plain-object';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseContext,\n\tuseRef,\n\tuseMemo,\n\tmemo,\n} from '@wordpress/element';\nimport warn from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport { useUpdateEffect } from '../utils';\n\nexport const ComponentsContext = createContext(\n\t/** @type {Record<string, any>} */ ( {} )\n);\nComponentsContext.displayName = 'ComponentsContext';\n\nexport const useComponentsContext = () => useContext( ComponentsContext );\n\n/**\n * Consolidates incoming ContextSystem values with a (potential) parent ContextSystem value.\n *\n * Note: This function will warn if it detects an un-memoized `value`\n *\n * @param {Object} props\n * @param {Record<string, any>} props.value\n * @return {Record<string, any>} The consolidated value.\n */\nfunction useContextSystemBridge( { value } ) {\n\tconst parentContext = useComponentsContext();\n\n\tconst valueRef = useRef( value );\n\n\tuseUpdateEffect( () => {\n\t\tif (\n\t\t\t// Objects are equivalent.\n\t\t\tfastDeepEqual( valueRef.current, value ) &&\n\t\t\t// But not the same reference.\n\t\t\tvalueRef.current !== value\n\t\t) {\n\t\t\twarn( `Please memoize your context: ${ JSON.stringify( value ) }` );\n\t\t}\n\t}, [ value ] );\n\n\t// `parentContext` will always be memoized (i.e., the result of this hook itself)\n\t// or the default value from when the `ComponentsContext` was originally\n\t// initialized (which will never change, it's a static variable)\n\t// so this memoization will prevent `deepmerge()` from rerunning unless\n\t// the references to `value` change OR the `parentContext` has an actual material change\n\t// (because again, it's guaranteed to be memoized or a static reference to the empty object\n\t// so we know that the only changes for `parentContext` are material ones... i.e., why we\n\t// don't have to warn in the `useUpdateEffect` hook above for `parentContext` and we only\n\t// need to bother with the `value`). The `useUpdateEffect` above will ensure that we are\n\t// correctly warning when the `value` isn't being properly memoized. All of that to say\n\t// that this should be super safe to assume that `useMemo` will only run on actual\n\t// changes to the two dependencies, therefore saving us calls to `deepmerge()`!\n\tconst config = useMemo( () => {\n\t\t// Deep clone `parentContext` to avoid mutating it later.\n\t\treturn deepmerge( parentContext ?? {}, value ?? {}, {\n\t\t\tisMergeableObject: isPlainObject,\n\t\t} );\n\t}, [ parentContext, value ] );\n\n\treturn config;\n}\n\n/**\n * A Provider component that can modify props for connected components within\n * the Context system.\n *\n * @example\n * ```jsx\n * <ContextSystemProvider value={{ Button: { size: 'small' }}}>\n * <Button>...</Button>\n * </ContextSystemProvider>\n * ```\n *\n * @template {Record<string, any>} T\n * @param {Object} options\n * @param {import('react').ReactNode} options.children Children to render.\n * @param {T} options.value Props to render into connected components.\n * @return {JSX.Element} A Provider wrapped component.\n */\nconst BaseContextSystemProvider = ( { children, value } ) => {\n\tconst contextValue = useContextSystemBridge( { value } );\n\n\treturn (\n\t\t<ComponentsContext.Provider value={ contextValue }>\n\t\t\t{ children }\n\t\t</ComponentsContext.Provider>\n\t);\n};\n\nexport const ContextSystemProvider = memo( BaseContextSystemProvider );\n","/**\n * Object map tracking messages which have been logged, for use in ensuring a\n * message is only logged once.\n */\nexport const logged: Set< string > = new Set();\n","/**\n * Internal dependencies\n */\nimport { logged } from './utils';\n\nfunction isDev(): boolean {\n\t// eslint-disable-next-line @wordpress/wp-global-usage\n\treturn globalThis.SCRIPT_DEBUG === true;\n}\n\n/**\n * Shows a warning with `message` if environment is not `production`.\n *\n * @param message Message to show in the warning.\n *\n * @example\n * ```js\n * import warning from '@wordpress/warning';\n *\n * function MyComponent( props ) {\n * if ( ! props.title ) {\n * warning( '`props.title` was not passed' );\n * }\n * ...\n * }\n * ```\n */\nexport default function warning( message: string ): void {\n\tif ( ! isDev() ) {\n\t\treturn;\n\t}\n\n\t// Skip if already logged.\n\tif ( logged.has( message ) ) {\n\t\treturn;\n\t}\n\n\t// eslint-disable-next-line no-console\n\tconsole.warn( message );\n\n\t// Throwing an error and catching it immediately to improve debugging\n\t// A consumer can use 'pause on caught exceptions'\n\t// https://github.com/facebook/react/issues/4216\n\ttry {\n\t\tthrow Error( message );\n\t} catch ( x ) {\n\t\t// Do nothing.\n\t}\n\tlogged.add( message );\n}\n","/* eslint-disable jsdoc/valid-types */\n/**\n * Determines if a value is null or undefined.\n *\n * @template T\n *\n * @param {T} value The value to check.\n * @return {value is Exclude<T, null | undefined>} Whether value is not null or undefined.\n */\nexport function isValueDefined( value ) {\n\treturn value !== undefined && value !== null;\n}\n/* eslint-enable jsdoc/valid-types */\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Determines if a value is empty, null, or undefined.\n *\n * @param {string | number | null | undefined} value The value to check.\n * @return {value is (\"\" | null | undefined)} Whether value is empty.\n */\nexport function isValueEmpty( value ) {\n\tconst isEmptyString = value === '';\n\n\treturn ! isValueDefined( value ) || isEmptyString;\n}\n/* eslint-enable jsdoc/valid-types */\n\n/**\n * Get the first defined/non-null value from an array.\n *\n * @template T\n *\n * @param {Array<T | null | undefined>} values Values to derive from.\n * @param {T} fallbackValue Fallback value if there are no defined values.\n * @return {T} A defined value or the fallback value.\n */\nexport function getDefinedValue( values = [], fallbackValue ) {\n\treturn values.find( isValueDefined ) ?? fallbackValue;\n}\n\n/**\n * Converts a string to a number.\n *\n * @param {string} value\n * @return {number} String as a number.\n */\nexport const stringToNumber = ( value ) => {\n\treturn parseFloat( value );\n};\n\n/**\n * Regardless of the input being a string or a number, returns a number.\n *\n * Returns `undefined` in case the string is `undefined` or not a valid numeric value.\n *\n * @param {string | number} value\n * @return {number} The parsed number.\n */\nexport const ensureNumber = ( value ) => {\n\treturn typeof value === 'string' ? stringToNumber( value ) : value;\n};\n","/**\n * WordPress dependencies\n */\nimport { useRef, useEffect } from '@wordpress/element';\n\n/**\n * A `React.useEffect` that will not run on the first render.\n * Source:\n * https://github.com/ariakit/ariakit/blob/main/packages/ariakit-react-core/src/utils/hooks.ts\n *\n * @param {import('react').EffectCallback} effect\n * @param {import('react').DependencyList} deps\n */\nfunction useUpdateEffect( effect, deps ) {\n\tconst mountedRef = useRef( false );\n\tuseEffect( () => {\n\t\tif ( mountedRef.current ) {\n\t\t\treturn effect();\n\t\t}\n\t\tmountedRef.current = true;\n\t\treturn undefined;\n\t\t// 1. This hook needs to pass a dep list that isn't an array literal\n\t\t// 2. `effect` is missing from the array, and will need to be added carefully to avoid additional warnings\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t}, deps );\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\tmountedRef.current = false;\n\t\t},\n\t\t[]\n\t);\n}\n\nexport default useUpdateEffect;\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isDevelopment = false;\n\nvar isBrowser = typeof document !== 'undefined';\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n var WithTheme = /*#__PURE__*/React.forwardRef(function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n });\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n\n var newProps = {};\n\n for (var _key in props) {\n if (hasOwn.call(props, _key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n var rules = useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n if (!isBrowser && rules !== undefined) {\n var _ref2;\n\n var serializedNames = serialized.name;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n next = next.next;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref2 = {}, _ref2[\"data-emotion\"] = cache.key + \" \" + serializedNames, _ref2.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref2.nonce = cache.sheet.nonce, _ref2));\n }\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var _key2 in props) {\n if (hasOwn.call(props, _key2) && _key2 !== 'css' && _key2 !== typePropName && (!isDevelopment )) {\n newProps[_key2] = props[_key2];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, isDevelopment as a, ThemeProvider as b, createEmotionProps as c, withTheme as d, hasOwn as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","var isDevelopment = false;\n\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n } // this function should always return with a value\n // TS can't understand it though so we make it stop complaining here\n\n\n return undefined;\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? !isDevelopment : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n this.tags.forEach(function (tag) {\n var _tag$parentNode;\n\n return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\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'\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 * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\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","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 {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\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, {length: -root.length}, props)\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, 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') != -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)\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))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), 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)\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 === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\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 * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\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)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} 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\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < 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 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: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, 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(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::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\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\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\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\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","var weakMemoize = function weakMemoize(func) {\n var cache = new WeakMap();\n return function (arg) {\n if (cache.has(arg)) {\n // Use non-null assertion because we just checked that the cache `has` it\n // This allows us to remove `undefined` from the return value\n return cache.get(arg);\n }\n\n var ret = func(arg);\n cache.set(arg, ret);\n return ret;\n };\n};\n\nexport { weakMemoize as default };\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, rulesheet, middleware, compile } from 'stylis';\nimport weakMemoize from '@emotion/weak-memoize';\nimport memoize from '@emotion/memoize';\n\nvar isBrowser = typeof document !== 'undefined';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value;\n var parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar getServerStylisCache = isBrowser ? undefined : weakMemoize(function () {\n return memoize(function () {\n return {};\n });\n});\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (isBrowser && key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n if (isBrowser) {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (!getServerStylisCache) {\n var currentSheet;\n var finalizingPlugins = [stringify, rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n } else {\n var _finalizingPlugins = [stringify];\n\n var _serializer = middleware(omnipresentPlugins.concat(stylisPlugins, _finalizingPlugins));\n\n var _stylis = function _stylis(styles) {\n return serialize(compile(styles), _serializer);\n };\n\n var serverStylisCache = getServerStylisCache(stylisPlugins)(key);\n\n var getRules = function getRules(selector, serialized) {\n var name = serialized.name;\n\n if (serverStylisCache[name] === undefined) {\n serverStylisCache[name] = _stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n }\n\n return serverStylisCache[name];\n };\n\n _insert = function _insert(selector, serialized, sheet, shouldCache) {\n var name = serialized.name;\n var rules = getRules(selector, serialized);\n\n if (cache.compat === undefined) {\n // in regular mode, we don't set the styles on the inserted cache\n // since we don't need to and that would be wasting memory\n // we return them so that they are rendered in a style tag\n if (shouldCache) {\n cache.inserted[name] = true;\n }\n\n return rules;\n } else {\n // in compat mode, we put the styles on the inserted cache so\n // that emotion-server can pull out the styles\n // except when we don't want to cache it which was in Global but now\n // is nowhere but we don't want to do a major right now\n // and just in case we're going to leave the case here\n // it's also not affecting client side bundle size\n // so it's really not a big deal\n if (shouldCache) {\n cache.inserted[name] = rules;\n } else {\n return rules;\n }\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","var isBrowser = typeof document !== 'undefined';\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else if (className) {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false && cache.compat !== undefined) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var stylesForSSR = '';\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n if (!isBrowser && maybeStyles !== undefined) {\n stylesForSSR += maybeStyles;\n }\n\n current = current.next;\n } while (current !== undefined);\n\n if (!isBrowser && stylesForSSR.length !== 0) {\n return stylesForSSR;\n }\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","/* 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 { murmur2 as default };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 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 scale: 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 { unitlessKeys as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar isDevelopment = false;\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n }\n\n break;\n }\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;{]+)\\s*(;|$)/g; // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n styles += templateStringsArr[i];\n }\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n}\n\nexport { serializeStyles };\n","import * as React from 'react';\n\nvar isBrowser = typeof document !== 'undefined';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = !isBrowser ? syncFallback : useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser, a as isDevelopment } from './emotion-element-d59e098f.esm.js';\nexport { C as CacheProvider, T as ThemeContext, b as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, d as withTheme } from './emotion-element-d59e098f.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js';\nimport 'hoist-non-react-statics';\n\nvar jsx = function jsx(type, props) {\n // eslint-disable-next-line prefer-rest-params\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\n(function (_jsx) {\n var JSX;\n\n (function (_JSX) {})(JSX || (JSX = _jsx.JSX || (_jsx.JSX = {})));\n})(jsx || (jsx = {}));\n\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false;\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nfunction keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name;\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n}\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n var rules = useInsertionEffectAlwaysWithSyncFallback(function () {\n var rules = '';\n\n for (var i = 0; i < serializedArr.length; i++) {\n var res = insertStyles(cache, serializedArr[i], false);\n\n if (!isBrowser && res !== undefined) {\n rules += res;\n }\n }\n\n if (!isBrowser) {\n return rules;\n }\n });\n\n if (!isBrowser && rules.length !== 0) {\n var _ref2;\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref2 = {}, _ref2[\"data-emotion\"] = cache.key + \" \" + serializedArr.map(function (serialized) {\n return serialized.name;\n }).join(' '), _ref2.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref2.nonce = cache.sheet.nonce, _ref2));\n }\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && isDevelopment) {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && isDevelopment) {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import createCache from '@emotion/cache';\nimport { serializeStyles } from '@emotion/serialize';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\n\nfunction insertWithoutScoping(cache, serialized) {\n if (cache.inserted[serialized.name] === undefined) {\n return cache.insert('', serialized, cache.sheet, true);\n }\n}\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar createEmotion = function createEmotion(options) {\n var cache = createCache(options);\n\n cache.sheet.speedy = function (value) {\n\n this.isSpeedy = value;\n };\n\n cache.compat = true;\n\n var css = function css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered, undefined);\n insertStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var keyframes = function keyframes() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n var animation = \"animation-\" + serialized.name;\n insertWithoutScoping(cache, {\n name: serialized.name,\n styles: \"@keyframes \" + animation + \"{\" + serialized.styles + \"}\"\n });\n return animation;\n };\n\n var injectGlobal = function injectGlobal() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n insertWithoutScoping(cache, serialized);\n };\n\n var cx = function cx() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n return {\n css: css,\n cx: cx,\n injectGlobal: injectGlobal,\n keyframes: keyframes,\n hydrate: function hydrate(ids) {\n ids.forEach(function (key) {\n cache.inserted[key] = true;\n });\n },\n flush: function flush() {\n cache.registered = {};\n cache.inserted = {};\n cache.sheet.flush();\n },\n sheet: cache.sheet,\n cache: cache,\n getRegisteredStyles: getRegisteredStyles.bind(null, cache.registered),\n merge: merge.bind(null, cache.registered, css)\n };\n};\n\nvar classnames = function classnames(args) {\n var cls = '';\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nexport { createEmotion as default };\n","import createEmotion from '../create-instance/dist/emotion-css-create-instance.esm.js';\nimport '@emotion/cache';\nimport '@emotion/serialize';\nimport '@emotion/utils';\n\nvar _createEmotion = createEmotion({\n key: 'css'\n}),\n flush = _createEmotion.flush,\n hydrate = _createEmotion.hydrate,\n cx = _createEmotion.cx,\n merge = _createEmotion.merge,\n getRegisteredStyles = _createEmotion.getRegisteredStyles,\n injectGlobal = _createEmotion.injectGlobal,\n keyframes = _createEmotion.keyframes,\n css = _createEmotion.css,\n sheet = _createEmotion.sheet,\n cache = _createEmotion.cache;\n\nexport { cache, css, cx, flush, getRegisteredStyles, hydrate, injectGlobal, keyframes, merge, sheet };\n","/**\n * External dependencies\n */\nimport { __unsafe_useEmotionCache as useEmotionCache } from '@emotion/react';\nimport type { SerializedStyles } from '@emotion/serialize';\nimport { insertStyles } from '@emotion/utils';\n// eslint-disable-next-line no-restricted-imports\nimport type { ClassNamesArg } from '@emotion/css';\n// eslint-disable-next-line no-restricted-imports\nimport { cx as innerCx } from '@emotion/css';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\n\nconst isSerializedStyles = ( o: any ): o is SerializedStyles =>\n\ttypeof o !== 'undefined' &&\n\to !== null &&\n\t[ 'name', 'styles' ].every( ( p ) => typeof o[ p ] !== 'undefined' );\n\n/**\n * Retrieve a `cx` function that knows how to handle `SerializedStyles`\n * returned by the `@emotion/react` `css` function in addition to what\n * `cx` normally knows how to handle. It also hooks into the Emotion\n * Cache, allowing `css` calls to work inside iframes.\n *\n * ```jsx\n * import { css } from '@emotion/react';\n *\n * const styles = css`\n * \tcolor: red\n * `;\n *\n * function RedText( { className, ...props } ) {\n * \tconst cx = useCx();\n *\n * \tconst classes = cx(styles, className);\n *\n * \treturn <span className={classes} {...props} />;\n * }\n * ```\n */\nexport const useCx = () => {\n\tconst cache = useEmotionCache();\n\n\tconst cx = useCallback(\n\t\t( ...classNames: ( ClassNamesArg | SerializedStyles )[] ) => {\n\t\t\tif ( cache === null ) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'The `useCx` hook should be only used within a valid Emotion Cache Context'\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn innerCx(\n\t\t\t\t...classNames.map( ( arg ) => {\n\t\t\t\t\tif ( isSerializedStyles( arg ) ) {\n\t\t\t\t\t\tinsertStyles( cache, arg, false );\n\t\t\t\t\t\treturn `${ cache.key }-${ arg.name }`;\n\t\t\t\t\t}\n\t\t\t\t\treturn arg;\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\t[ cache ]\n\t);\n\n\treturn cx;\n};\n","/**\n * Memize options object.\n *\n * @typedef MemizeOptions\n *\n * @property {number} [maxSize] Maximum size of the cache.\n */\n\n/**\n * Internal cache entry.\n *\n * @typedef MemizeCacheNode\n *\n * @property {?MemizeCacheNode|undefined} [prev] Previous node.\n * @property {?MemizeCacheNode|undefined} [next] Next node.\n * @property {Array<*>} args Function arguments for cache\n * entry.\n * @property {*} val Function result.\n */\n\n/**\n * Properties of the enhanced function for controlling cache.\n *\n * @typedef MemizeMemoizedFunction\n *\n * @property {()=>void} clear Clear the cache.\n */\n\n/**\n * Accepts a function to be memoized, and returns a new memoized function, with\n * optional options.\n *\n * @template {(...args: any[]) => any} F\n *\n * @param {F} fn Function to memoize.\n * @param {MemizeOptions} [options] Options object.\n *\n * @return {((...args: Parameters<F>) => ReturnType<F>) & MemizeMemoizedFunction} Memoized function.\n */\nfunction memize(fn, options) {\n\tvar size = 0;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar head;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar tail;\n\n\toptions = options || {};\n\n\tfunction memoized(/* ...args */) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs,\n\t\t\ti;\n\n\t\tsearchCache: while (node) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif (node.args.length !== arguments.length) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\tif (node.args[i] !== arguments[i]) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif (node !== head) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif (node === tail) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\t/** @type {MemizeCacheNode} */ (node.prev).next = node.next;\n\t\t\t\tif (node.next) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\t/** @type {MemizeCacheNode} */ (head).prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array(len);\n\t\tfor (i = 0; i < len; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply(null, args),\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif (head) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif (size === /** @type {MemizeOptions} */ (options).maxSize) {\n\t\t\ttail = /** @type {MemizeCacheNode} */ (tail).prev;\n\t\t\t/** @type {MemizeCacheNode} */ (tail).next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function () {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\t// Ignore reason: There's not a clear solution to create an intersection of\n\t// the function with additional properties, where the goal is to retain the\n\t// function signature of the incoming argument and add control properties\n\t// on the return value.\n\n\t// @ts-ignore\n\treturn memoized;\n}\n\nexport { memize as default };\n","var r={grad:.9,turn:360,rad:360/(2*Math.PI)},t=function(r){return\"string\"==typeof r?r.length>0:\"number\"==typeof r},n=function(r,t,n){return void 0===t&&(t=0),void 0===n&&(n=Math.pow(10,t)),Math.round(n*r)/n+0},e=function(r,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),r>n?n:r>t?r:t},u=function(r){return(r=isFinite(r)?r%360:0)>0?r:r+360},a=function(r){return{r:e(r.r,0,255),g:e(r.g,0,255),b:e(r.b,0,255),a:e(r.a)}},o=function(r){return{r:n(r.r),g:n(r.g),b:n(r.b),a:n(r.a,3)}},i=/^#([0-9a-f]{3,8})$/i,s=function(r){var t=r.toString(16);return t.length<2?\"0\"+t:t},h=function(r){var t=r.r,n=r.g,e=r.b,u=r.a,a=Math.max(t,n,e),o=a-Math.min(t,n,e),i=o?a===t?(n-e)/o:a===n?2+(e-t)/o:4+(t-n)/o:0;return{h:60*(i<0?i+6:i),s:a?o/a*100:0,v:a/255*100,a:u}},b=function(r){var t=r.h,n=r.s,e=r.v,u=r.a;t=t/360*6,n/=100,e/=100;var a=Math.floor(t),o=e*(1-n),i=e*(1-(t-a)*n),s=e*(1-(1-t+a)*n),h=a%6;return{r:255*[e,i,o,o,s,e][h],g:255*[s,e,e,i,o,o][h],b:255*[o,o,s,e,e,i][h],a:u}},g=function(r){return{h:u(r.h),s:e(r.s,0,100),l:e(r.l,0,100),a:e(r.a)}},d=function(r){return{h:n(r.h),s:n(r.s),l:n(r.l),a:n(r.a,3)}},f=function(r){return b((n=(t=r).s,{h:t.h,s:(n*=((e=t.l)<50?e:100-e)/100)>0?2*n/(e+n)*100:0,v:e+n,a:t.a}));var t,n,e},c=function(r){return{h:(t=h(r)).h,s:(u=(200-(n=t.s))*(e=t.v)/100)>0&&u<200?n*e/100/(u<=100?u:200-u)*100:0,l:u/2,a:t.a};var t,n,e,u},l=/^hsla?\\(\\s*([+-]?\\d*\\.?\\d+)(deg|rad|grad|turn)?\\s*,\\s*([+-]?\\d*\\.?\\d+)%\\s*,\\s*([+-]?\\d*\\.?\\d+)%\\s*(?:,\\s*([+-]?\\d*\\.?\\d+)(%)?\\s*)?\\)$/i,p=/^hsla?\\(\\s*([+-]?\\d*\\.?\\d+)(deg|rad|grad|turn)?\\s+([+-]?\\d*\\.?\\d+)%\\s+([+-]?\\d*\\.?\\d+)%\\s*(?:\\/\\s*([+-]?\\d*\\.?\\d+)(%)?\\s*)?\\)$/i,v=/^rgba?\\(\\s*([+-]?\\d*\\.?\\d+)(%)?\\s*,\\s*([+-]?\\d*\\.?\\d+)(%)?\\s*,\\s*([+-]?\\d*\\.?\\d+)(%)?\\s*(?:,\\s*([+-]?\\d*\\.?\\d+)(%)?\\s*)?\\)$/i,m=/^rgba?\\(\\s*([+-]?\\d*\\.?\\d+)(%)?\\s+([+-]?\\d*\\.?\\d+)(%)?\\s+([+-]?\\d*\\.?\\d+)(%)?\\s*(?:\\/\\s*([+-]?\\d*\\.?\\d+)(%)?\\s*)?\\)$/i,y={string:[[function(r){var t=i.exec(r);return t?(r=t[1]).length<=4?{r:parseInt(r[0]+r[0],16),g:parseInt(r[1]+r[1],16),b:parseInt(r[2]+r[2],16),a:4===r.length?n(parseInt(r[3]+r[3],16)/255,2):1}:6===r.length||8===r.length?{r:parseInt(r.substr(0,2),16),g:parseInt(r.substr(2,2),16),b:parseInt(r.substr(4,2),16),a:8===r.length?n(parseInt(r.substr(6,2),16)/255,2):1}:null:null},\"hex\"],[function(r){var t=v.exec(r)||m.exec(r);return t?t[2]!==t[4]||t[4]!==t[6]?null:a({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:void 0===t[7]?1:Number(t[7])/(t[8]?100:1)}):null},\"rgb\"],[function(t){var n=l.exec(t)||p.exec(t);if(!n)return null;var e,u,a=g({h:(e=n[1],u=n[2],void 0===u&&(u=\"deg\"),Number(e)*(r[u]||1)),s:Number(n[3]),l:Number(n[4]),a:void 0===n[5]?1:Number(n[5])/(n[6]?100:1)});return f(a)},\"hsl\"]],object:[[function(r){var n=r.r,e=r.g,u=r.b,o=r.a,i=void 0===o?1:o;return t(n)&&t(e)&&t(u)?a({r:Number(n),g:Number(e),b:Number(u),a:Number(i)}):null},\"rgb\"],[function(r){var n=r.h,e=r.s,u=r.l,a=r.a,o=void 0===a?1:a;if(!t(n)||!t(e)||!t(u))return null;var i=g({h:Number(n),s:Number(e),l:Number(u),a:Number(o)});return f(i)},\"hsl\"],[function(r){var n=r.h,a=r.s,o=r.v,i=r.a,s=void 0===i?1:i;if(!t(n)||!t(a)||!t(o))return null;var h=function(r){return{h:u(r.h),s:e(r.s,0,100),v:e(r.v,0,100),a:e(r.a)}}({h:Number(n),s:Number(a),v:Number(o),a:Number(s)});return b(h)},\"hsv\"]]},N=function(r,t){for(var n=0;n<t.length;n++){var e=t[n][0](r);if(e)return[e,t[n][1]]}return[null,void 0]},x=function(r){return\"string\"==typeof r?N(r.trim(),y.string):\"object\"==typeof r&&null!==r?N(r,y.object):[null,void 0]},I=function(r){return x(r)[1]},M=function(r,t){var n=c(r);return{h:n.h,s:e(n.s+100*t,0,100),l:n.l,a:n.a}},H=function(r){return(299*r.r+587*r.g+114*r.b)/1e3/255},$=function(r,t){var n=c(r);return{h:n.h,s:n.s,l:e(n.l+100*t,0,100),a:n.a}},j=function(){function r(r){this.parsed=x(r)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return r.prototype.isValid=function(){return null!==this.parsed},r.prototype.brightness=function(){return n(H(this.rgba),2)},r.prototype.isDark=function(){return H(this.rgba)<.5},r.prototype.isLight=function(){return H(this.rgba)>=.5},r.prototype.toHex=function(){return r=o(this.rgba),t=r.r,e=r.g,u=r.b,i=(a=r.a)<1?s(n(255*a)):\"\",\"#\"+s(t)+s(e)+s(u)+i;var r,t,e,u,a,i},r.prototype.toRgb=function(){return o(this.rgba)},r.prototype.toRgbString=function(){return r=o(this.rgba),t=r.r,n=r.g,e=r.b,(u=r.a)<1?\"rgba(\"+t+\", \"+n+\", \"+e+\", \"+u+\")\":\"rgb(\"+t+\", \"+n+\", \"+e+\")\";var r,t,n,e,u},r.prototype.toHsl=function(){return d(c(this.rgba))},r.prototype.toHslString=function(){return r=d(c(this.rgba)),t=r.h,n=r.s,e=r.l,(u=r.a)<1?\"hsla(\"+t+\", \"+n+\"%, \"+e+\"%, \"+u+\")\":\"hsl(\"+t+\", \"+n+\"%, \"+e+\"%)\";var r,t,n,e,u},r.prototype.toHsv=function(){return r=h(this.rgba),{h:n(r.h),s:n(r.s),v:n(r.v),a:n(r.a,3)};var r},r.prototype.invert=function(){return w({r:255-(r=this.rgba).r,g:255-r.g,b:255-r.b,a:r.a});var r},r.prototype.saturate=function(r){return void 0===r&&(r=.1),w(M(this.rgba,r))},r.prototype.desaturate=function(r){return void 0===r&&(r=.1),w(M(this.rgba,-r))},r.prototype.grayscale=function(){return w(M(this.rgba,-1))},r.prototype.lighten=function(r){return void 0===r&&(r=.1),w($(this.rgba,r))},r.prototype.darken=function(r){return void 0===r&&(r=.1),w($(this.rgba,-r))},r.prototype.rotate=function(r){return void 0===r&&(r=15),this.hue(this.hue()+r)},r.prototype.alpha=function(r){return\"number\"==typeof r?w({r:(t=this.rgba).r,g:t.g,b:t.b,a:r}):n(this.rgba.a,3);var t},r.prototype.hue=function(r){var t=c(this.rgba);return\"number\"==typeof r?w({h:r,s:t.s,l:t.l,a:t.a}):n(t.h)},r.prototype.isEqual=function(r){return this.toHex()===w(r).toHex()},r}(),w=function(r){return r instanceof j?r:new j(r)},S=[],k=function(r){r.forEach(function(r){S.indexOf(r)<0&&(r(j,y),S.push(r))})},E=function(){return new j({r:255*Math.random(),g:255*Math.random(),b:255*Math.random()})};export{j as Colord,w as colord,k as extend,I as getFormat,E as random};\n","export default function(e,f){var a={white:\"#ffffff\",bisque:\"#ffe4c4\",blue:\"#0000ff\",cadetblue:\"#5f9ea0\",chartreuse:\"#7fff00\",chocolate:\"#d2691e\",coral:\"#ff7f50\",antiquewhite:\"#faebd7\",aqua:\"#00ffff\",azure:\"#f0ffff\",whitesmoke:\"#f5f5f5\",papayawhip:\"#ffefd5\",plum:\"#dda0dd\",blanchedalmond:\"#ffebcd\",black:\"#000000\",gold:\"#ffd700\",goldenrod:\"#daa520\",gainsboro:\"#dcdcdc\",cornsilk:\"#fff8dc\",cornflowerblue:\"#6495ed\",burlywood:\"#deb887\",aquamarine:\"#7fffd4\",beige:\"#f5f5dc\",crimson:\"#dc143c\",cyan:\"#00ffff\",darkblue:\"#00008b\",darkcyan:\"#008b8b\",darkgoldenrod:\"#b8860b\",darkkhaki:\"#bdb76b\",darkgray:\"#a9a9a9\",darkgreen:\"#006400\",darkgrey:\"#a9a9a9\",peachpuff:\"#ffdab9\",darkmagenta:\"#8b008b\",darkred:\"#8b0000\",darkorchid:\"#9932cc\",darkorange:\"#ff8c00\",darkslateblue:\"#483d8b\",gray:\"#808080\",darkslategray:\"#2f4f4f\",darkslategrey:\"#2f4f4f\",deeppink:\"#ff1493\",deepskyblue:\"#00bfff\",wheat:\"#f5deb3\",firebrick:\"#b22222\",floralwhite:\"#fffaf0\",ghostwhite:\"#f8f8ff\",darkviolet:\"#9400d3\",magenta:\"#ff00ff\",green:\"#008000\",dodgerblue:\"#1e90ff\",grey:\"#808080\",honeydew:\"#f0fff0\",hotpink:\"#ff69b4\",blueviolet:\"#8a2be2\",forestgreen:\"#228b22\",lawngreen:\"#7cfc00\",indianred:\"#cd5c5c\",indigo:\"#4b0082\",fuchsia:\"#ff00ff\",brown:\"#a52a2a\",maroon:\"#800000\",mediumblue:\"#0000cd\",lightcoral:\"#f08080\",darkturquoise:\"#00ced1\",lightcyan:\"#e0ffff\",ivory:\"#fffff0\",lightyellow:\"#ffffe0\",lightsalmon:\"#ffa07a\",lightseagreen:\"#20b2aa\",linen:\"#faf0e6\",mediumaquamarine:\"#66cdaa\",lemonchiffon:\"#fffacd\",lime:\"#00ff00\",khaki:\"#f0e68c\",mediumseagreen:\"#3cb371\",limegreen:\"#32cd32\",mediumspringgreen:\"#00fa9a\",lightskyblue:\"#87cefa\",lightblue:\"#add8e6\",midnightblue:\"#191970\",lightpink:\"#ffb6c1\",mistyrose:\"#ffe4e1\",moccasin:\"#ffe4b5\",mintcream:\"#f5fffa\",lightslategray:\"#778899\",lightslategrey:\"#778899\",navajowhite:\"#ffdead\",navy:\"#000080\",mediumvioletred:\"#c71585\",powderblue:\"#b0e0e6\",palegoldenrod:\"#eee8aa\",oldlace:\"#fdf5e6\",paleturquoise:\"#afeeee\",mediumturquoise:\"#48d1cc\",mediumorchid:\"#ba55d3\",rebeccapurple:\"#663399\",lightsteelblue:\"#b0c4de\",mediumslateblue:\"#7b68ee\",thistle:\"#d8bfd8\",tan:\"#d2b48c\",orchid:\"#da70d6\",mediumpurple:\"#9370db\",purple:\"#800080\",pink:\"#ffc0cb\",skyblue:\"#87ceeb\",springgreen:\"#00ff7f\",palegreen:\"#98fb98\",red:\"#ff0000\",yellow:\"#ffff00\",slateblue:\"#6a5acd\",lavenderblush:\"#fff0f5\",peru:\"#cd853f\",palevioletred:\"#db7093\",violet:\"#ee82ee\",teal:\"#008080\",slategray:\"#708090\",slategrey:\"#708090\",aliceblue:\"#f0f8ff\",darkseagreen:\"#8fbc8f\",darkolivegreen:\"#556b2f\",greenyellow:\"#adff2f\",seagreen:\"#2e8b57\",seashell:\"#fff5ee\",tomato:\"#ff6347\",silver:\"#c0c0c0\",sienna:\"#a0522d\",lavender:\"#e6e6fa\",lightgreen:\"#90ee90\",orange:\"#ffa500\",orangered:\"#ff4500\",steelblue:\"#4682b4\",royalblue:\"#4169e1\",turquoise:\"#40e0d0\",yellowgreen:\"#9acd32\",salmon:\"#fa8072\",saddlebrown:\"#8b4513\",sandybrown:\"#f4a460\",rosybrown:\"#bc8f8f\",darksalmon:\"#e9967a\",lightgoldenrodyellow:\"#fafad2\",snow:\"#fffafa\",lightgrey:\"#d3d3d3\",lightgray:\"#d3d3d3\",dimgray:\"#696969\",dimgrey:\"#696969\",olivedrab:\"#6b8e23\",olive:\"#808000\"},r={};for(var d in a)r[a[d]]=d;var l={};e.prototype.toName=function(f){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return\"transparent\";var d,i,n=r[this.toHex()];if(n)return n;if(null==f?void 0:f.closest){var o=this.toRgb(),t=1/0,b=\"black\";if(!l.length)for(var c in a)l[c]=new e(a[c]).toRgb();for(var g in a){var u=(d=o,i=l[g],Math.pow(d.r-i.r,2)+Math.pow(d.g-i.g,2)+Math.pow(d.b-i.b,2));u<t&&(t=u,b=g)}return b}};f.string.push([function(f){var r=f.toLowerCase(),d=\"transparent\"===r?\"#0000\":a[r];return d?new e(d).toRgb():null},\"name\"])}\n","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/** @type {HTMLDivElement} */\nlet colorComputationNode;\n\nextend( [ namesPlugin ] );\n\n/**\n * Generating a CSS compliant rgba() color value.\n *\n * @param {string} hexValue The hex value to convert to rgba().\n * @param {number} alpha The alpha value for opacity.\n * @return {string} The converted rgba() color value.\n *\n * @example\n * rgba( '#000000', 0.5 )\n * // rgba(0, 0, 0, 0.5)\n */\nexport function rgba( hexValue = '', alpha = 1 ) {\n\treturn colord( hexValue ).alpha( alpha ).toRgbString();\n}\n\n/**\n * @return {HTMLDivElement | undefined} The HTML element for color computation.\n */\nfunction getColorComputationNode() {\n\tif ( typeof document === 'undefined' ) {\n\t\treturn;\n\t}\n\n\tif ( ! colorComputationNode ) {\n\t\t// Create a temporary element for style computation.\n\t\tconst el = document.createElement( 'div' );\n\t\tel.setAttribute( 'data-g2-color-computation-node', '' );\n\t\t// Inject for window computed style.\n\t\tdocument.body.appendChild( el );\n\t\tcolorComputationNode = el;\n\t}\n\n\treturn colorComputationNode;\n}\n\n/**\n * @param {string | unknown} value\n *\n * @return {boolean} Whether the value is a valid color.\n */\nfunction isColor( value ) {\n\tif ( typeof value !== 'string' ) {\n\t\treturn false;\n\t}\n\tconst test = colord( value );\n\n\treturn test.isValid();\n}\n\n/**\n * Retrieves the computed background color. This is useful for getting the\n * value of a CSS variable color.\n *\n * @param {string | unknown} backgroundColor The background color to compute.\n *\n * @return {string} The computed background color.\n */\nfunction _getComputedBackgroundColor( backgroundColor ) {\n\tif ( typeof backgroundColor !== 'string' ) {\n\t\treturn '';\n\t}\n\n\tif ( isColor( backgroundColor ) ) {\n\t\treturn backgroundColor;\n\t}\n\n\tif ( ! backgroundColor.includes( 'var(' ) ) {\n\t\treturn '';\n\t}\n\tif ( typeof document === 'undefined' ) {\n\t\treturn '';\n\t}\n\n\t// Attempts to gracefully handle CSS variables color values.\n\tconst el = getColorComputationNode();\n\tif ( ! el ) {\n\t\treturn '';\n\t}\n\n\tel.style.background = backgroundColor;\n\t// Grab the style.\n\tconst computedColor = window?.getComputedStyle( el ).background;\n\t// Reset.\n\tel.style.background = '';\n\n\treturn computedColor || '';\n}\n\nconst getComputedBackgroundColor = memoize( _getComputedBackgroundColor );\n\n/**\n * Get the text shade optimized for readability, based on a background color.\n *\n * @param {string | unknown} backgroundColor The background color.\n *\n * @return {string} The optimized text color (black or white).\n */\nexport function getOptimalTextColor( backgroundColor ) {\n\tconst background = getComputedBackgroundColor( backgroundColor );\n\n\treturn colord( background ).isLight() ? '#000000' : '#ffffff';\n}\n\n/**\n * Get the text shade optimized for readability, based on a background color.\n *\n * @param {string | unknown} backgroundColor The background color.\n *\n * @return {string} The optimized text shade (dark or light).\n */\nexport function getOptimalTextShade( backgroundColor ) {\n\tconst result = getOptimalTextColor( backgroundColor );\n\n\treturn result === '#000000' ? 'dark' : 'light';\n}\n","/**\n * The argument value for the `space()` utility function.\n *\n * When this is a number or a numeric string, it will be interpreted as a\n * multiplier for the grid base value (4px). For example, `space( 2 )` will be 8px.\n *\n * Otherwise, it will be interpreted as a literal CSS length value. For example,\n * `space( 'auto' )` will be 'auto', and `space( '2px' )` will be 2px.\n */\nexport type SpaceInput = number | string;\n\nconst GRID_BASE = '4px';\n\n/**\n * A function that handles numbers, numeric strings, and unit values.\n *\n * When given a number or a numeric string, it will return the grid-based\n * value as a factor of GRID_BASE, defined above.\n *\n * When given a unit value or one of the named CSS values like `auto`,\n * it will simply return the value back.\n *\n * @param value A number, numeric string, or a unit value.\n */\nexport function space( value?: SpaceInput ): string | undefined {\n\tif ( typeof value === 'undefined' ) {\n\t\treturn undefined;\n\t}\n\n\t// Handle empty strings, if it's the number 0 this still works.\n\tif ( ! value ) {\n\t\treturn '0';\n\t}\n\n\tconst asInt = typeof value === 'number' ? value : Number( value );\n\n\t// Test if the input has a unit, was NaN, or was one of the named CSS values (like `auto`), in which case just use that value.\n\tif (\n\t\t( typeof window !== 'undefined' &&\n\t\t\twindow.CSS?.supports?.( 'margin', value.toString() ) ) ||\n\t\tNumber.isNaN( asInt )\n\t) {\n\t\treturn value.toString();\n\t}\n\n\treturn `calc(${ GRID_BASE } * ${ value })`;\n}\n","/**\n * Internal dependencies\n */\nconst white = '#fff';\n\n// Matches the grays in @wordpress/base-styles\nconst GRAY = {\n\t900: '#1e1e1e',\n\t800: '#2f2f2f',\n\t/** Meets 4.6:1 text contrast against white. */\n\t700: '#757575',\n\t/** Meets 3:1 UI or large text contrast against white. */\n\t600: '#949494',\n\t400: '#ccc',\n\t/** Used for most borders. */\n\t300: '#ddd',\n\t/** Used sparingly for light borders. */\n\t200: '#e0e0e0',\n\t/** Used for light gray backgrounds. */\n\t100: '#f0f0f0',\n};\n\n// Matches @wordpress/base-styles\nconst ALERT = {\n\tyellow: '#f0b849',\n\tred: '#d94f4f',\n\tgreen: '#4ab866',\n};\n\n// Should match packages/components/src/utils/theme-variables.scss\nconst THEME = {\n\taccent: `var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9))`,\n\taccentDarker10: `var(--wp-components-color-accent-darker-10, var(--wp-admin-theme-color-darker-10, #2145e6))`,\n\taccentDarker20: `var(--wp-components-color-accent-darker-20, var(--wp-admin-theme-color-darker-20, #183ad6))`,\n\t/** Used when placing text on the accent color. */\n\taccentInverted: `var(--wp-components-color-accent-inverted, ${ white })`,\n\n\tbackground: `var(--wp-components-color-background, ${ white })`,\n\n\tforeground: `var(--wp-components-color-foreground, ${ GRAY[ 900 ] })`,\n\t/** Used when placing text on the foreground color. */\n\tforegroundInverted: `var(--wp-components-color-foreground-inverted, ${ white })`,\n\n\tgray: {\n\t\t/** @deprecated Use `COLORS.theme.foreground` instead. */\n\t\t900: `var(--wp-components-color-foreground, ${ GRAY[ 900 ] })`,\n\t\t800: `var(--wp-components-color-gray-800, ${ GRAY[ 800 ] })`,\n\t\t700: `var(--wp-components-color-gray-700, ${ GRAY[ 700 ] })`,\n\t\t600: `var(--wp-components-color-gray-600, ${ GRAY[ 600 ] })`,\n\t\t400: `var(--wp-components-color-gray-400, ${ GRAY[ 400 ] })`,\n\t\t300: `var(--wp-components-color-gray-300, ${ GRAY[ 300 ] })`,\n\t\t200: `var(--wp-components-color-gray-200, ${ GRAY[ 200 ] })`,\n\t\t100: `var(--wp-components-color-gray-100, ${ GRAY[ 100 ] })`,\n\t},\n};\n\nconst UI = {\n\tbackground: THEME.background,\n\tbackgroundDisabled: THEME.gray[ 100 ],\n\tborder: THEME.gray[ 600 ],\n\tborderHover: THEME.gray[ 700 ],\n\tborderFocus: THEME.accent,\n\tborderDisabled: THEME.gray[ 400 ],\n\ttextDisabled: THEME.gray[ 600 ],\n\n\t// Matches @wordpress/base-styles\n\tdarkGrayPlaceholder: `color-mix(in srgb, ${ THEME.foreground }, transparent 38%)`,\n\tlightGrayPlaceholder: `color-mix(in srgb, ${ THEME.background }, transparent 35%)`,\n};\n\nexport const COLORS = Object.freeze( {\n\t/**\n\t * The main gray color object.\n\t *\n\t * @deprecated Use semantic aliases in `COLORS.ui` or theme-ready variables in `COLORS.theme.gray`.\n\t */\n\tgray: GRAY, // TODO: Stop exporting this when everything is migrated to `theme` or `ui`\n\t/**\n\t * @deprecated Prefer theme-ready variables in `COLORS.theme`.\n\t */\n\twhite,\n\talert: ALERT,\n\t/**\n\t * Theme-ready variables with fallbacks.\n\t *\n\t * Prefer semantic aliases in `COLORS.ui` when applicable.\n\t */\n\ttheme: THEME,\n\t/**\n\t * Semantic aliases (prefer these over raw variables when applicable).\n\t */\n\tui: UI,\n} );\n\nexport default COLORS;\n","/**\n * Internal dependencies\n */\nimport { space } from './space';\nimport { COLORS } from './colors-values';\n\nconst CONTROL_HEIGHT = '36px';\n\nconst CONTROL_PROPS = {\n\t// These values should be shared with TextControl.\n\tcontrolPaddingX: 12,\n\tcontrolPaddingXSmall: 8,\n\tcontrolPaddingXLarge: 12 * 1.3334, // TODO: Deprecate\n\n\tcontrolBoxShadowFocus: `0 0 0 0.5px ${ COLORS.theme.accent }`,\n\tcontrolHeight: CONTROL_HEIGHT,\n\tcontrolHeightXSmall: `calc( ${ CONTROL_HEIGHT } * 0.6 )`,\n\tcontrolHeightSmall: `calc( ${ CONTROL_HEIGHT } * 0.8 )`,\n\tcontrolHeightLarge: `calc( ${ CONTROL_HEIGHT } * 1.2 )`,\n\tcontrolHeightXLarge: `calc( ${ CONTROL_HEIGHT } * 1.4 )`,\n};\n\n// Using Object.assign to avoid creating circular references when emitting\n// TypeScript type declarations.\nexport default Object.assign( {}, CONTROL_PROPS, {\n\tcolorDivider: 'rgba(0, 0, 0, 0.1)',\n\tcolorScrollbarThumb: 'rgba(0, 0, 0, 0.2)',\n\tcolorScrollbarThumbHover: 'rgba(0, 0, 0, 0.5)',\n\tcolorScrollbarTrack: 'rgba(0, 0, 0, 0.04)',\n\televationIntensity: 1,\n\tradiusXSmall: '1px',\n\tradiusSmall: '2px',\n\tradiusMedium: '4px',\n\tradiusLarge: '8px',\n\tradiusFull: '9999px',\n\tradiusRound: '50%',\n\tborderWidth: '1px',\n\tborderWidthFocus: '1.5px',\n\tborderWidthTab: '4px',\n\tspinnerSize: 16,\n\tfontSize: '13px',\n\tfontSizeH1: 'calc(2.44 * 13px)',\n\tfontSizeH2: 'calc(1.95 * 13px)',\n\tfontSizeH3: 'calc(1.56 * 13px)',\n\tfontSizeH4: 'calc(1.25 * 13px)',\n\tfontSizeH5: '13px',\n\tfontSizeH6: 'calc(0.8 * 13px)',\n\tfontSizeInputMobile: '16px',\n\tfontSizeMobile: '15px',\n\tfontSizeSmall: 'calc(0.92 * 13px)',\n\tfontSizeXSmall: 'calc(0.75 * 13px)',\n\tfontLineHeightBase: '1.4',\n\tfontWeight: 'normal',\n\tfontWeightHeading: '600',\n\tgridBase: '4px',\n\tcardPaddingXSmall: `${ space( 2 ) }`,\n\tcardPaddingSmall: `${ space( 4 ) }`,\n\tcardPaddingMedium: `${ space( 4 ) } ${ space( 6 ) }`,\n\tcardPaddingLarge: `${ space( 6 ) } ${ space( 8 ) }`,\n\televationXSmall: `0 1px 1px rgba(0, 0, 0, 0.03), 0 1px 2px rgba(0, 0, 0, 0.02), 0 3px 3px rgba(0, 0, 0, 0.02), 0 4px 4px rgba(0, 0, 0, 0.01)`,\n\televationSmall: `0 1px 2px rgba(0, 0, 0, 0.05), 0 2px 3px rgba(0, 0, 0, 0.04), 0 6px 6px rgba(0, 0, 0, 0.03), 0 8px 8px rgba(0, 0, 0, 0.02)`,\n\televationMedium: `0 2px 3px rgba(0, 0, 0, 0.05), 0 4px 5px rgba(0, 0, 0, 0.04), 0 12px 12px rgba(0, 0, 0, 0.03), 0 16px 16px rgba(0, 0, 0, 0.02)`,\n\televationLarge: `0 5px 15px rgba(0, 0, 0, 0.08), 0 15px 27px rgba(0, 0, 0, 0.07), 0 30px 36px rgba(0, 0, 0, 0.04), 0 50px 43px rgba(0, 0, 0, 0.02)`,\n\tsurfaceBackgroundColor: COLORS.white,\n\tsurfaceBackgroundSubtleColor: '#F3F3F3',\n\tsurfaceBackgroundTintColor: '#F5F5F5',\n\tsurfaceBorderColor: 'rgba(0, 0, 0, 0.1)',\n\tsurfaceBorderBoldColor: 'rgba(0, 0, 0, 0.15)',\n\tsurfaceBorderSubtleColor: 'rgba(0, 0, 0, 0.05)',\n\tsurfaceBackgroundTertiaryColor: COLORS.white,\n\tsurfaceColor: COLORS.white,\n\ttransitionDuration: '200ms',\n\ttransitionDurationFast: '160ms',\n\ttransitionDurationFaster: '120ms',\n\ttransitionDurationFastest: '100ms',\n\ttransitionTimingFunction: 'cubic-bezier(0.08, 0.52, 0.52, 1)',\n\ttransitionTimingFunctionControl: 'cubic-bezier(0.12, 0.8, 0.32, 1)',\n} );\n","export const COMPONENT_NAMESPACE = 'data-wp-component';\nexport const CONNECTED_NAMESPACE = 'data-wp-c16t';\n\n/**\n * Special key where the connected namespaces are stored.\n * This is attached to Context connected components as a static property.\n */\nexport const CONNECT_STATIC_NAMESPACE = '__contextSystemKey__';\n","/**\n * External dependencies\n */\nimport { paramCase as kebabCase } from 'change-case';\nimport memoize from 'memize';\n\n/**\n * Generates the connected component CSS className based on the namespace.\n *\n * @param namespace The name of the connected component.\n * @return The generated CSS className.\n */\nfunction getStyledClassName( namespace: string ): string {\n\tconst kebab = kebabCase( namespace );\n\treturn `components-${ kebab }`;\n}\n\nexport const getStyledClassNameFromKey = memoize( getStyledClassName );\n","/**\n * External dependencies\n */\nimport type { ForwardedRef, ReactElement, ReactNode } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\nimport warn from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport { CONNECT_STATIC_NAMESPACE } from './constants';\nimport { getStyledClassNameFromKey } from './get-styled-class-name-from-key';\nimport type { WordPressComponentFromProps } from '.';\n\ntype AcceptsTwoArgs<\n\tF extends ( ...args: any ) => any,\n\tErrorMessage = never,\n> = Parameters< F >[ 'length' ] extends 2 ? {} : ErrorMessage;\n\ntype ContextConnectOptions = {\n\tforwardsRef?: boolean;\n};\n\n/**\n * Forwards ref (React.ForwardRef) and \"Connects\" (or registers) a component\n * within the Context system under a specified namespace.\n *\n * @param Component The component to register into the Context system.\n * @param namespace The namespace to register the component under.\n * @return The connected WordPressComponent\n */\nexport function contextConnect<\n\tC extends ( props: any, ref: ForwardedRef< any > ) => JSX.Element | null,\n>(\n\tComponent: C &\n\t\tAcceptsTwoArgs<\n\t\t\tC,\n\t\t\t'Warning: Your component function does not take a ref as the second argument. Did you mean to use `contextConnectWithoutRef`?'\n\t\t>,\n\tnamespace: string\n) {\n\treturn _contextConnect( Component, namespace, { forwardsRef: true } );\n}\n\n/**\n * \"Connects\" (or registers) a component within the Context system under a specified namespace.\n * Does not forward a ref.\n *\n * @param Component The component to register into the Context system.\n * @param namespace The namespace to register the component under.\n * @return The connected WordPressComponent\n */\nexport function contextConnectWithoutRef< P >(\n\tComponent: ( props: P ) => JSX.Element | null,\n\tnamespace: string\n) {\n\treturn _contextConnect( Component, namespace );\n}\n\n// This is an (experimental) evolution of the initial connect() HOC.\n// The hope is that we can improve render performance by removing functional\n// component wrappers.\nfunction _contextConnect<\n\tC extends ( props: any, ref: ForwardedRef< any > ) => JSX.Element | null,\n\tO extends ContextConnectOptions,\n>(\n\tComponent: C,\n\tnamespace: string,\n\toptions?: O\n): WordPressComponentFromProps<\n\tParameters< C >[ 0 ],\n\tO[ 'forwardsRef' ] extends true ? true : false\n> {\n\tconst WrappedComponent = options?.forwardsRef\n\t\t? forwardRef< any, Parameters< C >[ 0 ] >( Component )\n\t\t: Component;\n\n\tif ( typeof namespace === 'undefined' ) {\n\t\twarn( 'contextConnect: Please provide a namespace' );\n\t}\n\n\t// @ts-expect-error internal property\n\tlet mergedNamespace = WrappedComponent[ CONNECT_STATIC_NAMESPACE ] || [\n\t\tnamespace,\n\t];\n\n\t/**\n\t * Consolidate (merge) namespaces before attaching it to the WrappedComponent.\n\t */\n\tif ( Array.isArray( namespace ) ) {\n\t\tmergedNamespace = [ ...mergedNamespace, ...namespace ];\n\t}\n\tif ( typeof namespace === 'string' ) {\n\t\tmergedNamespace = [ ...mergedNamespace, namespace ];\n\t}\n\n\t// @ts-expect-error We can't rely on inferred types here because of the\n\t// `as` prop polymorphism we're handling in https://github.com/WordPress/gutenberg/blob/4f3a11243c365f94892e479bff0b922ccc4ccda3/packages/components/src/context/wordpress-component.ts#L32-L33\n\treturn Object.assign( WrappedComponent, {\n\t\t[ CONNECT_STATIC_NAMESPACE ]: [ ...new Set( mergedNamespace ) ],\n\t\tdisplayName: namespace,\n\t\tselector: `.${ getStyledClassNameFromKey( namespace ) }`,\n\t} );\n}\n\n/**\n * Attempts to retrieve the connected namespace from a component.\n *\n * @param Component The component to retrieve a namespace from.\n * @return The connected namespaces.\n */\nexport function getConnectNamespace(\n\tComponent: ReactElement | number | string | undefined | {}\n): string[] {\n\tif ( ! Component ) {\n\t\treturn [];\n\t}\n\n\tlet namespaces = [];\n\n\t// @ts-ignore internal property\n\tif ( Component[ CONNECT_STATIC_NAMESPACE ] ) {\n\t\t// @ts-ignore internal property\n\t\tnamespaces = Component[ CONNECT_STATIC_NAMESPACE ];\n\t}\n\n\t// @ts-ignore\n\tif ( Component.type && Component.type[ CONNECT_STATIC_NAMESPACE ] ) {\n\t\t// @ts-ignore\n\t\tnamespaces = Component.type[ CONNECT_STATIC_NAMESPACE ];\n\t}\n\n\treturn namespaces;\n}\n\n/**\n * Checks to see if a component is connected within the Context system.\n *\n * @param Component The component to retrieve a namespace from.\n * @param match The namespace to check.\n */\nexport function hasConnectNamespace(\n\tComponent: ReactNode,\n\tmatch: string[] | string\n): boolean {\n\tif ( ! Component ) {\n\t\treturn false;\n\t}\n\n\tif ( typeof match === 'string' ) {\n\t\treturn getConnectNamespace( Component ).includes( match );\n\t}\n\tif ( Array.isArray( match ) ) {\n\t\treturn match.some( ( result ) =>\n\t\t\tgetConnectNamespace( Component ).includes( result )\n\t\t);\n\t}\n\n\treturn false;\n}\n","/**\n * Internal dependencies\n */\nimport { CONNECTED_NAMESPACE, COMPONENT_NAMESPACE } from './constants';\n\n/**\n * Creates a dedicated context namespace HTML attribute for components.\n * ns is short for \"namespace\"\n *\n * @example\n * ```jsx\n * <div {...ns('Container')} />\n * ```\n *\n * @param {string} componentName The name for the component.\n * @return {Record<string, any>} A props object with the namespaced HTML attribute.\n */\nexport function getNamespace( componentName ) {\n\treturn { [ COMPONENT_NAMESPACE ]: componentName };\n}\n\n/**\n * Creates a dedicated connected context namespace HTML attribute for components.\n * ns is short for \"namespace\"\n *\n * @example\n * ```jsx\n * <div {...cns()} />\n * ```\n *\n * @return {Record<string, any>} A props object with the namespaced HTML attribute.\n */\nexport function getConnectedNamespace() {\n\treturn { [ CONNECTED_NAMESPACE ]: true };\n}\n","/**\n * WordPress dependencies\n */\nimport warn from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport { useComponentsContext } from './context-system-provider';\nimport { getNamespace, getConnectedNamespace } from './utils';\nimport { getStyledClassNameFromKey } from './get-styled-class-name-from-key';\nimport { useCx } from '../utils/hooks/use-cx';\n\n/**\n * @template TProps\n * @typedef {TProps & { className: string }} ConnectedProps\n */\n\n/**\n * Custom hook that derives registered props from the Context system.\n * These derived props are then consolidated with incoming component props.\n *\n * @template {{ className?: string }} P\n * @param {P} props Incoming props from the component.\n * @param {string} namespace The namespace to register and to derive context props from.\n * @return {ConnectedProps<P>} The connected props.\n */\nexport function useContextSystem( props, namespace ) {\n\tconst contextSystemProps = useComponentsContext();\n\tif ( typeof namespace === 'undefined' ) {\n\t\twarn( 'useContextSystem: Please provide a namespace' );\n\t}\n\n\tconst contextProps = contextSystemProps?.[ namespace ] || {};\n\n\t/* eslint-disable jsdoc/no-undefined-types */\n\t/** @type {ConnectedProps<P>} */\n\t// @ts-ignore We fill in the missing properties below\n\tconst finalComponentProps = {\n\t\t...getConnectedNamespace(),\n\t\t...getNamespace( namespace ),\n\t};\n\t/* eslint-enable jsdoc/no-undefined-types */\n\n\tconst { _overrides: overrideProps, ...otherContextProps } = contextProps;\n\n\tconst initialMergedProps = Object.entries( otherContextProps ).length\n\t\t? Object.assign( {}, otherContextProps, props )\n\t\t: props;\n\n\tconst cx = useCx();\n\n\tconst classes = cx(\n\t\tgetStyledClassNameFromKey( namespace ),\n\t\tprops.className\n\t);\n\n\t// Provides the ability to customize the render of the component.\n\tconst rendered =\n\t\ttypeof initialMergedProps.renderChildren === 'function'\n\t\t\t? initialMergedProps.renderChildren( initialMergedProps )\n\t\t\t: initialMergedProps.children;\n\n\tfor ( const key in initialMergedProps ) {\n\t\t// @ts-ignore filling in missing props\n\t\tfinalComponentProps[ key ] = initialMergedProps[ key ];\n\t}\n\n\tfor ( const key in overrideProps ) {\n\t\t// @ts-ignore filling in missing props\n\t\tfinalComponentProps[ key ] = overrideProps[ key ];\n\t}\n\n\t// Setting an `undefined` explicitly can cause unintended overwrites\n\t// when a `cloneElement()` is involved.\n\tif ( rendered !== undefined ) {\n\t\t// @ts-ignore\n\t\tfinalComponentProps.children = rendered;\n\t}\n\n\tfinalComponentProps.className = classes;\n\n\treturn finalComponentProps;\n}\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\n\nvar isBrowser = typeof document !== 'undefined';\n\nvar isDevelopment = false;\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n var rules = useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n if (!isBrowser && rules !== undefined) {\n var _ref2;\n\n var serializedNames = serialized.name;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n next = next.next;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref2 = {}, _ref2[\"data-emotion\"] = cache.key + \" \" + serializedNames, _ref2.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref2.nonce = cache.sheet.nonce, _ref2));\n }\n\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n // eslint-disable-next-line prefer-rest-params\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n // eslint-disable-next-line prefer-spread\n styles.push.apply(styles, args);\n } else {\n var templateStringsArr = args[0];\n\n styles.push(templateStringsArr[0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n\n styles.push(args[i], templateStringsArr[i]);\n }\n }\n\n var Styled = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if (finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && isDevelopment) {\n return 'NO_COMPONENT_SELECTOR';\n }\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n var newStyled = createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n }));\n return newStyled.apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|popover|popoverTarget|popoverTargetAction|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","/**\n * External dependencies\n */\nimport styled from '@emotion/styled';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\n\nconst PolymorphicDiv = styled.div``;\n\nfunction UnforwardedView< T extends React.ElementType = 'div' >(\n\t{ as, ...restProps }: WordPressComponentProps< {}, T >,\n\tref: React.ForwardedRef< any >\n) {\n\treturn <PolymorphicDiv as={ as } ref={ ref } { ...restProps } />;\n}\n\n/**\n * `View` is a core component that renders everything in the library.\n * It is the principle component in the entire library.\n *\n * ```jsx\n * import { View } from `@wordpress/components`;\n *\n * function Example() {\n * \treturn (\n * \t\t<View>\n * \t\t\t Code is Poetry\n * \t\t</View>\n * \t);\n * }\n * ```\n */\nexport const View = Object.assign( forwardRef( UnforwardedView ), {\n\tselector: '.components-view',\n} );\n\nexport default View;\n","/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\n\nconst breakpoints = [ '40em', '52em', '64em' ];\n\nexport const useBreakpointIndex = (\n\toptions: { defaultIndex?: number } = {}\n) => {\n\tconst { defaultIndex = 0 } = options;\n\n\tif ( typeof defaultIndex !== 'number' ) {\n\t\tthrow new TypeError(\n\t\t\t`Default breakpoint index should be a number. Got: ${ defaultIndex }, ${ typeof defaultIndex }`\n\t\t);\n\t} else if ( defaultIndex < 0 || defaultIndex > breakpoints.length - 1 ) {\n\t\tthrow new RangeError(\n\t\t\t`Default breakpoint index out of range. Theme has ${ breakpoints.length } breakpoints, got index ${ defaultIndex }`\n\t\t);\n\t}\n\n\tconst [ value, setValue ] = useState( defaultIndex );\n\n\tuseEffect( () => {\n\t\tconst getIndex = () =>\n\t\t\tbreakpoints.filter( ( bp ) => {\n\t\t\t\treturn typeof window !== 'undefined'\n\t\t\t\t\t? window.matchMedia( `screen and (min-width: ${ bp })` )\n\t\t\t\t\t\t\t.matches\n\t\t\t\t\t: false;\n\t\t\t} ).length;\n\n\t\tconst onResize = () => {\n\t\t\tconst newValue = getIndex();\n\t\t\tif ( value !== newValue ) {\n\t\t\t\tsetValue( newValue );\n\t\t\t}\n\t\t};\n\n\t\tonResize();\n\n\t\tif ( typeof window !== 'undefined' ) {\n\t\t\twindow.addEventListener( 'resize', onResize );\n\t\t}\n\t\treturn () => {\n\t\t\tif ( typeof window !== 'undefined' ) {\n\t\t\t\twindow.removeEventListener( 'resize', onResize );\n\t\t\t}\n\t\t};\n\t}, [ value ] );\n\n\treturn value;\n};\n\nexport function useResponsiveValue< T >(\n\tvalues: ( T | undefined )[],\n\toptions: Parameters< typeof useBreakpointIndex >[ 0 ] = {}\n): T | undefined {\n\tconst index = useBreakpointIndex( options );\n\n\t// Allow calling the function with a \"normal\" value without having to check on the outside.\n\tif ( ! Array.isArray( values ) && typeof values !== 'function' ) {\n\t\treturn values;\n\t}\n\n\tconst array = values || [];\n\n\t/* eslint-disable jsdoc/no-undefined-types */\n\treturn /** @type {T[]} */ array[\n\t\t/* eslint-enable jsdoc/no-undefined-types */\n\t\tindex >= array.length ? array.length - 1 : index\n\t];\n}\n","/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\nexport const Flex = css`\n\tdisplay: flex;\n`;\n\nexport const Item = css`\n\tdisplay: block;\n\tmax-height: 100%;\n\tmax-width: 100%;\n\tmin-height: 0;\n\tmin-width: 0;\n`;\n\nexport const block = css`\n\tflex: 1;\n`;\n\n/**\n * Workaround to optimize DOM rendering.\n * We'll enhance alignment with naive parent flex assumptions.\n *\n * Trade-off:\n * Far less DOM less. However, UI rendering is not as reliable.\n */\n\n/**\n * Improves stability of width/height rendering.\n * https://github.com/ItsJonQ/g2/pull/149\n */\nexport const ItemsColumn = css`\n\t> * {\n\t\tmin-height: 0;\n\t}\n`;\n\nexport const ItemsRow = css`\n\t> * {\n\t\tmin-width: 0;\n\t}\n`;\n","/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { useContextSystem } from '../../context';\nimport { useResponsiveValue } from '../../utils/use-responsive-value';\nimport { space } from '../../utils/space';\nimport * as styles from '../styles';\nimport { useCx } from '../../utils';\nimport type { FlexProps } from '../types';\n\nfunction useDeprecatedProps(\n\tprops: WordPressComponentProps< FlexProps, 'div' >\n): Omit< typeof props, 'isReversed' > {\n\tconst { isReversed, ...otherProps } = props;\n\n\tif ( typeof isReversed !== 'undefined' ) {\n\t\tdeprecated( 'Flex isReversed', {\n\t\t\talternative: 'Flex direction=\"row-reverse\" or \"column-reverse\"',\n\t\t\tsince: '5.9',\n\t\t} );\n\t\treturn {\n\t\t\t...otherProps,\n\t\t\tdirection: isReversed ? 'row-reverse' : 'row',\n\t\t};\n\t}\n\n\treturn otherProps;\n}\n\nexport function useFlex( props: WordPressComponentProps< FlexProps, 'div' > ) {\n\tconst {\n\t\talign,\n\t\tclassName,\n\t\tdirection: directionProp = 'row',\n\t\texpanded = true,\n\t\tgap = 2,\n\t\tjustify = 'space-between',\n\t\twrap = false,\n\t\t...otherProps\n\t} = useContextSystem( useDeprecatedProps( props ), 'Flex' );\n\n\tconst directionAsArray = Array.isArray( directionProp )\n\t\t? directionProp\n\t\t: [ directionProp ];\n\tconst direction = useResponsiveValue( directionAsArray );\n\n\tconst isColumn =\n\t\ttypeof direction === 'string' && !! direction.includes( 'column' );\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo( () => {\n\t\tconst base = css( {\n\t\t\talignItems: align ?? ( isColumn ? 'normal' : 'center' ),\n\t\t\tflexDirection: direction,\n\t\t\tflexWrap: wrap ? 'wrap' : undefined,\n\t\t\tgap: space( gap ),\n\t\t\tjustifyContent: justify,\n\t\t\theight: isColumn && expanded ? '100%' : undefined,\n\t\t\twidth: ! isColumn && expanded ? '100%' : undefined,\n\t\t} );\n\n\t\treturn cx(\n\t\t\tstyles.Flex,\n\t\t\tbase,\n\t\t\tisColumn ? styles.ItemsColumn : styles.ItemsRow,\n\t\t\tclassName\n\t\t);\n\t}, [\n\t\talign,\n\t\tclassName,\n\t\tcx,\n\t\tdirection,\n\t\texpanded,\n\t\tgap,\n\t\tisColumn,\n\t\tjustify,\n\t\twrap,\n\t] );\n\n\treturn { ...otherProps, className: classes, isColumn };\n}\n","/**\n * WordPress dependencies\n */\nimport { createContext, useContext } from '@wordpress/element';\n\nexport const FlexContext = createContext< {\n\tflexItemDisplay: 'block' | undefined;\n} >( {\n\tflexItemDisplay: undefined,\n} );\n\nexport const useFlexContext = () => useContext( FlexContext );\n","/**\n * External dependencies\n */\nimport type { SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { useContextSystem } from '../../context';\nimport { useFlexContext } from '../context';\nimport * as styles from '../styles';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type { FlexItemProps } from '../types';\n\nexport function useFlexItem(\n\tprops: WordPressComponentProps< FlexItemProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\tdisplay: displayProp,\n\t\tisBlock = false,\n\t\t...otherProps\n\t} = useContextSystem( props, 'FlexItem' );\n\n\tconst sx: {\n\t\tBase?: SerializedStyles;\n\t} = {};\n\n\tconst contextDisplay = useFlexContext().flexItemDisplay;\n\n\tsx.Base = css( {\n\t\tdisplay: displayProp || contextDisplay,\n\t} );\n\n\tconst cx = useCx();\n\n\tconst classes = cx(\n\t\tstyles.Item,\n\t\tsx.Base,\n\t\tisBlock && styles.block,\n\t\tclassName\n\t);\n\n\treturn {\n\t\t...otherProps,\n\t\tclassName: classes,\n\t};\n}\n","/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { contextConnect } from '../../context';\nimport { View } from '../../view';\nimport { useFlexItem } from './hook';\nimport type { FlexItemProps } from '../types';\n\nfunction UnconnectedFlexItem(\n\tprops: WordPressComponentProps< FlexItemProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst flexItemProps = useFlexItem( props );\n\n\treturn <View { ...flexItemProps } ref={ forwardedRef } />;\n}\n\n/**\n * `FlexItem` is a primitive layout component that aligns content within layout\n * containers like `Flex`.\n *\n * ```jsx\n * import { Flex, FlexItem } from '@wordpress/components';\n *\n * function Example() {\n * return (\n * <Flex>\n * <FlexItem>...</FlexItem>\n * </Flex>\n * );\n * }\n * ```\n */\nexport const FlexItem = contextConnect( UnconnectedFlexItem, 'FlexItem' );\n\nexport default FlexItem;\n","/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\nexport const Truncate = css`\n\tdisplay: block;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n`;\n","/**\n * Internal dependencies\n */\nimport { isValueDefined } from '../utils/values';\nimport type { TruncateProps } from './types';\n\nexport const TRUNCATE_ELLIPSIS = '…';\nexport const TRUNCATE_TYPE = {\n\tauto: 'auto',\n\thead: 'head',\n\tmiddle: 'middle',\n\ttail: 'tail',\n\tnone: 'none',\n} as const;\n\nexport const TRUNCATE_DEFAULT_PROPS = {\n\tellipsis: TRUNCATE_ELLIPSIS,\n\tellipsizeMode: TRUNCATE_TYPE.auto,\n\tlimit: 0,\n\tnumberOfLines: 0,\n};\n\n// Source\n// https://github.com/kahwee/truncate-middle\nexport function truncateMiddle(\n\tword: string,\n\theadLength: number,\n\ttailLength: number,\n\tellipsis: string\n) {\n\tif ( typeof word !== 'string' ) {\n\t\treturn '';\n\t}\n\tconst wordLength = word.length;\n\t// Setting default values\n\t// eslint-disable-next-line no-bitwise\n\tconst frontLength = ~~headLength; // Will cast to integer\n\t// eslint-disable-next-line no-bitwise\n\tconst backLength = ~~tailLength;\n\t/* istanbul ignore next */\n\tconst truncateStr = isValueDefined( ellipsis )\n\t\t? ellipsis\n\t\t: TRUNCATE_ELLIPSIS;\n\n\tif (\n\t\t( frontLength === 0 && backLength === 0 ) ||\n\t\tfrontLength >= wordLength ||\n\t\tbackLength >= wordLength ||\n\t\tfrontLength + backLength >= wordLength\n\t) {\n\t\treturn word;\n\t} else if ( backLength === 0 ) {\n\t\treturn word.slice( 0, frontLength ) + truncateStr;\n\t}\n\treturn (\n\t\tword.slice( 0, frontLength ) +\n\t\ttruncateStr +\n\t\tword.slice( wordLength - backLength )\n\t);\n}\n\nexport function truncateContent(\n\twords: string = '',\n\tprops: Omit< TruncateProps, 'children' >\n) {\n\tconst mergedProps = { ...TRUNCATE_DEFAULT_PROPS, ...props };\n\tconst { ellipsis, ellipsizeMode, limit } = mergedProps;\n\n\tif ( ellipsizeMode === TRUNCATE_TYPE.none ) {\n\t\treturn words;\n\t}\n\n\tlet truncateHead: number;\n\tlet truncateTail: number;\n\n\tswitch ( ellipsizeMode ) {\n\t\tcase TRUNCATE_TYPE.head:\n\t\t\ttruncateHead = 0;\n\t\t\ttruncateTail = limit;\n\t\t\tbreak;\n\t\tcase TRUNCATE_TYPE.middle:\n\t\t\ttruncateHead = Math.floor( limit / 2 );\n\t\t\ttruncateTail = Math.floor( limit / 2 );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\ttruncateHead = limit;\n\t\t\ttruncateTail = 0;\n\t}\n\n\tconst truncatedContent =\n\t\tellipsizeMode !== TRUNCATE_TYPE.auto\n\t\t\t? truncateMiddle( words, truncateHead, truncateTail, ellipsis )\n\t\t\t: words;\n\n\treturn truncatedContent;\n}\n","/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { useContextSystem } from '../context';\nimport * as styles from './styles';\nimport { TRUNCATE_ELLIPSIS, TRUNCATE_TYPE, truncateContent } from './utils';\nimport { useCx } from '../utils/hooks/use-cx';\nimport type { TruncateProps } from './types';\n\nexport default function useTruncate(\n\tprops: WordPressComponentProps< TruncateProps, 'span' >\n) {\n\tconst {\n\t\tclassName,\n\t\tchildren,\n\t\tellipsis = TRUNCATE_ELLIPSIS,\n\t\tellipsizeMode = TRUNCATE_TYPE.auto,\n\t\tlimit = 0,\n\t\tnumberOfLines = 0,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Truncate' );\n\n\tconst cx = useCx();\n\n\tlet childrenAsText;\n\tif ( typeof children === 'string' ) {\n\t\tchildrenAsText = children;\n\t} else if ( typeof children === 'number' ) {\n\t\tchildrenAsText = children.toString();\n\t}\n\n\tconst truncatedContent = childrenAsText\n\t\t? truncateContent( childrenAsText, {\n\t\t\t\tellipsis,\n\t\t\t\tellipsizeMode,\n\t\t\t\tlimit,\n\t\t\t\tnumberOfLines,\n\t\t } )\n\t\t: children;\n\n\tconst shouldTruncate =\n\t\t!! childrenAsText && ellipsizeMode === TRUNCATE_TYPE.auto;\n\n\tconst classes = useMemo( () => {\n\t\t// The `word-break: break-all` property first makes sure a text line\n\t\t// breaks even when it contains 'unbreakable' content such as long URLs.\n\t\t// See https://github.com/WordPress/gutenberg/issues/60860.\n\t\tconst truncateLines = css`\n\t\t\t${ numberOfLines === 1 ? 'word-break: break-all;' : '' }\n\t\t\t-webkit-box-orient: vertical;\n\t\t\t-webkit-line-clamp: ${ numberOfLines };\n\t\t\tdisplay: -webkit-box;\n\t\t\toverflow: hidden;\n\t\t`;\n\n\t\treturn cx(\n\t\t\tshouldTruncate && ! numberOfLines && styles.Truncate,\n\t\t\tshouldTruncate && !! numberOfLines && truncateLines,\n\t\t\tclassName\n\t\t);\n\t}, [ className, cx, numberOfLines, shouldTruncate ] );\n\n\treturn { ...otherProps, className: classes, children: truncatedContent };\n}\n","/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\n/**\n * Internal dependencies\n */\nimport { COLORS, CONFIG } from '../utils';\n\nexport const Text = css`\n\tcolor: ${ COLORS.theme.foreground };\n\tline-height: ${ CONFIG.fontLineHeightBase };\n\tmargin: 0;\n\ttext-wrap: balance; /* Fallback for Safari. */\n\ttext-wrap: pretty;\n`;\n\nexport const block = css`\n\tdisplay: block;\n`;\n\nexport const positive = css`\n\tcolor: ${ COLORS.alert.green };\n`;\n\nexport const destructive = css`\n\tcolor: ${ COLORS.alert.red };\n`;\n\nexport const muted = css`\n\tcolor: ${ COLORS.gray[ 700 ] };\n`;\n\nexport const highlighterText = css`\n\tmark {\n\t\tbackground: ${ COLORS.alert.yellow };\n\t\tborder-radius: ${ CONFIG.radiusSmall };\n\t\tbox-shadow:\n\t\t\t0 0 0 1px rgba( 0, 0, 0, 0.05 ) inset,\n\t\t\t0 -1px 0 rgba( 0, 0, 0, 0.1 ) inset;\n\t}\n`;\n\nexport const upperCase = css`\n\ttext-transform: uppercase;\n`;\n","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport type { FindAllArgs } from 'highlight-words-core';\nimport { findAll } from 'highlight-words-core';\n\n/**\n * WordPress dependencies\n */\nimport { createElement } from '@wordpress/element';\n\n/**\n * Source:\n * https://github.com/bvaughn/react-highlight-words/blob/HEAD/src/Highlighter.js\n */\n\n/**\n * @typedef Options\n * @property {string} [activeClassName=''] Classname for active highlighted areas.\n * @property {number} [activeIndex=-1] The index of the active highlighted area.\n * @property {import('react').AllHTMLAttributes<HTMLDivElement>['style']} [activeStyle] Styles to apply to the active highlighted area.\n * @property {boolean} [autoEscape] Whether to automatically escape text.\n * @property {boolean} [caseSensitive=false] Whether to highlight in a case-sensitive manner.\n * @property {string} children Children to highlight.\n * @property {import('highlight-words-core').FindAllArgs['findChunks']} [findChunks] Custom `findChunks` function to pass to `highlight-words-core`.\n * @property {string | Record<string, unknown>} [highlightClassName=''] Classname to apply to highlighted text or a Record of classnames to apply to given text (which should be the key).\n * @property {import('react').AllHTMLAttributes<HTMLDivElement>['style']} [highlightStyle={}] Styles to apply to highlighted text.\n * @property {keyof JSX.IntrinsicElements} [highlightTag='mark'] Tag to use for the highlighted text.\n * @property {import('highlight-words-core').FindAllArgs['sanitize']} [sanitize] Custom `sanitize` function to pass to `highlight-words-core`.\n * @property {string[]} [searchWords=[]] Words to search for and highlight.\n * @property {string} [unhighlightClassName=''] Classname to apply to unhighlighted text.\n * @property {import('react').AllHTMLAttributes<HTMLDivElement>['style']} [unhighlightStyle] Style to apply to unhighlighted text.\n */\n\ninterface Options {\n\tactiveClassName?: string;\n\tactiveIndex?: number;\n\tactiveStyle?: React.AllHTMLAttributes< HTMLDivElement >[ 'style' ];\n\tautoEscape?: boolean;\n\tcaseSensitive?: boolean;\n\tchildren: string;\n\tfindChunks?: FindAllArgs[ 'findChunks' ];\n\thighlightClassName?: string | Record< string, unknown >;\n\thighlightStyle?: React.AllHTMLAttributes< HTMLDivElement >[ 'style' ];\n\thighlightTag?: keyof JSX.IntrinsicElements;\n\tsanitize?: FindAllArgs[ 'sanitize' ];\n\tsearchWords?: string[];\n\tunhighlightClassName?: string;\n\tunhighlightStyle?: React.AllHTMLAttributes< HTMLDivElement >[ 'style' ];\n}\n\n/**\n * Maps props to lowercase names.\n *\n * @param object Props to map.\n * @return The mapped props.\n */\nconst lowercaseProps = < T extends Record< string, unknown > >( object: T ) => {\n\tconst mapped: Record< string, unknown > = {};\n\tfor ( const key in object ) {\n\t\tmapped[ key.toLowerCase() ] = object[ key ];\n\t}\n\treturn mapped as { [ K in keyof T as Lowercase< string & K > ]: T[ K ] };\n};\n\nconst memoizedLowercaseProps = memoize( lowercaseProps );\n\n/**\n * @param options\n * @param options.activeClassName\n * @param options.activeIndex\n * @param options.activeStyle\n * @param options.autoEscape\n * @param options.caseSensitive\n * @param options.children\n * @param options.findChunks\n * @param options.highlightClassName\n * @param options.highlightStyle\n * @param options.highlightTag\n * @param options.sanitize\n * @param options.searchWords\n * @param options.unhighlightClassName\n * @param options.unhighlightStyle\n */\nexport function createHighlighterText( {\n\tactiveClassName = '',\n\tactiveIndex = -1,\n\tactiveStyle,\n\tautoEscape,\n\tcaseSensitive = false,\n\tchildren,\n\tfindChunks,\n\thighlightClassName = '',\n\thighlightStyle = {},\n\thighlightTag = 'mark',\n\tsanitize,\n\tsearchWords = [],\n\tunhighlightClassName = '',\n\tunhighlightStyle,\n}: Options ) {\n\tif ( ! children ) {\n\t\treturn null;\n\t}\n\tif ( typeof children !== 'string' ) {\n\t\treturn children;\n\t}\n\n\tconst textToHighlight = children;\n\n\tconst chunks = findAll( {\n\t\tautoEscape,\n\t\tcaseSensitive,\n\t\tfindChunks,\n\t\tsanitize,\n\t\tsearchWords,\n\t\ttextToHighlight,\n\t} );\n\tconst HighlightTag = highlightTag;\n\tlet highlightIndex = -1;\n\tlet highlightClassNames = '';\n\tlet highlightStyles;\n\n\tconst textContent = chunks.map( ( chunk, index ) => {\n\t\tconst text = textToHighlight.substr(\n\t\t\tchunk.start,\n\t\t\tchunk.end - chunk.start\n\t\t);\n\n\t\tif ( chunk.highlight ) {\n\t\t\thighlightIndex++;\n\n\t\t\tlet highlightClass;\n\t\t\tif ( typeof highlightClassName === 'object' ) {\n\t\t\t\tif ( ! caseSensitive ) {\n\t\t\t\t\thighlightClassName =\n\t\t\t\t\t\tmemoizedLowercaseProps( highlightClassName );\n\t\t\t\t\thighlightClass = highlightClassName[ text.toLowerCase() ];\n\t\t\t\t} else {\n\t\t\t\t\thighlightClass = highlightClassName[ text ];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thighlightClass = highlightClassName;\n\t\t\t}\n\n\t\t\tconst isActive = highlightIndex === +activeIndex;\n\n\t\t\thighlightClassNames = `${ highlightClass } ${\n\t\t\t\tisActive ? activeClassName : ''\n\t\t\t}`;\n\t\t\thighlightStyles =\n\t\t\t\tisActive === true && activeStyle !== null\n\t\t\t\t\t? Object.assign( {}, highlightStyle, activeStyle )\n\t\t\t\t\t: highlightStyle;\n\n\t\t\tconst props: Record< string, unknown > = {\n\t\t\t\tchildren: text,\n\t\t\t\tclassName: highlightClassNames,\n\t\t\t\tkey: index,\n\t\t\t\tstyle: highlightStyles,\n\t\t\t};\n\n\t\t\t// Don't attach arbitrary props to DOM elements; this triggers React DEV warnings (https://fb.me/react-unknown-prop)\n\t\t\t// Only pass through the highlightIndex attribute for custom components.\n\t\t\tif ( typeof HighlightTag !== 'string' ) {\n\t\t\t\tprops.highlightIndex = highlightIndex;\n\t\t\t}\n\n\t\t\treturn createElement( HighlightTag, props );\n\t\t}\n\t\treturn createElement( 'span', {\n\t\t\tchildren: text,\n\t\t\tclassName: unhighlightClassName,\n\t\t\tkey: index,\n\t\t\tstyle: unhighlightStyle,\n\t\t} );\n\t} );\n\n\treturn textContent;\n}\n","/**\n * External dependencies\n */\nimport type { CSSProperties } from 'react';\n\n/**\n * Internal dependencies\n */\nimport CONFIG from './config-values';\n\nexport type HeadingSize =\n\t| 1\n\t| 2\n\t| 3\n\t| 4\n\t| 5\n\t| 6\n\t| '1'\n\t| '2'\n\t| '3'\n\t| '4'\n\t| '5'\n\t| '6';\n\nexport const BASE_FONT_SIZE = 13;\n\nexport const PRESET_FONT_SIZES = {\n\tbody: BASE_FONT_SIZE,\n\tcaption: 10,\n\tfootnote: 11,\n\tlargeTitle: 28,\n\tsubheadline: 12,\n\ttitle: 20,\n};\n\nexport const HEADING_FONT_SIZES = [ 1, 2, 3, 4, 5, 6 ].flatMap( ( n ) => [\n\tn as HeadingSize,\n\tn.toString() as HeadingSize,\n] );\n\nexport function getFontSize(\n\tsize:\n\t\t| CSSProperties[ 'fontSize' ]\n\t\t| keyof typeof PRESET_FONT_SIZES = BASE_FONT_SIZE\n): string {\n\tif ( size in PRESET_FONT_SIZES ) {\n\t\treturn getFontSize(\n\t\t\tPRESET_FONT_SIZES[ size as keyof typeof PRESET_FONT_SIZES ]\n\t\t);\n\t}\n\n\tif ( typeof size !== 'number' ) {\n\t\tconst parsed = parseFloat( size );\n\t\tif ( Number.isNaN( parsed ) ) {\n\t\t\treturn size;\n\t\t}\n\t\tsize = parsed;\n\t}\n\n\tconst ratio = `(${ size } / ${ BASE_FONT_SIZE })`;\n\treturn `calc(${ ratio } * ${ CONFIG.fontSize })`;\n}\n\nexport function getHeadingFontSize( size: number | string = 3 ): string {\n\tif ( ! HEADING_FONT_SIZES.includes( size as HeadingSize ) ) {\n\t\treturn getFontSize( size );\n\t}\n\n\tconst headingSize = `fontSizeH${ size }` as `fontSizeH${ HeadingSize }`;\n\treturn CONFIG[ headingSize ];\n}\n","/**\n * External dependencies\n */\nimport type { CSSProperties } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { Props } from './types';\nimport { space } from '../utils/space';\nimport { CONFIG } from '../utils';\n\nexport function getLineHeight(\n\tadjustLineHeightForInnerControls: Props[ 'adjustLineHeightForInnerControls' ],\n\tlineHeight: CSSProperties[ 'lineHeight' ]\n) {\n\tif ( lineHeight ) {\n\t\treturn lineHeight;\n\t}\n\n\tif ( ! adjustLineHeightForInnerControls ) {\n\t\treturn;\n\t}\n\n\tlet value = `calc(${ CONFIG.controlHeight } + ${ space( 2 ) })`;\n\n\tswitch ( adjustLineHeightForInnerControls ) {\n\t\tcase 'large':\n\t\t\tvalue = `calc(${ CONFIG.controlHeightLarge } + ${ space( 2 ) })`;\n\t\t\tbreak;\n\t\tcase 'small':\n\t\t\tvalue = `calc(${ CONFIG.controlHeightSmall } + ${ space( 2 ) })`;\n\t\t\tbreak;\n\t\tcase 'xSmall':\n\t\t\tvalue = `calc(${ CONFIG.controlHeightXSmall } + ${ space( 2 ) })`;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\treturn value;\n}\n","/**\n * External dependencies\n */\nimport type { SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, Children, cloneElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { hasConnectNamespace, useContextSystem } from '../context';\nimport { useTruncate } from '../truncate';\nimport { getOptimalTextShade } from '../utils/colors';\nimport * as styles from './styles';\nimport { createHighlighterText } from './utils';\nimport { getFontSize } from '../utils/font-size';\nimport { CONFIG, COLORS } from '../utils';\nimport { getLineHeight } from './get-line-height';\nimport { useCx } from '../utils/hooks/use-cx';\nimport type { Props } from './types';\nimport type React from 'react';\n\n/**\n * @param {import('../context').WordPressComponentProps<import('./types').Props, 'span'>} props\n */\nexport default function useText(\n\tprops: WordPressComponentProps< Props, 'span' >\n) {\n\tconst {\n\t\tadjustLineHeightForInnerControls,\n\t\talign,\n\t\tchildren,\n\t\tclassName,\n\t\tcolor,\n\t\tellipsizeMode,\n\t\tisDestructive = false,\n\t\tdisplay,\n\t\thighlightEscape = false,\n\t\thighlightCaseSensitive = false,\n\t\thighlightWords,\n\t\thighlightSanitize,\n\t\tisBlock = false,\n\t\tletterSpacing,\n\t\tlineHeight: lineHeightProp,\n\t\toptimizeReadabilityFor,\n\t\tsize,\n\t\ttruncate = false,\n\t\tupperCase = false,\n\t\tvariant,\n\t\tweight = CONFIG.fontWeight,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Text' );\n\n\tlet content: React.ReactNode = children;\n\tconst isHighlighter = Array.isArray( highlightWords );\n\tconst isCaption = size === 'caption';\n\n\tif ( isHighlighter ) {\n\t\tif ( typeof children !== 'string' ) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'`children` of `Text` must only be `string` types when `highlightWords` is defined'\n\t\t\t);\n\t\t}\n\n\t\tcontent = createHighlighterText( {\n\t\t\tautoEscape: highlightEscape,\n\t\t\tchildren,\n\t\t\tcaseSensitive: highlightCaseSensitive,\n\t\t\tsearchWords: highlightWords,\n\t\t\tsanitize: highlightSanitize,\n\t\t} );\n\t}\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo( () => {\n\t\tconst sx: Record< string, SerializedStyles | null > = {};\n\n\t\tconst lineHeight = getLineHeight(\n\t\t\tadjustLineHeightForInnerControls,\n\t\t\tlineHeightProp\n\t\t);\n\n\t\tsx.Base = css( {\n\t\t\tcolor,\n\t\t\tdisplay,\n\t\t\tfontSize: getFontSize( size ),\n\t\t\tfontWeight: weight,\n\t\t\tlineHeight,\n\t\t\tletterSpacing,\n\t\t\ttextAlign: align,\n\t\t} );\n\n\t\tsx.upperCase = css( { textTransform: 'uppercase' } );\n\n\t\tsx.optimalTextColor = null;\n\n\t\tif ( optimizeReadabilityFor ) {\n\t\t\tconst isOptimalTextColorDark =\n\t\t\t\tgetOptimalTextShade( optimizeReadabilityFor ) === 'dark';\n\n\t\t\t// Should not use theme colors\n\t\t\tsx.optimalTextColor = isOptimalTextColorDark\n\t\t\t\t? css( { color: COLORS.gray[ 900 ] } )\n\t\t\t\t: css( { color: COLORS.white } );\n\t\t}\n\n\t\treturn cx(\n\t\t\tstyles.Text,\n\t\t\tsx.Base,\n\t\t\tsx.optimalTextColor,\n\t\t\tisDestructive && styles.destructive,\n\t\t\t!! isHighlighter && styles.highlighterText,\n\t\t\tisBlock && styles.block,\n\t\t\tisCaption && styles.muted,\n\t\t\tvariant && styles[ variant ],\n\t\t\tupperCase && sx.upperCase,\n\t\t\tclassName\n\t\t);\n\t}, [\n\t\tadjustLineHeightForInnerControls,\n\t\talign,\n\t\tclassName,\n\t\tcolor,\n\t\tcx,\n\t\tdisplay,\n\t\tisBlock,\n\t\tisCaption,\n\t\tisDestructive,\n\t\tisHighlighter,\n\t\tletterSpacing,\n\t\tlineHeightProp,\n\t\toptimizeReadabilityFor,\n\t\tsize,\n\t\tupperCase,\n\t\tvariant,\n\t\tweight,\n\t] );\n\n\tlet finalEllipsizeMode: undefined | 'auto' | 'none';\n\tif ( truncate === true ) {\n\t\tfinalEllipsizeMode = 'auto';\n\t}\n\tif ( truncate === false ) {\n\t\tfinalEllipsizeMode = 'none';\n\t}\n\n\tconst finalComponentProps = {\n\t\t...otherProps,\n\t\tclassName: classes,\n\t\tchildren,\n\t\tellipsizeMode: ellipsizeMode || finalEllipsizeMode,\n\t};\n\n\tconst truncateProps = useTruncate( finalComponentProps );\n\n\t/**\n\t * Enhance child `<Link />` components to inherit font size.\n\t */\n\tif ( ! truncate && Array.isArray( children ) ) {\n\t\tcontent = Children.map( children, ( child ) => {\n\t\t\tif (\n\t\t\t\ttypeof child !== 'object' ||\n\t\t\t\tchild === null ||\n\t\t\t\t! ( 'props' in child )\n\t\t\t) {\n\t\t\t\treturn child;\n\t\t\t}\n\n\t\t\tconst isLink = hasConnectNamespace( child, [ 'Link' ] );\n\t\t\tif ( isLink ) {\n\t\t\t\treturn cloneElement( child, {\n\t\t\t\t\tsize: child.props.size || 'inherit',\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn child;\n\t\t} );\n\t}\n\n\treturn {\n\t\t...truncateProps,\n\t\tchildren: truncate ? truncateProps.children : content,\n\t};\n}\n","/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { contextConnect } from '../context';\nimport { View } from '../view';\nimport useText from './hook';\nimport type { Props } from './types';\n\n/**\n * @param props\n * @param forwardedRef\n */\nfunction UnconnectedText(\n\tprops: WordPressComponentProps< Props, 'span' >,\n\tforwardedRef: React.ForwardedRef< any >\n) {\n\tconst textProps = useText( props );\n\n\treturn <View as=\"span\" { ...textProps } ref={ forwardedRef } />;\n}\n\n/**\n * `Text` is a core component that renders text in the library, using the\n * library's typography system.\n *\n * `Text` can be used to render any text-content, like an HTML `p` or `span`.\n *\n * @example\n *\n * ```jsx\n * import { __experimentalText as Text } from `@wordpress/components`;\n *\n * function Example() {\n * \treturn <Text>Code is Poetry</Text>;\n * }\n * ```\n */\nexport const Text = contextConnect( UnconnectedText, 'Text' );\nexport default Text;\n","/**\n * External dependencies\n */\nimport type { CSSProperties } from 'react';\n/**\n * Internal dependencies\n */\nimport type { FlexDirection } from '../flex/types';\nimport type { HStackAlignment, AlignmentProps, Alignments } from './types';\nimport { isValueDefined } from '../utils/values';\n\nconst H_ALIGNMENTS: Alignments = {\n\tbottom: { align: 'flex-end', justify: 'center' },\n\tbottomLeft: { align: 'flex-end', justify: 'flex-start' },\n\tbottomRight: { align: 'flex-end', justify: 'flex-end' },\n\tcenter: { align: 'center', justify: 'center' },\n\tedge: { align: 'center', justify: 'space-between' },\n\tleft: { align: 'center', justify: 'flex-start' },\n\tright: { align: 'center', justify: 'flex-end' },\n\tstretch: { align: 'stretch' },\n\ttop: { align: 'flex-start', justify: 'center' },\n\ttopLeft: { align: 'flex-start', justify: 'flex-start' },\n\ttopRight: { align: 'flex-start', justify: 'flex-end' },\n};\n\nconst V_ALIGNMENTS: Alignments = {\n\tbottom: { justify: 'flex-end', align: 'center' },\n\tbottomLeft: { justify: 'flex-end', align: 'flex-start' },\n\tbottomRight: { justify: 'flex-end', align: 'flex-end' },\n\tcenter: { justify: 'center', align: 'center' },\n\tedge: { justify: 'space-between', align: 'center' },\n\tleft: { justify: 'center', align: 'flex-start' },\n\tright: { justify: 'center', align: 'flex-end' },\n\tstretch: { align: 'stretch' },\n\ttop: { justify: 'flex-start', align: 'center' },\n\ttopLeft: { justify: 'flex-start', align: 'flex-start' },\n\ttopRight: { justify: 'flex-start', align: 'flex-end' },\n};\n\nexport function getAlignmentProps(\n\talignment: HStackAlignment | CSSProperties[ 'alignItems' ],\n\tdirection: FlexDirection = 'row'\n): AlignmentProps {\n\tif ( ! isValueDefined( alignment ) ) {\n\t\treturn {};\n\t}\n\tconst isVertical = direction === 'column';\n\tconst props = isVertical ? V_ALIGNMENTS : H_ALIGNMENTS;\n\n\tconst alignmentProps =\n\t\talignment in props\n\t\t\t? props[ alignment as keyof typeof props ]\n\t\t\t: { align: alignment };\n\n\treturn alignmentProps;\n}\n","/**\n * External dependencies\n */\nimport type { ReactNode, ReactElement, ReactPortal } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { Children, isValidElement } from '@wordpress/element';\n\n/**\n * Gets a collection of available children elements from a React component's children prop.\n *\n * @param children\n *\n * @return An array of available children.\n */\nexport function getValidChildren(\n\tchildren: ReactNode\n): Array<\n\tReactElement | number | string | Iterable< ReactNode > | ReactPortal\n> {\n\tif ( typeof children === 'string' ) {\n\t\treturn [ children ];\n\t}\n\n\treturn Children.toArray( children ).filter( ( child ) =>\n\t\tisValidElement( child )\n\t);\n}\n","/**\n * External dependencies\n */\nimport type { ReactElement } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { hasConnectNamespace, useContextSystem } from '../context';\nimport { FlexItem, useFlex } from '../flex';\nimport { getAlignmentProps } from './utils';\nimport { getValidChildren } from '../utils/get-valid-children';\nimport type { Props } from './types';\n\nexport function useHStack( props: WordPressComponentProps< Props, 'div' > ) {\n\tconst {\n\t\talignment = 'edge',\n\t\tchildren,\n\t\tdirection,\n\t\tspacing = 2,\n\t\t...otherProps\n\t} = useContextSystem( props, 'HStack' );\n\n\tconst align = getAlignmentProps( alignment, direction );\n\n\tconst validChildren = getValidChildren( children );\n\tconst clonedChildren = validChildren.map( ( child, index ) => {\n\t\tconst _isSpacer = hasConnectNamespace( child, [ 'Spacer' ] );\n\n\t\tif ( _isSpacer ) {\n\t\t\tconst childElement = child as ReactElement;\n\t\t\tconst _key = childElement.key || `hstack-${ index }`;\n\n\t\t\treturn <FlexItem isBlock key={ _key } { ...childElement.props } />;\n\t\t}\n\n\t\treturn child;\n\t} );\n\n\tconst propsForFlex = {\n\t\tchildren: clonedChildren,\n\t\tdirection,\n\t\tjustify: 'center',\n\t\t...align,\n\t\t...otherProps,\n\t\tgap: spacing,\n\t};\n\n\t// Omit `isColumn` because it's not used in HStack.\n\tconst { isColumn, ...flexProps } = useFlex( propsForFlex );\n\n\treturn flexProps;\n}\n","/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { useContextSystem } from '../context';\nimport { useHStack } from '../h-stack';\nimport type { VStackProps } from './types';\n\nexport function useVStack(\n\tprops: WordPressComponentProps< VStackProps, 'div' >\n) {\n\tconst {\n\t\texpanded = false,\n\t\talignment = 'stretch',\n\t\t...otherProps\n\t} = useContextSystem( props, 'VStack' );\n\n\tconst hStackProps = useHStack( {\n\t\tdirection: 'column',\n\t\texpanded,\n\t\talignment,\n\t\t...otherProps,\n\t} );\n\n\treturn hStackProps;\n}\n","/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { contextConnect } from '../context';\nimport { View } from '../view';\nimport { useVStack } from './hook';\nimport type { VStackProps } from './types';\n\nfunction UnconnectedVStack(\n\tprops: WordPressComponentProps< VStackProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst vStackProps = useVStack( props );\n\n\treturn <View { ...vStackProps } ref={ forwardedRef } />;\n}\n\n/**\n * `VStack` (or Vertical Stack) is a layout component that arranges child\n * elements in a vertical line.\n *\n * `VStack` can render anything inside.\n *\n * ```jsx\n * import {\n * \t__experimentalText as Text,\n * \t__experimentalVStack as VStack,\n * } from `@wordpress/components`;\n *\n * function Example() {\n * \treturn (\n * \t\t<VStack>\n * \t\t\t<Text>Code</Text>\n * \t\t\t<Text>is</Text>\n * \t\t\t<Text>Poetry</Text>\n * \t\t</VStack>\n * \t);\n * }\n * ```\n */\nexport const VStack = contextConnect( UnconnectedVStack, 'VStack' );\n\nexport default VStack;\n","/**\n * External dependencies\n */\nimport type { CSSProperties } from 'react';\n\nconst ALIGNMENTS = {\n\tbottom: { alignItems: 'flex-end', justifyContent: 'center' },\n\tbottomLeft: { alignItems: 'flex-start', justifyContent: 'flex-end' },\n\tbottomRight: { alignItems: 'flex-end', justifyContent: 'flex-end' },\n\tcenter: { alignItems: 'center', justifyContent: 'center' },\n\tspaced: { alignItems: 'center', justifyContent: 'space-between' },\n\tleft: { alignItems: 'center', justifyContent: 'flex-start' },\n\tright: { alignItems: 'center', justifyContent: 'flex-end' },\n\tstretch: { alignItems: 'stretch' },\n\ttop: { alignItems: 'flex-start', justifyContent: 'center' },\n\ttopLeft: { alignItems: 'flex-start', justifyContent: 'flex-start' },\n\ttopRight: { alignItems: 'flex-start', justifyContent: 'flex-end' },\n};\n\nexport function getAlignmentProps( alignment?: keyof typeof ALIGNMENTS ): {\n\talignItems?: CSSProperties[ 'alignItems' ];\n\tjustifyContent?: CSSProperties[ 'justifyContent' ];\n} {\n\tconst alignmentProps = alignment ? ALIGNMENTS[ alignment ] : {};\n\n\treturn alignmentProps;\n}\n","/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { useContextSystem } from '../context';\nimport { getAlignmentProps } from './utils';\nimport { useResponsiveValue } from '../utils/use-responsive-value';\nimport CONFIG from '../utils/config-values';\nimport { useCx } from '../utils/hooks/use-cx';\nimport type { GridProps } from './types';\n\nexport default function useGrid(\n\tprops: WordPressComponentProps< GridProps, 'div' >\n) {\n\tconst {\n\t\talign,\n\t\talignment,\n\t\tclassName,\n\t\tcolumnGap,\n\t\tcolumns = 2,\n\t\tgap = 3,\n\t\tisInline = false,\n\t\tjustify,\n\t\trowGap,\n\t\trows,\n\t\ttemplateColumns,\n\t\ttemplateRows,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Grid' );\n\n\tconst columnsAsArray = Array.isArray( columns ) ? columns : [ columns ];\n\tconst column = useResponsiveValue( columnsAsArray );\n\tconst rowsAsArray = Array.isArray( rows ) ? rows : [ rows ];\n\tconst row = useResponsiveValue( rowsAsArray );\n\n\tconst gridTemplateColumns =\n\t\ttemplateColumns || ( !! columns && `repeat( ${ column }, 1fr )` );\n\tconst gridTemplateRows =\n\t\ttemplateRows || ( !! rows && `repeat( ${ row }, 1fr )` );\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo( () => {\n\t\tconst alignmentProps = getAlignmentProps( alignment );\n\n\t\tconst gridClasses = css( {\n\t\t\talignItems: align,\n\t\t\tdisplay: isInline ? 'inline-grid' : 'grid',\n\t\t\tgap: `calc( ${ CONFIG.gridBase } * ${ gap } )`,\n\t\t\tgridTemplateColumns: gridTemplateColumns || undefined,\n\t\t\tgridTemplateRows: gridTemplateRows || undefined,\n\t\t\tgridRowGap: rowGap,\n\t\t\tgridColumnGap: columnGap,\n\t\t\tjustifyContent: justify,\n\t\t\tverticalAlign: isInline ? 'middle' : undefined,\n\t\t\t...alignmentProps,\n\t\t} );\n\n\t\treturn cx( gridClasses, className );\n\t}, [\n\t\talign,\n\t\talignment,\n\t\tclassName,\n\t\tcolumnGap,\n\t\tcx,\n\t\tgap,\n\t\tgridTemplateColumns,\n\t\tgridTemplateRows,\n\t\tisInline,\n\t\tjustify,\n\t\trowGap,\n\t] );\n\n\treturn { ...otherProps, className: classes };\n}\n","/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { contextConnect } from '../context';\nimport { View } from '../view';\nimport useGrid from './hook';\nimport type { GridProps } from './types';\n\nfunction UnconnectedGrid(\n\tprops: WordPressComponentProps< GridProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst gridProps = useGrid( props );\n\n\treturn <View { ...gridProps } ref={ forwardedRef } />;\n}\n\n/**\n * `Grid` is a primitive layout component that can arrange content in a grid configuration.\n *\n * ```jsx\n * import {\n * \t__experimentalGrid as Grid,\n * \t__experimentalText as Text\n * } from `@wordpress/components`;\n *\n * function Example() {\n * \treturn (\n * \t\t<Grid columns={ 3 }>\n * \t\t\t<Text>Code</Text>\n * \t\t\t<Text>is</Text>\n * \t\t\t<Text>Poetry</Text>\n * \t\t</Grid>\n * \t);\n * }\n * ```\n */\nexport const Grid = contextConnect( UnconnectedGrid, 'Grid' );\n\nexport default Grid;\n","/* eslint-disable @wordpress/no-unsafe-wp-apis */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { Fragment } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport clsx from 'clsx';\nimport { useContext, useMemo, type FC } from 'react';\nimport {\n\tGlobalChartsContext,\n\tGlobalChartsProvider,\n\tuseChartId,\n\tuseChartRegistration,\n\tuseGlobalChartsContext,\n\tuseGlobalChartsTheme,\n} from '../../providers';\nimport { formatMetricValue, attachSubComponents } from '../../utils';\nimport { Legend } from '../legend';\nimport { useChartChildren } from '../private/chart-composition';\nimport { SingleChartContext } from '../private/single-chart-context';\nimport { withResponsive } from '../private/with-responsive';\nimport { useLeaderboardLegendItems } from './hooks';\nimport styles from './leaderboard-chart.module.scss';\nimport type { LeaderboardChartProps } from './types';\nimport type { LeaderboardEntry } from '../../types';\n\n/**\n * Default value formatter using formatMetricValue\n *\n * @param value - The numeric value to format\n * @return Formatted string representation of the value\n */\nconst defaultValueFormatter = ( value: number ): string => {\n\treturn formatMetricValue( value, 'number', {\n\t\tuseMultipliers: true,\n\t\tdecimals: 1,\n\t} );\n};\n\n/**\n * Default delta formatter using formatMetricValue\n *\n * @param value - The delta value to format\n * @return Formatted percentage string\n */\nconst defaultDeltaFormatter = ( value: number ): string => {\n\treturn formatMetricValue( value / 100, 'average', {\n\t\tdecimals: 0,\n\t\tsignDisplay: 'exceptZero',\n\t} );\n};\n\nconst BarLabel = ( { label }: { label: string | JSX.Element } ) => (\n\t<>{ typeof label === 'string' ? <Text className={ styles.label }>{ label }</Text> : label }</>\n);\n\nconst BarWithLabel = ( {\n\tentry,\n\twithComparison,\n\twithOverlayLabel,\n\tprimaryColor,\n\tsecondaryColor,\n\tisPrimaryVisible = true,\n\tisComparisonVisible = true,\n}: {\n\tentry: LeaderboardEntry;\n\twithComparison?: boolean;\n\twithOverlayLabel?: boolean;\n\tprimaryColor: string;\n\tsecondaryColor: string;\n\tisPrimaryVisible?: boolean;\n\tisComparisonVisible?: boolean;\n} ) => (\n\t<div\n\t\tclassName={ clsx( styles.barWithLabelContainer, {\n\t\t\t[ styles[ 'is-overlay' ] ]: withOverlayLabel,\n\t\t} ) }\n\t>\n\t\t<BarLabel label={ entry.label } />\n\n\t\t{ isPrimaryVisible && (\n\t\t\t<div\n\t\t\t\tclassName={ styles.bar }\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth: entry.currentShare + '%',\n\t\t\t\t\tbackgroundColor: primaryColor,\n\t\t\t\t} }\n\t\t\t></div>\n\t\t) }\n\n\t\t{ withComparison && ! withOverlayLabel && isComparisonVisible && (\n\t\t\t<div\n\t\t\t\tclassName={ styles.bar }\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth: entry.previousShare + '%',\n\t\t\t\t\tbackgroundColor: secondaryColor,\n\t\t\t\t} }\n\t\t\t></div>\n\t\t) }\n\t</div>\n);\n\n/**\n * LeaderboardChart component displays a ranked list of data with progress bars\n * and optional comparison values.\n *\n * @param props - Component props\n * @param props.data - Array of leaderboard entries to display\n * @param props.chartId - Optional unique identifier for the chart\n * @param props.withComparison - Whether to show comparison data\n * @param props.withOverlayLabel - Whether to overlay the label on top of the bar\n * @param props.primaryColor - Primary color for current period bars\n * @param props.secondaryColor - Secondary color for comparison period bars\n * @param props.valueFormatter - Custom formatter for values\n * @param props.deltaFormatter - Custom formatter for delta values\n * @param props.loading - Whether the chart is in loading state\n * @param props.showLegend - Whether to show legend\n * @param props.legendOrientation - Legend orientation\n * @param props.legendPosition - Legend position\n * @param props.legendAlignment - Legend alignment\n * @param props.legendShape - Legend shape\n * @param props.legendShapeWidth - Width of legend shapes in pixels\n * @param props.legendShapeHeight - Height of legend shapes in pixels\n * @param props.legendLabels - Custom labels for legend items\n * @param props.legendInteractive - Whether legend items are interactive (clickable to toggle series visibility)\n * @param props.children - Child components for composition API\n * @param props.className - Additional CSS class name\n * @param props.style - Custom styling for the chart container\n * @return JSX element representing the leaderboard chart\n */\nconst LeaderboardChartInternal: FC< LeaderboardChartProps > = ( {\n\tdata,\n\tchartId: providedChartId,\n\twithComparison = false,\n\twithOverlayLabel = false,\n\tprimaryColor,\n\tsecondaryColor,\n\tvalueFormatter = defaultValueFormatter,\n\tdeltaFormatter = defaultDeltaFormatter,\n\tloading = false,\n\tshowLegend = false,\n\tlegendOrientation = 'horizontal',\n\tlegendPosition = 'bottom',\n\tlegendAlignment = 'center',\n\tlegendShape = 'circle',\n\tlegendShapeWidth = 8,\n\tlegendShapeHeight = 8,\n\tlegendLabels,\n\tlegendInteractive = false,\n\tclassName,\n\tstyle,\n\tchildren,\n} ) => {\n\tconst chartId = useChartId( providedChartId );\n\tconst { leaderboardChart: leaderboardChartSettings } = useGlobalChartsTheme();\n\n\t// Process children to extract compound components\n\tconst { otherChildren } = useChartChildren( children, 'LeaderboardChart' );\n\tconst {\n\t\tlabelSpacing,\n\t\trowGap,\n\t\tcolumnGap,\n\t\tprimaryColor: settingsPrimaryColor,\n\t\tsecondaryColor: settingsSecondaryColor,\n\t\tdeltaColors,\n\t} = leaderboardChartSettings;\n\tconst { getElementStyles, isSeriesVisible } = useGlobalChartsContext();\n\tconst { color: resolvedPrimaryColor } = getElementStyles( {\n\t\tindex: 0,\n\t\toverrideColor: primaryColor || settingsPrimaryColor,\n\t} );\n\tconst { color: resolvedSecondaryColor } = getElementStyles( {\n\t\tindex: 1,\n\t\toverrideColor: secondaryColor || settingsSecondaryColor,\n\t} );\n\n\t// Create legend items using the custom hook\n\tconst legendItems = useLeaderboardLegendItems( {\n\t\tdata: data || [],\n\t\tprimaryColor,\n\t\tsecondaryColor,\n\t\twithComparison,\n\t\twithOverlayLabel,\n\t\tlegendLabels,\n\t} );\n\n\t// Track visibility of primary and comparison series for interactive legends\n\tconst isPrimaryVisible = useMemo( () => {\n\t\tif ( ! chartId || ! legendInteractive || legendItems.length === 0 ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn isSeriesVisible( chartId, legendItems[ 0 ].label );\n\t}, [ chartId, legendInteractive, legendItems, isSeriesVisible ] );\n\n\tconst isComparisonVisible = useMemo( () => {\n\t\tif ( ! chartId || ! legendInteractive || legendItems.length < 2 ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn isSeriesVisible( chartId, legendItems[ 1 ].label );\n\t}, [ chartId, legendInteractive, legendItems, isSeriesVisible ] );\n\n\t// Check if all series are hidden\n\tconst allSeriesHidden = useMemo( () => {\n\t\tif ( ! legendInteractive ) return false;\n\t\tif ( withComparison && ! withOverlayLabel ) {\n\t\t\treturn ! isPrimaryVisible && ! isComparisonVisible;\n\t\t}\n\t\treturn ! isPrimaryVisible;\n\t}, [\n\t\tlegendInteractive,\n\t\tisPrimaryVisible,\n\t\tisComparisonVisible,\n\t\twithComparison,\n\t\twithOverlayLabel,\n\t] );\n\n\t// Validate data\n\tconst isDataValid = Boolean( data && data.length > 0 );\n\n\t// Memoize metadata to prevent unnecessary re-registration\n\tconst chartMetadata = useMemo(\n\t\t() => ( {\n\t\t\twithComparison,\n\t\t\twithOverlayLabel,\n\t\t} ),\n\t\t[ withComparison, withOverlayLabel ]\n\t);\n\n\t// Register chart with context\n\tuseChartRegistration( {\n\t\tchartId,\n\t\tlegendItems,\n\t\tchartType: 'leaderboard',\n\t\tisDataValid,\n\t\tmetadata: chartMetadata,\n\t} );\n\n\t// Handle empty or undefined data\n\tif ( ! data || data.length === 0 ) {\n\t\treturn (\n\t\t\t<SingleChartContext.Provider\n\t\t\t\tvalue={ {\n\t\t\t\t\tchartId,\n\t\t\t\t\tchartWidth: 0, // LeaderboardChart doesn't need specific dimensions\n\t\t\t\t\tchartHeight: 0,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( styles.leaderboardChart, loading && styles.loading, className ) }\n\t\t\t\t\tstyle={ style }\n\t\t\t\t>\n\t\t\t\t\t<div className={ styles.emptyState }>\n\t\t\t\t\t\t{ loading\n\t\t\t\t\t\t\t? __( 'Loading…', 'jetpack-charts' )\n\t\t\t\t\t\t\t: __( 'No data available', 'jetpack-charts' ) }\n\t\t\t\t\t</div>\n\t\t\t\t\t{ /* Render children from composition API */ }\n\t\t\t\t\t{ otherChildren }\n\t\t\t\t</div>\n\t\t\t</SingleChartContext.Provider>\n\t\t);\n\t}\n\n\treturn (\n\t\t<SingleChartContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tchartId,\n\t\t\t\tchartWidth: 0, // LeaderboardChart doesn't need specific dimensions\n\t\t\t\tchartHeight: 0,\n\t\t\t} }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( styles.leaderboardChart, loading && styles.loading, className ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...style,\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\tflexDirection: showLegend && legendPosition === 'top' ? 'column-reverse' : 'column',\n\t\t\t\t\tgap: showLegend ? '16px' : '0',\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ allSeriesHidden ? (\n\t\t\t\t\t<div className={ styles.emptyState }>\n\t\t\t\t\t\t{ __( 'All series are hidden. Click legend items to show data.', 'jetpack-charts' ) }\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<Grid templateColumns=\"minmax(0, 1fr) auto\" rowGap={ rowGap } columnGap={ columnGap }>\n\t\t\t\t\t\t{ data.map( entry => {\n\t\t\t\t\t\t\tconst colorIndex = Math.sign( entry.delta ) + 1;\n\t\t\t\t\t\t\tconst deltaColor = deltaColors[ colorIndex ];\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Fragment key={ entry.id }>\n\t\t\t\t\t\t\t\t\t<VStack spacing={ labelSpacing }>\n\t\t\t\t\t\t\t\t\t\t<BarWithLabel\n\t\t\t\t\t\t\t\t\t\t\tentry={ entry }\n\t\t\t\t\t\t\t\t\t\t\twithComparison={ withComparison }\n\t\t\t\t\t\t\t\t\t\t\twithOverlayLabel={ withOverlayLabel }\n\t\t\t\t\t\t\t\t\t\t\tprimaryColor={ resolvedPrimaryColor }\n\t\t\t\t\t\t\t\t\t\t\tsecondaryColor={ resolvedSecondaryColor }\n\t\t\t\t\t\t\t\t\t\t\tisPrimaryVisible={ isPrimaryVisible }\n\t\t\t\t\t\t\t\t\t\t\tisComparisonVisible={ isComparisonVisible }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</VStack>\n\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx( styles.valueContainer, {\n\t\t\t\t\t\t\t\t\t\t\t[ styles.overlayLabel ]: withOverlayLabel,\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ isPrimaryVisible && <Text>{ valueFormatter( entry.currentValue ) }</Text> }\n\n\t\t\t\t\t\t\t\t\t\t{ withComparison && isComparisonVisible && (\n\t\t\t\t\t\t\t\t\t\t\t<Text style={ { color: deltaColor } }>{ deltaFormatter( entry.delta ) }</Text>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</Grid>\n\t\t\t\t) }\n\n\t\t\t\t{ showLegend && (\n\t\t\t\t\t<Legend\n\t\t\t\t\t\torientation={ legendOrientation }\n\t\t\t\t\t\tposition={ legendPosition }\n\t\t\t\t\t\talignment={ legendAlignment }\n\t\t\t\t\t\tshape={ legendShape }\n\t\t\t\t\t\tshapeWidth={ legendShapeWidth }\n\t\t\t\t\t\tshapeHeight={ legendShapeHeight }\n\t\t\t\t\t\tchartId={ chartId }\n\t\t\t\t\t\tinteractive={ legendInteractive }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ /* Render children from composition API */ }\n\t\t\t\t{ otherChildren }\n\t\t\t</div>\n\t\t</SingleChartContext.Provider>\n\t);\n};\n\nconst LeaderboardChartWithProvider: FC< LeaderboardChartProps > = props => {\n\tconst existingContext = useContext( GlobalChartsContext );\n\n\t// If we're already in a GlobalChartsProvider context, don't create a new one\n\tif ( existingContext ) {\n\t\treturn <LeaderboardChartInternal { ...props } />;\n\t}\n\n\t// Otherwise, create our own GlobalChartsProvider\n\treturn (\n\t\t<GlobalChartsProvider>\n\t\t\t<LeaderboardChartInternal { ...props } />\n\t\t</GlobalChartsProvider>\n\t);\n};\n\nLeaderboardChartWithProvider.displayName = 'LeaderboardChart';\n\n// Create LeaderboardChart with composition API\nconst LeaderboardChart = attachSubComponents( LeaderboardChartWithProvider, {\n\tLegend: Legend,\n} );\n\n// Create responsive LeaderboardChart with composition API\nconst LeaderboardChartResponsive = attachSubComponents(\n\twithResponsive< LeaderboardChartProps >( LeaderboardChartWithProvider ),\n\t{\n\t\tLegend: Legend,\n\t}\n);\n\nexport { LeaderboardChartResponsive as default, LeaderboardChart as LeaderboardChartUnresponsive };\n","import { __ } from '@wordpress/i18n';\nimport { useMemo } from 'react';\nimport { useGlobalChartsTheme, useGlobalChartsContext } from '../../../providers';\nimport type { LeaderboardEntry } from '../../../types';\nimport type { BaseLegendItem } from '../../legend';\n\n/**\n * Hook to create legend items from leaderboard data\n * @param root0 - Configuration object\n * @param root0.data - Array of leaderboard entries\n * @param root0.primaryColor - Primary color override\n * @param root0.secondaryColor - Secondary color override\n * @param root0.withComparison - Whether comparison data is shown\n * @param root0.withOverlayLabel - Whether to overlay the label on top of the bar\n * @param root0.legendLabels - Custom labels for legend items\n * @param root0.legendLabels.primary - Label for primary period data\n * @param root0.legendLabels.comparison - Label for comparison period data\n * @return Array of legend items for the leaderboard chart\n */\nexport function useLeaderboardLegendItems( {\n\tdata,\n\tprimaryColor,\n\tsecondaryColor,\n\twithComparison = false,\n\twithOverlayLabel = false,\n\tlegendLabels,\n}: {\n\tdata: LeaderboardEntry[];\n\tprimaryColor?: string;\n\tsecondaryColor?: string;\n\twithComparison: boolean;\n\twithOverlayLabel: boolean;\n\tlegendLabels?: {\n\t\tprimary?: string;\n\t\tcomparison?: string;\n\t};\n} ): BaseLegendItem[] {\n\tconst { leaderboardChart: leaderboardChartSettings } = useGlobalChartsTheme();\n\tconst { getElementStyles } = useGlobalChartsContext();\n\n\treturn useMemo( () => {\n\t\tif ( ! data || data.length === 0 ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst items: BaseLegendItem[] = [];\n\n\t\t// Add current period legend item\n\t\tconst { color: resolvedPrimaryColor } = getElementStyles( {\n\t\t\tindex: 0,\n\t\t\toverrideColor: primaryColor || leaderboardChartSettings.primaryColor,\n\t\t} );\n\n\t\titems.push( {\n\t\t\tlabel: legendLabels?.primary || __( 'Current period', 'jetpack-charts' ),\n\t\t\tvalue: '',\n\t\t\tcolor: resolvedPrimaryColor,\n\t\t} );\n\n\t\t// Add comparison period legend item if comparison is enabled and overlay label is not enabled\n\t\tif ( withComparison && ! withOverlayLabel ) {\n\t\t\tconst { color: resolvedSecondaryColor } = getElementStyles( {\n\t\t\t\tindex: 1,\n\t\t\t\toverrideColor: secondaryColor || leaderboardChartSettings.secondaryColor,\n\t\t\t} );\n\n\t\t\titems.push( {\n\t\t\t\tlabel: legendLabels?.comparison || __( 'Previous period', 'jetpack-charts' ),\n\t\t\t\tvalue: '',\n\t\t\t\tcolor: resolvedSecondaryColor,\n\t\t\t} );\n\t\t}\n\n\t\treturn items;\n\t}, [\n\t\tdata,\n\t\tprimaryColor,\n\t\tsecondaryColor,\n\t\twithComparison,\n\t\tlegendLabels,\n\t\tleaderboardChartSettings,\n\t\tgetElementStyles,\n\t\twithOverlayLabel,\n\t] );\n}\n","import 'css-chunk:src/components/leaderboard-chart/leaderboard-chart.module.scss';export default {\n \"leaderboardChart\": \"a8ccharts-zxakPT\",\n \"loading\": \"a8ccharts--AGv-8\",\n \"barWithLabelContainer\": \"a8ccharts-9RE0Uo\",\n \"is-overlay\": \"a8ccharts-Fqdi5w\",\n \"label\": \"a8ccharts-7ZUu0T\",\n \"bar\": \"a8ccharts-CnJvgl\",\n \"valueContainer\": \"a8ccharts-ZlLh4R\",\n \"overlayLabel\": \"a8ccharts-pRqShB\",\n \"emptyState\": \"a8ccharts-0dkfyF\"\n};"],"mappings":"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","names":["b","c","d","e","f","g","h","k","l","m","n","p","r","t","v","w","x","y","a","u","Fragment","StrictMode","Suspense","i","e","module","combineChunks","fillInChunks","findAll","findChunks","_ref","autoEscape","caseSensitive","defaultFindChunks","sanitize","searchWords","textToHighlight","chunksToHighlight","chunks","totalLength","length","sort","first","second","start","reduce","processedChunks","nextChunk","prevChunk","pop","end","endIndex","Math","max","push","highlight","defaultSanitize","filter","searchWord","escapeRegExpFn","regex","RegExp","match","exec","index","lastIndex","allChunks","append","forEach","chunk","string","replace","Children","cloneElement","Component","createContext","createElement","createRef","forwardRef","Fragment","isValidElement","memo","PureComponent","StrictMode","useCallback","useContext","useDebugValue","useDeferredValue","useEffect","useId","useMemo","useImperativeHandle","useInsertionEffect","useLayoutEffect","useReducer","useRef","useState","useSyncExternalStore","useTransition","startTransition","lazy","Suspense","o","delimiter","input","re","__assign","i","i","deepmerge","fastDeepEqual","logged","logged","x","isValueDefined","value","undefined","useUpdateEffect","effect","deps","mountedRef","useRef","useEffect","current","undefined","React","useContext","forwardRef","i","StyleSheet","hydrate","sheet","e","flush","length","replace","length","length","character","characters","replace","i","j","k","x","y","length","i","length","i","weakMemoize","cache","cache","identifierWithPointTracking","character","toRules","getRules","compat","i","k","j","removeLabel","length","replace","prefixer","createCache","node","stylis","sheet","cache","_stylis","_insert","isBrowser","registerStyles","cache","insertStyles","h","k","i","isDevelopment","isCustomProperty","isProcessableValue","processStyleValue","match","keyframes","next","i","isBrowser","syncFallback","useInsertionEffect","isDevelopment","isBrowser","useContext","withEmotionCache","forwardRef","cache","createEmotionProps","Insertion","_ref","cache","isBrowser","_ref2","next","isDevelopment","React","jsx","i","_jsx","cache","css","createEmotion","keyframes","injectGlobal","cx","hydrate","flush","classnames","i","k","merge","getRegisteredStyles","css","isSerializedStyles","o","every","p","useCx","cache","useEmotionCache","cx","useCallback","classNames","Error","innerCx","map","arg","insertStyles","key","name","node","i","r","t","n","e","u","a","o","i","s","h","r","t","n","e","u","i","a","e","f","a","r","d","l","i","n","o","t","b","c","g","u","colorComputationNode","extend","namesPlugin","getColorComputationNode","document","colorComputationNode","el","createElement","setAttribute","body","appendChild","isColor","value","test","colord","isValid","_getComputedBackgroundColor","backgroundColor","includes","style","background","computedColor","window","getComputedStyle","getComputedBackgroundColor","memoize","getOptimalTextColor","isLight","getOptimalTextShade","result","GRID_BASE","space","value","undefined","asInt","Number","window","CSS","supports","toString","isNaN","white","GRAY","ALERT","yellow","red","green","THEME","accent","accentDarker10","accentDarker20","accentInverted","background","foreground","foregroundInverted","gray","UI","backgroundDisabled","border","borderHover","borderFocus","borderDisabled","textDisabled","darkGrayPlaceholder","lightGrayPlaceholder","COLORS","Object","freeze","alert","theme","ui","CONTROL_HEIGHT","CONTROL_PROPS","controlPaddingX","controlPaddingXSmall","controlPaddingXLarge","controlBoxShadowFocus","COLORS","theme","accent","controlHeight","controlHeightXSmall","controlHeightSmall","controlHeightLarge","controlHeightXLarge","Object","assign","colorDivider","colorScrollbarThumb","colorScrollbarThumbHover","colorScrollbarTrack","elevationIntensity","radiusXSmall","radiusSmall","radiusMedium","radiusLarge","radiusFull","radiusRound","borderWidth","borderWidthFocus","borderWidthTab","spinnerSize","fontSize","fontSizeH1","fontSizeH2","fontSizeH3","fontSizeH4","fontSizeH5","fontSizeH6","fontSizeInputMobile","fontSizeMobile","fontSizeSmall","fontSizeXSmall","fontLineHeightBase","fontWeight","fontWeightHeading","gridBase","cardPaddingXSmall","space","cardPaddingSmall","cardPaddingMedium","cardPaddingLarge","elevationXSmall","elevationSmall","elevationMedium","elevationLarge","surfaceBackgroundColor","white","surfaceBackgroundSubtleColor","surfaceBackgroundTintColor","surfaceBorderColor","surfaceBorderBoldColor","surfaceBorderSubtleColor","surfaceBackgroundTertiaryColor","surfaceColor","transitionDuration","transitionDurationFast","transitionDurationFaster","transitionDurationFastest","transitionTimingFunction","transitionTimingFunctionControl","jsx","_jsx","ComponentsContext","createContext","displayName","useComponentsContext","useContext","useContextSystemBridge","value","parentContext","valueRef","useRef","useUpdateEffect","fastDeepEqual","current","globalThis","SCRIPT_DEBUG","warn","JSON","stringify","config","useMemo","deepmerge","isMergeableObject","isPlainObject","BaseContextSystemProvider","children","contextValue","Provider","ContextSystemProvider","memo","COMPONENT_NAMESPACE","CONNECTED_NAMESPACE","CONNECT_STATIC_NAMESPACE","getStyledClassName","namespace","kebab","kebabCase","getStyledClassNameFromKey","memoize","contextConnect","Component","namespace","_contextConnect","forwardsRef","_contextConnect","Component","namespace","options","WrappedComponent","forwardsRef","forwardRef","globalThis","SCRIPT_DEBUG","warn","mergedNamespace","CONNECT_STATIC_NAMESPACE","Array","isArray","Object","assign","Set","displayName","selector","getStyledClassNameFromKey","getConnectNamespace","namespaces","type","hasConnectNamespace","match","includes","some","result","getNamespace","componentName","COMPONENT_NAMESPACE","getConnectedNamespace","CONNECTED_NAMESPACE","useContextSystem","props","namespace","contextSystemProps","useComponentsContext","globalThis","SCRIPT_DEBUG","warn","contextProps","finalComponentProps","getConnectedNamespace","getNamespace","_overrides","overrideProps","otherContextProps","initialMergedProps","Object","entries","length","assign","cx","useCx","classes","getStyledClassNameFromKey","className","rendered","renderChildren","children","key","undefined","_extends","React","isBrowser","isDevelopment","testOmitPropsOnComponent","getDefaultShouldForwardProp","composeShouldForwardProps","Insertion","_ref","cache","_ref2","next","createStyled","i","_extends","jsx","_jsx","PolymorphicDiv","_styled","process","env","NODE_ENV","target","label","UnforwardedView","as","restProps","ref","View","Object","assign","forwardRef","selector","breakpoints","useBreakpointIndex","options","defaultIndex","TypeError","length","RangeError","value","setValue","useState","useEffect","getIndex","filter","bp","window","matchMedia","matches","onResize","newValue","addEventListener","removeEventListener","useResponsiveValue","values","index","Array","isArray","array","Flex","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","Item","block","ItemsColumn","ItemsRow","useDeprecatedProps","props","isReversed","otherProps","deprecated","alternative","since","direction","useFlex","align","className","directionProp","expanded","gap","justify","wrap","useContextSystem","directionAsArray","Array","isArray","useResponsiveValue","isColumn","includes","cx","useCx","classes","useMemo","base","css","alignItems","flexDirection","flexWrap","undefined","space","justifyContent","height","width","process","env","NODE_ENV","Flex","ItemsColumn","ItemsRow","FlexContext","createContext","flexItemDisplay","undefined","useFlexContext","useContext","useFlexItem","props","className","display","displayProp","isBlock","otherProps","useContextSystem","sx","contextDisplay","useFlexContext","flexItemDisplay","Base","css","process","env","NODE_ENV","cx","useCx","classes","Item","block","jsx","_jsx","UnconnectedFlexItem","props","forwardedRef","flexItemProps","useFlexItem","View","ref","FlexItem","contextConnect","component_default","Truncate","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","TRUNCATE_ELLIPSIS","TRUNCATE_TYPE","auto","head","middle","tail","none","TRUNCATE_DEFAULT_PROPS","ellipsis","ellipsizeMode","limit","numberOfLines","truncateMiddle","word","headLength","tailLength","wordLength","length","frontLength","backLength","truncateStr","isValueDefined","slice","truncateContent","words","props","mergedProps","truncateHead","truncateTail","Math","floor","truncatedContent","props","className","children","ellipsis","TRUNCATE_ELLIPSIS","ellipsizeMode","TRUNCATE_TYPE","auto","limit","numberOfLines","otherProps","useContextSystem","cx","useCx","childrenAsText","toString","truncatedContent","truncateContent","shouldTruncate","classes","useMemo","truncateLines","css","process","env","NODE_ENV","Truncate","Text","css","COLORS","theme","foreground","CONFIG","fontLineHeightBase","process","env","NODE_ENV","block","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","positive","alert","green","destructive","red","muted","gray","highlighterText","yellow","radiusSmall","upperCase","lowercaseProps","object","mapped","key","toLowerCase","memoizedLowercaseProps","memoize","createHighlighterText","activeClassName","activeIndex","activeStyle","autoEscape","caseSensitive","children","findChunks","highlightClassName","highlightStyle","highlightTag","sanitize","searchWords","unhighlightClassName","unhighlightStyle","textToHighlight","chunks","findAll","HighlightTag","highlightIndex","highlightClassNames","highlightStyles","textContent","map","chunk","index","text","substr","start","end","highlight","highlightClass","isActive","Object","assign","props","className","style","createElement","BASE_FONT_SIZE","PRESET_FONT_SIZES","body","caption","footnote","largeTitle","subheadline","title","HEADING_FONT_SIZES","flatMap","n","toString","getFontSize","size","parsed","parseFloat","Number","isNaN","ratio","CONFIG","fontSize","getLineHeight","adjustLineHeightForInnerControls","lineHeight","value","CONFIG","controlHeight","space","controlHeightLarge","controlHeightSmall","controlHeightXSmall","_ref","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","props","adjustLineHeightForInnerControls","align","children","className","color","ellipsizeMode","isDestructive","display","highlightEscape","highlightCaseSensitive","highlightWords","highlightSanitize","isBlock","letterSpacing","lineHeight","lineHeightProp","optimizeReadabilityFor","size","truncate","upperCase","variant","weight","CONFIG","fontWeight","otherProps","useContextSystem","content","isHighlighter","Array","isArray","isCaption","TypeError","createHighlighterText","autoEscape","caseSensitive","searchWords","sanitize","cx","useCx","classes","useMemo","sx","getLineHeight","Base","css","fontSize","getFontSize","textAlign","optimalTextColor","isOptimalTextColorDark","getOptimalTextShade","COLORS","gray","white","Text","destructive","highlighterText","block","muted","finalEllipsizeMode","finalComponentProps","truncateProps","useTruncate","Children","child","isLink","hasConnectNamespace","cloneElement","jsx","_jsx","UnconnectedText","props","forwardedRef","textProps","useText","View","as","ref","Text","contextConnect","component_default","H_ALIGNMENTS","bottom","align","justify","bottomLeft","bottomRight","center","edge","left","right","stretch","top","topLeft","topRight","V_ALIGNMENTS","getAlignmentProps","alignment","direction","isValueDefined","isVertical","props","alignmentProps","getValidChildren","children","Children","toArray","filter","child","isValidElement","jsx","_jsx","useHStack","props","alignment","children","direction","spacing","otherProps","useContextSystem","align","getAlignmentProps","validChildren","getValidChildren","clonedChildren","map","child","index","_isSpacer","hasConnectNamespace","childElement","_key","key","FlexItem","isBlock","propsForFlex","justify","gap","isColumn","flexProps","useFlex","useVStack","props","expanded","alignment","otherProps","useContextSystem","hStackProps","useHStack","direction","jsx","_jsx","UnconnectedVStack","props","forwardedRef","vStackProps","useVStack","View","ref","VStack","contextConnect","component_default","ALIGNMENTS","bottom","alignItems","justifyContent","bottomLeft","bottomRight","center","spaced","left","right","stretch","top","topLeft","topRight","getAlignmentProps","alignment","alignmentProps","props","align","alignment","className","columnGap","columns","gap","isInline","justify","rowGap","rows","templateColumns","templateRows","otherProps","useContextSystem","columnsAsArray","Array","isArray","column","useResponsiveValue","rowsAsArray","row","gridTemplateColumns","gridTemplateRows","cx","useCx","classes","useMemo","alignmentProps","getAlignmentProps","gridClasses","css","alignItems","display","CONFIG","gridBase","undefined","gridRowGap","gridColumnGap","justifyContent","verticalAlign","process","env","NODE_ENV","jsx","_jsx","UnconnectedGrid","props","forwardedRef","gridProps","useGrid","View","ref","Grid","contextConnect","component_default","__","useContext","useMemo","useMemo","useMemo","Fragment","jsx","component_default","useMemo","__","useContext"]}