{"version":3,"sources":["../src/components/common/XHeader/index.tsx"],"names":["React","useSetRecoilState","isEqual","useMount","compareProps","prevProps","nextProps","XHeader","initData","breakpoint","useBreakpoint","xCommon","setXCommon","useXCommon","setSelectedElement","USE_SELECTED_INDEX","devProps","e","clickHandler","value","valueAtBreakPoint","getValueOnBreakpoint","core_default","XHeader_default"],"mappings":"sfAAA,UAAYA,MAAW,QAGvB,OAAS,qBAAAC,MAAyB,SAGlC,OAAS,WAAAC,MAAe,SAOxB,OAAS,YAAAC,MAAgB,YAGzB,IAAMC,EAAe,CAACC,EAAgBC,IAC7BJ,EAAQG,EAAWC,CAAS,EAG/BC,EAAwC,OAC5C,CAAC,CAAE,SAAAC,EAAW,CAAE,IAAK,CAAC,CAAE,CAAE,IAAM,CAE9B,IAAMC,EAAaC,EAAc,EAE3B,CAAE,QAAAC,EAAS,WAAAC,CAAW,EAAIC,EAAW,QAAQ,EAEnDV,EAAS,IAAM,CACRQ,GACHC,EAAW,CACT,KAAM,UACN,QAAS,KACT,gBAAiB,CAAC,EAClB,YAAa,GACb,SAAU,UACV,MAAO,SACP,MAAOJ,CACT,CAAC,CAEL,CAAC,EAGD,IAAMM,EAAqBb,EAAkBc,CAAkB,EAGzDC,EAAW,CACf,GAAI,SACJ,QAAUC,GAAWC,EAAaD,EAAGH,EAAoB,QAAQ,CACnE,EAEA,GAAI,CAACH,EAAS,OAAO,KAGrB,GAAM,CAAE,MAAAQ,CAAM,EAAIR,EAGZS,EAAoBC,EACxBF,EACAV,CACF,EAEA,OACE,gBAACa,EAAA,CACC,MAAM,SACN,MAAOF,EACP,SAAUJ,EACZ,CAEJ,EACAZ,CACF,EAEOmB,EAAQhB","sourcesContent":["import * as React from \"react\";\nimport { useBreakpoint } from \"../../../hooks/useBreakpoint\";\nimport { USE_SELECTED_INDEX } from \"../../../hooks/useSelectedElement\";\nimport { useSetRecoilState } from \"recoil\";\nimport { getValueOnBreakpoint } from \"../../../lib/getValueOnBreakpoint\";\nimport { clickHandler } from \"../../../lib/clickHandler\";\nimport { isEqual } from \"lodash\";\nimport {\n  IXHeaderProps,\n  XHeaderProps,\n} from \"../../../utils/interfaces/common/XHeader.interfaces\";\n\nimport { useXCommon } from \"../../../hooks/useXCommon\";\nimport { useMount } from \"react-use\";\nimport XHeaderCore from \"./core\";\n\nconst compareProps = (prevProps: any, nextProps: any) => {\n  return isEqual(prevProps, nextProps);\n};\n\nconst XHeader: React.FC<XHeaderProps> = React.memo(\n  ({ initData = { all: {} } }) => {\n    // WE TRACK THE BREAK POINTS CHANGES\n    const breakpoint = useBreakpoint();\n\n    const { xCommon, setXCommon } = useXCommon(\"HEADER\");\n\n    useMount(() => {\n      if (!xCommon) {\n        setXCommon({\n          name: \"XHeader\",\n          childOf: null,\n          elementsIndexes: [],\n          hasChildren: true,\n          hierachy: \"XHeader\",\n          index: \"HEADER\",\n          value: initData,\n        });\n      }\n    });\n\n    // GARBING THE INDEX UPDATER FOR GENERAL USAGE\n    const setSelectedElement = useSetRecoilState(USE_SELECTED_INDEX);\n\n    // WE GET ALL DEVICES PROPS AS VALUE\n    const devProps = {\n      id: \"HEADER\",\n      onClick: (e: any) => clickHandler(e, setSelectedElement, \"HEADER\"),\n    };\n\n    if (!xCommon) return null;\n\n    // WE GET ALL DEVICES PROPS AS VALUE\n    const { value } = xCommon;\n\n    // WE NOW USE THE CURRENT BREAKPOINT VALUE ON THIS ELEMENT\n    const valueAtBreakPoint = getValueOnBreakpoint<IXHeaderProps>(\n      value,\n      breakpoint\n    );\n\n    return (\n      <XHeaderCore\n        index=\"HEADER\"\n        props={valueAtBreakPoint}\n        devProps={devProps}\n      />\n    );\n  },\n  compareProps\n);\n\nexport default XHeader;\n"]}