{"version":3,"file":"7001.bundle.dfceca70f359b0c05597.js","mappings":"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","sources":["webpack://fieldlevel.app/./app-core/components/SearchFilters/useParamTools.js","webpack://fieldlevel.app/./app-core/routes/job-openings/components/JobOpeningsListDisplay.jsx","webpack://fieldlevel.app/./node_modules/react-intersection-observer/dist/index.mjs"],"sourcesContent":["import { useEffect, useRef } from 'react';\r\n\r\nimport useURLParams from '@appCore/hooks/routeTools/useURLParams/useURLParams';\r\n\r\nimport {\r\n    deriveSecondaryKey,\r\n    getIndexFromSecondaryKey,\r\n    getIsEmptyValue,\r\n    getIsSecondaryKey,\r\n    SELECTION_TYPES,\r\n    UNSTABLE_getGroupIndexFromCheckboxGroupKey,\r\n    UNSTABLE_getGroupIndexFromDependentSelectGroupKey\r\n} from './utility';\r\n\r\n/**\r\n * This hook attempts to encapsulate some of the more commonly used functionality when working with\r\n * SearchFilters. It accepts a SearchFilters FilterDefinition and returns three functions (deriveValues(),\r\n * deriveRequestParams(), and deriveSearchParamsOnValuesChange()) which can be used to manage filter state on\r\n * any given page.\r\n *\r\n * In particular, it handles:\r\n * - Automatically parsing filter values from searchParams/defaults when configured in the filterDef\r\n * - Automatically parsing request params from given values when configured in the filterDef\r\n * - Automatically resetting filters when the primary filter changes\r\n * - Automatically resetting page-tracking filters when any filters change\r\n */\r\nconst useParamTools = ({ filterDef }) => {\r\n    const searchParams = useURLParams().search;\r\n    const prevSearchParams = useRef(searchParams);\r\n\r\n    useEffect(() => {\r\n        if (prevSearchParams.current !== searchParams) {\r\n            prevSearchParams.current = searchParams;\r\n        }\r\n    }, [searchParams]);\r\n\r\n    if (!filterDef) {\r\n        return null;\r\n    }\r\n\r\n    const pageSearchParamKey = 'page' in filterDef ? filterDef.page.searchParamKey : 'page';\r\n    const pageRequestParamKey = 'page' in filterDef ? filterDef.page.requestParamKey : 'page';\r\n\r\n    const deriveValues = () => {\r\n        const getPrimaryValue = () => {\r\n            if (filterDef.primary.disabled) {\r\n                return '';\r\n            }\r\n            return searchParams[filterDef.primary.searchParamKey] || filterDef.primary.defaultValue || '';\r\n        };\r\n\r\n        const getSecondaryValue = ({ secondaryDef }) => {\r\n            if (secondaryDef.disabled) {\r\n                return secondaryDef.selectionType === SELECTION_TYPES.multiSelect ? [] : '';\r\n            }\r\n            if (secondaryDef.selectionType === SELECTION_TYPES.multiSelect) {\r\n                if (!searchParams[secondaryDef.searchParamKey]) {\r\n                    return [];\r\n                }\r\n                const multiSelectValue = Array.isArray(searchParams[secondaryDef.searchParamKey])\r\n                    ? searchParams[secondaryDef.searchParamKey]\r\n                    : [searchParams[secondaryDef.searchParamKey]];\r\n\r\n                if (!multiSelectValue.every(val => !!secondaryDef.options.find(opt => opt.value === val))) {\r\n                    return [];\r\n                }\r\n                return multiSelectValue;\r\n            }\r\n            if (secondaryDef.selectionType === SELECTION_TYPES.singleSelect) {\r\n                if (!secondaryDef.options.find(opt => opt.value === searchParams[secondaryDef.searchParamKey])) {\r\n                    return '';\r\n                }\r\n                return searchParams[secondaryDef.searchParamKey] || '';\r\n            }\r\n            if (secondaryDef.selectionType === 'checkbox') {\r\n                return searchParams[secondaryDef.searchParamKey] === 'true' ? true : '';\r\n            }\r\n            return searchParams[secondaryDef.searchParamKey] || '';\r\n        };\r\n\r\n        const getTextValue = () => {\r\n            if (filterDef.text.disabled) {\r\n                return '';\r\n            }\r\n            return searchParams[filterDef.text.searchParamKey] || '';\r\n        };\r\n\r\n        const getSortValue = () => {\r\n            if (filterDef.sort.disabled) {\r\n                return '';\r\n            }\r\n            return searchParams[filterDef.sort.searchParamKey] || filterDef.sort.defaultValue || '';\r\n        };\r\n\r\n        const values = {\r\n            ...filterDef.secondary.reduce((acc, secondaryDef, secondaryDefIdx) => {\r\n                if (secondaryDef.selectionType === 'unstable_dependentSelectGroup') {\r\n                    const keyPrefix = deriveSecondaryKey({ idx: secondaryDefIdx });\r\n                    return secondaryDef.group.reduce(\r\n                        (groupAcc, groupItemDef, groupItemDefIdx) => ({\r\n                            ...groupAcc,\r\n                            [`${keyPrefix}.${groupItemDefIdx}`]: getSecondaryValue({ secondaryDef: groupItemDef })\r\n                        }),\r\n                        acc\r\n                    );\r\n                }\r\n\r\n                if (secondaryDef.selectionType === 'unstable_checkboxGroup') {\r\n                    const keyPrefix = deriveSecondaryKey({ idx: secondaryDefIdx });\r\n                    return secondaryDef.group.reduce(\r\n                        (groupAcc, groupItemDef, groupItemDefIdx) => ({\r\n                            ...groupAcc,\r\n                            [`${keyPrefix}.${groupItemDefIdx}`]: getSecondaryValue({ secondaryDef: groupItemDef })\r\n                        }),\r\n                        acc\r\n                    );\r\n                }\r\n\r\n                return {\r\n                    ...acc,\r\n                    [deriveSecondaryKey({ idx: secondaryDefIdx })]: getSecondaryValue({ secondaryDef })\r\n                };\r\n            }, {})\r\n        };\r\n\r\n        // Only attach a value for 'primary', 'text', and 'sort' if they exist in the definition (they're optional)\r\n        if (filterDef.primary) {\r\n            values.primary = getPrimaryValue();\r\n        }\r\n        if (filterDef.text) {\r\n            values.text = getTextValue();\r\n        }\r\n        if (filterDef.sort) {\r\n            values.sort = getSortValue();\r\n        }\r\n\r\n        return values;\r\n    };\r\n\r\n    const deriveRequestParams = ({ values }) => {\r\n        const newParams = Object.keys(values).reduce((acc, key) => {\r\n            // Don't account for empty values\r\n            if (getIsEmptyValue(values[key])) {\r\n                return acc;\r\n            }\r\n            if (getIsSecondaryKey({ key })) {\r\n                const secondaryDefIdx = getIndexFromSecondaryKey({ key });\r\n                const secondaryDef = filterDef.secondary[secondaryDefIdx];\r\n\r\n                if (secondaryDef.selectionType === 'unstable_dependentSelectGroup') {\r\n                    const groupDefKey = UNSTABLE_getGroupIndexFromDependentSelectGroupKey({ key });\r\n                    const groupDef = secondaryDef.group[groupDefKey];\r\n                    if (groupDef.disabled) {\r\n                        return acc;\r\n                    }\r\n                    acc[groupDef.requestParamKey] = values[key];\r\n                    return acc;\r\n                }\r\n\r\n                if (secondaryDef.selectionType === 'unstable_checkboxGroup') {\r\n                    const groupDefKey = UNSTABLE_getGroupIndexFromCheckboxGroupKey({ key });\r\n                    const groupDef = secondaryDef.group[groupDefKey];\r\n                    if (groupDef.disabled) {\r\n                        return acc;\r\n                    }\r\n                    acc[groupDef.requestParamKey] = values[key];\r\n                    return acc;\r\n                }\r\n\r\n                // Don't derive requestParams from disabled secondary filters\r\n                if (secondaryDef.disabled) {\r\n                    return acc;\r\n                }\r\n                acc[secondaryDef.requestParamKey] = values[key];\r\n                return acc;\r\n            }\r\n            // Don't derive requestParams from disabled text/alt filters\r\n            if (filterDef[key].disabled) {\r\n                return acc;\r\n            }\r\n            acc[filterDef[key].requestParamKey] = values[key];\r\n            return acc;\r\n        }, {});\r\n\r\n        if (pageSearchParamKey && pageRequestParamKey && searchParams[pageSearchParamKey]) {\r\n            newParams[pageRequestParamKey] = searchParams[pageSearchParamKey];\r\n        }\r\n\r\n        return newParams;\r\n    };\r\n\r\n    const deriveSearchParamsOnValuesChange = ({ values }) => {\r\n        const mergedParams = {\r\n            ...searchParams,\r\n\r\n            // Here we take special care in handling \"dependent select groups\", making sure that we only propagate\r\n            // values that pass the specified dependency condition.\r\n            ...filterDef.secondary?.reduce((acc, secondaryDef, secondaryDefIdx) => {\r\n                if (secondaryDef.selectionType !== 'unstable_dependentSelectGroup') {\r\n                    return acc;\r\n                }\r\n                const secondaryKey = deriveSecondaryKey({ idx: secondaryDefIdx });\r\n                const groupValues = Object.keys(values)\r\n                    .filter(valKey => valKey.startsWith(`${secondaryKey}.`))\r\n                    .reduce(\r\n                        (groupValAcc, groupValKey) => ({\r\n                            ...groupValAcc,\r\n                            [groupValKey]: values[groupValKey]\r\n                        }),\r\n                        {}\r\n                    );\r\n\r\n                const validSearchParamKeys = {};\r\n                for (let i = 0; i < secondaryDef.group.length; i++) {\r\n                    const groupDef = secondaryDef.group[i];\r\n                    const groupDefKey = `${secondaryKey}.${i}`;\r\n\r\n                    // If the current values change doesn't include these keys, don't update them!\r\n                    if (!Object.hasOwn(values, groupDefKey)) {\r\n                        continue;\r\n                    }\r\n\r\n                    if (!groupDef.dependencyCondition || groupDef.dependencyCondition({ groupValues })) {\r\n                        validSearchParamKeys[groupDef.searchParamKey] = values[groupDefKey];\r\n                    } else if (!Object.hasOwn(validSearchParamKeys, groupDef.searchParamKey)) {\r\n                        validSearchParamKeys[groupDef.searchParamKey] =\r\n                            groupDef.selectionType === SELECTION_TYPES.multiSelect ? [] : '';\r\n                    }\r\n                }\r\n\r\n                return {\r\n                    ...acc,\r\n                    ...validSearchParamKeys\r\n                };\r\n            }, {}),\r\n\r\n            ...Object.keys(values).reduce((acc, key) => {\r\n                if (getIsSecondaryKey({ key })) {\r\n                    const secondaryDefIdx = getIndexFromSecondaryKey({ key });\r\n                    const secondaryDef = filterDef.secondary[secondaryDefIdx];\r\n\r\n                    // We already handled this above\r\n                    if (secondaryDef.selectionType === 'unstable_dependentSelectGroup') {\r\n                        return acc;\r\n                    }\r\n\r\n                    if (secondaryDef.selectionType === 'unstable_checkboxGroup') {\r\n                        const groupIdx = UNSTABLE_getGroupIndexFromCheckboxGroupKey({ key });\r\n                        const groupDef = secondaryDef.group[groupIdx];\r\n                        acc[groupDef.searchParamKey] = values[key] && 'true';\r\n                        return acc;\r\n                    }\r\n\r\n                    acc[secondaryDef.searchParamKey] = values[key];\r\n                    return acc;\r\n                }\r\n\r\n                acc[filterDef[key].searchParamKey] = values[key];\r\n                return acc;\r\n            }, {})\r\n        };\r\n\r\n        // Now delete any empty keys\r\n        Object.keys(mergedParams).forEach(key => {\r\n            if (getIsEmptyValue(mergedParams[key])) {\r\n                delete mergedParams[key];\r\n            }\r\n        });\r\n\r\n        // Find the changed param keys from the previous\r\n        const changedParams = Array.from(\r\n            new Set([...Object.keys(mergedParams), ...Object.keys(prevSearchParams.current)])\r\n        ).reduce((acc, key) => {\r\n            if (mergedParams[key] !== prevSearchParams.current[key]) {\r\n                acc.push(key);\r\n            }\r\n            return acc;\r\n        }, []);\r\n\r\n        // If the primary key changed, reset all filters\r\n        if (filterDef.primary && changedParams.includes(filterDef.primary.searchParamKey)) {\r\n            // Check to see if the primaryKey actually has a value here (it's possible it 'changed' because it was reset to ''), and if so, return the custom object. Otherwise return empty\r\n            return mergedParams[filterDef.primary.searchParamKey]\r\n                ? { [filterDef.primary.searchParamKey]: mergedParams[filterDef.primary.searchParamKey] }\r\n                : {};\r\n        }\r\n\r\n        // If anything other than 'page' changed, reset page\r\n        if (pageSearchParamKey && changedParams.some(key => key !== pageSearchParamKey)) {\r\n            delete mergedParams[pageSearchParamKey];\r\n        }\r\n\r\n        return mergedParams;\r\n    };\r\n\r\n    const values = deriveValues();\r\n\r\n    return {\r\n        values,\r\n        requestParams: deriveRequestParams({ values }),\r\n        deriveSearchParamsOnValuesChange\r\n    };\r\n};\r\n\r\nexport default useParamTools;\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useInView } from 'react-intersection-observer';\r\n\r\nimport { Heading, Stack, Caption } from '@fieldlevel/playbook';\r\n\r\nimport WiredLink from '@appCore/components/WiredLink';\r\nimport ReadMoreText from '@appCore/components/ReadMoreText';\r\nimport UserHeadshot from '@appCore/components/UserHeadshot';\r\nimport TeamDetailsDisplay from '@appCore/components/TeamDetailsDisplay';\r\nimport { IndentedListItem, List } from '@appCore/components/SearchFilters/layouts/ListWithFilters/ListWithFilters';\r\nimport { convertToTeamObject } from '@appCore/utility/apiUtils';\r\nimport { formatDate } from '@appCore/utility/dateUtils';\r\nimport { logEvent, AnalyticsTypeEnum } from '@appCore/utility/natsAnalyticsUtils';\r\nimport { JOB_OPENINGS_ANALYTICS_CATEGORY, JOB_OPENINGS_ANALYTICS_LIST_ITEM_ACTION } from '@appCore/constants/analytics';\r\n\r\nexport const JobOpeningListItem = ({\r\n    jobOpening,\r\n    authUserId,\r\n    isAthleteViewer,\r\n    jobOpeningLinkProps,\r\n    shouldLazyLoadLogos\r\n}) => {\r\n    const { Organization: organization, PostedBy: postedBy } = jobOpening;\r\n    const team = convertToTeamObject(organization, jobOpening.SportEnum);\r\n\r\n    const logImpression = () => {\r\n        const data = {\r\n            JobOpeningId: jobOpening.JobOpeningId\r\n        };\r\n\r\n        if (authUserId) {\r\n            data.ViewerUserId = authUserId;\r\n            data.ViewerIsAthlete = isAthleteViewer;\r\n        }\r\n\r\n        const natsEvent = {\r\n            Type: AnalyticsTypeEnum.Impression,\r\n            Action: JOB_OPENINGS_ANALYTICS_LIST_ITEM_ACTION,\r\n            Category: JOB_OPENINGS_ANALYTICS_CATEGORY,\r\n            Data: data\r\n        };\r\n\r\n        logEvent(natsEvent);\r\n    };\r\n\r\n    const [ref, inView] = useInView({ threshold: 1, triggerOnce: true });\r\n\r\n    useEffect(() => {\r\n        if (inView) {\r\n            logImpression();\r\n        }\r\n    }, [inView]);\r\n\r\n    return (\r\n        <IndentedListItem\r\n            headerContent={<TeamDetailsDisplay team={team} options={{ lazyLoadLogo: shouldLazyLoadLogos }} />}\r\n            bodyContent={\r\n                <>\r\n                    <Heading>\r\n                        <WiredLink {...jobOpeningLinkProps}>{jobOpening.Title}</WiredLink>\r\n                    </Heading>\r\n                    <div className=\"mt-4\">\r\n                        <ReadMoreText\r\n                            truncateAt={175}\r\n                            truncateLongerThan={250}\r\n                            readMoreLinkProps={jobOpeningLinkProps}\r\n                            expandOnClick={false}\r\n                            readMoreLabel=\"Read more about this job opening\"\r\n                        >\r\n                            {jobOpening.Description}\r\n                        </ReadMoreText>\r\n                    </div>\r\n                    <div className=\"mt-6\" ref={ref}>\r\n                        <Stack align=\"center\" spacing=\"tight\" noWrap={true}>\r\n                            <Stack.Item>\r\n                                <UserHeadshot guid={postedBy.Guid} size=\"Small\" lazy={shouldLazyLoadLogos} />\r\n                            </Stack.Item>\r\n                            <Stack.Item fill={true}>\r\n                                <Caption>\r\n                                    Posted by {postedBy.DisplayName} on {formatDate(jobOpening.DateCreatedUtc)}\r\n                                </Caption>\r\n                            </Stack.Item>\r\n                        </Stack>\r\n                    </div>\r\n                </>\r\n            }\r\n        />\r\n    );\r\n};\r\n\r\nJobOpeningListItem.propTypes = {\r\n    jobOpening: PropTypes.shape({\r\n        JobOpeningId: PropTypes.number.isRequired,\r\n        Title: PropTypes.string.isRequired,\r\n        Description: PropTypes.string.isRequired,\r\n        DateCreatedUtc: PropTypes.string.isRequired,\r\n        SportEnum: PropTypes.shape({\r\n            Id: PropTypes.number.isRequired,\r\n            Label: PropTypes.string.isRequired,\r\n            Value: PropTypes.string.isRequired\r\n        })\r\n    }).isRequired,\r\n    jobOpeningLinkProps: PropTypes.exact(WiredLink.propTypes).isRequired,\r\n    shouldLazyLoadLogos: PropTypes.bool,\r\n    authUserId: PropTypes.number,\r\n    isAthleteViewer: PropTypes.bool\r\n};\r\n\r\nconst JobOpeningsListDisplay = ({ jobOpenings, emptyStateRendering, renderJobOpeningsListItem }) => {\r\n    return (\r\n        <List>\r\n            {!jobOpenings.length\r\n                ? emptyStateRendering\r\n                : jobOpenings.map((jobOpening, idx) => (\r\n                      <React.Fragment key={jobOpening.JobOpeningId}>\r\n                          {renderJobOpeningsListItem({ jobOpening, shouldLazyLoadLogos: idx > 4 })}\r\n                      </React.Fragment>\r\n                  ))}\r\n        </List>\r\n    );\r\n};\r\n\r\nJobOpeningsListDisplay.propTypes = {\r\n    jobOpenings: PropTypes.arrayOf(PropTypes.object).isRequired,\r\n    emptyStateRendering: PropTypes.node.isRequired,\r\n    renderJobOpeningsListItem: PropTypes.func.isRequired\r\n};\r\n\r\nexport default JobOpeningsListDisplay;\r\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n\n// src/InView.tsx\nimport * as React from \"react\";\n\n// src/observe.ts\nvar observerMap = /* @__PURE__ */ new Map();\nvar RootIds = /* @__PURE__ */ new WeakMap();\nvar rootId = 0;\nvar unsupportedValue = void 0;\nfunction defaultFallbackInView(inView) {\n  unsupportedValue = inView;\n}\nfunction getRootId(root) {\n  if (!root) return \"0\";\n  if (RootIds.has(root)) return RootIds.get(root);\n  rootId += 1;\n  RootIds.set(root, rootId.toString());\n  return RootIds.get(root);\n}\nfunction optionsToId(options) {\n  return Object.keys(options).sort().filter(\n    (key) => options[key] !== void 0\n  ).map((key) => {\n    return `${key}_${key === \"root\" ? getRootId(options.root) : options[key]}`;\n  }).toString();\n}\nfunction createObserver(options) {\n  const id = optionsToId(options);\n  let instance = observerMap.get(id);\n  if (!instance) {\n    const elements = /* @__PURE__ */ new Map();\n    let thresholds;\n    const observer = new IntersectionObserver((entries) => {\n      entries.forEach((entry) => {\n        var _a;\n        const inView = entry.isIntersecting && thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n        if (options.trackVisibility && typeof entry.isVisible === \"undefined\") {\n          entry.isVisible = inView;\n        }\n        (_a = elements.get(entry.target)) == null ? void 0 : _a.forEach((callback) => {\n          callback(inView, entry);\n        });\n      });\n    }, options);\n    thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n    instance = {\n      id,\n      observer,\n      elements\n    };\n    observerMap.set(id, instance);\n  }\n  return instance;\n}\nfunction observe(element, callback, options = {}, fallbackInView = unsupportedValue) {\n  if (typeof window.IntersectionObserver === \"undefined\" && fallbackInView !== void 0) {\n    const bounds = element.getBoundingClientRect();\n    callback(fallbackInView, {\n      isIntersecting: fallbackInView,\n      target: element,\n      intersectionRatio: typeof options.threshold === \"number\" ? options.threshold : 0,\n      time: 0,\n      boundingClientRect: bounds,\n      intersectionRect: bounds,\n      rootBounds: bounds\n    });\n    return () => {\n    };\n  }\n  const { id, observer, elements } = createObserver(options);\n  const callbacks = elements.get(element) || [];\n  if (!elements.has(element)) {\n    elements.set(element, callbacks);\n  }\n  callbacks.push(callback);\n  observer.observe(element);\n  return function unobserve() {\n    callbacks.splice(callbacks.indexOf(callback), 1);\n    if (callbacks.length === 0) {\n      elements.delete(element);\n      observer.unobserve(element);\n    }\n    if (elements.size === 0) {\n      observer.disconnect();\n      observerMap.delete(id);\n    }\n  };\n}\n\n// src/InView.tsx\nfunction isPlainChildren(props) {\n  return typeof props.children !== \"function\";\n}\nvar InView = class extends React.Component {\n  constructor(props) {\n    super(props);\n    __publicField(this, \"node\", null);\n    __publicField(this, \"_unobserveCb\", null);\n    __publicField(this, \"handleNode\", (node) => {\n      if (this.node) {\n        this.unobserve();\n        if (!node && !this.props.triggerOnce && !this.props.skip) {\n          this.setState({ inView: !!this.props.initialInView, entry: void 0 });\n        }\n      }\n      this.node = node ? node : null;\n      this.observeNode();\n    });\n    __publicField(this, \"handleChange\", (inView, entry) => {\n      if (inView && this.props.triggerOnce) {\n        this.unobserve();\n      }\n      if (!isPlainChildren(this.props)) {\n        this.setState({ inView, entry });\n      }\n      if (this.props.onChange) {\n        this.props.onChange(inView, entry);\n      }\n    });\n    this.state = {\n      inView: !!props.initialInView,\n      entry: void 0\n    };\n  }\n  componentDidMount() {\n    this.unobserve();\n    this.observeNode();\n  }\n  componentDidUpdate(prevProps) {\n    if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n      this.unobserve();\n      this.observeNode();\n    }\n  }\n  componentWillUnmount() {\n    this.unobserve();\n  }\n  observeNode() {\n    if (!this.node || this.props.skip) return;\n    const {\n      threshold,\n      root,\n      rootMargin,\n      trackVisibility,\n      delay,\n      fallbackInView\n    } = this.props;\n    this._unobserveCb = observe(\n      this.node,\n      this.handleChange,\n      {\n        threshold,\n        root,\n        rootMargin,\n        // @ts-ignore\n        trackVisibility,\n        // @ts-ignore\n        delay\n      },\n      fallbackInView\n    );\n  }\n  unobserve() {\n    if (this._unobserveCb) {\n      this._unobserveCb();\n      this._unobserveCb = null;\n    }\n  }\n  render() {\n    const { children } = this.props;\n    if (typeof children === \"function\") {\n      const { inView, entry } = this.state;\n      return children({ inView, entry, ref: this.handleNode });\n    }\n    const {\n      as,\n      triggerOnce,\n      threshold,\n      root,\n      rootMargin,\n      onChange,\n      skip,\n      trackVisibility,\n      delay,\n      initialInView,\n      fallbackInView,\n      ...props\n    } = this.props;\n    return React.createElement(\n      as || \"div\",\n      { ref: this.handleNode, ...props },\n      children\n    );\n  }\n};\n\n// src/useInView.tsx\nimport * as React2 from \"react\";\nfunction useInView({\n  threshold,\n  delay,\n  trackVisibility,\n  rootMargin,\n  root,\n  triggerOnce,\n  skip,\n  initialInView,\n  fallbackInView,\n  onChange\n} = {}) {\n  var _a;\n  const [ref, setRef] = React2.useState(null);\n  const callback = React2.useRef(onChange);\n  const [state, setState] = React2.useState({\n    inView: !!initialInView,\n    entry: void 0\n  });\n  callback.current = onChange;\n  React2.useEffect(\n    () => {\n      if (skip || !ref) return;\n      let unobserve;\n      unobserve = observe(\n        ref,\n        (inView, entry) => {\n          setState({\n            inView,\n            entry\n          });\n          if (callback.current) callback.current(inView, entry);\n          if (entry.isIntersecting && triggerOnce && unobserve) {\n            unobserve();\n            unobserve = void 0;\n          }\n        },\n        {\n          root,\n          rootMargin,\n          threshold,\n          // @ts-ignore\n          trackVisibility,\n          // @ts-ignore\n          delay\n        },\n        fallbackInView\n      );\n      return () => {\n        if (unobserve) {\n          unobserve();\n        }\n      };\n    },\n    // We break the rule here, because we aren't including the actual `threshold` variable\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [\n      // If the threshold is an array, convert it to a string, so it won't change between renders.\n      Array.isArray(threshold) ? threshold.toString() : threshold,\n      ref,\n      root,\n      rootMargin,\n      triggerOnce,\n      skip,\n      trackVisibility,\n      fallbackInView,\n      delay\n    ]\n  );\n  const entryTarget = (_a = state.entry) == null ? void 0 : _a.target;\n  const previousEntryTarget = React2.useRef(void 0);\n  if (!ref && entryTarget && !triggerOnce && !skip && previousEntryTarget.current !== entryTarget) {\n    previousEntryTarget.current = entryTarget;\n    setState({\n      inView: !!initialInView,\n      entry: void 0\n    });\n  }\n  const result = [setRef, state.inView, state.entry];\n  result.ref = result[0];\n  result.inView = result[1];\n  result.entry = result[2];\n  return result;\n}\nexport {\n  InView,\n  defaultFallbackInView,\n  observe,\n  useInView\n};\n//# sourceMappingURL=index.mjs.map"],"names":["_ref","filterDef","searchParams","useURLParams","search","prevSearchParams","useRef","useEffect","current","pageSearchParamKey","page","searchParamKey","pageRequestParamKey","requestParamKey","values","deriveValues","getSecondaryValue","_ref2","secondaryDef","disabled","selectionType","SELECTION_TYPES","multiSelect","multiSelectValue","Array","isArray","every","val","options","find","opt","value","singleSelect","secondary","reduce","acc","secondaryDefIdx","keyPrefix","deriveSecondaryKey","idx","group","groupAcc","groupItemDef","groupItemDefIdx","concat","primary","defaultValue","text","sort","requestParams","_ref3","newParams","Object","keys","key","getIsEmptyValue","getIsSecondaryKey","getIndexFromSecondaryKey","groupDefKey","UNSTABLE_getGroupIndexFromDependentSelectGroupKey","groupDef","UNSTABLE_getGroupIndexFromCheckboxGroupKey","deriveRequestParams","deriveSearchParamsOnValuesChange","_ref4","_filterDef$secondary","mergedParams","secondaryKey","groupValues","filter","valKey","startsWith","groupValAcc","groupValKey","validSearchParamKeys","i","length","hasOwn","dependencyCondition","groupIdx","forEach","changedParams","from","Set","push","includes","some","JobOpeningListItem","jobOpening","authUserId","isAthleteViewer","jobOpeningLinkProps","shouldLazyLoadLogos","Organization","organization","PostedBy","postedBy","team","convertToTeamObject","SportEnum","ref","inView","useInView","threshold","triggerOnce","logImpression","data","JobOpeningId","ViewerUserId","ViewerIsAthlete","natsEvent","Type","AnalyticsTypeEnum","Impression","Action","JOB_OPENINGS_ANALYTICS_LIST_ITEM_ACTION","Category","JOB_OPENINGS_ANALYTICS_CATEGORY","Data","logEvent","_jsx","IndentedListItem","headerContent","TeamDetailsDisplay","lazyLoadLogo","bodyContent","_jsxs","_Fragment","children","Heading","WiredLink","Title","className","ReadMoreText","truncateAt","truncateLongerThan","readMoreLinkProps","expandOnClick","readMoreLabel","Description","Stack","align","spacing","noWrap","Item","UserHeadshot","guid","Guid","size","lazy","fill","Caption","DisplayName","formatDate","DateCreatedUtc","propTypes","PropTypes","isRequired","Id","Label","Value","JobOpeningsListDisplay","jobOpenings","emptyStateRendering","renderJobOpeningsListItem","List","map","React","__defProp","defineProperty","__publicField","obj","enumerable","configurable","writable","__defNormalProp","observerMap","Map","RootIds","WeakMap","rootId","unsupportedValue","optionsToId","root","has","set","toString","get","observe","element","callback","fallbackInView","window","IntersectionObserver","bounds","getBoundingClientRect","isIntersecting","target","intersectionRatio","time","boundingClientRect","intersectionRect","rootBounds","id","observer","elements","instance","thresholds","entries","entry","_a","trackVisibility","isVisible","createObserver","callbacks","splice","indexOf","delete","unobserve","disconnect","delay","rootMargin","skip","initialInView","onChange","setRef","state","setState","entryTarget","previousEntryTarget","result"],"sourceRoot":""}