| 3289 | return t.isNumber(e) ? "tukey" : e; |
| 3290 | } |
| 3291 | function ls(e, n) { |
| 3292 | let { config: i } = n; |
| 3293 | e = { ...e, encoding: Xa(e.encoding, i) }; |
| 3294 | const { mark: r, encoding: o, params: a, projection: s, ...l } = e, |
| 3295 | c = no(r) ? r : { type: r }; |
| 3296 | a && Si(Kn("boxplot")); |
| 3297 | const u = c.extent ?? i.boxplot.extent, |
| 3298 | d = En("size", c, i), |
| 3299 | m = c.invalid, |
| 3300 | p = ss(u), |
| 3301 | { |
| 3302 | bins: g, |
| 3303 | timeUnits: h, |
| 3304 | transform: y, |
| 3305 | continuousAxisChannelDef: v, |
| 3306 | continuousAxis: b, |
| 3307 | groupby: x, |
| 3308 | aggregate: $, |
| 3309 | encodingWithoutContinuousAxis: w, |
| 3310 | ticksOrient: k, |
| 3311 | boxOrient: D, |
| 3312 | customTooltipWithoutAggregatedField: F, |
| 3313 | } = (function (e, n, i) { |
| 3314 | const r = rs(e, os), |
| 3315 | { continuousAxisChannelDef: o, continuousAxis: a } = ns(e, r, os), |
| 3316 | s = o.field, |
| 3317 | l = L(s), |
| 3318 | c = ss(n), |
| 3319 | u = [ |
| 3320 | ...cs(s), |
| 3321 | { op: "median", field: s, as: `mid_box_${l}` }, |
| 3322 | { |
| 3323 | op: "min", |
| 3324 | field: s, |
| 3325 | as: ("min-max" === c ? "lower_whisker_" : "min_") + l, |
| 3326 | }, |
| 3327 | { |
| 3328 | op: "max", |
| 3329 | field: s, |
| 3330 | as: ("min-max" === c ? "upper_whisker_" : "max_") + l, |
| 3331 | }, |
| 3332 | ], |
| 3333 | f = |
| 3334 | "min-max" === c || "tukey" === c |
| 3335 | ? [] |
| 3336 | : [ |
| 3337 | { |
| 3338 | calculate: `${j(`upper_box_${l}`)} - ${j(`lower_box_${l}`)}`, |
| 3339 | as: `iqr_${l}`, |
| 3340 | }, |
| 3341 | { |
| 3342 | calculate: `min(${j(`upper_box_${l}`)} + ${j(`iqr_${l}`)} * ${n}, ${j(`max_${l}`)})`, |
| 3343 | as: `upper_whisker_${l}`, |
| 3344 | }, |
| 3345 | { |
| 3346 | calculate: `max(${j(`lower_box_${l}`)} - ${j(`iqr_${l}`)} * ${n}, ${j(`min_${l}`)})`, |
| 3347 | as: `lower_whisker_${l}`, |
| 3348 | }, |