unleash-server 8.0.1 → 8.0.2

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 (221) hide show
  1. package/dist/lib/addons/addon.d.ts +10 -2
  2. package/dist/lib/addons/addon.d.ts.map +1 -1
  3. package/dist/lib/addons/addon.js +104 -6
  4. package/dist/lib/addons/addon.js.map +1 -1
  5. package/dist/lib/addons/datadog-definition.js +1 -1
  6. package/dist/lib/addons/datadog-definition.js.map +1 -1
  7. package/dist/lib/addons/datadog.test.js +2 -0
  8. package/dist/lib/addons/datadog.test.js.map +1 -1
  9. package/dist/lib/addons/index.d.ts.map +1 -1
  10. package/dist/lib/addons/index.js +2 -0
  11. package/dist/lib/addons/index.js.map +1 -1
  12. package/dist/lib/addons/new-relic.d.ts.map +1 -1
  13. package/dist/lib/addons/new-relic.js +0 -1
  14. package/dist/lib/addons/new-relic.js.map +1 -1
  15. package/dist/lib/addons/new-relic.test.js +0 -1
  16. package/dist/lib/addons/new-relic.test.js.map +1 -1
  17. package/dist/lib/addons/slack.test.js +1 -2
  18. package/dist/lib/addons/slack.test.js.map +1 -1
  19. package/dist/lib/addons/teams-definition.d.ts.map +1 -1
  20. package/dist/lib/addons/teams-definition.js +1 -0
  21. package/dist/lib/addons/teams-definition.js.map +1 -1
  22. package/dist/lib/addons/teams-workflow-definition.d.ts +4 -0
  23. package/dist/lib/addons/teams-workflow-definition.d.ts.map +1 -0
  24. package/dist/lib/addons/teams-workflow-definition.js +66 -0
  25. package/dist/lib/addons/teams-workflow-definition.js.map +1 -0
  26. package/dist/lib/addons/teams-workflow.d.ts +15 -0
  27. package/dist/lib/addons/teams-workflow.d.ts.map +1 -0
  28. package/dist/lib/addons/teams-workflow.js +110 -0
  29. package/dist/lib/addons/teams-workflow.js.map +1 -0
  30. package/dist/lib/addons/teams-workflow.test.d.ts +2 -0
  31. package/dist/lib/addons/teams-workflow.test.d.ts.map +1 -0
  32. package/dist/lib/addons/teams-workflow.test.js +202 -0
  33. package/dist/lib/addons/teams-workflow.test.js.map +1 -0
  34. package/dist/lib/addons/teams.d.ts.map +1 -1
  35. package/dist/lib/addons/teams.js +0 -1
  36. package/dist/lib/addons/teams.js.map +1 -1
  37. package/dist/lib/addons/teams.test.js +0 -1
  38. package/dist/lib/addons/teams.test.js.map +1 -1
  39. package/dist/lib/addons/validate-url.d.ts +18 -0
  40. package/dist/lib/addons/validate-url.d.ts.map +1 -0
  41. package/dist/lib/addons/validate-url.js +93 -0
  42. package/dist/lib/addons/validate-url.js.map +1 -0
  43. package/dist/lib/addons/validate-url.test.d.ts +2 -0
  44. package/dist/lib/addons/validate-url.test.d.ts.map +1 -0
  45. package/dist/lib/addons/validate-url.test.js +199 -0
  46. package/dist/lib/addons/validate-url.test.js.map +1 -0
  47. package/dist/lib/create-config.d.ts.map +1 -1
  48. package/dist/lib/create-config.js +7 -0
  49. package/dist/lib/create-config.js.map +1 -1
  50. package/dist/lib/error/bad-data-error.d.ts.map +1 -1
  51. package/dist/lib/error/bad-data-error.js +10 -2
  52. package/dist/lib/error/bad-data-error.js.map +1 -1
  53. package/dist/lib/error/unleash-error.test.js +23 -0
  54. package/dist/lib/error/unleash-error.test.js.map +1 -1
  55. package/dist/lib/features/frontend-api/frontend-api-service.d.ts.map +1 -1
  56. package/dist/lib/features/frontend-api/frontend-api-service.js +17 -20
  57. package/dist/lib/features/frontend-api/frontend-api-service.js.map +1 -1
  58. package/dist/lib/features/metrics/integrations/integration-metrics.d.ts +1 -1
  59. package/dist/lib/features/metrics/integrations/integration-metrics.d.ts.map +1 -1
  60. package/dist/lib/features/metrics/integrations/integration-metrics.js +2 -0
  61. package/dist/lib/features/metrics/integrations/integration-metrics.js.map +1 -1
  62. package/dist/lib/middleware/secure-headers.d.ts.map +1 -1
  63. package/dist/lib/middleware/secure-headers.js +20 -1
  64. package/dist/lib/middleware/secure-headers.js.map +1 -1
  65. package/dist/lib/openapi/spec/addon-create-update-schema.d.ts +1 -1
  66. package/dist/lib/openapi/spec/addon-create-update-schema.js +1 -1
  67. package/dist/lib/openapi/spec/addons-schema.d.ts +15 -0
  68. package/dist/lib/openapi/spec/addons-schema.d.ts.map +1 -1
  69. package/dist/lib/openapi/spec/addons-schema.js +51 -0
  70. package/dist/lib/openapi/spec/addons-schema.js.map +1 -1
  71. package/dist/lib/openapi/spec/profile-schema.d.ts +6 -1
  72. package/dist/lib/openapi/spec/profile-schema.d.ts.map +1 -1
  73. package/dist/lib/openapi/spec/profile-schema.js +13 -1
  74. package/dist/lib/openapi/spec/profile-schema.js.map +1 -1
  75. package/dist/lib/openapi/spec/profile-schema.test.js +1 -0
  76. package/dist/lib/openapi/spec/profile-schema.test.js.map +1 -1
  77. package/dist/lib/routes/admin-api/addon.d.ts.map +1 -1
  78. package/dist/lib/routes/admin-api/addon.js +6 -2
  79. package/dist/lib/routes/admin-api/addon.js.map +1 -1
  80. package/dist/lib/routes/admin-api/user/user.d.ts.map +1 -1
  81. package/dist/lib/routes/admin-api/user/user.js +3 -1
  82. package/dist/lib/routes/admin-api/user/user.js.map +1 -1
  83. package/dist/lib/routes/admin-api/user/user.test.js +32 -7
  84. package/dist/lib/routes/admin-api/user/user.test.js.map +1 -1
  85. package/dist/lib/routes/util.d.ts.map +1 -1
  86. package/dist/lib/routes/util.js +8 -1
  87. package/dist/lib/routes/util.js.map +1 -1
  88. package/dist/lib/routes/util.test.d.ts +2 -0
  89. package/dist/lib/routes/util.test.d.ts.map +1 -0
  90. package/dist/lib/routes/util.test.js +18 -0
  91. package/dist/lib/routes/util.test.js.map +1 -0
  92. package/dist/lib/schema/html-input.d.ts +4 -0
  93. package/dist/lib/schema/html-input.d.ts.map +1 -0
  94. package/dist/lib/schema/html-input.js +38 -0
  95. package/dist/lib/schema/html-input.js.map +1 -0
  96. package/dist/lib/schema/html-input.test.d.ts +2 -0
  97. package/dist/lib/schema/html-input.test.d.ts.map +1 -0
  98. package/dist/lib/schema/html-input.test.js +98 -0
  99. package/dist/lib/schema/html-input.test.js.map +1 -0
  100. package/dist/lib/server-impl.d.ts +2 -1
  101. package/dist/lib/server-impl.d.ts.map +1 -1
  102. package/dist/lib/server-impl.js +2 -1
  103. package/dist/lib/server-impl.js.map +1 -1
  104. package/dist/lib/services/addon-service.d.ts +8 -1
  105. package/dist/lib/services/addon-service.d.ts.map +1 -1
  106. package/dist/lib/services/addon-service.js +24 -1
  107. package/dist/lib/services/addon-service.js.map +1 -1
  108. package/dist/lib/services/addon-service.test.js +75 -8
  109. package/dist/lib/services/addon-service.test.js.map +1 -1
  110. package/dist/lib/services/project-schema.d.ts +1 -2
  111. package/dist/lib/services/project-schema.d.ts.map +1 -1
  112. package/dist/lib/services/project-schema.js +4 -2
  113. package/dist/lib/services/project-schema.js.map +1 -1
  114. package/dist/lib/services/user-service.d.ts +1 -0
  115. package/dist/lib/services/user-service.d.ts.map +1 -1
  116. package/dist/lib/services/user-service.js +7 -0
  117. package/dist/lib/services/user-service.js.map +1 -1
  118. package/dist/lib/types/experimental.d.ts +1 -1
  119. package/dist/lib/types/experimental.d.ts.map +1 -1
  120. package/dist/lib/types/experimental.js +21 -0
  121. package/dist/lib/types/experimental.js.map +1 -1
  122. package/dist/lib/types/model.d.ts +2 -0
  123. package/dist/lib/types/model.d.ts.map +1 -1
  124. package/dist/lib/types/model.js.map +1 -1
  125. package/dist/lib/types/option.d.ts +4 -0
  126. package/dist/lib/types/option.d.ts.map +1 -1
  127. package/dist/lib/ui-config/ui-config-service.d.ts.map +1 -1
  128. package/dist/lib/ui-config/ui-config-service.js +4 -2
  129. package/dist/lib/ui-config/ui-config-service.js.map +1 -1
  130. package/dist/lib/ui-config/ui-config.test.js +21 -2
  131. package/dist/lib/ui-config/ui-config.test.js.map +1 -1
  132. package/dist/lib/util/anonymise.d.ts +1 -0
  133. package/dist/lib/util/anonymise.d.ts.map +1 -1
  134. package/dist/lib/util/anonymise.js +3 -0
  135. package/dist/lib/util/anonymise.js.map +1 -1
  136. package/dist/lib/util/anonymise.test.js +4 -1
  137. package/dist/lib/util/anonymise.test.js.map +1 -1
  138. package/dist/migrations/20260617115403-update-flag-descriptions.d.ts +3 -0
  139. package/dist/migrations/20260617115403-update-flag-descriptions.d.ts.map +1 -0
  140. package/dist/migrations/20260617115403-update-flag-descriptions.js +38 -0
  141. package/dist/migrations/20260617115403-update-flag-descriptions.js.map +1 -0
  142. package/dist/migrations/20260624120000-servicenow-change-references.d.ts +3 -0
  143. package/dist/migrations/20260624120000-servicenow-change-references.d.ts.map +1 -0
  144. package/dist/migrations/20260624120000-servicenow-change-references.js +22 -0
  145. package/dist/migrations/20260624120000-servicenow-change-references.js.map +1 -0
  146. package/dist/server-dev.js +5 -1
  147. package/dist/server-dev.js.map +1 -1
  148. package/dist/test/e2e/api/admin/addon.e2e.test.js +2 -1
  149. package/dist/test/e2e/api/admin/addon.e2e.test.js.map +1 -1
  150. package/dist/test/e2e/services/addon-service.e2e.test.js +2 -0
  151. package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
  152. package/frontend/build/index.html +2 -2
  153. package/frontend/build/static/{AdvancedPlayground-BEYkf6Xg.js → AdvancedPlayground-DdeMb-6I.js} +2 -2
  154. package/frontend/build/static/{BackendConnections-DdvotR_8.js → BackendConnections-kgR0xyIH.js} +1 -1
  155. package/frontend/build/static/DialogWithAside-DzCSDyWo.js +1110 -0
  156. package/frontend/build/static/{EnterpriseEdge-DN23kaQp.js → EnterpriseEdge-CjslqYDM.js} +4 -4
  157. package/frontend/build/static/{FeatureMetricsChart-CmVkRuwG.js → FeatureMetricsChart-B4WryxcW.js} +2 -2
  158. package/frontend/build/static/FeatureStaleDialog-EzReRTI5.js +8 -0
  159. package/frontend/build/static/FeatureViewLazyExport-8eQKTvdS.js +10 -0
  160. package/frontend/build/static/{FlagMetricsChart-ZjHSwulg.js → FlagMetricsChart-hNQuwOxW.js} +2 -2
  161. package/frontend/build/static/{FrontendNetworkTrafficUsage-BmLOJdK9.js → FrontendNetworkTrafficUsage-pcr83PWo.js} +1 -1
  162. package/frontend/build/static/GridLayoutWrapper-B_YyjZ7l.js +5 -0
  163. package/frontend/build/static/{ImpactMetricsPage-D1CETZR_.js → ImpactMetricsPage-DGH_S9oz.js} +1 -1
  164. package/frontend/build/static/ImpactViewsPage-DZqKPFvE.js +1 -0
  165. package/frontend/build/static/{LazyAdminExport-BvtR_me3.js → LazyAdminExport-B1ReAViz.js} +15 -15
  166. package/frontend/build/static/LazyProjectExport-BMVcGpNI.js +46 -0
  167. package/frontend/build/static/LifecycleChartComponent-BeoRUO9q.js +2 -0
  168. package/frontend/build/static/{LineChartComponent-d80f3Tky.js → LineChartComponent-BbCMbJ-m.js} +1 -1
  169. package/frontend/build/static/{MarkCompletedDialogue-CtzRfovJ.js → MarkCompletedDialogue-CcXyp8UE.js} +1 -1
  170. package/frontend/build/static/{NetworkOverview-D1UOxIaf.js → NetworkOverview-0mBnFAZX.js} +1 -1
  171. package/frontend/build/static/{NetworkTraffic-CLnhub6c.js → NetworkTraffic-DmG5Iv25.js} +1 -1
  172. package/frontend/build/static/{NetworkTrafficUsage-PgI0lqze.js → NetworkTrafficUsage-DccaVLYs.js} +1 -1
  173. package/frontend/build/static/OnboardingProgress-Bp9sZ-ZM.js +1 -0
  174. package/frontend/build/static/{PercentageDonut-C6I2UOES.js → PercentageDonut-DBDGNJlh.js} +1 -1
  175. package/frontend/build/static/PermissionButton-B-IfzChn.js +1 -0
  176. package/frontend/build/static/ReactJSONEditor-DeBI7JPg.js +4 -0
  177. package/frontend/build/static/RoleCell-DhYvu4YH.js +1 -0
  178. package/frontend/build/static/Safeguard-DErU6fSK.js +1 -0
  179. package/frontend/build/static/{SelectSdk-D2NaTubs.js → SelectSdk-Dr_pzQgX.js} +1 -1
  180. package/frontend/build/static/StoriesPage-frGP1Bfr.js +2 -0
  181. package/frontend/build/static/{aggregateFeatureMetrics-DBivHCcj.js → aggregateFeatureMetrics-B-67HaIZ.js} +1 -1
  182. package/frontend/build/static/chartjs-plugin-annotation.esm-DP4wCpdA.js +1 -0
  183. package/frontend/build/static/differenceInSeconds-DMZGQwjK.js +1 -0
  184. package/frontend/build/static/endOfMonth-CkSR_DAx.js +1 -0
  185. package/frontend/build/static/esm-DdgY1Q5s.js +12 -0
  186. package/frontend/build/static/formatDistanceToNow-CyouiCIY.js +1 -0
  187. package/frontend/build/static/index-C04TEs4k.js +290 -0
  188. package/frontend/build/static/{metricsFormatters-BEX2qb8Y.js → metricsFormatters-DhX-aU17.js} +1 -1
  189. package/frontend/build/static/networkTrafficUsageHighlightPlugin-DlOtHZg3.js +1 -0
  190. package/frontend/build/static/parse-Chj4PyAg.js +1 -0
  191. package/frontend/build/static/startOfHour-P0Sr6h8e.js +1 -0
  192. package/frontend/build/static/themeStyles-DGVpwkcv.js +1 -0
  193. package/frontend/build/static/{useConditionallyHiddenColumns-DTDzRlyO.js → useConditionallyHiddenColumns-C5q9zdfJ.js} +1 -1
  194. package/frontend/build/static/useCustomEvent-Dj2V5RVb.js +1 -0
  195. package/frontend/build/static/{useGroupedImpactMetricsData-CK8Pz2an.js → useGroupedImpactMetricsData-CW9qnV2y.js} +1 -1
  196. package/frontend/build/static/{useInstanceTrafficMetrics-CIpyIGYi.js → useInstanceTrafficMetrics-CRCDB4TX.js} +1 -1
  197. package/frontend/package.json +9 -7
  198. package/package.json +11 -9
  199. package/frontend/build/static/ChatOutlined-jZlhx14o.js +0 -1
  200. package/frontend/build/static/CloudCircle-BjnxUYAO.js +0 -1
  201. package/frontend/build/static/DialogWithAside-BvaGTcqO.js +0 -1106
  202. package/frontend/build/static/FeatureStaleDialog-BkyjUGR9.js +0 -8
  203. package/frontend/build/static/FeatureViewLazyExport-C5FggFea.js +0 -10
  204. package/frontend/build/static/GridLayoutWrapper-D93wkNEo.js +0 -3
  205. package/frontend/build/static/ImpactViewsPage-DeBga4lU.js +0 -1
  206. package/frontend/build/static/LazyProjectExport-BkOu6pHf.js +0 -46
  207. package/frontend/build/static/LifecycleChartComponent-BYvIFr7Q.js +0 -2
  208. package/frontend/build/static/PermissionButton-BIeM26DH.js +0 -1
  209. package/frontend/build/static/ReactJSONEditor-C-paZV5Q.js +0 -4
  210. package/frontend/build/static/RoleCell-BCPNstXC.js +0 -1
  211. package/frontend/build/static/Safeguard-9zs64Bna.js +0 -1
  212. package/frontend/build/static/StoriesPage-5lbMiQlA.js +0 -1
  213. package/frontend/build/static/chartjs-plugin-annotation.esm-BxKcCGhA.js +0 -1
  214. package/frontend/build/static/esm-CFWP4-MJ.js +0 -15
  215. package/frontend/build/static/index-BJ2iUk24.js +0 -289
  216. package/frontend/build/static/networkTrafficUsageHighlightPlugin-DVWh8Lrd.js +0 -1
  217. package/frontend/build/static/parse-BhYjTMCL.js +0 -1
  218. package/frontend/build/static/startOfHour-KiLZtdEa.js +0 -1
  219. package/frontend/build/static/themeStyles-BPY8RNQO.js +0 -1
  220. package/frontend/build/static/useCustomEvent-CwoY8S5F.js +0 -1
  221. /package/frontend/build/static/{connect-DbjGV9Hl.png → cr-DbjGV9Hl.png} +0 -0
@@ -1,2 +0,0 @@
1
- import{o as e,t}from"./react-GZhdek4G.js";import{t as n}from"./useTheme-CQqAmDLr.js";import{t as r}from"./jsx-runtime-BnvnyDTF.js";import{$o as i,$t as a,Cn as o,Dn as s,En as c,Gt as l,Kt as u,Nt as d,Qt as f,Sn as p,Ut as m,Wt as h,Xt as g,Zt as _,en as v,fn as y,hn as b,jn as ee,nn as te,p as ne,un as x,wn as S,yn as C}from"./index-BJ2iUk24.js";var re=e(t(),1),ie=e(ne(),1),w=function(){if(typeof window<`u`){if(window.devicePixelRatio)return window.devicePixelRatio;var e=window.screen;if(e)return(e.deviceXDPI||1)/(e.logicalXDPI||1)}return 1}(),T={toTextLines:function(e){var t=[],n;for(e=[].concat(e);e.length;)n=e.pop(),typeof n==`string`?t.unshift.apply(t,n.split(`
2
- `)):Array.isArray(n)?e.push.apply(e,n):C(e)||t.unshift(``+n);return t},textSize:function(e,t,n){var r=[].concat(t),i=r.length,a=e.font,o=0,s;for(e.font=n.string,s=0;s<i;++s)o=Math.max(e.measureText(r[s]).width,o);return e.font=a,{height:i*n.lineHeight,width:o}},bound:function(e,t,n){return Math.max(e,Math.min(t,n))},arrayDiff:function(e,t){var n=e.slice(),r=[],i,a,o,s;for(i=0,o=t.length;i<o;++i)s=t[i],a=n.indexOf(s),a===-1?r.push([s,1]):n.splice(a,1);for(i=0,o=n.length;i<o;++i)r.push([n[i],-1]);return r},rasterize:function(e){return Math.round(e*w)/w}};function E(e,t){var n=t.x,r=t.y;if(n===null)return{x:0,y:-1};if(r===null)return{x:1,y:0};var i=e.x-n,a=e.y-r,o=Math.sqrt(i*i+a*a);return{x:o?i/o:0,y:o?a/o:-1}}function ae(e,t,n,r,i){switch(i){case`center`:n=r=0;break;case`bottom`:n=0,r=1;break;case`right`:n=1,r=0;break;case`left`:n=-1,r=0;break;case`top`:n=0,r=-1;break;case`start`:n=-n,r=-r;break;case`end`:break;default:i*=Math.PI/180,n=Math.cos(i),r=Math.sin(i);break}return{x:e,y:t,vx:n,vy:r}}var oe=0,D=1,O=2,k=4,A=8;function j(e,t,n){var r=oe;return e<n.left?r|=D:e>n.right&&(r|=O),t<n.top?r|=A:t>n.bottom&&(r|=k),r}function se(e,t){for(var n=e.x0,r=e.y0,i=e.x1,a=e.y1,o=j(n,r,t),s=j(i,a,t),c,l,u;!(!(o|s)||o&s);)c=o||s,c&A?(l=n+(i-n)*(t.top-r)/(a-r),u=t.top):c&k?(l=n+(i-n)*(t.bottom-r)/(a-r),u=t.bottom):c&O?(u=r+(a-r)*(t.right-n)/(i-n),l=t.right):c&D&&(u=r+(a-r)*(t.left-n)/(i-n),l=t.left),c===o?(n=l,r=u,o=j(n,r,t)):(i=l,a=u,s=j(i,a,t));return{x0:n,x1:i,y0:r,y1:a}}function M(e,t){var n=t.anchor,r=e,i,a;return t.clamp&&(r=se(r,t.area)),n===`start`?(i=r.x0,a=r.y0):n===`end`?(i=r.x1,a=r.y1):(i=(r.x0+r.x1)/2,a=(r.y0+r.y1)/2),ae(i,a,e.vx,e.vy,t.align)}var N={arc:function(e,t){var n=(e.startAngle+e.endAngle)/2,r=Math.cos(n),i=Math.sin(n),a=e.innerRadius,o=e.outerRadius;return M({x0:e.x+r*a,y0:e.y+i*a,x1:e.x+r*o,y1:e.y+i*o,vx:r,vy:i},t)},point:function(e,t){var n=E(e,t.origin),r=n.x*e.options.radius,i=n.y*e.options.radius;return M({x0:e.x-r,y0:e.y-i,x1:e.x+r,y1:e.y+i,vx:n.x,vy:n.y},t)},bar:function(e,t){var n=E(e,t.origin),r=e.x,i=e.y,a=0,o=0;return e.horizontal?(r=Math.min(e.x,e.base),a=Math.abs(e.base-e.x)):(i=Math.min(e.y,e.base),o=Math.abs(e.base-e.y)),M({x0:r,y0:i+o,x1:r+a,y1:i,vx:n.x,vy:n.y},t)},fallback:function(e,t){var n=E(e,t.origin);return M({x0:e.x,y0:e.y,x1:e.x+(e.width||0),y1:e.y+(e.height||0),vx:n.x,vy:n.y},t)}},P=T.rasterize;function ce(e){var t=e.borderWidth||0,n=e.padding,r=e.size.height,i=e.size.width,a=-i/2,o=-r/2;return{frame:{x:a-n.left-t,y:o-n.top-t,w:i+n.width+t*2,h:r+n.height+t*2},text:{x:a,y:o,w:i,h:r}}}function le(e,t){var n=t.chart.getDatasetMeta(t.datasetIndex).vScale;if(!n)return null;if(n.xCenter!==void 0&&n.yCenter!==void 0)return{x:n.xCenter,y:n.yCenter};var r=n.getBasePixel();return e.horizontal?{x:r,y:null}:{x:null,y:r}}function F(e){return e instanceof m?N.arc:e instanceof _?N.point:e instanceof h?N.bar:N.fallback}function I(e,t,n,r,i,a){var o=Math.PI/2;if(a){var s=Math.min(a,i/2,r/2),c=t+s,l=n+s,u=t+r-s,d=n+i-s;e.moveTo(t,l),c<u&&l<d?(e.arc(c,l,s,-Math.PI,-o),e.arc(u,l,s,-o,0),e.arc(u,d,s,0,o),e.arc(c,d,s,o,Math.PI)):c<u?(e.moveTo(c,n),e.arc(u,l,s,-o,o),e.arc(c,l,s,o,Math.PI+o)):l<d?(e.arc(c,l,s,-Math.PI,0),e.arc(c,d,s,0,Math.PI)):e.arc(c,l,s,-Math.PI,Math.PI),e.closePath(),e.moveTo(t,n)}else e.rect(t,n,r,i)}function L(e,t,n){var r=n.backgroundColor,i=n.borderColor,a=n.borderWidth;!r&&(!i||!a)||(e.beginPath(),I(e,P(t.x)+a/2,P(t.y)+a/2,P(t.w)-a,P(t.h)-a,n.borderRadius),e.closePath(),r&&(e.fillStyle=r,e.fill()),i&&a&&(e.strokeStyle=i,e.lineWidth=a,e.lineJoin=`miter`,e.stroke()))}function R(e,t,n){var r=n.lineHeight,i=e.w,a=e.x,o=e.y+r/2;return t===`center`?a+=i/2:(t===`end`||t===`right`)&&(a+=i),{h:r,w:i,x:a,y:o}}function z(e,t,n){var r=e.shadowBlur,i=n.stroked,a=P(n.x),o=P(n.y),s=P(n.w);i&&e.strokeText(t,a,o,s),n.filled&&(r&&i&&(e.shadowBlur=0),e.fillText(t,a,o,s),r&&i&&(e.shadowBlur=r))}function B(e,t,n,r){var i=r.textAlign,a=r.color,o=!!a,s=r.font,c=t.length,l=r.textStrokeColor,u=r.textStrokeWidth,d=l&&u,f;if(!(!c||!o&&!d))for(n=R(n,i,s),e.font=s.string,e.textAlign=i,e.textBaseline=`middle`,e.shadowBlur=r.textShadowBlur,e.shadowColor=r.textShadowColor,o&&(e.fillStyle=a),d&&(e.lineJoin=`round`,e.lineWidth=u,e.strokeStyle=l),f=0,c=t.length;f<c;++f)z(e,t[f],{stroked:d,filled:o,w:n.w,x:n.x,y:n.y+n.h*f})}var V=function(e,t,n,r){var i=this;i._config=e,i._index=r,i._model=null,i._rects=null,i._ctx=t,i._el=n};o(V.prototype,{_modelize:function(e,t,n,r){var i=this,a=i._index,o=c(S([n.font,{}],r,a)),l=S([n.color,y.color],r,a);return{align:S([n.align,`center`],r,a),anchor:S([n.anchor,`center`],r,a),area:r.chart.chartArea,backgroundColor:S([n.backgroundColor,null],r,a),borderColor:S([n.borderColor,null],r,a),borderRadius:S([n.borderRadius,0],r,a),borderWidth:S([n.borderWidth,0],r,a),clamp:S([n.clamp,!1],r,a),clip:S([n.clip,!1],r,a),color:l,display:e,font:o,lines:t,offset:S([n.offset,4],r,a),opacity:S([n.opacity,1],r,a),origin:le(i._el,r),padding:s(S([n.padding,4],r,a)),positioner:F(i._el),rotation:S([n.rotation,0],r,a)*(Math.PI/180),size:T.textSize(i._ctx,t,o),textAlign:S([n.textAlign,`start`],r,a),textShadowBlur:S([n.textShadowBlur,0],r,a),textShadowColor:S([n.textShadowColor,l],r,a),textStrokeColor:S([n.textStrokeColor,l],r,a),textStrokeWidth:S([n.textStrokeWidth,0],r,a)}},update:function(e){var t=this,n=null,r=null,i=t._index,a=t._config,o,s,c,l=S([a.display,!0],e,i);l&&(o=e.dataset.data[i],s=ee(x(a.formatter,[o,e]),o),c=C(s)?[]:T.toTextLines(s),c.length&&(n=t._modelize(l,c,a,e),r=ce(n))),t._model=n,t._rects=r},geometry:function(){return this._rects?this._rects.frame:{}},rotation:function(){return this._model?this._model.rotation:0},visible:function(){return this._model&&this._model.opacity},model:function(){return this._model},draw:function(e,t){var n=this,r=e.ctx,i=n._model,a=n._rects,o;this.visible()&&(r.save(),i.clip&&(o=i.area,r.beginPath(),r.rect(o.left,o.top,o.right-o.left,o.bottom-o.top),r.clip()),r.globalAlpha=T.bound(0,i.opacity,1),r.translate(P(t.x),P(t.y)),r.rotate(i.rotation),L(r,a.frame,i),B(r,i.lines,a.text,i),r.restore())}});var H=-(2**53-1)||-9007199254740991,U=2**53-1||9007199254740991;function W(e,t,n){var r=Math.cos(n),i=Math.sin(n),a=t.x,o=t.y;return{x:a+r*(e.x-a)-i*(e.y-o),y:o+i*(e.x-a)+r*(e.y-o)}}function G(e,t){var n=U,r=H,i=t.origin,a,o,s,c,l;for(a=0;a<e.length;++a)o=e[a],s=o.x-i.x,c=o.y-i.y,l=t.vx*s+t.vy*c,n=Math.min(n,l),r=Math.max(r,l);return{min:n,max:r}}function K(e,t){var n=t.x-e.x,r=t.y-e.y,i=Math.sqrt(n*n+r*r);return{vx:(t.x-e.x)/i,vy:(t.y-e.y)/i,origin:e,ln:i}}var q=function(){this._rotation=0,this._rect={x:0,y:0,w:0,h:0}};o(q.prototype,{center:function(){var e=this._rect;return{x:e.x+e.w/2,y:e.y+e.h/2}},update:function(e,t,n){this._rotation=n,this._rect={x:t.x+e.x,y:t.y+e.y,w:t.w,h:t.h}},contains:function(e){var t=this,n=1,r=t._rect;return e=W(e,t.center(),-t._rotation),!(e.x<r.x-n||e.y<r.y-n||e.x>r.x+r.w+n*2||e.y>r.y+r.h+n*2)},intersects:function(e){var t=this._points(),n=e._points(),r=[K(t[0],t[1]),K(t[0],t[3])],i,a,o;for(this._rotation!==e._rotation&&r.push(K(n[0],n[1]),K(n[0],n[3])),i=0;i<r.length;++i)if(a=G(t,r[i]),o=G(n,r[i]),a.max<o.min||o.max<a.min)return!1;return!0},_points:function(){var e=this,t=e._rect,n=e._rotation,r=e.center();return[W({x:t.x,y:t.y},r,n),W({x:t.x+t.w,y:t.y},r,n),W({x:t.x+t.w,y:t.y+t.h},r,n),W({x:t.x,y:t.y+t.h},r,n)]}});function J(e,t,n){var r=t.positioner(e,t),i=r.vx,a=r.vy;if(!i&&!a)return{x:r.x,y:r.y};var o=n.w,s=n.h,c=t.rotation,l=Math.abs(o/2*Math.cos(c))+Math.abs(s/2*Math.sin(c)),u=Math.abs(o/2*Math.sin(c))+Math.abs(s/2*Math.cos(c)),d=1/Math.max(Math.abs(i),Math.abs(a));return l*=i*d,u*=a*d,l+=t.offset*i,u+=t.offset*a,{x:r.x+l,y:r.y+u}}function ue(e,t){var n,r,i,a;for(n=e.length-1;n>=0;--n)for(i=e[n].$layout,r=n-1;r>=0&&i._visible;--r)a=e[r].$layout,a._visible&&i._box.intersects(a._box)&&t(i,a);return e}function de(e){var t,n,r,i,a,o,s;for(t=0,n=e.length;t<n;++t)r=e[t],i=r.$layout,i._visible&&(s=new Proxy(r._el,{get:(e,t)=>e.getProps([t],!0)[t]}),a=r.geometry(),o=J(s,r.model(),a),i._box.update(o,a,r.rotation()));return ue(e,function(e,t){var n=e._hidable,r=t._hidable;n&&r||r?t._visible=!1:n&&(e._visible=!1)})}var Y={prepare:function(e){var t=[],n,r,i,a,o;for(n=0,i=e.length;n<i;++n)for(r=0,a=e[n].length;r<a;++r)o=e[n][r],t.push(o),o.$layout={_box:new q,_hidable:!1,_visible:!0,_set:n,_idx:o._index};return t.sort(function(e,t){var n=e.$layout,r=t.$layout;return n._idx===r._idx?r._set-n._set:r._idx-n._idx}),this.update(t),t},update:function(e){var t=!1,n,r,i,a,o;for(n=0,r=e.length;n<r;++n)i=e[n],a=i.model(),o=i.$layout,o._hidable=a&&a.display===`auto`,o._visible=i.visible(),t|=o._hidable;t&&de(e)},lookup:function(e,t){var n,r;for(n=e.length-1;n>=0;--n)if(r=e[n].$layout,r&&r._visible&&r._box.contains(t))return e[n];return null},draw:function(e,t){var n,r,i,a,o,s;for(n=0,r=t.length;n<r;++n)i=t[n],a=i.$layout,a._visible&&(o=i.geometry(),s=J(i._el,i.model(),o),a._box.update(s,o,i.rotation()),i.draw(e,s))}},fe={align:`center`,anchor:`center`,backgroundColor:null,borderColor:null,borderRadius:0,borderWidth:0,clamp:!1,clip:!1,color:void 0,display:!0,font:{family:void 0,lineHeight:1.2,size:void 0,style:void 0,weight:null},formatter:function(e){if(C(e))return null;var t=e,n,r,i;if(p(e))if(!C(e.label))t=e.label;else if(!C(e.r))t=e.r;else for(t=``,n=Object.keys(e),i=0,r=n.length;i<r;++i)t+=(i===0?``:`, `)+n[i]+`: `+e[n[i]];return``+t},labels:void 0,listeners:{},offset:4,opacity:1,padding:{top:4,right:4,bottom:4,left:4},rotation:0,textAlign:`start`,textStrokeColor:void 0,textStrokeWidth:0,textShadowBlur:0,textShadowColor:void 0},X=`$datalabels`,Z=`$default`;function pe(e,t){var n=e.datalabels,r={},i=[],a,s;return n===!1?null:(n===!0&&(n={}),t=o({},[t,n]),a=t.labels||{},s=Object.keys(a),delete t.labels,s.length?s.forEach(function(e){a[e]&&i.push(o({},[t,a[e],{_key:e}]))}):i.push(t),r=i.reduce(function(e,t){return b(t.listeners||{},function(n,r){e[r]=e[r]||{},e[r][t._key||Z]=n}),delete t.listeners,e},{}),{labels:i,listeners:r})}function Q(e,t,n,r){if(t){var i=n.$context,a=n.$groups,o;t[a._set]&&(o=t[a._set][a._key],o&&x(o,[i,r])===!0&&(e[X]._dirty=!0,n.update(i)))}}function me(e,t,n,r,i){var a,o;!n&&!r||(n?r?n!==r&&(o=a=!0):o=!0:a=!0,o&&Q(e,t.leave,n,i),a&&Q(e,t.enter,r,i))}function he(e,t){var n=e[X],r=n._listeners,i,a;if(!(!r.enter&&!r.leave)){if(t.type===`mousemove`)a=Y.lookup(n._labels,t);else if(t.type!==`mouseout`)return;i=n._hovered,n._hovered=a,me(e,r,i,a,t)}}function ge(e,t){var n=e[X],r=n._listeners.click,i=r&&Y.lookup(n._labels,t);i&&Q(e,r,i,t)}var _e={id:`datalabels`,defaults:fe,beforeInit:function(e){e[X]={_actives:[]}},beforeUpdate:function(e){var t=e[X];t._listened=!1,t._listeners={},t._datasets=[],t._labels=[]},afterDatasetUpdate:function(e,t,n){var r=t.index,i=e[X],a=i._datasets[r]=[],s=e.isDatasetVisible(r),c=e.data.datasets[r],l=pe(c,n),u=t.meta.data||[],d=e.ctx,f,p,m,h,g,_,v,y;for(d.save(),f=0,m=u.length;f<m;++f)if(v=u[f],v[X]=[],s&&v&&e.getDataVisibility(f)&&!v.skip)for(p=0,h=l.labels.length;p<h;++p)g=l.labels[p],_=g._key,y=new V(g,d,v,f),y.$groups={_set:r,_key:_||Z},y.$context={active:!1,chart:e,dataIndex:f,dataset:c,datasetIndex:r},y.update(y.$context),v[X].push(y),a.push(y);d.restore(),o(i._listeners,l.listeners,{merger:function(e,n,r){n[e]=n[e]||{},n[e][t.index]=r[e],i._listened=!0}})},afterUpdate:function(e){e[X]._labels=Y.prepare(e[X]._datasets)},afterDatasetsDraw:function(e){Y.draw(e,e[X]._labels)},beforeEvent:function(e,t){if(e[X]._listened){var n=t.event;switch(n.type){case`mousemove`:case`mouseout`:he(e,n);break;case`click`:ge(e,n);break}}},afterEvent:function(e){var t=e[X],n=t._actives,r=t._actives=e.getActiveElements(),i=T.arrayDiff(n,r),a,o,s,c,l,u,d;for(a=0,o=i.length;a<o;++a)if(l=i[a],l[1])for(d=l[0].element[X]||[],s=0,c=d.length;s<c;++s)u=d[s],u.$context.active=l[1]===1,u.update(u.$context);(t._dirty||i.length)&&(Y.update(t._labels),e.render()),delete t._dirty}},ve=r(),$=e=>({plugins:{legend:{position:`right`,maxWidth:150,align:`start`,labels:{color:e.palette.text.secondary,usePointStyle:!0,padding:21,boxHeight:8,font:{size:10}}},datalabels:{color:e.palette.text.primary,font:{weight:`bold`,size:10},anchor:`end`,align:`top`,offset:-6}},responsive:!0,maintainAspectRatio:!1,color:e.palette.text.secondary,scales:{y:{beginAtZero:!0,grid:{color:e.palette.divider},border:{display:!1},ticks:{stepSize:1,color:e.palette.text.disabled,font:{size:10}}},x:{grid:{display:!1},ticks:{color:e.palette.text.primary,font:{size:10}}}}});function ye(e){return ie.default.all(e.filter(e=>e))}var be=({data:e,ariaLabel:t,ariaDescription:r,overrideOptions:a})=>{let o=n(),{locationSettings:s}=i();return(0,ve.jsx)(d,{options:(0,re.useMemo)(()=>ye([$(o)]),[o,s,a]),data:e,"aria-label":t,"aria-description":r,plugins:[_e]})};u.register(l,g,_,h,f,te,v,a);export{$ as createOptions,be as default};
@@ -1 +0,0 @@
1
- import{o as e,t}from"./react-GZhdek4G.js";import{t as n}from"./jsx-runtime-BnvnyDTF.js";import{v as r}from"./createSimplePaletteValueFilter-BRAMrHWJ.js";import{i}from"./CircularProgress-C_LUU3DK.js";import{t as a}from"./Button-CebB8EPB.js";import{r as o,t as s}from"./TooltipResolver-4A1YhwBy.js";import{t as c,u as ee,y as te}from"./httpErrorResponseHandler-FMtt7Zqh.js";import{n as l}from"./formatPath-j72gcKwy.js";import{t as u}from"./useUiConfig-DbVjTDpE.js";import{t as d}from"./useConditionalSWR-DGgzun6i.js";var f=n(),p=e(t(),1),m=()=>{let{data:e,error:t}=ee(_,h,g);return{data:e,refetchAuth:(0,p.useCallback)(async()=>te(_).catch(console.warn),[]),loading:!t&&!e,error:t}},h=()=>fetch(_).then(e=>e.json()),g={revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:15e3},_=l(`api/admin/user`),v=(e=`useId`)=>(0,p.useMemo)(()=>`${e}-${ne++}`,[e]),ne=0,y=i((0,f.jsx)(`path`,{d:`M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1z`}),`Lock`),b=p.createContext({isAdmin:!1,hasAccess:()=>{throw Error(`hasAccess called outside AccessContext`)}}),re=`ADMIN`,ie=`CREATE_FEATURE`,ae=`UPDATE_FEATURE`,oe=`UPDATE_FEATURE_DEPENDENCY`,se=`DELETE_FEATURE`,ce=`CREATE_STRATEGY`,le=`UPDATE_STRATEGY`,ue=`DELETE_STRATEGY`,de=`UPDATE_APPLICATION`,fe=`CREATE_CONTEXT_FIELD`,pe=`UPDATE_CONTEXT_FIELD`,me=`CREATE_PROJECT`,he=`UPDATE_PROJECT`,ge=`DELETE_PROJECT`,_e=`CREATE_TAG_TYPE`,ve=`UPDATE_TAG_TYPE`,ye=`DELETE_TAG_TYPE`,be=`CREATE_ADDON`,xe=`UPDATE_ADDON`,Se=`DELETE_ADDON`,Ce=`DELETE_ENVIRONMENT`,we=`UPDATE_ENVIRONMENT`,x=`CREATE_FEATURE_STRATEGY`,S=`UPDATE_FEATURE_STRATEGY`,Te=`DELETE_FEATURE_STRATEGY`,C=`UPDATE_FEATURE_ENVIRONMENT`,w=`UPDATE_FEATURE_ENVIRONMENT_VARIANTS`,Ee=`MOVE_FEATURE_TOGGLE`,De=`CREATE_SEGMENT`,Oe=`UPDATE_SEGMENT`,ke=`DELETE_SEGMENT`,Ae=`APPLY_CHANGE_REQUEST`,je=`APPROVE_CHANGE_REQUEST`,Me=`SKIP_CHANGE_REQUEST`,Ne=`CREATE_PROJECT_API_TOKEN`,Pe=`UPDATE_PROJECT_SEGMENT`,Fe=`PROJECT_USER_ACCESS_READ`,Ie=`PROJECT_DEFAULT_STRATEGY_READ`,Le=`PROJECT_CHANGE_REQUEST_READ`,Re=`PROJECT_SETTINGS_READ`,ze=`PROJECT_USER_ACCESS_WRITE`,Be=`PROJECT_DEFAULT_STRATEGY_WRITE`,Ve=`PROJECT_CHANGE_REQUEST_WRITE`,He=`PROJECT_SETTINGS_WRITE`,T=e=>{let{isEnterprise:t}=u(),{data:n,error:r,mutate:i}=d(!!e&&t(),[],l(`api/admin/projects/${e}/change-requests/config`),Ue);return{data:n||[],loading:!r&&!n,refetchChangeRequestConfig:i,error:r}},Ue=e=>fetch(e).then(c(`Request changes`)).then(e=>e.json()),E=e=>{let{data:t}=T(e),n=Q(e),r=p.useCallback(e=>n(`SKIP_CHANGE_REQUEST`,e)?!1:t.some(t=>t.environment===e&&t.changeRequestEnabled),[JSON.stringify(t)]),i=p.useCallback(e=>t.some(t=>t.environment===e&&t.changeRequestEnabled),[JSON.stringify(t)]);return{isChangeRequestConfigured:r,isChangeRequestConfiguredInAnyEnv:p.useCallback(()=>t.some(e=>e.changeRequestEnabled),[JSON.stringify(t)]),isChangeRequestConfiguredForReview:i}},D=`ADMIN`,We=`CREATE_ADDON`,Ge=`UPDATE_ADDON`,Ke=`DELETE_ADDON`,qe=`UPDATE_CLIENT_API_TOKEN`,O=`CREATE_CLIENT_API_TOKEN`,k=`DELETE_CLIENT_API_TOKEN`,A=`READ_CLIENT_API_TOKEN`,Je=`UPDATE_FRONTEND_API_TOKEN`,j=`CREATE_FRONTEND_API_TOKEN`,M=`DELETE_FRONTEND_API_TOKEN`,N=`READ_FRONTEND_API_TOKEN`,Ye=`UPDATE_APPLICATION`,P=`CREATE_CONTEXT_FIELD`,F=`UPDATE_CONTEXT_FIELD`,I=`DELETE_CONTEXT_FIELD`,Xe=`CREATE_PROJECT`,L=`READ_ROLE`,Ze=`CREATE_SEGMENT`,Qe=`UPDATE_SEGMENT`,$e=`DELETE_SEGMENT`,et=`CREATE_STRATEGY`,tt=`UPDATE_STRATEGY`,nt=`DELETE_STRATEGY`,rt=`CREATE_TAG_TYPE`,it=`UPDATE_TAG_TYPE`,at=`DELETE_TAG_TYPE`,R=`READ_LOGS`,z=`UPDATE_MAINTENANCE_MODE`,B=`UPDATE_INSTANCE_BANNERS`,V=`UPDATE_CORS`,H=`UPDATE_AUTH_CONFIGURATION`,ot=`CREATE_FEATURE`,U=`UPDATE_FEATURE`,st=`UPDATE_FEATURE_DEPENDENCY`,ct=`DELETE_FEATURE`,W=`UPDATE_PROJECT`,lt=`DELETE_PROJECT`,ut=`UPDATE_FEATURE_VARIANTS`,dt=`MOVE_FEATURE_TOGGLE`,G=`READ_PROJECT_API_TOKEN`,K=`CREATE_PROJECT_API_TOKEN`,q=`DELETE_PROJECT_API_TOKEN`,J=`UPDATE_PROJECT_CONTEXT`,ft=`UPDATE_PROJECT_SEGMENT`,pt=`CREATE_FEATURE_STRATEGY`,Y=`UPDATE_FEATURE_STRATEGY`,X=`DELETE_FEATURE_STRATEGY`,mt=`UPDATE_FEATURE_ENVIRONMENT_VARIANTS`,ht=`UPDATE_FEATURE_ENVIRONMENT`,gt=`PROJECT_USER_ACCESS_READ`,_t=`PROJECT_DEFAULT_STRATEGY_READ`,vt=`PROJECT_CHANGE_REQUEST_READ`,yt=`PROJECT_SETTINGS_READ`,bt=`PROJECT_USER_ACCESS_WRITE`,xt=`PROJECT_DEFAULT_STRATEGY_WRITE`,St=`PROJECT_CHANGE_REQUEST_WRITE`,Ct=`PROJECT_SETTINGS_WRITE`,wt=`RELEASE_PLAN_TEMPLATE_CREATE`,Tt=`RELEASE_PLAN_TEMPLATE_UPDATE`,Et=`RELEASE_PLAN_TEMPLATE_DELETE`,Dt=[{label:`Integration`,permissions:[We,Ge,Ke]},{label:`API token`,permissions:[qe,O,k,A,Je,j,M,N]},{label:`Application`,permissions:[Ye]},{label:`Context field`,permissions:[P,F,I]},{label:`Project`,permissions:[Xe]},{label:`Role`,permissions:[L]},{label:`Segment`,permissions:[Ze,Qe,$e]},{label:`Strategy`,permissions:[et,tt,nt]},{label:`Tag type`,permissions:[rt,it,at]},{label:`Release plan templates`,permissions:[wt,Et,Tt]},{label:`Instance maintenance`,permissions:[R,z,B,V]},{label:`Authentication`,permissions:[H]}],Ot=[D,L,A,N,z,R],kt=[{label:`Features and strategies`,permissions:[[ot],[U],[st],[ct],[ut],[dt],[pt],[Y],[X],[ht],[mt],[J],[ft]]},{label:`Project settings`,permissions:[[W],[gt,W],[bt,W],[_t,W],[xt,W],[yt,W],[Ct,W],[lt]]},{label:`API tokens`,permissions:[[G],[K],[q]]},{label:`Change requests`,permissions:[[St,W],[vt,W]]}],At=(e,t)=>{let n=e.data&&`permissions`in e.data?e.data.permissions:void 0;return n&&t?.maintenanceMode&&(n=n.filter(e=>Ot.includes(e.permission))),n},jt=()=>{let e=m(),{uiConfig:t}=u();return{permissions:At(e,t),refetchPermissions:e.refetchAuth,loading:e.loading,error:e.error}},Mt=e=>({fetcher:()=>{let t=l(`api/admin/projects/${e}/overview`);return fetch(t,{method:`GET`}).then(c(`Project overview`)).then(e=>e.json())},KEY:`api/admin/projects/${e}/overview`}),Nt={featureTypeCounts:[],environments:[],name:``,health:0,members:0,version:1,description:`Default`,favorite:!1,mode:`open`,defaultStickiness:`default`,stats:{archivedCurrentWindow:0,archivedPastWindow:0,avgTimeToProdCurrentWindow:0,createdCurrentWindow:0,createdPastWindow:0,projectActivityCurrentWindow:0,projectActivityPastWindow:0,projectMembersAddedCurrentWindow:0},onboardingStatus:{status:`onboarded`}},Z=(e,t={})=>Pt(e,t),Pt=(e=``,t={})=>{let{KEY:n,fetcher:r}=Mt(e),{data:i,error:a,mutate:o}=d(!!e,Nt,n,r,t),s=(0,p.useCallback)(()=>{o()},[o]);return{project:i||Nt,loading:!a&&!i,error:a,refetch:s}},Ft=e=>Z(e).project.name||e,It=e=>e.featureTypeCounts?.map(e=>e.count).reduce((e,t)=>e+t,0),Q=e=>{let{hasAccess:t}=(0,p.useContext)(b),n=(e,n,r)=>n&&r?t(e,n,r):n?t(e,n):t(e),r=(e,t,r)=>Array.isArray(e)?e.some(e=>n(e,t,r)):n(e,t,r);return(t,n)=>r(t,e,n)},Lt=e=>{let{isChangeRequestConfigured:t}=E(e),n=Q(e);return(e,r)=>r&&t(r)||n(e,r)},Rt=[x,S,Te,C,w],zt=(e,t)=>e.filter(e=>t.includes(e)).length>0,Bt=e=>{let{permissions:t}=jt();return t?t.find(t=>t.project===e):!1},Vt=e=>{let t=Bt(e),{project:n}=Z(e);return n.mode===`protected`?t:!0},Ht=e=>zt(Rt,[].concat(e)),Ut=(e,t,n)=>{let{isChangeRequestConfigured:r}=E(t),i=r(n),a=Vt(t);return i&&a&&Ht(e)},Wt=(e,t,n)=>{let r=Q(t);return Ut(e,t,n)||r(e,n)},Gt=(e,t,n)=>Q(t)(e,n),Kt=r(a)({justifySelf:`start`,alignSelf:`start`,"&.Mui-disabled":{pointerEvents:`auto`}}),qt=(e,t,n)=>!e&&!n?(0,f.jsx)(y,{titleAccess:`Locked`}):t||null,Jt=p.forwardRef((e,t)=>{let n=Wt(e.permission,e.projectId,e.environmentId);return(0,f.jsx)($,{...e,access:n,ref:t})}),Yt=p.forwardRef((e,t)=>{let n=Gt(e.permission,e.projectId,e.environmentId);return(0,f.jsx)($,{...e,access:n,ref:t})}),$=p.forwardRef(({permission:e,access:t,variant:n=`contained`,color:r=`primary`,onClick:i,children:a,disabled:c,projectId:ee,environmentId:te,tooltipProps:l,hideLockIcon:u,className:d,...p},m)=>{let h=c||!t,g=v(),_=qt(t,p.endIcon,u),ne=e=>{if(h){e.preventDefault(),e.stopPropagation();return}i?.(e)};return(0,f.jsx)(s,{...l,title:o(t,l?.title),arrow:!0,children:(0,f.jsx)(Kt,{ref:m,onClick:ne,"aria-disabled":h||void 0,"aria-labelledby":g,variant:n,color:r,disableRipple:h,className:h?`${d} Mui-disabled`:d,...p,endIcon:_,children:a})})}),Xt=p.forwardRef((e,t)=>e.projectId!==void 0&&e.environmentId!==void 0?(0,f.jsx)(Jt,{...e,environmentId:e.environmentId,projectId:e.projectId,ref:t}):(0,f.jsx)(Yt,{...e,ref:t}));export{ce as $,Tt as A,le as At,J as B,A as C,oe as Ct,L as D,he as Dt,G as E,S as Et,U as F,m as Ft,je as G,T as H,Y as I,ie as J,be as K,B as L,H as M,b as Mt,F as N,y as Nt,wt as O,Pe as Ot,V as P,v as Pt,De as Q,z as R,kt as S,ae as St,R as T,w as Tt,re as U,E as V,Ae as W,me as X,x as Y,Ne as Z,I as _,Me as _t,Gt as a,ke as at,q as b,pe as bt,Z as c,Ee as ct,D as d,Ie as dt,_e as et,O as f,Be as ft,k as g,ze as gt,K as h,Fe as ht,Wt as i,ge as it,Dt as j,ve as jt,Et as k,Oe as kt,Ft as l,Le as lt,j as m,He as mt,Lt as n,Ce as nt,It as o,ue as ot,P as p,Re as pt,fe as q,Q as r,se as rt,Pt as s,ye as st,Xt as t,Se as tt,jt as u,Ve as ut,X as v,xe as vt,N as w,C as wt,xt as x,we as xt,M as y,de as yt,W as z};
@@ -1,4 +0,0 @@
1
- import{o as e,t}from"./react-GZhdek4G.js";import{t as n}from"./useTheme-CQqAmDLr.js";import{t as r}from"./jsx-runtime-BnvnyDTF.js";import{v as i}from"./createSimplePaletteValueFilter-BRAMrHWJ.js";import{i as a}from"./CircularProgress-C_LUU3DK.js";import{t as o}from"./Box-BQsxfFmC.js";import{t as s}from"./Button-CebB8EPB.js";import{ot as c}from"./index-BJ2iUk24.js";import{a as l,o as u,r as d,t as f}from"./esm-CFWP4-MJ.js";var p=r(),m=a((0,p.jsx)(`path`,{d:`M3 21h18v-2H3zM3 8v8l4-4zm8 9h10v-2H11zM3 3v2h18V3zm8 6h10V7H11zm0 4h10v-2H11z`}),`FormatIndentIncrease`),h=e(t(),1),g=i(o,{shouldForwardProp:e=>e!==`editorStyle`&&e!==`hasError`})(({theme:e,editorStyle:t,hasError:n})=>({border:`1px solid ${n?e.palette.error.main:e.palette.divider}`,borderRadius:e.shape.borderRadiusMedium,overflow:`hidden`,position:`relative`,backgroundColor:e.palette.background.paper,minHeight:t===`sidePanel`?void 0:e.spacing(8),"&:hover":{borderColor:e.palette.action.disabled},"&:focus-within":{borderColor:n?e.palette.error.main:e.palette.primary.main},"& .cm-editor":{backgroundColor:e.palette.background.paper,color:e.palette.text.primary,fontSize:e.fontSizes.smallBody,minHeight:`inherit`,outline:0,position:`relative`,zIndex:0},"& .cm-focused":{outline:0},"& .cm-content":{paddingTop:e.spacing(1),paddingRight:e.spacing(12),paddingBottom:e.spacing(1),minHeight:`inherit`},"& .cm-gutters":{backgroundColor:e.palette.background.alternative,borderRight:`1px solid ${e.palette.divider}`,color:e.palette.text.secondary,minHeight:`inherit`},"& .cm-lineNumbers .cm-gutterElement":{paddingLeft:e.spacing(.75),paddingRight:e.spacing(.75),textAlign:`center`},"& .cm-gutter":{minHeight:`inherit`},"& .cm-line":{paddingLeft:e.spacing(1),paddingRight:e.spacing(1)},"& .cm-scroller":{fontFamily:e.typography.fontFamily,minHeight:`inherit`},"& .cm-activeLine, & .cm-activeLineGutter":{backgroundColor:`transparent`},"& .cm-selectionBackground, & .cm-content ::selection":{backgroundColor:`${e.palette.primary.light} !important`},"& .cm-tooltip":{backgroundColor:e.palette.background.paper,border:`1px solid ${e.palette.divider}`,borderRadius:e.shape.borderRadiusMedium,boxShadow:e.shadows[3]},"& .cm-lintRange-error":{backgroundImage:`linear-gradient(45deg, transparent 65%, ${e.palette.error.main} 80%, transparent 90%),
2
- linear-gradient(135deg, transparent 5%, ${e.palette.error.main} 15%, transparent 25%),
3
- linear-gradient(135deg, transparent 45%, ${e.palette.error.main} 55%, transparent 65%),
4
- linear-gradient(45deg, transparent 25%, ${e.palette.error.main} 35%, transparent 50%)`,backgroundPosition:`0 100%`,backgroundRepeat:`repeat-x`,backgroundSize:`8px 3px`},"& .cm-diagnostic-error":{borderLeftColor:e.palette.error.main},...t===`sidePanel`&&{height:`100%`,border:0,backgroundColor:`transparent`,"&:hover, &:focus-within":{borderColor:`transparent`},"& .cm-editor":{height:`100%`,backgroundColor:`transparent`},"& .cm-gutters":{backgroundColor:`transparent`,color:e.palette.text.secondary}}})),_=i(s)(({theme:e})=>({position:`absolute`,top:e.spacing(.75),right:e.spacing(.75),zIndex:1,backgroundColor:e.palette.background.paper,"&:hover":{backgroundColor:e.palette.background.elevation1}})),v=i(`div`)(({theme:e})=>({padding:e.spacing(.5,1),borderTop:`1px solid ${e.palette.divider}`,backgroundColor:e.palette.background.alternative,color:e.palette.text.secondary,fontSize:e.fontSizes.smallBody})),y=i(`div`)(({theme:e})=>({display:`flex`,alignItems:`center`,gap:e.spacing(1),marginTop:e.spacing(.75),padding:e.spacing(1,1.5),border:`1px solid ${e.palette.error.border}`,borderRadius:e.shape.borderRadiusMedium,backgroundColor:e.palette.error.light,color:e.palette.error.dark,fontSize:e.fontSizes.smallBody,lineHeight:1.4})),b=i(`div`)({width:`100%`}),x=e=>`text`in e?e.text:JSON.stringify(e.json,void 0,2)??``,S=e=>{if(e.trim()!==``)try{JSON.parse(e);return}catch(e){return e instanceof Error?e.message:`Invalid JSON`}},C=({content:e,onChange:t,onBlur:r,validationError:i,readOnly:a=!1,statusBar:o=!1,editorStyle:s=`default`})=>{let C=n(),w=(0,h.useMemo)(()=>x(e),[e]),[T,E]=(0,h.useState)(),D=(0,h.useMemo)(()=>[l(),...a?[]:[d(u())]],[a]),O=!a&&i===void 0;(0,h.useEffect)(()=>{E(O?S(w):void 0)},[O,w]);let k=(0,h.useCallback)(e=>{O&&E(S(e)),t?.({text:e})},[t,O]),A=(0,h.useCallback)(()=>{let e;try{e=JSON.stringify(JSON.parse(w),void 0,2)}catch{return}t?.({text:e})},[t,w]),j=s===`sidePanel`?void 0:C.spacing(10),M=i??T;return(0,p.jsxs)(b,{children:[(0,p.jsxs)(g,{editorStyle:s,hasError:!!M,children:[a?null:(0,p.jsx)(_,{size:`small`,variant:`outlined`,startIcon:(0,p.jsx)(m,{}),onClick:A,children:`Format`}),(0,p.jsx)(f,{value:w,minHeight:j,height:s===`sidePanel`?`100%`:void 0,theme:`none`,extensions:D,onChange:k,onBlur:r,readOnly:a,editable:!a,basicSetup:{foldGutter:!1,lineNumbers:!1,highlightActiveLine:!1,highlightActiveLineGutter:!1}}),o?(0,p.jsx)(v,{children:`JSON`}):null]}),M?(0,p.jsxs)(y,{role:`alert`,children:[(0,p.jsx)(c,{fontSize:`small`}),M]}):null]})};export{C as default};
@@ -1 +0,0 @@
1
- import{o as e,t}from"./react-GZhdek4G.js";import{r as n,u as r}from"./chunk-QUQL4437-Dr42NpoL.js";import{t as i}from"./jsx-runtime-BnvnyDTF.js";import{D as a,O as o,k as s,m as c,v as l,x as u}from"./createSimplePaletteValueFilter-BRAMrHWJ.js";import{A as d,M as f,O as p,_ as m,c as h,j as g,n as _,o as v,t as ee,v as te,w as y,y as ne}from"./useConditionallyHiddenColumns-DTDzRlyO.js";import{t as re}from"./useMediaQuery-DGx8zAkf.js";import{t as ie}from"./Tooltip-BaILXXti.js";import{y as ae}from"./TextField-oipjeg6n.js";import{t as oe}from"./Radio-DL8ja0ll.js";import{i as se}from"./CircularProgress-C_LUU3DK.js";import{t as b}from"./ConditionallyRender---uTpMBn.js";import{r as ce,t as x}from"./Alert-_bLyWbvx.js";import{t as S}from"./Typography-BTdLWIUX.js";import{t as C}from"./Box-BQsxfFmC.js";import{t as w}from"./Button-CebB8EPB.js";import{t as T}from"./FormControlLabel-F5gDLixN.js";import{t as le}from"./RadioGroup-Ci3WHaOy.js";import{t as E}from"./Link-CfIScd2f.js";import{a as ue,i as D,n as O,o as de,r as fe,t as k}from"./useEnvironments-CTguhgy0.js";import{a as A,i as pe}from"./TooltipResolver-4A1YhwBy.js";import{t as j,u as me}from"./httpErrorResponseHandler-FMtt7Zqh.js";import{n as M}from"./formatPath-j72gcKwy.js";import{a as N,h as he}from"./PermissionButton-BIeM26DH.js";import{t as P}from"./useUiConfig-DbVjTDpE.js";import{t as F}from"./HtmlTooltip-B9jv1G1R.js";import{t as I}from"./Truncator-D2bO9ub6.js";import{f as L}from"./testIds-B_Ev-uQn.js";import{n as R,t as z}from"./FileCopy-B8HZEA83.js";import{t as B}from"./Highlighter-MomUaQww.js";import{t as ge}from"./useConditionalSWR-DGgzun6i.js";import{Go as V,Hn as _e,Oa as ve,Qo as ye,Uo as be,Wo as xe,Xo as Se,_r as Ce,ca as we,js as Te,ka as Ee,la as De,no as Oe,qa as ke,sa as Ae,to as H}from"./index-BJ2iUk24.js";import{t as je}from"./useApiTokens-C8Dqw_X1.js";var U=e(t(),1);function Me(e){return o(`MuiTableContainer`,e)}a(`MuiTableContainer`,[`root`]);var W=i(),Ne=e=>{let{classes:t}=e;return u({root:[`root`]},Me,t)},Pe=l(`div`,{name:`MuiTableContainer`,slot:`Root`})({width:`100%`,overflowX:`auto`}),Fe=U.forwardRef(function(e,t){let n=c({props:e,name:`MuiTableContainer`}),{className:r,component:i=`div`,...a}=n,o={...n,component:i};return(0,W.jsx)(Pe,{ref:t,as:i,className:s(Ne(o).root,r),ownerState:o,...a})}),Ie=()=>(0,W.jsx)(x,{severity:`info`,children:(0,W.jsxs)(`p`,{children:[`Read the`,` `,(0,W.jsx)(`a`,{href:`https://docs.getunleash.io/sdks`,target:`_blank`,rel:`noreferrer`,children:`SDK overview`}),` `,`to connect Unleash to your application. Please note it can take up to `,(0,W.jsx)(`strong`,{children:`1 minute`}),` before a new API key is activated.`]})}),G=e(R(),1),K=({title:e,url:t})=>{let{setToastData:n}=A();return(0,W.jsxs)(O,{children:[(0,W.jsx)(D,{component:`th`,scope:`row`,children:e}),(0,W.jsx)(D,{children:(0,W.jsx)(`pre`,{style:{display:`inline`},children:t})}),(0,W.jsx)(D,{align:`center`,children:(0,W.jsx)(ie,{title:`Copy URL`,arrow:!0,children:(0,W.jsx)(ce,{onClick:(e=>()=>{(0,G.default)(e),n({type:`success`,text:`Copied to clipboard`})})(t),size:`small`,"aria-label":`Copy ${e} to clipboard`,children:(0,W.jsx)(z,{})})})})]})},q=l(D)(({theme:e})=>({color:e.palette.text.secondary})),Le=({compact:e})=>{let{uiConfig:t}=P(),[n,r]=(0,U.useState)(!e),i=t.unleashUrl&&(n||!t.edgeUrl),a=e&&t.edgeUrl&&t.unleashUrl,o=t.edgeUrl?{edgeUrl:`${t.edgeUrl}/api/`,edgeFrontendUrl:`${t.edgeUrl}/api/frontend/`}:void 0,s=`${t.unleashUrl}/api/`,c=`${t.unleashUrl}/api/frontend/`;return(0,W.jsxs)(Fe,{role:`region`,"aria-live":`polite`,children:[(0,W.jsxs)(de,{"aria-label":`API URLs`,id:`api-urls-table`,children:[(0,W.jsx)(fe,{children:(0,W.jsxs)(O,{children:[(0,W.jsx)(q,{children:`Type`}),(0,W.jsx)(q,{children:`URL`}),(0,W.jsx)(q,{align:`center`,children:`Actions`})]})}),(0,W.jsxs)(ue,{children:[o&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(K,{title:`Edge Backend`,url:o.edgeUrl}),(0,W.jsx)(K,{title:`Edge Frontend`,url:o.edgeFrontendUrl})]}),i&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(K,{title:`Backend`,url:s}),(0,W.jsx)(K,{title:`Frontend`,url:c})]})]})]}),a&&(0,W.jsx)(w,{sx:{mt:1,marginInline:1.5},variant:`text`,size:`small`,"aria-expanded":n,"aria-controls":`api-urls-table`,onClick:()=>r(!n),children:n?`Show less`:`Show all`})]})},Re=[`Icon`,`createdAt`,`seenAt`],ze=[`Icon`,`project`,`seenAt`],J=l(S)(({theme:e})=>({margin:0,marginBottom:e.spacing(1.5),fontSize:e.fontSizes.smallBody,color:e.palette.text.primary})),Be=({compact:e=!1,table:t,columns:n,loading:r,globalFilter:i})=>{ee([{condition:re(Te.breakpoints.down(`xl`)),columns:Re},{condition:e,columns:ze}],t.setColumnVisibility,n);let a=t.getRowModel().rows.length;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(b,{condition:a>0,show:(0,W.jsxs)(C,{sx:{mb:4},children:[(0,W.jsx)(Ie,{}),(0,W.jsxs)(C,{sx:{marginBlock:4},children:[(0,W.jsx)(J,{variant:`h2`,children:`API URLs`}),(0,W.jsx)(Le,{compact:e})]})]})}),(0,W.jsxs)(C,{sx:{overflowX:`auto`},children:[(0,W.jsx)(J,{variant:`h2`,children:`API Tokens`}),(0,W.jsx)(te,{value:i,children:(0,W.jsx)(De,{tableInstance:t})})]}),(0,W.jsx)(b,{condition:a===0&&!r,show:(0,W.jsx)(b,{condition:i?.length>0,show:(0,W.jsxs)(y,{children:[`No tokens found matching “`,i,`”`]}),elseShow:(0,W.jsx)(y,{children:(0,W.jsxs)(`span`,{children:[`No tokens available. Read `,(0,W.jsx)(E,{href:`https://docs.getunleash.io/api`,target:`_blank`,rel:`noreferrer`,children:`API How-to guides`}),` `,` to learn more.`]})})})})]})},Ve=(e,t)=>{let n=t>=e;return{limitReached:n,limitMessage:n?`You have reached the limit of ${e} API tokens`:void 0}},He=({path:e,permission:t,project:n})=>{let i=r(),{tokens:a,loading:o}=je(),{uiConfig:s}=P(),{limitReached:c,limitMessage:l}=Ve(s.resourceLimits.apiTokens,a.length);return(0,W.jsx)(Ae,{Icon:Oe,onClick:()=>i(e),"data-testid":L,permission:t,projectId:n,maxWidth:`700px`,disabled:o||c,tooltipProps:{title:l},children:`New API token`})},Ue=l(n)(({theme:e})=>({textDecoration:`none`,color:e.palette.links,"&:hover, &:focus":{textDecoration:`underline`}})),We=l(`div`)({display:`flex`,alignItems:`center`}),Ge=({projects:e,project:t})=>{let{searchQuery:n}=ne(),r=e&&Array.isArray(e)&&e.length>1?e:[];if(r.length>0)return(0,W.jsx)(m,{children:(0,W.jsx)(F,{title:r.map((e,t)=>(0,W.jsxs)(U.Fragment,{children:[t>0&&`, `,!e||e===`*`?(0,W.jsx)(B,{search:n,children:`*`}):(0,W.jsx)(Ue,{to:`/projects/${e}`,children:(0,W.jsx)(B,{search:n,children:e})})]},e)),placement:`bottom-start`,arrow:!0,tabIndex:0,children:(0,W.jsxs)(`span`,{children:[`${r.length}`,` projects`]})})});if(r.length===1&&r[0]!==`*`||t&&t!==`*`){let e=t||r[0];return(0,W.jsx)(Se,{to:`/projects/${e}`,title:e})}return(0,W.jsx)(m,{children:(0,W.jsx)(F,{title:`ALL current and future projects.`,placement:`bottom`,arrow:!0,children:(0,W.jsx)(We,{children:(0,W.jsx)(B,{search:n,children:`*`})})})})},Y=se((0,W.jsx)(`path`,{d:`M21 10h-8.35C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H13l2 2 2-2 2 2 4-4.04zM7 15c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3`}),`Key`),Ke=({secret:e,project:t,projects:n})=>{let r=e?.includes(`:`)?`v2`:`v1`,i=e?.startsWith(`*:`),a=n&&n?.length>1||n?.length===1&&n[0]!==`*`||t&&t!==`*`;return r===`v2`&&!i&&!a},qe=({...e})=>Ke(e)?(0,W.jsx)(_,{icon:(0,W.jsx)(F,{title:(0,W.jsxs)(`p`,{children:[`This is an orphaned token. All of its original projects have been deleted and it now has access to all current and future projects. You should stop using this token and delete it. Read more in`,` `,(0,W.jsx)(E,{target:`_blank`,rel:`noopener noreferrer`,href:`https://github.com/Unleash/unleash/releases/tag/v6.1.0`,children:`release notes`}),`.`]}),placement:`bottom-start`,arrow:!0,children:(0,W.jsx)(Ee,{"aria-label":`Orphaned token`,color:`warning`,"data-testid":`orphaned-token-icon`})})}):(0,W.jsx)(_,{icon:(0,W.jsx)(Y,{color:`disabled`})}),Je=(e,t)=>{let[n,r]=(0,U.useState)(``),i=(0,U.useMemo)(()=>({sorting:[{id:`createdAt`,desc:!0}]}),[]),a=(0,U.useMemo)(()=>[{id:`Icon`,cell:({row:e})=>(0,W.jsx)(qe,{secret:e.original.secret,project:e.original.project,projects:e.original.projects}),enableSorting:!1,enableGlobalFilter:!1,meta:{width:50}},{id:`tokenName`,header:`Token name`,accessorKey:`tokenName`,cell:v,meta:{minWidth:35}},{id:`type`,header:`Type`,accessorKey:`type`,cell:({getValue:e})=>{let t=Ye[String(e()??``).toLowerCase()];return(0,W.jsx)(v,{value:t?.label??``,subtitle:t?.title,subtitleTooltip:!0})},meta:{width:180}},{id:`project`,header:`Project`,accessorKey:`project`,cell:({row:e})=>(0,W.jsx)(Ge,{project:e.original.project,projects:e.original.projects}),meta:{width:160}},{id:`environment`,header:`Environment`,accessorKey:`environment`,cell:v,meta:{width:120}},{id:`createdAt`,header:`Created`,accessorKey:`createdAt`,cell:ye,enableGlobalFilter:!1,meta:{width:150}},{id:`seenAt`,header:`Last seen`,accessorKey:`seenAt`,cell:we,enableGlobalFilter:!1,meta:{width:140}},{id:`Actions`,header:`Actions`,cell:e=>t({row:e.row}),enableSorting:!1,enableGlobalFilter:!1,meta:{width:120,align:`center`}}],[]);return{table:p({columns:a,data:e,initialState:i,state:{globalFilter:n},onGlobalFilterChange:r,getCoreRowModel:d(),getSortedRowModel:f(),getFilteredRowModel:g(),autoResetAll:!1,enableSortingRemoval:!1}),columns:a,globalFilter:n,setGlobalFilter:r}},Ye={client:{label:`BACKEND`,title:`Connect backend SDK or Unleash Edge`},backend:{label:`BACKEND`,title:`Connect backend SDK or Unleash Edge`},frontend:{label:`FRONTEND`,title:`Connect frontend SDK`},admin:{label:`ADMIN`,title:`Full access for managing Unleash`}},Xe=({token:e,project:t,permission:n,track:r})=>{let{setToastData:i}=A(),a=e=>{(0,G.default)(e)&&(i({type:`success`,text:`Token copied to clipboard`}),r&&typeof r==`function`&&r())};return(0,W.jsx)(H,{permission:n,projectId:t,tooltipProps:{title:`Copy token`,arrow:!0},onClick:()=>a(e.secret),size:`large`,children:(0,W.jsx)(z,{})})},Ze=l(`ul`)({marginBottom:0}),Qe=({token:e,permission:t,onRemove:n,project:r})=>{let[i,a]=(0,U.useState)(!1),{setToastData:o,setToastApiError:s}=A();return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(H,{permission:t,projectId:r,tooltipProps:{title:`Delete token`,arrow:!0},onClick:()=>a(!0),size:`large`,children:(0,W.jsx)(ke,{})}),(0,W.jsx)(V,{open:i,onClick:async()=>{try{await n(),a(!1),o({type:`success`,text:`API token removed`})}catch(e){s(pe(e))}},onClose:()=>a(!1),title:`Confirm deletion`,children:(0,W.jsxs)(`div`,{children:[`Are you sure you want to delete the following API token?`,(0,W.jsx)(`br`,{}),(0,W.jsxs)(Ze,{children:[(0,W.jsxs)(`li`,{children:[(0,W.jsx)(`strong`,{children:`name`}),`:`,` `,(0,W.jsx)(`code`,{children:e.tokenName})]}),(0,W.jsxs)(`li`,{children:[(0,W.jsx)(`strong`,{children:`type`}),`: `,(0,W.jsx)(`code`,{children:e.type})]}),(0,W.jsxs)(`li`,{children:[(0,W.jsx)(`strong`,{children:`environment`}),`:`,` `,(0,W.jsx)(`code`,{children:e.environment})]})]})]})})]})},$e=l(`div`)(()=>({maxWidth:`400px`})),et=l(`form`)(()=>({display:`flex`,flexDirection:`column`,height:`100%`})),tt=l(h)(({theme:e})=>({width:`100%`,marginBottom:e.spacing(2)})),nt=l(be)(({theme:e})=>({marginBottom:e.spacing(2),minWidth:`400px`,[e.breakpoints.down(`sm`)]:{minWidth:`379px`}})),X=l(`p`)(({theme:e})=>({marginBottom:e.spacing(1)})),rt=l(`label`)(({theme:e})=>({marginBottom:e.spacing(1)})),Z=l(w)(({theme:e})=>({marginLeft:e.spacing(3)})),it=l(C)({marginTop:`auto`,display:`flex`,justifyContent:`flex-end`}),at=({children:e,actions:t,handleSubmit:n,handleCancel:r})=>{let{uiConfig:i}=P();return(0,W.jsxs)(et,{onSubmit:n,children:[(0,W.jsx)(b,{condition:!!i?.flags?.UNLEASH_CLOUD,show:(0,W.jsxs)(x,{severity:`info`,sx:{mb:4},children:[`Please be aware of our`,` `,(0,W.jsx)(E,{href:`https://www.getunleash.io/fair-use-policy`,children:`fair use policy`}),`.`]})}),e,(0,W.jsxs)(it,{children:[t,(0,W.jsx)(Z,{onClick:r,children:`Cancel`})]})]})},Q=function(e){return e.ADMIN=`ADMIN`,e.CLIENT=`CLIENT`,e.FRONTEND=`FRONTEND`,e}({}),ot=e=>{let{environments:t}=k(),n=t?.find(e=>e.enabled)?.name,r=N(he,e),i=[{key:Q.CLIENT,label:`Backend SDK`,title:`Creates a backend token to connect a backend SDK or Unleash Edge`,enabled:N(`CREATE_CLIENT_API_TOKEN`)||r},{key:Q.FRONTEND,label:`Frontend SDK`,title:`Creates a frontend token to connect a frontend SDK`,enabled:N(`CREATE_FRONTEND_API_TOKEN`)||r}],a=i.find(e=>e.enabled)?.key,[o,s]=(0,U.useState)(``),[c,l]=(0,U.useState)(a||Q.CLIENT),[u,d]=(0,U.useState)([e||`*`]),[f,p]=(0,U.useState)(u),[m,h]=(0,U.useState)(),[g,_]=(0,U.useState)({});return(0,U.useEffect)(()=>{h(c===`ADMIN`?`*`:n)},[c,n]),{tokenName:o,type:c,apiTokenTypes:i,projects:u,environment:m,setTokenName:s,setTokenType:e=>{e===`ADMIN`?(l(Q.ADMIN),p(u),d([`*`]),h(`*`)):(l(e),d(f),h(n))},setProjects:d,setEnvironment:h,getApiTokenPayload:()=>({tokenName:o,type:c,environment:m,projects:u}),isValid:()=>{let e={};return o||(e.tokenName=`Token name is required`),u.length===0&&(e.projects=`At least one project is required`),_(e),Object.keys(e).length===0},clearErrors:e=>{if(e){let t={...g};delete t[e],_(t)}else _({})},errors:g}},st=({open:e,setOpen:t,closeConfirm:r,token:i,type:a})=>(0,W.jsxs)(V,{open:e,setOpen:t,onClick:r,primaryButtonText:`Close`,title:`New token created`,children:[(0,W.jsx)(S,{variant:`body1`,children:`Your new token has been created successfully.`}),(0,W.jsx)(Ce,{token:i}),(0,W.jsx)(b,{condition:a===Q.FRONTEND,show:(0,W.jsxs)(x,{sx:{mt:2},severity:`info`,children:[`By default, all `,Q.FRONTEND,` tokens may be used from any CORS origin. If you'd like to configure a strict set of origins, please use the`,` `,(0,W.jsx)(n,{to:`/admin/cors`,target:`_blank`,rel:`noreferrer`,children:`CORS origins configuration page`}),`.`]})})]}),ct=({tokenName:e,setTokenName:t,errors:n,clearErrors:r})=>(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(X,{children:`What would you like to call this token?`}),(0,W.jsx)(tt,{value:e,name:`tokenName`,onChange:e=>t(e.target.value),label:`Token name`,error:n.tokenName!==void 0,errorText:n.tokenName,onFocus:()=>r(`tokenName`),autoFocus:!0})]}),lt=({type:e,setType:t,apiTokenTypes:n})=>(0,W.jsx)($e,{children:(0,W.jsxs)(ae,{sx:{mb:2,width:`100%`},children:[(0,W.jsx)(rt,{id:`token-type`,children:`What do you want to connect?`}),(0,W.jsx)(le,{"aria-labelledby":`token-type`,defaultValue:`CLIENT`,name:`radio-buttons-group`,value:e,onChange:(e,n)=>t(n),children:n.map(({key:e,label:t,title:n,enabled:r})=>(0,W.jsx)(T,{value:e,sx:{mb:1},disabled:!r,control:(0,W.jsx)(oe,{sx:{ml:.75,alignSelf:`flex-start`}}),label:(0,W.jsx)(C,{children:(0,W.jsxs)(C,{children:[(0,W.jsx)(S,{children:t}),(0,W.jsx)(S,{variant:`body2`,sx:{color:`text.secondary`},children:n})]})})},e))})]})}),ut=({type:e,environment:t,setEnvironment:n})=>{let{environments:r}=k(),i=e===Q.ADMIN?[{key:`*`,label:`ALL`}]:r.map(e=>({key:e.name,label:`${e.name.concat(e.enabled?``:` - deprecated`)}`,title:e.name,disabled:!1}));return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(X,{children:`Which environment should the token have access to?`}),(0,W.jsx)(nt,{disabled:e===Q.ADMIN,options:i,value:t,onChange:n,label:`Environment`,id:`api_key_environment`,name:`environment`,IconComponent:xe,fullWidth:!0})]})},$=e=>e.map(e=>({...e.user,joinedAt:new Date(e.joinedAt),createdBy:e.createdBy})),dt=e=>{let{data:t,error:n,mutate:r}=me(M(`api/admin/groups/${e}`),ft);return(0,U.useMemo)(()=>({group:t&&{...t,users:$(t?.users??[])},loading:!n&&!t,refetchGroup:()=>r(),error:n}),[t,n,r])},ft=e=>fetch(e).then(j(`Group`)).then(e=>e.json()),pt=()=>{let{isEnterprise:e}=P(),{data:t,error:n,mutate:r}=ge(e(),{serviceAccounts:[],rootRoles:[]},M(`api/admin/service-account`),mt);return(0,U.useMemo)(()=>({serviceAccounts:t?.serviceAccounts??[],roles:t?.rootRoles??[],loading:!n&&!t,refetch:()=>r(),error:n}),[t,n,r])},mt=e=>fetch(e).then(j(`Service Accounts`)).then(e=>e.json()),ht=l(`div`)(({theme:e})=>({display:`flex`,flexDirection:`column`,gap:e.spacing(.5),"& > *:not(:last-child)":{borderBottom:`1px solid ${e.palette.divider}`,paddingBottom:e.spacing(1)}})),gt=l(I)(()=>({display:`block`})),_t=({role:e,roles:t,value:n})=>{let{isEnterprise:r}=P();return r()?(0,W.jsx)(m,{children:(0,W.jsx)(ve,{tooltip:(0,W.jsx)(ht,{children:(t||[e]).map(e=>(0,W.jsx)(_e,{roleId:e,tooltip:!0},e))}),children:(0,W.jsx)(gt,{children:n})})}):(0,W.jsx)(m,{children:n})};export{He as _,ut as a,st as c,at as d,X as f,Y as g,Je as h,dt as i,ot as l,Xe as m,pt as n,lt as o,Qe as p,$ as r,ct as s,_t as t,Q as u,Be as v};
@@ -1 +0,0 @@
1
- import{o as e,t}from"./react-GZhdek4G.js";import{f as n}from"./chunk-QUQL4437-Dr42NpoL.js";import{t as r}from"./jsx-runtime-BnvnyDTF.js";import{v as i}from"./createSimplePaletteValueFilter-BRAMrHWJ.js";import{t as a}from"./Tooltip-BaILXXti.js";import{E as o,a as s,i as c,r as l}from"./TextField-oipjeg6n.js";import{r as u}from"./Alert-_bLyWbvx.js";import{t as d}from"./Typography-BTdLWIUX.js";import{t as f}from"./Box-BQsxfFmC.js";import{t as p}from"./Button-CebB8EPB.js";import{a as m,i as h,n as g,o as _}from"./TooltipResolver-4A1YhwBy.js";import{V as v}from"./PermissionButton-BIeM26DH.js";import{t as y}from"./HelpOutlineOutlined-CpMsVJZu.js";import{Ai as b,D as x,Go as S,H as C,Oi as w,eo as T,fo as E,no as D,ut as O}from"./index-BJ2iUk24.js";var k=e(t(),1),A=r(),j=({isOpen:e,onConfirm:t,onClose:n,safeguardData:r,mode:i,safeguardType:a})=>{let{metricName:o}=r.impactMetric;return(0,A.jsx)(S,{title:`Request changes`,open:e,secondaryButtonText:`Cancel`,onClose:n,customButton:(0,A.jsx)(p,{color:`primary`,variant:`contained`,onClick:t,autoFocus:!0,children:`Add suggestion to draft`}),children:(0,A.jsxs)(`p`,{children:[i===`create`?`Add`:`Update`,` safeguard that an`,` `,a===`featureEnvironment`?`disables the environment`:`pauses automation`,` based on `,(0,A.jsx)(`strong`,{children:o})]})})},M=()=>{let{makeRequest:e,createRequest:t,errors:n,loading:r}=g({propagateErrors:!0});return{createOrUpdateReleasePlanSafeguard:async({projectId:n,featureName:r,environment:i,planId:a,body:o})=>{let s=t(`api/admin/projects/${n}/features/${r}/environments/${i}/release-plans/${a}/safeguards`,{method:`PUT`,body:JSON.stringify(o)},`createOrUpdateReleasePlanSafeguard`);await e(s.caller,s.id)},createOrUpdateFeatureEnvironmentSafeguard:async({projectId:n,featureName:r,environment:i,body:a})=>{let o=t(`api/admin/projects/${n}/features/${r}/environments/${i}/safeguards`,{method:`PUT`,body:JSON.stringify(a)},`createOrUpdateFeatureEnvironmentSafeguard`);await e(o.caller,o.id)},deleteReleasePlanSafeguard:async({projectId:n,featureName:r,environment:i,planId:a,safeguardId:o})=>{let s=t(`api/admin/projects/${n}/features/${r}/environments/${i}/release-plans/${a}/safeguards/${o}`,{method:`DELETE`},`deleteReleasePlanSafeguard`);await e(s.caller,s.id)},deleteFeatureEnvironmentSafeguard:async({projectId:n,featureName:r,environment:i,safeguardId:a})=>{let o=t(`api/admin/projects/${n}/features/${r}/environments/${i}/safeguards/${a}`,{method:`DELETE`},`deleteFeatureEnvironmentSafeguard`);await e(o.caller,o.id)},errors:n,loading:r}},N=({open:e,onClose:t,onConfirm:n,isDeleting:r=!1})=>(0,A.jsxs)(S,{title:`Remove safeguard?`,open:e,primaryButtonText:r?`Removing...`:`Remove safeguard`,secondaryButtonText:`Cancel`,onClick:n,onClose:t,disabledPrimaryButton:r,children:[(0,A.jsx)(`p`,{children:`You are about to remove the safeguard that pauses automation when conditions are met.`}),(0,A.jsx)(`br`,{}),(0,A.jsx)(`p`,{children:`This action cannot be undone.`})]}),P=i(`div`)(({theme:e})=>({display:`flex`,padding:e.spacing(.25,.25),backgroundColor:O(e),borderTop:`1px solid ${e.palette.divider}`,borderBottom:`1px solid ${e.palette.divider}`,"& > form":{borderRadius:0,border:`none`}})),F=i(`div`)(({theme:e})=>({display:`flex`,alignItems:`center`,width:`100%`,paddingRight:e.spacing(2)})),I=i(c)(({theme:e})=>({[`& .${s.paper}`]:{maxWidth:e.spacing(45)}})),L=i(o)(({theme:e})=>({padding:e.spacing(1,2,.5,2),lineHeight:1.6,textTransform:`uppercase`,letterSpacing:.5,fontSize:e.typography.caption.fontSize,fontWeight:e.typography.fontWeightBold,color:e.palette.text.secondary,backgroundColor:`transparent`})),R={whiteSpace:`normal`,alignItems:`flex-start`,py:1.25},z=i(`li`)({listStyle:`none`,padding:0,margin:0}),B=i(d)(({theme:e})=>({display:`block`,marginTop:e.spacing(.25),color:e.palette.text.secondary})),V=i(u)(({theme:e})=>({color:e.palette.action.active,padding:e.spacing(.5)})),H=()=>{let[e,t]=n(),{trackEvent:r}=_();return(0,A.jsx)(a,{title:`Learn how safeguards work`,arrow:!0,children:(0,A.jsx)(V,{onClick:()=>{r(`safeguards`,{props:{eventType:`splash opened from feature page`}}),e.set(`splash`,`impact-metrics-safeguards`),t(e)},size:`small`,"aria-label":`Learn how safeguards work`,children:(0,A.jsx)(y,{fontSize:`small`})})})},U=({onSelect:e,releasePlan:t})=>{let[n,r]=(0,k.useState)(null),{trackEvent:i}=_();return(0,A.jsxs)(P,{children:[(0,A.jsxs)(F,{children:[(0,A.jsx)(C,{onClick:e=>{i(`safeguards`,{props:{eventType:`choose safeguard opened`}}),r(e.currentTarget)},color:`primary`,startIcon:(0,A.jsx)(D,{}),sx:{mt:2,mb:2,ml:2,mr:.5},children:`Add safeguard`}),(0,A.jsx)(H,{})]}),(0,A.jsxs)(I,{anchorEl:n,open:!!n,onClose:()=>r(null),children:[(0,A.jsx)(L,{disableSticky:!0,children:`Select safeguard action`}),(0,A.jsx)(l,{sx:R,onClick:()=>{i(`safeguards`,{props:{eventType:`form opened`,safeguardType:`featureEnvironment`}}),e(`featureEnvironment`),r(null)},children:(0,A.jsxs)(f,{children:[(0,A.jsx)(d,{variant:`body2`,children:`Disable environment`}),(0,A.jsx)(B,{variant:`caption`,children:`If your chosen metric crosses its threshold, this flag is turned off in this environment. Existing users stop seeing the flag immediately.`})]})}),(0,A.jsx)(a,{title:t?``:`Add a release plan to use this safeguard`,placement:`right`,arrow:!0,children:(0,A.jsx)(z,{children:(0,A.jsx)(l,{component:`div`,sx:R,disabled:!t,onClick:()=>{i(`safeguards`,{props:{eventType:`form opened`,safeguardType:`releasePlan`}}),e(`releasePlan`),r(null)},children:(0,A.jsxs)(f,{children:[(0,A.jsx)(d,{variant:`body2`,children:`Pause release plan automation`}),(0,A.jsx)(B,{variant:`caption`,children:`If your chosen metric crosses its threshold, automatic milestone progression stops. The current milestone keeps serving traffic.`})]})})})})]})]})},W=({projectId:e,featureId:t,environmentName:n,safeguardType:r,releasePlan:i,safeguard:a,onSafeguardChange:o})=>{let{setToastData:s,setToastApiError:c}=m(),{trackEvent:l}=_(),{addChange:u}=b(),{isChangeRequestConfigured:d}=v(e),{data:f,refetch:p}=w(e),{createOrUpdateReleasePlanSafeguard:g,deleteReleasePlanSafeguard:y,createOrUpdateFeatureEnvironmentSafeguard:x,deleteFeatureEnvironmentSafeguard:S}=M(),[C,T]=(0,k.useState)(!1),[E,D]=(0,k.useState)(!1),[O,A]=(0,k.useState)(!1),[j,N]=(0,k.useState)(null),[P,F]=(0,k.useState)(!1),I=d(n),L=r===`releasePlan`&&i?r=>g({projectId:e,featureName:t,environment:n,planId:i.id,body:r}):r=>x({projectId:e,featureName:t,environment:n,body:r}),R=r===`releasePlan`&&i?r=>y({projectId:e,featureName:t,environment:n,planId:i.id,safeguardId:r}):r=>S({projectId:e,featureName:t,environment:n,safeguardId:r}),z=async e=>{if(l(`safeguards`,{props:{eventType:`safeguard submitted`,safeguardType:r}}),I){N(e),A(!0);return}try{await L(e),s({type:`success`,text:`Safeguard added successfully`}),o()}catch(e){c(h(e))}},B=async()=>{if(j)try{if(r===`featureEnvironment`)await u(e,n,{feature:t,action:`changeFeatureEnvSafeguard`,payload:{safeguard:j}});else{if(!i)return;await u(e,n,{feature:t,action:`changeReleasePlanSafeguard`,payload:{planId:i.id,safeguard:j}})}await p(),s({type:`success`,text:`Added to draft`}),o()}catch(e){c(h(e))}finally{A(!1),N(null)}},V=()=>{a&&(I?D(!0):T(!0))},H=async()=>{if(!(!a||P)){F(!0);try{await R(a.id),s({type:`success`,text:`Safeguard deleted successfully`}),o()}catch(e){c(h(e))}finally{F(!1),T(!1)}}},U=async()=>{if(!(!a||P)){F(!0);try{if(r===`featureEnvironment`)await u(e,n,{feature:t,action:`deleteFeatureEnvSafeguard`,payload:{safeguardId:a.id}});else{if(!i)return;await u(e,n,{feature:t,action:`deleteReleasePlanSafeguard`,payload:{planId:i.id,safeguardId:a.id}})}await p(),s({type:`success`,text:`Added to draft`}),o()}catch(e){c(h(e))}finally{F(!1),D(!1)}}},W=e=>{let t=(e.action===`changeReleasePlanSafeguard`||e.action===`deleteReleasePlanSafeguard`)&&!!i&&e.payload?.planId===i.id,n=e.action===`changeFeatureEnvSafeguard`||e.action===`deleteFeatureEnvSafeguard`;return t||n};return{handleSubmit:z,handleDeleteRequest:V,pendingSafeguardAction:(0,k.useMemo)(()=>{if(!f)return null;for(let e of f){if(e.environment!==n)continue;let r=e.features.find(e=>e.name===t);if(!r)continue;let i=r.changes.find(W);if(i)return i.action}return null},[f,n,t,i?.id]),deleteDialog:{open:C,isDeleting:P,onConfirm:H,onClose:()=>{P||T(!1)}},deleteChangeRequestDialog:{open:E,isDeleting:P,onConfirm:U,onClose:()=>D(!1)},submitChangeRequestDialog:{open:O,data:j,onConfirm:B,onClose:()=>{A(!1),N(null)}}}},G=({safeguardType:e,releasePlan:t,safeguard:n,environmentName:r,featureId:i,onSafeguardChange:a,onCancel:o,headerAction:s})=>{let{handleSubmit:c,handleDeleteRequest:l,pendingSafeguardAction:u,deleteDialog:d,deleteChangeRequestDialog:f,submitChangeRequestDialog:p}=W({projectId:T(`projectId`),featureId:i,environmentName:r,safeguardType:e,releasePlan:t,safeguard:n,onSafeguardChange:a});return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(x,{safeguard:n,onSubmit:c,onCancel:o,onDelete:n?l:void 0,environment:r,featureId:i,badge:u===`deleteReleasePlanSafeguard`||u===`deleteFeatureEnvSafeguard`?(0,A.jsx)(E,{color:`error`,children:`Deleted in draft`}):u===`changeReleasePlanSafeguard`||u===`changeFeatureEnvSafeguard`?(0,A.jsx)(E,{color:`warning`,children:`Modified in draft`}):void 0,safeguardType:e,headerAction:s}),p.data&&(0,A.jsx)(j,{isOpen:p.open,onConfirm:p.onConfirm,onClose:()=>{p.onClose(),o()},safeguardData:p.data,environment:r,mode:n?`edit`:`create`,safeguardType:e}),n&&(0,A.jsx)(N,{open:d.open,onClose:d.onClose,onConfirm:d.onConfirm,isDeleting:d.isDeleting}),n&&(0,A.jsx)(S,{title:`Request changes`,open:f.open,secondaryButtonText:`Cancel`,onClose:f.onClose,primaryButtonText:`Add suggestion to draft`,onClick:f.onConfirm,disabledPrimaryButton:f.isDeleting,children:(0,A.jsxs)(`p`,{children:[(0,A.jsx)(`strong`,{children:`Remove`}),` safeguard`,t&&(0,A.jsxs)(A.Fragment,{children:[` `,`from release plan`,` `,(0,A.jsx)(`strong`,{children:t.name})]}),` `,`for `,(0,A.jsx)(`strong`,{children:i}),` in`,` `,(0,A.jsx)(`strong`,{children:r})]})})]})},K=({featureEnvSafeguard:e,releasePlan:t,environmentName:n,featureId:r,onSafeguardChange:i})=>{let a=t?.safeguards?.[0],[o,s]=(0,k.useState)(null),c=()=>{s(null),i()};return e||a?(0,A.jsxs)(A.Fragment,{children:[e&&(0,A.jsx)(P,{children:(0,A.jsx)(G,{safeguardType:`featureEnvironment`,safeguard:e,environmentName:n,featureId:r,onSafeguardChange:c,onCancel:()=>{},headerAction:(0,A.jsx)(H,{})})}),a&&(0,A.jsx)(P,{children:(0,A.jsx)(G,{safeguardType:`releasePlan`,releasePlan:t,safeguard:a,environmentName:n,featureId:r,onSafeguardChange:c,onCancel:()=>{},headerAction:(0,A.jsx)(H,{})})})]}):o===`featureEnvironment`?(0,A.jsx)(P,{children:(0,A.jsx)(G,{safeguardType:`featureEnvironment`,environmentName:n,featureId:r,onSafeguardChange:i,onCancel:()=>s(null)})}):o===`releasePlan`&&t?(0,A.jsx)(P,{children:(0,A.jsx)(G,{safeguardType:`releasePlan`,releasePlan:t,environmentName:n,featureId:r,onSafeguardChange:i,onCancel:()=>s(null)})}):(0,A.jsx)(U,{onSelect:s,releasePlan:t})};export{U as AddSafeguard,K as Safeguard,K as default};
@@ -1 +0,0 @@
1
- import{i as e,o as t,t as n}from"./react-GZhdek4G.js";import{f as r}from"./chunk-QUQL4437-Dr42NpoL.js";import{l as i,t as a}from"./useTheme-CQqAmDLr.js";import{t as o}from"./jsx-runtime-BnvnyDTF.js";import{v as s}from"./createSimplePaletteValueFilter-BRAMrHWJ.js";import{t as c}from"./Tooltip-BaILXXti.js";import{i as l,r as u}from"./TextField-oipjeg6n.js";import{i as d}from"./CircularProgress-C_LUU3DK.js";import{r as f}from"./Alert-_bLyWbvx.js";import{t as p}from"./Typography-BTdLWIUX.js";import{t as m}from"./Box-BQsxfFmC.js";import{t as h}from"./Button-CebB8EPB.js";import{r as g}from"./FileCopy-B8HZEA83.js";import{t as _}from"./HelpOutlineOutlined-CpMsVJZu.js";import{$ as ee,As as v,Fn as y,Xs as b,et as te,js as x,ks as ne,ls as S,u as re,ua as ie}from"./index-BJ2iUk24.js";import{c as ae,d as C,f as oe,n as w,o as T,s as se,t as E}from"./DialogWithAside-BvaGTcqO.js";import{n as D,t as ce}from"./SelectSdk-D2NaTubs.js";import{n as O,r as k,t as le}from"./ChatOutlined-jZlhx14o.js";var ue=e({Default:()=>fe,WithLongContent:()=>pe,meta:()=>de}),A=t(n(),1),j=o(),de={title:`Common/DialogWithAside`,background:`application`},M=()=>(0,j.jsxs)(m,{sx:{p:3,display:`flex`,flexDirection:`column`,gap:2},children:[(0,j.jsx)(p,{variant:`body2`,sx:{fontWeight:`bold`},children:`Aside panel`}),(0,j.jsx)(p,{variant:`body2`,children:`This area is always 320 px wide and hidden below the md breakpoint. The close button in the header handles dismissal on all screen sizes.`})]}),fe=()=>{let[e,t]=(0,A.useState)(!0);return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(h,{variant:`contained`,onClick:()=>t(!0),children:`Open dialog`}),(0,j.jsx)(E,{open:e,onClose:()=>t(!1),title:`Dialog title`,aside:(0,j.jsx)(M,{}),children:(0,j.jsxs)(m,{sx:{p:3,display:`flex`,flexDirection:`column`,gap:2},children:[(0,j.jsx)(p,{variant:`body1`,sx:{fontWeight:`bold`},children:`Main content`}),(0,j.jsx)(p,{variant:`body2`,children:`Children are rendered in the scrollable left column.`})]})})]})},pe=()=>{let[e,t]=(0,A.useState)(!1);return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(h,{variant:`contained`,onClick:()=>t(!0),children:`Open dialog`}),(0,j.jsx)(E,{open:e,onClose:()=>t(!1),title:`Scrolling content`,aside:(0,j.jsx)(M,{}),children:(0,j.jsx)(m,{sx:{p:3,display:`flex`,flexDirection:`column`,gap:3},children:Array.from({length:12},(e,t)=>(0,j.jsxs)(m,{children:[(0,j.jsxs)(p,{variant:`body2`,sx:{fontWeight:`bold`,mb:.5},children:[`Section `,t+1]}),(0,j.jsx)(p,{variant:`body2`,children:`Content scrolls inside the left column while the aside and header stay fixed.`})]},t))})})]})},me=e({Android:()=>we,DotNet:()=>I,Flutter:()=>Te,Go:()=>F,Java:()=>_e,JavaScript:()=>ye,MissingSnippet:()=>Ee,NodeJs:()=>P,Php:()=>R,Python:()=>ve,React:()=>be,Ruby:()=>L,Rust:()=>ge,Svelte:()=>Se,Swift:()=>Ce,Vue:()=>xe,meta:()=>he}),he={title:`Onboarding/ImplementFlagDialog/FlagUsageSnippet`,background:`paper`},N=`my-feature-flag`,P=()=>(0,j.jsx)(D,{sdkName:`Node.js`,feature:N}),F=()=>(0,j.jsx)(D,{sdkName:`Go`,feature:N}),I=()=>(0,j.jsx)(D,{sdkName:`.NET`,feature:N}),L=()=>(0,j.jsx)(D,{sdkName:`Ruby`,feature:N}),R=()=>(0,j.jsx)(D,{sdkName:`PHP`,feature:N}),ge=()=>(0,j.jsx)(D,{sdkName:`Rust`,feature:N}),_e=()=>(0,j.jsx)(D,{sdkName:`Java`,feature:N}),ve=()=>(0,j.jsx)(D,{sdkName:`Python`,feature:N}),ye=()=>(0,j.jsx)(D,{sdkName:`JavaScript`,feature:N}),be=()=>(0,j.jsx)(D,{sdkName:`React`,feature:N}),xe=()=>(0,j.jsx)(D,{sdkName:`Vue`,feature:N}),Se=()=>(0,j.jsx)(D,{sdkName:`Svelte`,feature:N}),Ce=()=>(0,j.jsx)(D,{sdkName:`Swift`,feature:N}),we=()=>(0,j.jsx)(D,{sdkName:`Android`,feature:N}),Te=()=>(0,j.jsx)(D,{sdkName:`Flutter`,feature:N}),Ee=()=>(0,j.jsx)(D,{sdkName:`Unknown`,feature:`my-feature-flag`}),De=e({Default:()=>Ae,meta:()=>Oe}),Oe={title:`Onboarding/ImplementFlagDialog/SelectSdk`,background:`paper`},ke=({initial:e})=>{let[t,n]=(0,A.useState)(e);return(0,j.jsx)(ce,{value:t,onChange:n})},Ae=()=>(0,j.jsx)(ke,{initial:oe[0].name}),je=d((0,j.jsx)(`path`,{d:`M12 3 1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9zm6.82 6L12 12.72 5.18 9 12 5.28zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73z`}),`SchoolOutlined`),Me=e=>(0,j.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:18,height:18,viewBox:`0 0 18 18`,fill:`none`,...e,children:[(0,j.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M7.00003 1.5C6.80284 1.50018 6.60762 1.53913 6.42551 1.61462C6.2434 1.69011 6.07798 1.80066 5.93869 1.93996C5.7994 2.07927 5.68896 2.24459 5.6137 2.42649C5.53843 2.60839 5.4998 2.80331 5.50002 3.00011C5.49984 3.19688 5.53849 3.39177 5.61378 3.57364C5.68906 3.75551 5.7995 3.9208 5.93879 4.06007C6.07807 4.19934 6.24349 4.30987 6.42557 4.38534C6.60766 4.46081 6.80286 4.49975 7.00003 4.49994H8.50004V3.00011C8.50026 2.80331 8.46163 2.60839 8.38636 2.42649C8.3111 2.24459 8.20066 2.07927 8.06137 1.93996C7.92208 1.80066 7.75666 1.69011 7.57455 1.61462C7.39244 1.53913 7.19722 1.50018 7.00003 1.5ZM7.00003 5.50019H3.00001C2.80284 5.50038 2.60764 5.53931 2.42555 5.61479C2.24346 5.69026 2.07805 5.80079 1.93877 5.94006C1.79948 6.07933 1.68904 6.24462 1.61375 6.42649C1.53847 6.60836 1.49982 6.80324 1.5 7.00002C1.49978 7.19682 1.53841 7.39174 1.61367 7.57364C1.68894 7.75554 1.79937 7.92086 1.93867 8.06016C2.07796 8.19947 2.24338 8.31002 2.42549 8.38551C2.6076 8.461 2.80282 8.49995 3.00001 8.50013H7.00003C7.19722 8.49995 7.39244 8.461 7.57455 8.38551C7.75666 8.31002 7.92208 8.19947 8.06137 8.06016C8.20066 7.92086 8.3111 7.75554 8.38636 7.57364C8.46163 7.39174 8.50026 7.19682 8.50004 7.00002C8.50022 6.80324 8.46157 6.60836 8.38628 6.42649C8.311 6.24462 8.20056 6.07933 8.06127 5.94006C7.92199 5.80079 7.75657 5.69026 7.57449 5.61479C7.3924 5.53931 7.1972 5.50038 7.00003 5.50019ZM16.5001 7.00002C16.5003 6.80324 16.4616 6.60836 16.3863 6.42649C16.311 6.24462 16.2006 6.07933 16.0613 5.94006C15.922 5.80079 15.7566 5.69026 15.5745 5.61479C15.3924 5.53931 15.1972 5.50038 15.0001 5.50019C14.8029 5.50038 14.6077 5.53931 14.4256 5.61479C14.2435 5.69026 14.0781 5.80079 13.9388 5.94006C13.7995 6.07933 13.6891 6.24462 13.6138 6.42649C13.5385 6.60836 13.4999 6.80324 13.5001 7.00002V8.50013H15.0001C15.1973 8.49995 15.3925 8.461 15.5746 8.38551C15.7567 8.31002 15.9221 8.19947 16.0614 8.06016C16.2007 7.92086 16.3111 7.75554 16.3864 7.57364C16.4617 7.39174 16.5003 7.19682 16.5001 7.00002ZM12.5001 7.00002V3.00011C12.5003 2.80331 12.4617 2.60839 12.3864 2.42649C12.3111 2.24459 12.2007 2.07927 12.0614 1.93996C11.9221 1.80066 11.7567 1.69011 11.5746 1.61462C11.3925 1.53913 11.1972 1.50018 11.0001 1.5C10.8029 1.50018 10.6076 1.53913 10.4255 1.61462C10.2434 1.69011 10.078 1.80066 9.93871 1.93996C9.79942 2.07927 9.68898 2.24459 9.61372 2.42649C9.53845 2.60839 9.49982 2.80331 9.50004 3.00011V7.00002C9.49982 7.19682 9.53845 7.39174 9.61372 7.57364C9.68898 7.75554 9.79942 7.92086 9.93871 8.06016C10.078 8.19947 10.2434 8.31002 10.4255 8.38551C10.6076 8.461 10.8029 8.49995 11.0001 8.50013C11.1972 8.49995 11.3925 8.461 11.5746 8.38551C11.7567 8.31002 11.9221 8.19947 12.0614 8.06016C12.2007 7.92086 12.3111 7.75554 12.3864 7.57364C12.4617 7.39174 12.5003 7.19682 12.5001 7.00002Z`,fill:`#78787A`}),(0,j.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M11.0001 16.5001C11.1972 16.4999 11.3925 16.461 11.5746 16.3855C11.7567 16.31 11.9221 16.1995 12.0614 16.0602C12.2007 15.9209 12.3111 15.7555 12.3864 15.5736C12.4617 15.3917 12.5003 15.1968 12.5001 15C12.5002 14.8032 12.4616 14.6084 12.3863 14.4265C12.311 14.2446 12.2006 14.0793 12.0613 13.9401C11.922 13.8008 11.7566 13.6903 11.5745 13.6148C11.3924 13.5393 11.1972 13.5004 11.0001 13.5002H9.50004V15C9.49982 15.1968 9.53845 15.3917 9.61372 15.5736C9.68898 15.7555 9.79942 15.9209 9.93871 16.0602C10.078 16.1995 10.2434 16.31 10.4255 16.3855C10.6076 16.461 10.8029 16.4999 11.0001 16.5001ZM11.0001 12.4999H15.0001C15.1972 12.4998 15.3924 12.4608 15.5745 12.3853C15.7566 12.3099 15.922 12.1993 16.0613 12.0601C16.2006 11.9208 16.311 11.7555 16.3863 11.5736C16.4616 11.3918 16.5003 11.1969 16.5001 11.0001C16.5003 10.8033 16.4617 10.6084 16.3864 10.4265C16.3111 10.2446 16.2007 10.0793 16.0614 9.93996C15.9221 9.80066 15.7567 9.69011 15.5746 9.61462C15.3925 9.53913 15.1973 9.50018 15.0001 9.5H11.0001C10.8029 9.50018 10.6076 9.53913 10.4255 9.61462C10.2434 9.69011 10.078 9.80066 9.93871 9.93996C9.79942 10.0793 9.68898 10.2446 9.61372 10.4265C9.53845 10.6084 9.49982 10.8033 9.50004 11.0001C9.49986 11.1969 9.53851 11.3918 9.6138 11.5736C9.68908 11.7555 9.79952 11.9208 9.93881 12.0601C10.0781 12.1993 10.2435 12.3099 10.4256 12.3853C10.6077 12.4608 10.8029 12.4998 11.0001 12.4999ZM1.5 11.0001C1.49982 11.1969 1.53847 11.3918 1.61375 11.5736C1.68904 11.7555 1.79948 11.9208 1.93877 12.0601C2.07805 12.1993 2.24346 12.3099 2.42555 12.3853C2.60764 12.4608 2.80284 12.4998 3.00001 12.4999C3.19718 12.4998 3.39238 12.4608 3.57447 12.3853C3.75655 12.3099 3.92196 12.1993 4.06125 12.0601C4.20054 11.9208 4.31098 11.7555 4.38626 11.5736C4.46155 11.3918 4.5002 11.1969 4.50002 11.0001V9.5H3.00001C2.8028 9.50018 2.60755 9.53914 2.42542 9.61465C2.2433 9.69015 2.07786 9.80073 1.93857 9.94006C1.79927 10.0794 1.68884 10.2447 1.61359 10.4267C1.53834 10.6086 1.49974 10.8036 1.5 11.0004V11.0001ZM5.50002 11.0001V15C5.4998 15.1968 5.53843 15.3917 5.6137 15.5736C5.68896 15.7555 5.7994 15.9209 5.93869 16.0602C6.07798 16.1995 6.2434 16.31 6.42551 16.3855C6.60762 16.461 6.80284 16.4999 7.00003 16.5001C7.19722 16.4999 7.39244 16.461 7.57455 16.3855C7.75666 16.31 7.92208 16.1995 8.06137 16.0602C8.20066 15.9209 8.3111 15.7555 8.38636 15.5736C8.46163 15.3917 8.50026 15.1968 8.50004 15V11.0004C8.50026 10.8036 8.46163 10.6087 8.38636 10.4268C8.3111 10.2449 8.20066 10.0795 8.06137 9.94024C7.92208 9.80094 7.75666 9.69039 7.57455 9.6149C7.39244 9.53941 7.19722 9.50046 7.00003 9.50028C6.80284 9.50046 6.60762 9.53941 6.42551 9.6149C6.2434 9.69039 6.07798 9.80094 5.93869 9.94024C5.7994 10.0795 5.68896 10.2449 5.6137 10.4268C5.53843 10.6087 5.4998 10.8036 5.50002 11.0004`,fill:`#78787A`})]}),Ne=e=>(0,j.jsxs)(`svg`,{width:75,height:50,viewBox:`0 0 75 50`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,j.jsx)(`rect`,{width:75,height:50,rx:8,fill:`white`,fillOpacity:.1}),(0,j.jsx)(`circle`,{cx:61,cy:14,r:5,fill:`#98E3AF`}),(0,j.jsx)(`rect`,{x:9,y:34,width:10,height:10,fill:`#6C65E5`}),(0,j.jsx)(`rect`,{x:51,y:29,width:15,height:15,fill:`#EDF0F1`}),(0,j.jsx)(`circle`,{cx:37.5,cy:24.5,r:12.5,fill:`white`,fillOpacity:.9}),(0,j.jsx)(`g`,{clipPath:`url(#clip0_37278_7520)`,children:(0,j.jsx)(`path`,{d:`M35.666 20.918V29.0846L42.0827 25.0013L35.666 20.918Z`,fill:`#1A4049`})}),(0,j.jsx)(`defs`,{children:(0,j.jsx)(`clipPath`,{id:`clip0_37278_7520`,children:(0,j.jsx)(`rect`,{width:14,height:14,fill:`white`,transform:`translate(31 18)`})})})]}),Pe=s(f)(({theme:e})=>({color:e.palette.primary.main,borderRadius:100,"&:focus-visible":{outlineStyle:`solid`,outlineWidth:2,outlineColor:e.palette.primary.main,borderRadius:`100%`}})),Fe=s(l)(({theme:e})=>({"& .MuiPaper-root":{width:e.spacing(40),borderRadius:`${e.shape.borderRadiusSmall}px`}})),z=s(m)(({theme:e})=>({display:`flex`,alignItems:`center`,gap:e.spacing(.5),color:e.mode===`dark`?e.palette.primary.main:e.palette.secondary.border,"& svg":{color:e.mode===`dark`?e.palette.primary.main:e.palette.secondary.border}})),Ie=s(u)(({theme:e})=>({margin:e.spacing(1,1,1,1.125),padding:e.spacing(1.5,2),borderRadius:`${e.shape.borderRadiusMedium}px`,backgroundColor:e.palette.web.main,color:e.palette.common.white,display:`flex`,alignItems:`center`,gap:e.spacing(1.5),"&:hover":{backgroundColor:i(e.palette.web.main,.1),[`& ${z}`]:{textDecoration:`underline`}},"&.Mui-focusVisible":{backgroundColor:i(e.palette.web.main,.1)}})),Le=s(p)(({theme:e})=>({color:e.palette.common.white,fontWeight:700})),Re=s(p)(({theme:e})=>({fontWeight:e.typography.fontWeightBold})),ze=s(p)(({theme:e})=>({color:e.palette.web.contrastText,lineHeight:`105%`,whiteSpace:`normal`,wordBreak:`break-word`})),Be=s(Ne)({width:`75px`,height:`50px`,flexShrink:0}),Ve=s(m)(({theme:e})=>({display:`flex`,flexDirection:`column`,gap:e.spacing(.5)})),B=s(u)(({theme:e})=>({display:`flex`,alignItems:`center`,gap:e.spacing(1),padding:e.spacing(1,2,1,1.125),alignSelf:`stretch`,"& svg":{color:e.palette.neutral.main,width:18,height:18}})),He=`https://docs.getunleash.io/`,Ue=`https://github.com/Unleash/unleash`,We=`https://slack.unleash.run/`,V=`https://docs.getunleash.io/`,H=`help-resources`,Ge=()=>{let[e,t]=(0,A.useState)(null),n=!!e,{trackEvent:r}=re(),i=e=>{t(e.currentTarget),r(H,{props:{eventType:`opened`}})},a=()=>t(null),o=e=>{r(H,{props:{eventType:`click`,option:e}}),a()},{openFeedback:s}=y(`general`,`automatic`);return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(c,{title:`Help & Resources`,arrow:!0,children:(0,j.jsx)(Pe,{size:`large`,onClick:i,"aria-haspopup":`true`,"aria-expanded":n,"aria-label":`Help and resources`,children:(0,j.jsx)(_,{})})}),(0,j.jsxs)(Fe,{anchorEl:e,open:n,onClose:a,anchorOrigin:{vertical:`bottom`,horizontal:`right`},transformOrigin:{vertical:`top`,horizontal:`right`},children:[(0,j.jsxs)(Ie,{component:`a`,href:V,target:`_blank`,rel:`noopener noreferrer`,onClick:()=>o(`learning-lab-featured`),disableGutters:!0,children:[(0,j.jsx)(Be,{}),(0,j.jsxs)(Ve,{children:[(0,j.jsx)(Le,{variant:`subtitle2`,children:`Learning Lab`}),(0,j.jsx)(ze,{variant:`body2`,children:`Learn Unleash at your own pace. Watch short videos on FeatureOps, feature flags, and AI-native development.`}),(0,j.jsxs)(z,{children:[(0,j.jsx)(Re,{variant:`body2`,color:`inherit`,children:`Visit Learning Lab`}),(0,j.jsx)(ie,{fontSize:`small`})]})]})]}),(0,j.jsxs)(B,{component:`a`,href:He,target:`_blank`,rel:`noopener noreferrer`,onClick:()=>o(`documentation`),children:[(0,j.jsx)(g,{fontSize:`small`}),`Documentation`]}),(0,j.jsxs)(B,{component:`a`,href:V,target:`_blank`,rel:`noopener noreferrer`,onClick:()=>o(`learning-lab`),children:[(0,j.jsx)(je,{fontSize:`small`}),`Learning Lab`]}),(0,j.jsxs)(B,{component:`a`,href:Ue,target:`_blank`,rel:`noopener noreferrer`,onClick:()=>o(`github`),children:[(0,j.jsx)(S,{fontSize:`small`}),`GitHub`]}),(0,j.jsxs)(B,{onClick:()=>{o(`give-feedback`),s({title:`How easy is it to use Unleash?`,positiveLabel:`What do you like most about Unleash?`,areasForImprovementsLabel:`What should be improved in Unleash?`})},children:[(0,j.jsx)(le,{fontSize:`small`}),`Give feedback`]}),(0,j.jsxs)(B,{component:`a`,href:We,target:`_blank`,rel:`noopener noreferrer`,onClick:()=>o(`slack`),children:[(0,j.jsx)(Me,{}),`Slack community`]})]})]})},Ke=e({Default:()=>Je,meta:()=>qe}),qe={title:`Menu/Header/HelpResources`},Je=()=>(0,j.jsx)(Ge,{}),Ye=e({Default:()=>Ze,meta:()=>Xe}),Xe={title:`Onboarding / GenerateApiKey`,background:`paper`},Ze=()=>(0,j.jsx)(se,{projectId:`my-project`,environments:[`production`,`development`,`staging`],sdk:{type:`client`},onApiKeyChange:e=>console.log(`API key changed:`,e),onNext:()=>console.log(`Next clicked`)}),Qe=e({Default:()=>et,LongKey:()=>tt,NoKey:()=>nt,meta:()=>$e}),$e={title:`Onboarding / GenerateApiKeySummary`,background:`paper`},et=()=>(0,j.jsx)(T,{apiKey:`my-project:production.0efcb2447a1b9f417c90afea8415dd867f1998bea7db9c13714554f3`}),tt=()=>(0,j.jsx)(T,{apiKey:`my-very-long-project-name:some-environment-name.averylongsecretkeythatshouldgettruncated12345`}),nt=()=>(0,j.jsx)(T,{}),rt=e({Default:()=>at,meta:()=>it}),it={title:`Onboarding / TokenExplanation`,background:`paper`},at=()=>(0,j.jsx)(ae,{project:`my-project-here`,environment:`production`,secret:`0efcb2447a1b9f417c90afea8415dd867f1998bea7db9c13714554f3`}),ot=e({Default:()=>ct,WithSelection:()=>lt,meta:()=>st}),st={title:`Onboarding / SelectSdk`,background:`paper`},ct=()=>(0,j.jsx)(C,{onSelect:e=>console.log(`Selected SDK:`,e)}),lt=()=>(0,j.jsx)(C,{sdk:{name:`Node.js`,type:`client`},onSelect:e=>console.log(`Selected SDK:`,e)}),ut=e({Default:()=>pt,meta:()=>dt}),dt={title:`Onboarding/SdkEvaluationStatus`,background:`paper`},ft=s(`div`)(({theme:e})=>({display:`flex`,flexDirection:`column`,gap:e.spacing(4),maxWidth:600})),U=s(`div`)(({theme:e})=>({display:`flex`,flexDirection:`column`,gap:e.spacing(1)})),W={connectedTitle:`We received metrics from your application`,connectedBody:`Your SDK is connected and evaluating flags.`,waitingTitle:`Waiting for SDK data...`,waitingBody:`Run your app and evaluate your flag. This step completes on its own.`},G={connectedTitle:`Got the first evaluation!`,connectedBody:`Your flag is wired up. Finish setup to close this dialog.`,waitingTitle:`Listening for the first evaluation…`,waitingBody:`Run your app and evaluate your flag.`},pt=()=>(0,j.jsxs)(ft,{children:[(0,j.jsxs)(U,{children:[(0,j.jsx)(p,{variant:`subtitle2`,children:`ConfigureSdk — waiting`}),(0,j.jsx)(w,{sdkConnected:!1,...W})]}),(0,j.jsxs)(U,{children:[(0,j.jsx)(p,{variant:`subtitle2`,children:`ConfigureSdk — waiting with troubleshooting`}),(0,j.jsx)(w,{sdkConnected:!1,showTroubleshooting:!0,troubleshootingText:`Not seeing evaluations after ~30s? Make sure your app has started and that the client was initialized with the API key from step 2.`,...W})]}),(0,j.jsxs)(U,{children:[(0,j.jsx)(p,{variant:`subtitle2`,children:`ConfigureSdk — connected`}),(0,j.jsx)(w,{sdkConnected:!0,...W})]}),(0,j.jsxs)(U,{children:[(0,j.jsx)(p,{variant:`subtitle2`,children:`ImplementFlagDialog — waiting`}),(0,j.jsx)(w,{sdkConnected:!1,...G})]}),(0,j.jsxs)(U,{children:[(0,j.jsx)(p,{variant:`subtitle2`,children:`ImplementFlagDialog — evaluated`}),(0,j.jsx)(w,{sdkConnected:!0,...G})]})]}),mt=e({Completed:()=>yt,FirstStep:()=>_t,JustStarted:()=>gt,SecondStep:()=>vt,meta:()=>ht}),ht={title:`Onboarding / OnboardingProgress`,background:`paper`},gt=()=>(0,j.jsx)(O,{step:0,maxSteps:3,onDismiss:()=>{}}),_t=()=>(0,j.jsx)(O,{step:1,maxSteps:3,onDismiss:()=>{}}),vt=()=>(0,j.jsx)(O,{step:2,maxSteps:3,onDismiss:()=>{}}),yt=()=>(0,j.jsx)(O,{step:3,maxSteps:3,onDismiss:()=>{}}),bt=e({Active:()=>Ct,Disabled:()=>St,Done:()=>wt,meta:()=>xt}),xt={title:`Onboarding / ConnectSdkStep`,background:`paper`},St=()=>(0,j.jsx)(k,{projectId:`my-project`,setConnectSdkOpen:(...e)=>{console.log(`Open Connect SDK`,e)},state:`disabled`}),Ct=()=>(0,j.jsx)(k,{projectId:`my-project`,setConnectSdkOpen:(...e)=>{console.log(`Open Connect SDK`,e)},state:`active`}),wt=()=>(0,j.jsx)(k,{projectId:`my-project`,setConnectSdkOpen:(...e)=>{console.log(`Open Connect SDK`,e)},state:`done`}),Tt=e({AllColors:()=>Mt,meta:()=>Et}),Et={title:`Theme / Colors`,background:`application`},Dt=new Set([`mode`,`augmentColor`,`getContrastText`,`contrastThreshold`,`tonalOffset`]);function K(e,t=``){if(typeof e!=`object`||!e)return[];let n=[];for(let[r,i]of Object.entries(e)){if(Dt.has(r)||typeof i==`function`)continue;let e=t?`${t}.${r}`:r;typeof i==`string`&&Ot(i)?n.push({path:e,value:i}):Array.isArray(i)&&i.length>0&&i.every(e=>typeof e==`string`)?n.push({path:e,values:i}):typeof i==`object`&&i&&!Array.isArray(i)&&n.push(...K(i,e))}return n}function Ot(e){return e.startsWith(`#`)||e.startsWith(`rgb`)||e.startsWith(`hsl`)}function kt(e){let t=new Map;for(let n of e){let e=n.path.split(`.`)[0];t.has(e)||t.set(e,[]),t.get(e).push(n)}return Array.from(t.entries())}var q=({color:e,size:t=36})=>(0,j.jsx)(m,{title:e,sx:{width:t,height:t,background:e,borderRadius:`4px`,border:`1px solid rgba(128,128,128,0.2)`,flexShrink:0}}),At=({path:e,value:t})=>(0,j.jsxs)(m,{sx:{display:`flex`,alignItems:`center`,gap:1.5,py:.5},children:[(0,j.jsx)(q,{color:t}),(0,j.jsxs)(m,{sx:{flex:1,minWidth:0},children:[(0,j.jsx)(p,{component:`div`,sx:{fontFamily:`monospace`,fontSize:`0.7rem`,color:`text.secondary`,wordBreak:`break-all`,lineHeight:1.4},children:e}),(0,j.jsx)(p,{component:`div`,sx:{fontFamily:`monospace`,fontSize:`0.65rem`,color:`text.disabled`,lineHeight:1.4},children:t})]})]}),jt=({path:e,values:t})=>(0,j.jsxs)(m,{sx:{py:.75},children:[(0,j.jsxs)(p,{component:`div`,sx:{fontFamily:`monospace`,fontSize:`0.7rem`,color:`text.secondary`,mb:.5},children:[e,` (`,t.length,`)`]}),(0,j.jsx)(m,{sx:{display:`flex`,flexWrap:`wrap`,gap:.5},children:t.map((e,t)=>(0,j.jsx)(q,{color:e,size:24},t))})]}),J=({theme:e,label:t})=>{let n=kt(K(e.palette));return(0,j.jsx)(b,{theme:e,children:(0,j.jsxs)(m,{sx:{flex:1,minWidth:0,bgcolor:`background.paper`,borderRadius:1,p:2},children:[(0,j.jsx)(p,{variant:`subtitle1`,sx:{fontWeight:700,mb:2,pb:1,borderBottom:`2px solid`,borderColor:`divider`,color:`text.primary`},children:t}),n.map(([e,t])=>(0,j.jsxs)(m,{sx:{mb:2.5},children:[(0,j.jsx)(p,{component:`div`,sx:{fontSize:`0.6rem`,fontWeight:700,letterSpacing:`0.1em`,textTransform:`uppercase`,color:`text.disabled`,mb:.5,pb:.25,borderBottom:`1px solid`,borderColor:`divider`},children:e}),t.map(e=>`value`in e?(0,j.jsx)(At,{path:e.path,value:e.value},e.path):(0,j.jsx)(jt,{path:e.path,values:e.values},e.path))]},e))]})})},Mt=()=>(0,j.jsxs)(m,{sx:{display:`flex`,gap:2,alignItems:`flex-start`},children:[(0,j.jsx)(J,{theme:x,label:`Light`}),(0,j.jsx)(J,{theme:v,label:`Dark`})]}),Nt=d((0,j.jsx)(`path`,{d:`M17 7h-4v2h4c1.65 0 3 1.35 3 3s-1.35 3-3 3h-4v2h4c2.76 0 5-2.24 5-5s-2.24-5-5-5m-6 8H7c-1.65 0-3-1.35-3-3s1.35-3 3-3h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4zm-3-4h8v2H8z`}),`LinkOutlined`),Pt=Object.assign({"../common/DialogWithAside/DialogWithAside.story.tsx":ue,"../feature/FeatureView/FeatureOverview/ImplementFlagDialog/FlagUsageSnippet.story.tsx":me,"../feature/FeatureView/FeatureOverview/ImplementFlagDialog/SelectSdk.story.tsx":De,"../menu/Header/HelpResources/HelpResources.story.tsx":Ke,"../onboarding/dialog/ConnectSdkDialog/GenerateApiKey/GenerateApiKey.story.tsx":Ye,"../onboarding/dialog/ConnectSdkDialog/GenerateApiKey/GenerateApiKeySummary.story.tsx":Qe,"../onboarding/dialog/ConnectSdkDialog/GenerateApiKey/TokenExplanation.story.tsx":rt,"../onboarding/dialog/ConnectSdkDialog/SelectSdk/SelectSdk.story.tsx":ot,"../onboarding/dialog/SdkEvaluationStatus.story.tsx":ut,"../onboarding/flow/OnboardingProgress.story.tsx":mt,"../onboarding/flow/steps/ConnectSdkStep.story.tsx":bt,"../../themes/ThemeColors.story.tsx":Tt});function Ft(){let e=[];for(let[t,n]of Object.entries(Pt)){if(!n.meta)continue;let r=Object.entries(n).filter(([e,t])=>e!==`meta`&&typeof t==`function`).map(([e,t])=>({name:e,component:t}));if(r.length===0)continue;let i=n.meta.title.split(`/`).map(e=>e.trim()),a=i.pop()??n.meta.title,o=i.length>0?i.join(` / `):`General`;e.push({moduleKey:t,meta:n.meta,category:o,name:a,stories:r})}return e.sort((e,t)=>e.category.localeCompare(t.category)||e.name.localeCompare(t.name))}var Y=Ft(),X=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``),Z=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,`-`),Q=e=>`${X(e.category)}/${X(e.name)}`,It=[{key:`paper`,label:`Paper`},{key:`elevation1`,label:`Elevation 1`},{key:`elevation2`,label:`Elevation 2`},{key:`application`,label:`Application`},{key:`sidebar`,label:`Sidebar`}],Lt=s(`div`)({display:`flex`,height:`100vh`,overflow:`hidden`}),Rt=s(`nav`)(({theme:e})=>({width:220,flexShrink:0,borderRight:`1px solid ${e.palette.divider}`,display:`flex`,flexDirection:`column`,overflow:`hidden`,background:e.palette.background.paper})),zt=s(`div`)(({theme:e})=>({display:`flex`,alignItems:`center`,justifyContent:`space-between`,padding:e.spacing(1.5,2),borderBottom:`1px solid ${e.palette.divider}`,flexShrink:0})),$=s(`div`)({flex:1,overflowY:`auto`,padding:`8px 4px`}),Bt=s(`div`)(({theme:e})=>({fontSize:10,fontWeight:700,letterSpacing:`0.1em`,textTransform:`uppercase`,color:e.palette.text.disabled,padding:e.spacing(1.5,1.5,.5)})),Vt=s(`button`,{shouldForwardProp:e=>e!==`isSelected`})(({theme:e,isSelected:t})=>({display:`block`,width:`100%`,textAlign:`left`,border:`none`,borderRadius:e.shape.borderRadius,padding:e.spacing(.75,1.5),cursor:`pointer`,fontSize:13,background:t?e.palette.action.selected:`transparent`,color:t?e.palette.primary.main:e.palette.text.primary,fontWeight:t?500:400,"&:hover":{background:t?e.palette.action.selected:e.palette.action.hover}})),Ht=s(`a`,{shouldForwardProp:e=>e!==`isActive`})(({theme:e,isActive:t})=>({display:`block`,padding:e.spacing(.5,1.5,.5,3.5),fontSize:12,color:t?e.palette.primary.main:e.palette.text.secondary,fontWeight:t?500:400,textDecoration:`none`,borderRadius:e.shape.borderRadius,background:t?e.palette.action.selected:`transparent`,"&:hover":{color:t?e.palette.primary.main:e.palette.text.primary,background:e.palette.action.hover}})),Ut=s(`main`)({flex:1,overflow:`hidden`,display:`flex`,flexDirection:`column`}),Wt=s(`div`)(({theme:e})=>({padding:e.spacing(1.5,3),borderBottom:`1px solid ${e.palette.divider}`,background:e.palette.background.paper,display:`flex`,alignItems:`center`,gap:e.spacing(1),flexShrink:0})),Gt=s(`div`)(({theme:e})=>({flex:1,overflow:`auto`,padding:e.spacing(4)})),Kt=s(`div`)(({theme:e})=>({marginBottom:e.spacing(6)})),qt=s(`div`,{shouldForwardProp:e=>e!==`isActive`})(({theme:e,isActive:t})=>({fontSize:12,fontWeight:500,fontFamily:`monospace`,color:t?e.palette.primary.main:e.palette.text.secondary,marginBottom:e.spacing(1.5),cursor:`pointer`,display:`flex`,alignItems:`center`,gap:e.spacing(.75),"& .anchor-icon":{fontSize:14,opacity:+!!t,transition:`opacity 0.15s`},"&:hover .anchor-icon":{opacity:1}})),Jt=s(`div`)(({theme:e})=>({padding:e.spacing(4),borderRadius:e.shape.borderRadius,border:`1px solid ${e.palette.divider}`,width:`100%`,boxSizing:`border-box`})),Yt=s(`button`,{shouldForwardProp:e=>e!==`isSelected`})(({theme:e,isSelected:t})=>({width:20,height:20,borderRadius:e.shape.borderRadius,border:`none`,cursor:`pointer`,padding:0,outline:t?`3px solid ${e.palette.primary.main}`:`1px solid ${e.palette.primary.main}`,outlineOffset:+!!t,flexShrink:0})),Xt=()=>{let{themeMode:e,onSetThemeMode:t}=ne(),n=a(),[i,o]=r(),[s,l]=(0,A.useState)(Y[0]?.meta.background??`application`),u=(0,A.useRef)(null),d=i.get(`c`),h=i.get(`s`),g=(d?Y.find(e=>Q(e)===d):null)??Y[0],_=h,v=Y.reduce((e,t)=>(e[t.category]||(e[t.category]=[]),e[t.category].push(t),e),{});(0,A.useEffect)(()=>{l(g?.meta.background??`application`)},[g]),(0,A.useEffect)(()=>{if(!h){u.current?.scrollTo({top:0});return}requestAnimationFrame(()=>{let e=document.getElementById(h);if(e&&u.current){let t=u.current.getBoundingClientRect().top,n=e.getBoundingClientRect().top;u.current.scrollTo({top:u.current.scrollTop+n-t-32,behavior:`smooth`})}})},[h]);let y=e=>{o({c:Q(e)})},b=(e,t,n)=>{e.preventDefault(),o({c:Q(t),s:Z(n)})},x=e=>{let t=Z(e),n=new URLSearchParams({c:Q(g),s:t});o(n),navigator.clipboard.writeText(`${window.location.origin}${window.location.pathname}?${n}`).catch(e=>{console.error(`Failed to copy link to clipboard`,e)})},S=n.palette.background[s];return(0,j.jsxs)(Lt,{children:[(0,j.jsxs)(Rt,{children:[(0,j.jsxs)(zt,{children:[(0,j.jsx)(p,{variant:`body2`,sx:{fontWeight:700,fontFamily:`monospace`},children:`_stories`}),(0,j.jsx)(c,{title:`${e===`light`?`Dark`:`Light`} mode`,children:(0,j.jsx)(f,{size:`small`,onClick:t,children:e===`light`?(0,j.jsx)(te,{sx:{fontSize:16}}):(0,j.jsx)(ee,{sx:{fontSize:16}})})})]}),(0,j.jsx)($,{children:Object.entries(v).map(([e,t])=>(0,j.jsxs)(`div`,{children:[(0,j.jsx)(Bt,{children:e}),t.map(e=>(0,j.jsxs)(`div`,{children:[(0,j.jsx)(Vt,{isSelected:e.moduleKey===g?.moduleKey,onClick:()=>y(e),children:e.name}),e.moduleKey===g?.moduleKey&&e.stories.map(t=>(0,j.jsx)(Ht,{href:`?c=${Q(e)}&s=${Z(t.name)}`,isActive:_===Z(t.name),onClick:n=>b(n,e,t.name),children:t.name},t.name))]},e.moduleKey))]},e))})]}),(0,j.jsx)(Ut,{children:g?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(Wt,{children:[(0,j.jsx)(p,{variant:`body2`,sx:{color:`text.disabled`,fontSize:12},children:g.category}),(0,j.jsx)(p,{variant:`body2`,sx:{color:`text.disabled`,fontSize:12},children:`/`}),(0,j.jsx)(p,{variant:`body2`,sx:{fontWeight:600,fontSize:14},children:g.name}),(0,j.jsxs)(m,{sx:{ml:`auto`,display:`flex`,alignItems:`center`,gap:1},children:[(0,j.jsx)(p,{variant:`caption`,sx:{color:`text.disabled`,mr:.25},children:`Background:`}),It.map(({key:e,label:t})=>(0,j.jsx)(c,{title:t,arrow:!0,children:(0,j.jsx)(Yt,{isSelected:s===e,onClick:()=>l(e),style:{background:n.palette.background[e]}})},e))]})]}),(0,j.jsx)(Gt,{ref:u,sx:{background:S},children:g.stories.map(e=>{let t=e.component;return(0,j.jsxs)(Kt,{children:[(0,j.jsxs)(qt,{id:Z(e.name),isActive:_===Z(e.name),onClick:()=>x(e.name),children:[e.name,(0,j.jsx)(Nt,{className:`anchor-icon`})]}),(0,j.jsx)(Jt,{children:(0,j.jsx)(t,{})})]},e.name)})})]}):(0,j.jsx)(m,{sx:{p:4},children:(0,j.jsxs)(p,{sx:{color:`text.secondary`},children:[`No stories found. Create a`,` `,(0,j.jsx)(m,{component:`code`,sx:{fontFamily:`monospace`},children:`*.story.tsx`}),` `,`file anywhere under`,` `,(0,j.jsx)(m,{component:`code`,sx:{fontFamily:`monospace`},children:`frontend/src/`}),` `,`to get started.`]})})})]})};export{Xt as default};
@@ -1 +0,0 @@
1
- import{An as e,Dn as t,En as n,Ht as r,Jt as i,Kt as a,On as o,Sn as s,Tn as c,_n as l,an as u,bn as d,cn as f,dn as p,fn as m,gn as h,in as g,jn as _,kn as v,ln as y,mn as b,on as x,pn as S,qt as ee,rn as C,sn as te,un as ne,vn as w,xn as re}from"./index-BJ2iUk24.js";var ie={modes:{point(e,t){return E(e,t,{intersect:!0})},nearest(e,t,n){return se(e,t,n)},x(e,t,n){return E(e,t,{intersect:n.intersect,axis:`x`})},y(e,t,n){return E(e,t,{intersect:n.intersect,axis:`y`})}}};function T(e,t,n){return(ie.modes[n.mode]||ie.modes.nearest)(e,t,n)}function ae(e,t,n){return n!==`x`&&n!==`y`?e.inRange(t.x,t.y,`x`,!0)||e.inRange(t.x,t.y,`y`,!0):e.inRange(t.x,t.y,n,!0)}function oe(e,t,n){return n===`x`?{x:e.x,y:t.y}:n===`y`?{x:t.x,y:e.y}:t}function E(e,t,n){return e.filter(e=>n.intersect?e.inRange(t.x,t.y):ae(e,t,n.axis))}function se(e,t,n){let r=1/0;return E(e,t,n).reduce((e,i)=>{let a=b(t,oe(t,i.getCenterPoint(),n.axis));return a<r?(e=[i],r=a):a===r&&e.push(i),e},[]).sort((e,t)=>e._index-t._index).slice(0,1)}function D(e,t,n){let r=Math.cos(n),i=Math.sin(n),a=t.x,o=t.y;return{x:a+r*(e.x-a)-i*(e.y-o),y:o+i*(e.x-a)+r*(e.y-o)}}var ce=(e,t)=>t>e||e.length>t.length&&e.slice(0,t.length)===t,O=.001,k=(e,t,n)=>Math.min(n,Math.max(t,e)),le=(e,t)=>e.value>=e.start-t&&e.value<=e.end+t;function ue(e,t,n){for(let r of Object.keys(e))e[r]=k(e[r],t,n);return e}function de(e,t,n,r){return!e||!t||n<=0?!1:(e.x-t.x)**2+(e.y-t.y)**2<=(n+r)**2}function fe(e,{x:t,y:n,x2:r,y2:i},a,{borderWidth:o,hitTolerance:s}){let c=(o+s)/2,l=e.x>=t-c-O&&e.x<=r+c+O,u=e.y>=n-c-O&&e.y<=i+c+O;return a===`x`?l:(a===`y`||l)&&u}function pe(e,{rect:t,center:n},r,{rotation:i,borderWidth:a,hitTolerance:s}){return fe(D(e,n,o(-i)),t,r,{borderWidth:a,hitTolerance:s})}function A(e,t){let{centerX:n,centerY:r}=e.getProps([`centerX`,`centerY`],t);return{x:n,y:r}}function me(e,t,n,r=!0){let i=n.split(`.`),a=0;for(let o of t.split(`.`)){let s=i[a++];if(parseInt(o,10)<parseInt(s,10))break;if(ce(s,o)){if(r)throw Error(`${e} v${n} is not supported. v${t} or newer is required.`);return!1}}return!0}var he=e=>typeof e==`string`&&e.endsWith(`%`),ge=e=>parseFloat(e)/100,_e=e=>k(ge(e),0,1),j=(e,t)=>({x:e,y:t,x2:e,y2:t,width:0,height:0}),ve={box:e=>j(e.centerX,e.centerY),doughnutLabel:e=>j(e.centerX,e.centerY),ellipse:e=>({centerX:e.centerX,centerY:e.centerX,radius:0,width:0,height:0}),label:e=>j(e.centerX,e.centerY),line:e=>j(e.x,e.y),point:e=>({centerX:e.centerX,centerY:e.centerY,radius:0,width:0,height:0}),polygon:e=>j(e.centerX,e.centerY)};function ye(e,t){return t===`start`?0:t===`end`?e:he(t)?_e(t)*e:e/2}function M(e,t,n=!0){return typeof t==`number`?t:he(t)?(n?_e(t):ge(t))*e:e}function be(e,t){let{x:n,width:r}=e,i=t.textAlign;return i===`center`?n+r/2:i===`end`||i===`right`?n+r:n}function xe(e,t,{borderWidth:n,position:r,xAdjust:i,yAdjust:a},o){let c=s(o),l=t.width+(c?o.width:0)+n,u=t.height+(c?o.height:0)+n,d=Se(r),f=Ee(e.x,l,i,d.x),p=Ee(e.y,u,a,d.y);return{x:f,y:p,x2:f+l,y2:p+u,width:l,height:u,centerX:f+l/2,centerY:p+u/2}}function Se(e,t=`center`){return s(e)?{x:_(e.x,t),y:_(e.y,t)}:(e=_(e,t),{x:e,y:e})}var Ce=(e,t)=>e&&e.autoFit&&t<1;function we(e,t){let r=e.font,i=l(r)?r:[r];return Ce(e,t)?i.map(function(e){let r=n(e);return r.size=Math.floor(e.size*t),r.lineHeight=e.lineHeight,n(r)}):i.map(e=>n(e))}function Te(e){return e&&(S(e.xValue)||S(e.yValue))}function Ee(e,t,n=0,r){return e-ye(t,r)+n}function N(e,t,n){let r=n.init;if(r)return r===!0?Oe(t,n):ke(e,t,n)}function De(e,t,n){let r=!1;return t.forEach(t=>{w(e[t])?(r=!0,n[t]=e[t]):S(n[t])&&delete n[t]}),r}function Oe(e,t){return ve[t.type||`line`](e)}function ke(e,t,n){let r=ne(n.init,[{chart:e,properties:t,options:n}]);if(r===!0)return Oe(t,n);if(s(r))return r}var Ae=new Map,je=e=>isNaN(e)||e<=0,Me=e=>e.reduce(function(e,t){return e+=t.string,e},``);function P(e){if(e&&typeof e==`object`){let t=e.toString();return t===`[object HTMLImageElement]`||t===`[object HTMLCanvasElement]`}}function F(e,{x:t,y:n},r){r&&(e.translate(t,n),e.rotate(o(r)),e.translate(-t,-n))}function I(e,t){if(t&&t.borderWidth)return e.lineCap=t.borderCapStyle||`butt`,e.setLineDash(t.borderDash),e.lineDashOffset=t.borderDashOffset,e.lineJoin=t.borderJoinStyle||`miter`,e.lineWidth=t.borderWidth,e.strokeStyle=t.borderColor,!0}function L(e,t){e.shadowColor=t.backgroundShadowColor,e.shadowBlur=t.shadowBlur,e.shadowOffsetX=t.shadowOffsetX,e.shadowOffsetY=t.shadowOffsetY}function R(e,t){let n=t.content;if(P(n))return{width:M(n.width,t.width),height:M(n.height,t.height)};let r=we(t),i=t.textStrokeWidth,a=l(n)?n:[n],o=a.join()+Me(r)+i+(e._measureText?`-spriting`:``);return Ae.has(o)||Ae.set(o,Re(e,a,r,i)),Ae.get(o)}function Ne(e,t,n){let{x:r,y:i,width:a,height:o}=t;e.save(),L(e,n);let s=I(e,n);e.fillStyle=n.backgroundColor,e.beginPath(),y(e,{x:r,y:i,w:a,h:o,radius:ue(v(n.borderRadius),0,Math.min(a,o)/2)}),e.closePath(),e.fill(),s&&(e.shadowColor=n.borderShadowColor,e.stroke()),e.restore()}function Pe(e,t,n,r){let i=n.content;if(P(i)){e.save(),e.globalAlpha=Ve(n.opacity,i.style.opacity),e.drawImage(i,t.x,t.y,t.width,t.height),e.restore();return}let a=l(i)?i:[i],o=we(n,r),s=n.color,c=l(s)?s:[s],u=be(t,n),d=t.y+n.textStrokeWidth/2;e.save(),e.textBaseline=`middle`,e.textAlign=n.textAlign,Fe(e,n)&&ze(e,{x:u,y:d},a,o),Be(e,{x:u,y:d},a,{fonts:o,colors:c}),e.restore()}function Fe(e,t){if(t.textStrokeWidth>0)return e.lineJoin=`round`,e.miterLimit=2,e.lineWidth=t.textStrokeWidth,e.strokeStyle=t.textStrokeColor,!0}function Ie(e,t,n,r){let{radius:i,options:a}=t,o=a.pointStyle,s=a.rotation,c=(s||0)*x;if(P(o)){e.save(),e.translate(n,r),e.rotate(c),e.drawImage(o,-o.width/2,-o.height/2,o.width,o.height),e.restore();return}je(i)||Le(e,{x:n,y:r,radius:i,rotation:s,style:o,rad:c})}function Le(e,{x:t,y:n,radius:r,rotation:i,style:a,rad:o}){let s,c,l,d;switch(e.beginPath(),a){default:e.arc(t,n,r,0,te),e.closePath();break;case`triangle`:e.moveTo(t+Math.sin(o)*r,n-Math.cos(o)*r),o+=f,e.lineTo(t+Math.sin(o)*r,n-Math.cos(o)*r),o+=f,e.lineTo(t+Math.sin(o)*r,n-Math.cos(o)*r),e.closePath();break;case`rectRounded`:d=r*.516,l=r-d,s=Math.cos(o+u)*l,c=Math.sin(o+u)*l,e.arc(t-s,n-c,d,o-g,o-C),e.arc(t+c,n-s,d,o-C,o),e.arc(t+s,n+c,d,o,o+C),e.arc(t-c,n+s,d,o+C,o+g),e.closePath();break;case`rect`:if(!i){l=Math.SQRT1_2*r,e.rect(t-l,n-l,2*l,2*l);break}o+=u;case`rectRot`:s=Math.cos(o)*r,c=Math.sin(o)*r,e.moveTo(t-s,n-c),e.lineTo(t+c,n-s),e.lineTo(t+s,n+c),e.lineTo(t-c,n+s),e.closePath();break;case`crossRot`:o+=u;case`cross`:s=Math.cos(o)*r,c=Math.sin(o)*r,e.moveTo(t-s,n-c),e.lineTo(t+s,n+c),e.moveTo(t+c,n-s),e.lineTo(t-c,n+s);break;case`star`:s=Math.cos(o)*r,c=Math.sin(o)*r,e.moveTo(t-s,n-c),e.lineTo(t+s,n+c),e.moveTo(t+c,n-s),e.lineTo(t-c,n+s),o+=u,s=Math.cos(o)*r,c=Math.sin(o)*r,e.moveTo(t-s,n-c),e.lineTo(t+s,n+c),e.moveTo(t+c,n-s),e.lineTo(t-c,n+s);break;case`line`:s=Math.cos(o)*r,c=Math.sin(o)*r,e.moveTo(t-s,n-c),e.lineTo(t+s,n+c);break;case`dash`:e.moveTo(t,n),e.lineTo(t+Math.cos(o)*r,n+Math.sin(o)*r);break}e.fill()}function Re(e,t,n,r){e.save();let i=t.length,a=0,o=r;for(let s=0;s<i;s++){let i=n[Math.min(s,n.length-1)];e.font=i.string;let c=t[s];a=Math.max(a,e.measureText(c).width+r),o+=i.lineHeight}return e.restore(),{width:a,height:o}}function ze(e,{x:t,y:n},r,i){e.beginPath();let a=0;r.forEach(function(r,o){let s=i[Math.min(o,i.length-1)],c=s.lineHeight;e.font=s.string,e.strokeText(r,t,n+c/2+a),a+=c}),e.stroke()}function Be(e,{x:t,y:n},r,{fonts:i,colors:a}){let o=0;r.forEach(function(r,s){let c=a[Math.min(s,a.length-1)],l=i[Math.min(s,i.length-1)],u=l.lineHeight;e.beginPath(),e.font=l.string,e.fillStyle=c,e.fillText(r,t,n+u/2+o),o+=u,e.fill()})}function Ve(e,t){let n=d(e)?e:t;return d(n)?k(n,0,1):1}var He=[`left`,`bottom`,`top`,`right`];function Ue(e,t){let{pointX:n,pointY:r,options:i}=t,a=i.callout,s=a&&a.display&&Je(t,a);if(!s||Xe(t,a,s))return;if(e.save(),e.beginPath(),!I(e,a))return e.restore();let{separatorStart:c,separatorEnd:l}=We(t,s),{sideStart:u,sideEnd:d}=Ke(t,s,c);(a.margin>0||i.borderWidth===0)&&(e.moveTo(c.x,c.y),e.lineTo(l.x,l.y)),e.moveTo(u.x,u.y),e.lineTo(d.x,d.y);let f=D({x:n,y:r},t.getCenterPoint(),o(-t.rotation));e.lineTo(f.x,f.y),e.stroke(),e.restore()}function We(e,t){let{x:n,y:r,x2:i,y2:a}=e,o=Ge(e,t),s,c;return t===`left`||t===`right`?(s={x:n+o,y:r},c={x:s.x,y:a}):(s={x:n,y:r+o},c={x:i,y:s.y}),{separatorStart:s,separatorEnd:c}}function Ge(e,t){let{width:n,height:r,options:i}=e,a=i.callout.margin+i.borderWidth/2;return t===`right`?n+a:t===`bottom`?r+a:-a}function Ke(e,t,n){let{y:r,width:i,height:a,options:o}=e,s=o.callout.start,c=qe(t,o.callout),l,u;return t===`left`||t===`right`?(l={x:n.x,y:r+M(a,s)},u={x:l.x+c,y:l.y}):(l={x:n.x+M(i,s),y:n.y},u={x:l.x,y:l.y+c}),{sideStart:l,sideEnd:u}}function qe(e,t){let n=t.side;return e===`left`||e===`top`?-n:n}function Je(e,t){let n=t.position;return He.includes(n)?n:Ye(e,t)}function Ye(e,t){let{x:n,y:r,x2:i,y2:a,width:s,height:c,pointX:l,pointY:u,centerX:d,centerY:f,rotation:p}=e,m={x:d,y:f},h=t.start,g=M(s,h),_=M(c,h),v=[n,n+g,n+g,i],y=[r+_,a,r,a],x=[];for(let e=0;e<4;e++){let t=D({x:v[e],y:y[e]},m,o(p));x.push({position:He[e],distance:b(t,{x:l,y:u})})}return x.sort((e,t)=>e.distance-t.distance)[0].position}function Xe(e,t,n){let{pointX:r,pointY:i}=e,a=t.margin,o=r,s=i;return n===`left`?o+=a:n===`right`?o-=a:n===`top`?s+=a:n===`bottom`&&(s-=a),e.inRange(o,s)}var Ze={xScaleID:{min:`xMin`,max:`xMax`,start:`left`,end:`right`,startProp:`x`,endProp:`x2`},yScaleID:{min:`yMin`,max:`yMax`,start:`bottom`,end:`top`,startProp:`y`,endProp:`y2`}};function z(e,t,n){return t=typeof t==`number`?t:e.parse(t),re(t)?e.getPixelForValue(t):n}function B(e,t,n){let r=t[n];if(r||n===`scaleID`)return r;let i=n.charAt(0),a=Object.values(e).filter(e=>e.axis&&e.axis===i);return a.length?a[0].id:i}function Qe(e,t){if(e){let n=e.options.reverse;return{start:z(e,t.min,n?t.end:t.start),end:z(e,t.max,n?t.start:t.end)}}}function $e(e,t){let{chartArea:n,scales:r}=e,i=r[B(r,t,`xScaleID`)],a=r[B(r,t,`yScaleID`)],o=n.width/2,s=n.height/2;return i&&(o=z(i,t.xValue,i.left+i.width/2)),a&&(s=z(a,t.yValue,a.top+a.height/2)),{x:o,y:s}}function V(e,t){let n=e.scales,r=n[B(n,t,`xScaleID`)],i=n[B(n,t,`yScaleID`)];if(!r&&!i)return{};let{left:a,right:o}=r||e.chartArea,{top:s,bottom:c}=i||e.chartArea,l=it(r,{min:t.xMin,max:t.xMax,start:a,end:o});a=l.start,o=l.end;let u=it(i,{min:t.yMin,max:t.yMax,start:c,end:s});return s=u.start,c=u.end,{x:a,y:s,x2:o,y2:c,width:o-a,height:c-s,centerX:a+(o-a)/2,centerY:s+(c-s)/2}}function et(e,t){if(!Te(t)){let n=V(e,t),r=t.radius;(!r||isNaN(r))&&(r=Math.min(n.width,n.height)/2,t.radius=r);let i=r*2,a=n.centerX+t.xAdjust,o=n.centerY+t.yAdjust;return{x:a-r,y:o-r,x2:a+r,y2:o+r,centerX:a,centerY:o,width:i,height:i,radius:r}}return rt(e,t)}function tt(e,t){let{scales:n,chartArea:r}=e,i=n[t.scaleID],a={x:r.left,y:r.top,x2:r.right,y2:r.bottom};return i?at(i,a,t):ot(n,a,t),a}function nt(e,t){let n=V(e,t);return n.initProperties=N(e,n,t),n.elements=[{type:`label`,optionScope:`label`,properties:ut(e,n,t),initProperties:n.initProperties}],n}function rt(e,t){let n=$e(e,t),r=t.radius*2;return{x:n.x-t.radius+t.xAdjust,y:n.y-t.radius+t.yAdjust,x2:n.x+t.radius+t.xAdjust,y2:n.y+t.radius+t.yAdjust,centerX:n.x+t.xAdjust,centerY:n.y+t.yAdjust,radius:t.radius,width:r,height:r}}function it(e,t){let n=Qe(e,t)||t;return{start:Math.min(n.start,n.end),end:Math.max(n.start,n.end)}}function at(e,t,n){let r=z(e,n.value,NaN),i=z(e,n.endValue,r);e.isHorizontal()?(t.x=r,t.x2=i):(t.y=r,t.y2=i)}function ot(e,t,n){for(let r of Object.keys(Ze)){let i=e[B(e,n,r)];if(i){let{min:e,max:a,start:o,end:s,startProp:c,endProp:l}=Ze[r],u=Qe(i,{min:n[e],max:n[a],start:i[o],end:i[s]});t[c]=u.start,t[l]=u.end}}}function st({properties:e,options:t},n,r,i){let{x:a,x2:o,width:s}=e;return lt({start:a,end:o,size:s,borderWidth:t.borderWidth},{position:r.x,padding:{start:i.left,end:i.right},adjust:t.label.xAdjust,size:n.width})}function ct({properties:e,options:t},n,r,i){let{y:a,y2:o,height:s}=e;return lt({start:a,end:o,size:s,borderWidth:t.borderWidth},{position:r.y,padding:{start:i.top,end:i.bottom},adjust:t.label.yAdjust,size:n.height})}function lt(e,t){let{start:n,end:r,borderWidth:i}=e,{position:a,padding:{start:o,end:s},adjust:c}=t,l=r-i-n-o-s-t.size;return n+i/2+c+ye(l,a)}function ut(e,n,r){let i=r.label;i.backgroundColor=`transparent`,i.callout.display=!1;let a=Se(i.position),o=t(i.padding),s=R(e.ctx,i),c=st({properties:n,options:r},s,a,o),l=ct({properties:n,options:r},s,a,o),u=s.width+o.width,d=s.height+o.height;return{x:c,y:l,x2:c+u,y2:l+d,width:u,height:d,centerX:c+u/2,centerY:l+d/2,rotation:i.rotation}}var dt=[`enter`,`leave`],ft=dt.concat(`click`);function pt(e,t,n){t.listened=De(n,ft,t.listeners),t.moveListened=!1,dt.forEach(e=>{w(n[e])&&(t.moveListened=!0)}),(!t.listened||!t.moveListened)&&t.annotations.forEach(e=>{!t.listened&&w(e.click)&&(t.listened=!0),t.moveListened||dt.forEach(n=>{w(e[n])&&(t.listened=!0,t.moveListened=!0)})})}function mt(e,t,n){if(e.listened)switch(t.type){case`mousemove`:case`mouseout`:return ht(e,t,n);case`click`:return _t(e,t,n)}}function ht(e,t,n){if(!e.moveListened)return;let r;r=t.type===`mousemove`?T(e.visibleElements,t,n.interaction):[];let i=e.hovered;e.hovered=r;let a={state:e,event:t},o=gt(a,`leave`,i,r);return gt(a,`enter`,r,i)||o}function gt({state:e,event:t},n,r,i){let a;for(let o of r)i.indexOf(o)<0&&(a=vt(o.options[n]||e.listeners[n],o,t)||a);return a}function _t(e,t,n){let r=e.listeners,i=T(e.visibleElements,t,n.interaction),a;for(let e of i)a=vt(e.options.click||r.click,e,t)||a;return a}function vt(e,t,n){return ne(e,[t.$context,n])===!0}var H=[`afterDraw`,`beforeDraw`];function yt(e,t,n){let r=t.visibleElements;t.hooked=De(n,H,t.hooks),t.hooked||r.forEach(e=>{t.hooked||H.forEach(n=>{w(e.options[n])&&(t.hooked=!0)})})}function bt(e,t,n){if(e.hooked)return ne(t.options[n]||e.hooks[n],[t.$context])}function xt(e,t,n){let r=Dt(e.scales,t,n),i=Ct(t,r,`min`,`suggestedMin`);i=Ct(t,r,`max`,`suggestedMax`)||i,i&&w(t.handleTickRangeOptions)&&t.handleTickRangeOptions()}function St(e,t){for(let n of e)Tt(n,t)}function Ct(e,t,n,r){if(re(t[n])&&!wt(e.options,n,r)){let r=e[n]!==t[n];return e[n]=t[n],r}}function wt(e,t,n){return S(e[t])||S(e[n])}function Tt(e,t){for(let n of[`scaleID`,`xScaleID`,`yScaleID`]){let r=B(t,e,n);r&&!t[r]&&Et(e,n)&&console.warn(`No scale found with id '${r}' for annotation '${e.id}'`)}}function Et(e,t){if(t===`scaleID`)return!0;let n=t.charAt(0);for(let t of[`Min`,`Max`,`Value`])if(S(e[n+t]))return!0;return!1}function Dt(e,t,n){let r=t.axis,i=t.id,a=r+`ScaleID`,o={min:_(t.min,-1/0),max:_(t.max,1/0)};for(let s of n)s.scaleID===i?Ot(s,t,[`value`,`endValue`],o):B(e,s,a)===i&&Ot(s,t,[r+`Min`,r+`Max`,r+`Value`],o);return o}function Ot(e,t,n,r){for(let i of n){let n=e[i];if(S(n)){let e=t.parse(n);r.min=Math.min(r.min,e),r.max=Math.max(r.max,e)}}}var U=class extends i{inRange(e,t,n,r){let{x:i,y:a}=D({x:e,y:t},this.getCenterPoint(r),o(-this.options.rotation));return fe({x:i,y:a},this.getProps([`x`,`y`,`x2`,`y2`],r),n,this.options)}getCenterPoint(e){return A(this,e)}draw(e){e.save(),F(e,this.getCenterPoint(),this.options.rotation),Ne(e,this,this.options),e.restore()}get label(){return this.elements&&this.elements[0]}resolveElementProperties(e,t){return nt(e,t)}};U.id=`boxAnnotation`,U.defaults={adjustScaleRange:!0,backgroundShadowColor:`transparent`,borderCapStyle:`butt`,borderDash:[],borderDashOffset:0,borderJoinStyle:`miter`,borderRadius:0,borderShadowColor:`transparent`,borderWidth:1,display:!0,init:void 0,hitTolerance:0,label:{backgroundColor:`transparent`,borderWidth:0,callout:{display:!1},color:`black`,content:null,display:!1,drawTime:void 0,font:{family:void 0,lineHeight:void 0,size:void 0,style:void 0,weight:`bold`},height:void 0,hitTolerance:void 0,opacity:void 0,padding:6,position:`center`,rotation:void 0,textAlign:`start`,textStrokeColor:void 0,textStrokeWidth:0,width:void 0,xAdjust:0,yAdjust:0,z:void 0},rotation:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,xMax:void 0,xMin:void 0,xScaleID:void 0,yMax:void 0,yMin:void 0,yScaleID:void 0,z:0},U.defaultRoutes={borderColor:`color`,backgroundColor:`color`},U.descriptors={label:{_fallback:!0}};var W=class extends i{inRange(e,t,n,r){return pe({x:e,y:t},{rect:this.getProps([`x`,`y`,`x2`,`y2`],r),center:this.getCenterPoint(r)},n,{rotation:this.rotation,borderWidth:0,hitTolerance:this.options.hitTolerance})}getCenterPoint(e){return A(this,e)}draw(e){let t=this.options;!t.display||!t.content||(Pt(e,this),e.save(),F(e,this.getCenterPoint(),this.rotation),Pe(e,this,t,this._fitRatio),e.restore())}resolveElementProperties(e,t){let n=kt(e,t);if(!n)return{};let{controllerMeta:r,point:i,radius:a}=jt(e,t,n),o=R(e.ctx,t),s=Mt(o,a);Ce(t,s)&&(o={width:o.width*s,height:o.height*s});let{position:c,xAdjust:l,yAdjust:u}=t,d=xe(i,o,{borderWidth:0,position:c,xAdjust:l,yAdjust:u});return{initProperties:N(e,d,t),...d,...r,rotation:t.rotation,_fitRatio:s}}};W.id=`doughnutLabelAnnotation`,W.defaults={autoFit:!0,autoHide:!0,backgroundColor:`transparent`,backgroundShadowColor:`transparent`,borderColor:`transparent`,borderDash:[],borderDashOffset:0,borderJoinStyle:`miter`,borderShadowColor:`transparent`,borderWidth:0,color:`black`,content:null,display:!0,font:{family:void 0,lineHeight:void 0,size:void 0,style:void 0,weight:void 0},height:void 0,hitTolerance:0,init:void 0,opacity:void 0,position:`center`,rotation:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,spacing:1,textAlign:`center`,textStrokeColor:void 0,textStrokeWidth:0,width:void 0,xAdjust:0,yAdjust:0},W.defaultRoutes={};function kt(e,t){return e.getSortedVisibleDatasetMetas().reduce(function(n,r){let i=r.controller;return i instanceof ee&&At(e,t,r.data)&&(!n||i.innerRadius<n.controller.innerRadius)&&i.options.circumference>=90?r:n},void 0)}function At(e,t,n){if(!t.autoHide)return!0;for(let t=0;t<n.length;t++)if(!n[t].hidden&&e.getDataVisibility(t))return!0}function jt({chartArea:e},t,n){let{left:r,top:i,right:a,bottom:o}=e,{innerRadius:s,offsetX:c,offsetY:l}=n.controller,u=(r+a)/2+c,d=(i+o)/2+l,f={left:Math.max(u-s,r),right:Math.min(u+s,a),top:Math.max(d-s,i),bottom:Math.min(d+s,o)},p={x:(f.left+f.right)/2,y:(f.top+f.bottom)/2},m=t.spacing+t.borderWidth/2,h=s-m,g=p.y>d;return{controllerMeta:{_centerX:u,_centerY:d,_radius:h,_counterclockwise:g,...Nt(g?i+m:o-m,u,d,h)},point:p,radius:Math.min(s,Math.min(f.right-f.left,f.bottom-f.top)/2)}}function Mt({width:e,height:t},n){let r=Math.sqrt(e**2+t**2);return n*2/r}function Nt(e,t,n,r){let i=(n-e)**2,a=r**2,o=t*-2,s=t**2+i-a,c=o**2-4*s;if(c<=0)return{_startAngle:0,_endAngle:te};let l=(-o-Math.sqrt(c))/2,u=(-o+Math.sqrt(c))/2;return{_startAngle:h({x:t,y:n},{x:l,y:e}).angle,_endAngle:h({x:t,y:n},{x:u,y:e}).angle}}function Pt(e,t){let{_centerX:n,_centerY:r,_radius:i,_startAngle:a,_endAngle:o,_counterclockwise:s,options:c}=t;e.save();let l=I(e,c);e.fillStyle=c.backgroundColor,e.beginPath(),e.arc(n,r,i,a,o,s),e.closePath(),e.fill(),l&&e.stroke(),e.restore()}var G=class extends i{inRange(e,t,n,r){return pe({x:e,y:t},{rect:this.getProps([`x`,`y`,`x2`,`y2`],r),center:this.getCenterPoint(r)},n,{rotation:this.rotation,borderWidth:this.options.borderWidth,hitTolerance:this.options.hitTolerance})}getCenterPoint(e){return A(this,e)}draw(e){let t=this.options,n=!S(this._visible)||this._visible;!t.display||!t.content||!n||(e.save(),F(e,this.getCenterPoint(),this.rotation),Ue(e,this),Ne(e,this,t),Pe(e,Ft(this),t),e.restore())}resolveElementProperties(e,n){let r;if(Te(n))r=$e(e,n);else{let{centerX:t,centerY:i}=V(e,n);r={x:t,y:i}}let i=t(n.padding),a=R(e.ctx,n),o=xe(r,a,n,i);return{initProperties:N(e,o,n),pointX:r.x,pointY:r.y,...o,rotation:n.rotation}}};G.id=`labelAnnotation`,G.defaults={adjustScaleRange:!0,backgroundColor:`transparent`,backgroundShadowColor:`transparent`,borderCapStyle:`butt`,borderDash:[],borderDashOffset:0,borderJoinStyle:`miter`,borderRadius:0,borderShadowColor:`transparent`,borderWidth:0,callout:{borderCapStyle:`butt`,borderColor:void 0,borderDash:[],borderDashOffset:0,borderJoinStyle:`miter`,borderWidth:1,display:!1,margin:5,position:`auto`,side:5,start:`50%`},color:`black`,content:null,display:!0,font:{family:void 0,lineHeight:void 0,size:void 0,style:void 0,weight:void 0},height:void 0,hitTolerance:0,init:void 0,opacity:void 0,padding:6,position:`center`,rotation:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,textAlign:`center`,textStrokeColor:void 0,textStrokeWidth:0,width:void 0,xAdjust:0,xMax:void 0,xMin:void 0,xScaleID:void 0,xValue:void 0,yAdjust:0,yMax:void 0,yMin:void 0,yScaleID:void 0,yValue:void 0,z:0},G.defaultRoutes={borderColor:`color`};function Ft({x:e,y:n,width:r,height:i,options:a}){let o=a.borderWidth/2,s=t(a.padding);return{x:e+s.left+o,y:n+s.top+o,width:r-s.left-s.right-a.borderWidth,height:i-s.top-s.bottom-a.borderWidth}}var It=(e,t,n)=>({x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}),Lt=(e,t,n)=>It(t,n,Math.abs((e-t.y)/(n.y-t.y))).x,Rt=(e,t,n)=>It(t,n,Math.abs((e-t.x)/(n.x-t.x))).y,K=e=>e*e,zt=(e,t,{x:n,y:r,x2:i,y2:a},o)=>o===`y`?{start:Math.min(r,a),end:Math.max(r,a),value:t}:{start:Math.min(n,i),end:Math.max(n,i),value:e},Bt=(e,t,n,r)=>(1-r)*(1-r)*e+2*(1-r)*r*t+r*r*n,Vt=(e,t,n,r)=>({x:Bt(e.x,t.x,n.x,r),y:Bt(e.y,t.y,n.y,r)}),Ht=(e,t,n,r)=>2*(1-r)*(t-e)+2*r*(n-t),Ut=(e,t,n,r)=>-Math.atan2(Ht(e.x,t.x,n.x,r),Ht(e.y,t.y,n.y,r))+.5*g,q=class extends i{inRange(e,t,n,r){let i=(this.options.borderWidth+this.options.hitTolerance)/2;if(n!==`x`&&n!==`y`){let n={mouseX:e,mouseY:t},{path:a,ctx:o}=this;if(a){I(o,this.options),o.lineWidth+=this.options.hitTolerance;let{chart:i}=this.$context,s=e*i.currentDevicePixelRatio,c=t*i.currentDevicePixelRatio,l=o.isPointInStroke(a,s,c)||Xt(this,n,r);return o.restore(),l}let s=K(i);return Yt(this,n,s,r)||Xt(this,n,r)}return Gt(this,{mouseX:e,mouseY:t},n,{hitSize:i,useFinalPosition:r})}getCenterPoint(e){return A(this,e)}draw(e){let{x:t,y:n,x2:r,y2:i,cp:a,options:o}=this;if(e.save(),!I(e,o))return e.restore();L(e,o);let s=Math.sqrt((r-t)**2+(i-n)**2);if(o.curve&&a)return dn(e,this,a,s),e.restore();let{startOpts:c,endOpts:l,startAdjust:u,endAdjust:d}=on(this),f=Math.atan2(i-n,r-t);e.translate(t,n),e.rotate(f),e.beginPath(),e.moveTo(0+u,0),e.lineTo(s-d,0),e.shadowColor=o.borderShadowColor,e.stroke(),cn(e,0,u,c),cn(e,s,-d,l),e.restore()}get label(){return this.elements&&this.elements[0]}resolveElementProperties(e,t){let n=tt(e,t),{x:r,y:i,x2:a,y2:o}=n,s=Kt(n,e.chartArea),c=s?Jt({x:r,y:i},{x:a,y:o},e.chartArea):{x:r,y:i,x2:a,y2:o,width:Math.abs(a-r),height:Math.abs(o-i)};c.centerX=(a+r)/2,c.centerY=(o+i)/2,c.initProperties=N(e,c,t),t.curve&&(c.cp=ln(c,t,b({x:c.x,y:c.y},{x:c.x2,y:c.y2})));let l=Zt(e,c,t.label);return l._visible=s,c.elements=[{type:`label`,optionScope:`label`,properties:l,initProperties:c.initProperties}],c}};q.id=`lineAnnotation`;var Wt={backgroundColor:void 0,backgroundShadowColor:void 0,borderColor:void 0,borderDash:void 0,borderDashOffset:void 0,borderShadowColor:void 0,borderWidth:void 0,display:void 0,fill:void 0,length:void 0,shadowBlur:void 0,shadowOffsetX:void 0,shadowOffsetY:void 0,width:void 0};q.defaults={adjustScaleRange:!0,arrowHeads:{display:!1,end:Object.assign({},Wt),fill:!1,length:12,start:Object.assign({},Wt),width:6},borderDash:[],borderDashOffset:0,borderShadowColor:`transparent`,borderWidth:2,curve:!1,controlPoint:{y:`-50%`},display:!0,endValue:void 0,init:void 0,hitTolerance:0,label:{backgroundColor:`rgba(0,0,0,0.8)`,backgroundShadowColor:`transparent`,borderCapStyle:`butt`,borderColor:`black`,borderDash:[],borderDashOffset:0,borderJoinStyle:`miter`,borderRadius:6,borderShadowColor:`transparent`,borderWidth:0,callout:Object.assign({},G.defaults.callout),color:`#fff`,content:null,display:!1,drawTime:void 0,font:{family:void 0,lineHeight:void 0,size:void 0,style:void 0,weight:`bold`},height:void 0,hitTolerance:void 0,opacity:void 0,padding:6,position:`center`,rotation:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,textAlign:`center`,textStrokeColor:void 0,textStrokeWidth:0,width:void 0,xAdjust:0,yAdjust:0,z:void 0},scaleID:void 0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,value:void 0,xMax:void 0,xMin:void 0,xScaleID:void 0,yMax:void 0,yMin:void 0,yScaleID:void 0,z:0},q.descriptors={arrowHeads:{start:{_fallback:!0},end:{_fallback:!0},_fallback:!0}},q.defaultRoutes={borderColor:`color`};function Gt(e,{mouseX:t,mouseY:n},r,{hitSize:i,useFinalPosition:a}){return le(zt(t,n,e.getProps([`x`,`y`,`x2`,`y2`],a),r),i)||Xt(e,{mouseX:t,mouseY:n},a,r)}function Kt({x:e,y:t,x2:n,y2:r},{top:i,right:a,bottom:o,left:s}){return!(e<s&&n<s||e>a&&n>a||t<i&&r<i||t>o&&r>o)}function qt({x:e,y:t},n,{top:r,right:i,bottom:a,left:o}){return e<o&&(t=Rt(o,{x:e,y:t},n),e=o),e>i&&(t=Rt(i,{x:e,y:t},n),e=i),t<r&&(e=Lt(r,{x:e,y:t},n),t=r),t>a&&(e=Lt(a,{x:e,y:t},n),t=a),{x:e,y:t}}function Jt(e,t,n){let{x:r,y:i}=qt(e,t,n),{x:a,y:o}=qt(t,e,n);return{x:r,y:i,x2:a,y2:o,width:Math.abs(a-r),height:Math.abs(o-i)}}function Yt(e,{mouseX:t,mouseY:n},r=O,i){let{x:a,y:o,x2:s,y2:c}=e.getProps([`x`,`y`,`x2`,`y2`],i),l=s-a,u=c-o,d=K(l)+K(u),f=d===0?-1:((t-a)*l+(n-o)*u)/d,p,m;return f<0?(p=a,m=o):f>1?(p=s,m=c):(p=a+f*l,m=o+f*u),K(t-p)+K(n-m)<=r}function Xt(e,{mouseX:t,mouseY:n},r,i){let a=e.label;return a.options.display&&a.inRange(t,n,i,r)}function Zt(e,n,r){let i=r.borderWidth,a=t(r.padding),o=R(e.ctx,r);return $t(n,r,{width:o.width+a.width+i,height:o.height+a.height+i,padding:a},e.chartArea)}function Qt(e){let{x:t,y:n,x2:r,y2:i}=e,a=Math.atan2(i-n,r-t);return a>g/2?a-g:a<g/-2?a+g:a}function $t(e,t,n,r){let{width:i,height:a,padding:s}=n,{xAdjust:l,yAdjust:u}=t,d={x:e.x,y:e.y},f={x:e.x2,y:e.y2},p=t.rotation===`auto`?Qt(e):o(t.rotation),m=en(i,a,p),h=tn(e,t,{labelSize:m,padding:s},r),g=e.cp?Vt(d,e.cp,f,h):It(d,f,h),_={size:m.w,min:r.left,max:r.right,padding:s.left},v={size:m.h,min:r.top,max:r.bottom,padding:s.top},y=an(g.x,_)+l,b=an(g.y,v)+u;return{x:y-i/2,y:b-a/2,x2:y+i/2,y2:b+a/2,centerX:y,centerY:b,pointX:g.x,pointY:g.y,width:i,height:a,rotation:c(p)}}function en(e,t,n){let r=Math.cos(n),i=Math.sin(n);return{w:Math.abs(e*r)+Math.abs(t*i),h:Math.abs(e*i)+Math.abs(t*r)}}function tn(e,t,n,r){let i,a=rn(e,r);return i=t.position===`start`?nn({w:e.x2-e.x,h:e.y2-e.y},n,t,a):t.position===`end`?1-nn({w:e.x-e.x2,h:e.y-e.y2},n,t,a):ye(1,t.position),i}function nn(e,t,n,r){let{labelSize:i,padding:a}=t,o=e.w*r.dx,s=e.h*r.dy,c=o>0&&(i.w/2+a.left-r.x)/o,l=s>0&&(i.h/2+a.top-r.y)/s;return k(Math.max(c,l),0,.25)}function rn(e,t){let{x:n,x2:r,y:i,y2:a}=e,o=Math.min(i,a)-t.top,s=Math.min(n,r)-t.left,c=t.bottom-Math.max(i,a),l=t.right-Math.max(n,r);return{x:Math.min(s,l),y:Math.min(o,c),dx:s<=l?1:-1,dy:o<=c?1:-1}}function an(e,t){let{size:n,min:r,max:i,padding:a}=t,o=n/2;return n>i-r?(i+r)/2:(r>=e-a-o&&(e=r+a+o),i<=e+a+o&&(e=i-a-o),e)}function on(e){let t=e.options,n=t.arrowHeads&&t.arrowHeads.start,r=t.arrowHeads&&t.arrowHeads.end;return{startOpts:n,endOpts:r,startAdjust:sn(e,n),endAdjust:sn(e,r)}}function sn(e,t){if(!t||!t.display)return 0;let{length:n,width:r}=t,i=e.options.borderWidth/2,a={x:n,y:r+i};return Math.abs(Lt(0,a,{x:0,y:i}))}function cn(e,t,n,r){if(!r||!r.display)return;let{length:i,width:a,fill:o,backgroundColor:s,borderColor:c}=r,l=Math.abs(t-i)+n;e.beginPath(),L(e,r),I(e,r),e.moveTo(l,-a),e.lineTo(t+n,0),e.lineTo(l,a),o===!0?(e.fillStyle=s||c,e.closePath(),e.fill(),e.shadowColor=`transparent`):e.shadowColor=r.borderShadowColor,e.stroke()}function ln(e,t,n){let{x:r,y:i,x2:a,y2:o,centerX:s,centerY:c}=e,l=Math.atan2(o-i,a-r),u=Se(t.controlPoint,0);return D({x:s+M(n,u.x,!1),y:c+M(n,u.y,!1)},{x:s,y:c},l)}function un(e,{x:t,y:n},{angle:r,adjust:i},a){!a||!a.display||(e.save(),e.translate(t,n),e.rotate(r),cn(e,0,-i,a),e.restore())}function dn(e,t,n,r){let{x:i,y:a,x2:o,y2:s,options:c}=t,{startOpts:l,endOpts:u,startAdjust:d,endAdjust:f}=on(t),p={x:i,y:a},m={x:o,y:s},h=Ut(p,n,m,0),_=Ut(p,n,m,1)-g,v=Vt(p,n,m,d/r),y=Vt(p,n,m,1-f/r),b=new Path2D;e.beginPath(),b.moveTo(v.x,v.y),b.quadraticCurveTo(n.x,n.y,y.x,y.y),e.shadowColor=c.borderShadowColor,e.stroke(b),t.path=b,t.ctx=e,un(e,v,{angle:h,adjust:d},l),un(e,y,{angle:_,adjust:f},u)}var J=class extends i{inRange(e,t,n,r){let i=this.options.rotation,a=(this.options.borderWidth+this.options.hitTolerance)/2;if(n!==`x`&&n!==`y`)return fn({x:e,y:t},this.getProps([`width`,`height`,`centerX`,`centerY`],r),i,a);let{x:s,y:c,x2:l,y2:u}=this.getProps([`x`,`y`,`x2`,`y2`],r),d=n===`y`?{start:c,end:u}:{start:s,end:l},f=D({x:e,y:t},this.getCenterPoint(r),o(-i));return f[n]>=d.start-a-O&&f[n]<=d.end+a+O}getCenterPoint(e){return A(this,e)}draw(e){let{width:t,height:n,centerX:r,centerY:i,options:a}=this;e.save(),F(e,this.getCenterPoint(),a.rotation),L(e,this.options),e.beginPath(),e.fillStyle=a.backgroundColor;let o=I(e,a);e.ellipse(r,i,n/2,t/2,g/2,0,2*g),e.fill(),o&&(e.shadowColor=a.borderShadowColor,e.stroke()),e.restore()}get label(){return this.elements&&this.elements[0]}resolveElementProperties(e,t){return nt(e,t)}};J.id=`ellipseAnnotation`,J.defaults={adjustScaleRange:!0,backgroundShadowColor:`transparent`,borderDash:[],borderDashOffset:0,borderShadowColor:`transparent`,borderWidth:1,display:!0,hitTolerance:0,init:void 0,label:Object.assign({},U.defaults.label),rotation:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,xMax:void 0,xMin:void 0,xScaleID:void 0,yMax:void 0,yMin:void 0,yScaleID:void 0,z:0},J.defaultRoutes={borderColor:`color`,backgroundColor:`color`},J.descriptors={label:{_fallback:!0}};function fn(e,t,n,r){let{width:i,height:a,centerX:s,centerY:c}=t,l=i/2,u=a/2;if(l<=0||u<=0)return!1;let d=o(n||0),f=Math.cos(d),p=Math.sin(d),m=(f*(e.x-s)+p*(e.y-c))**2,h=(p*(e.x-s)-f*(e.y-c))**2;return m/(l+r)**2+h/(u+r)**2<=1.0001}var Y=class extends i{inRange(e,t,n,r){let{x:i,y:a,x2:o,y2:s,width:c}=this.getProps([`x`,`y`,`x2`,`y2`,`width`],r),l=(this.options.borderWidth+this.options.hitTolerance)/2;return n!==`x`&&n!==`y`?de({x:e,y:t},this.getCenterPoint(r),c/2,l):le(n===`y`?{start:a,end:s,value:t}:{start:i,end:o,value:e},l)}getCenterPoint(e){return A(this,e)}draw(e){let t=this.options,n=t.borderWidth;if(t.radius<.1)return;e.save(),e.fillStyle=t.backgroundColor,L(e,t);let r=I(e,t);Ie(e,this,this.centerX,this.centerY),r&&!P(t.pointStyle)&&(e.shadowColor=t.borderShadowColor,e.stroke()),e.restore(),t.borderWidth=n}resolveElementProperties(e,t){let n=et(e,t);return n.initProperties=N(e,n,t),n}};Y.id=`pointAnnotation`,Y.defaults={adjustScaleRange:!0,backgroundShadowColor:`transparent`,borderDash:[],borderDashOffset:0,borderShadowColor:`transparent`,borderWidth:1,display:!0,hitTolerance:0,init:void 0,pointStyle:`circle`,radius:10,rotation:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,xAdjust:0,xMax:void 0,xMin:void 0,xScaleID:void 0,xValue:void 0,yAdjust:0,yMax:void 0,yMin:void 0,yScaleID:void 0,yValue:void 0,z:0},Y.defaultRoutes={borderColor:`color`,backgroundColor:`color`};var X=class extends i{inRange(e,t,n,r){if(n!==`x`&&n!==`y`)return this.options.radius>=.1&&this.elements.length>1&&mn(this.elements,e,t,r);let i=D({x:e,y:t},this.getCenterPoint(r),o(-this.options.rotation)),a=this.elements.map(e=>n===`y`?e.bY:e.bX),s=Math.min(...a),c=Math.max(...a);return i[n]>=s&&i[n]<=c}getCenterPoint(e){return A(this,e)}draw(e){let{elements:t,options:n}=this;e.save(),e.beginPath(),e.fillStyle=n.backgroundColor,L(e,n);let r=I(e,n),i=!0;for(let n of t)i?(e.moveTo(n.x,n.y),i=!1):e.lineTo(n.x,n.y);e.closePath(),e.fill(),r&&(e.shadowColor=n.borderShadowColor,e.stroke()),e.restore()}resolveElementProperties(e,t){let n=et(e,t),{sides:r,rotation:i}=t,a=[],o=2*g/r,s=i*x;for(let i=0;i<r;i++,s+=o){let r=pn(n,t,s);r.initProperties=N(e,n,t),a.push(r)}return n.elements=a,n}};X.id=`polygonAnnotation`,X.defaults={adjustScaleRange:!0,backgroundShadowColor:`transparent`,borderCapStyle:`butt`,borderDash:[],borderDashOffset:0,borderJoinStyle:`miter`,borderShadowColor:`transparent`,borderWidth:1,display:!0,hitTolerance:0,init:void 0,point:{radius:0},radius:10,rotation:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,sides:3,xAdjust:0,xMax:void 0,xMin:void 0,xScaleID:void 0,xValue:void 0,yAdjust:0,yMax:void 0,yMin:void 0,yScaleID:void 0,yValue:void 0,z:0},X.defaultRoutes={borderColor:`color`,backgroundColor:`color`};function pn({centerX:e,centerY:t},{radius:n,borderWidth:r,hitTolerance:i},a){let o=(r+i)/2,s=Math.sin(a),c=Math.cos(a),l={x:e+s*n,y:t-c*n};return{type:`point`,optionScope:`point`,properties:{x:l.x,y:l.y,centerX:l.x,centerY:l.y,bX:e+s*(n+o),bY:t-c*(n+o)}}}function mn(e,t,n,r){let i=!1,a=e[e.length-1].getProps([`bX`,`bY`],r);for(let o of e){let e=o.getProps([`bX`,`bY`],r);e.bY>n!=a.bY>n&&t<(a.bX-e.bX)*(n-e.bY)/(a.bY-e.bY)+e.bX&&(i=!i),a=e}return i}var Z={box:U,doughnutLabel:W,ellipse:J,label:G,line:q,point:Y,polygon:X};Object.keys(Z).forEach(e=>{m.describe(`elements.${Z[e].id}`,{_fallback:`plugins.annotation.common`})});var hn={update:Object.assign},gn=ft.concat(H),_n=(e,t)=>s(t)?En(e,t):e,vn=e=>e===`color`||e===`font`;function yn(e=`line`){return Z[e]?e:(console.warn(`Unknown annotation type: '${e}', defaulting to 'line'`),`line`)}function bn(e,t,n,r){let i=Sn(e,n.animations,r),a=t.annotations,o=On(t.elements,a);for(let t=0;t<a.length;t++){let n=a[t],r=wn(o,t,n.type),s=n.setContext(Dn(e,r,o,n)),c=r.resolveElementProperties(e,s);c.skip=xn(c),`elements`in c&&(Cn(r,c.elements,s,i),delete c.elements),S(r.x)||Object.assign(r,c),Object.assign(r,c.initProperties),c.options=Tn(s),i.update(r,c)}}function xn(e){return isNaN(e.x)||isNaN(e.y)}function Sn(e,t,n){return n===`reset`||n===`none`||n===`resize`?hn:new r(e,t)}function Cn(e,t,n,r){let i=e.elements||=[];i.length=t.length;for(let e=0;e<t.length;e++){let a=t[e],o=a.properties,s=wn(i,e,a.type,a.initProperties);o.options=Tn(n[a.optionScope].override(a)),r.update(s,o)}}function wn(e,t,n,r){let i=Z[yn(n)],a=e[t];return(!a||!(a instanceof i))&&(a=e[t]=new i,Object.assign(a,r)),a}function Tn(e){let t=Z[yn(e.type)],n={};n.id=e.id,n.type=e.type,n.drawTime=e.drawTime,Object.assign(n,En(e,t.defaults),En(e,t.defaultRoutes));for(let t of gn)n[t]=e[t];return n}function En(e,t){let n={};for(let r of Object.keys(t)){let i=t[r],a=e[r];vn(r)&&l(a)?n[r]=a.map(e=>_n(e,i)):n[r]=_n(a,i)}return n}function Dn(e,t,n,r){return t.$context||=Object.assign(Object.create(e.getContext()),{element:t,get elements(){return n.filter(e=>e&&e.options)},id:r.id,type:`annotation`})}function On(e,t){let n=t.length,r=e.length;if(r<n){let t=n-r;e.splice(r,0,...Array(t))}else r>n&&e.splice(n,r-n);return e}var kn=`3.1.0`,Q=new Map,An=e=>e.type!==`doughnutLabel`,jn=ft.concat(H),Mn={id:`annotation`,version:kn,beforeRegister(){me(`chart.js`,`4.0`,a.version)},afterRegister(){a.register(Z)},afterUnregister(){a.unregister(Z)},beforeInit(e){Q.set(e,{annotations:[],elements:[],visibleElements:[],listeners:{},listened:!1,moveListened:!1,hooks:{},hooked:!1,hovered:[]})},beforeUpdate(e,t,n){let r=Q.get(e),i=r.annotations=[],a=n.annotations;s(a)?Object.keys(a).forEach(e=>{let t=a[e];s(t)&&(t.id=e,i.push(t))}):l(a)&&i.push(...a),St(i.filter(An),e.scales)},afterDataLimits(e,t){let n=Q.get(e);xt(e,t.scale,n.annotations.filter(An).filter(e=>e.display&&e.adjustScaleRange))},afterUpdate(e,t,n){let r=Q.get(e);pt(e,r,n),bn(e,r,n,t.mode),r.visibleElements=r.elements.filter(e=>!e.skip&&e.options.display),yt(e,r,n)},beforeDatasetsDraw(e,t,n){$(e,`beforeDatasetsDraw`,n.clip)},afterDatasetsDraw(e,t,n){$(e,`afterDatasetsDraw`,n.clip)},beforeDatasetDraw(e,t,n){$(e,t.index,n.clip)},beforeDraw(e,t,n){$(e,`beforeDraw`,n.clip)},afterDraw(e,t,n){$(e,`afterDraw`,n.clip)},beforeEvent(e,t,n){mt(Q.get(e),t.event,n)&&(t.changed=!0)},afterDestroy(e){Q.delete(e)},getAnnotations(e){let t=Q.get(e);return t?t.elements:[]},_getAnnotationElementsAtEventForMode(e,t,n){return T(e,t,n)},defaults:{animations:{numbers:{properties:[`x`,`y`,`x2`,`y2`,`width`,`height`,`centerX`,`centerY`,`pointX`,`pointY`,`radius`],type:`number`},colors:{properties:[`backgroundColor`,`borderColor`],type:`color`}},clip:!0,interaction:{mode:void 0,axis:void 0,intersect:void 0},common:{drawTime:`afterDatasetsDraw`,init:!1,label:{}}},descriptors:{_indexable:!1,_scriptable:e=>!jn.includes(e)&&e!==`init`,annotations:{_allKeys:!1,_fallback:(e,t)=>`elements.${Z[yn(t.type)].id}`},interaction:{_fallback:!0},common:{label:{_indexable:vn,_fallback:!0},_indexable:vn}},additionalOptionScopes:[``]};function $(t,n,r){let{ctx:i,chartArea:a}=t,o=Q.get(t);r&&p(i,a);let s=Nn(o.visibleElements,n).sort((e,t)=>e.element.options.z-t.element.options.z);for(let e of s)Pn(i,a,o,e);r&&e(i)}function Nn(e,t){let n=[];for(let r of e)if(r.options.drawTime===t&&n.push({element:r,main:!0}),r.elements&&r.elements.length)for(let e of r.elements)e.options.display&&e.options.drawTime===t&&n.push({element:e});return n}function Pn(e,t,n,r){let i=r.element;r.main?(bt(n,i,`beforeDraw`),i.draw(e,t),bt(n,i,`afterDraw`)):i.draw(e,t)}export{Mn as t};