{"version":3,"file":"facies.cjs","sources":["../../src/context/facies.ts"],"sourcesContent":["import { createContext } from \"react\";\nimport { StatefulComponent } from \"@macrostrat/ui-components\";\nimport h from \"@macrostrat/hyper\";\n\nconst FaciesContext = createContext<any>({\n  facies: [],\n  onColorChanged() {},\n});\n\nclass FaciesProvider extends StatefulComponent<any, any> {\n  constructor(props) {\n    super(props);\n    this.state = {\n      facies: props.initialFacies || [],\n      __colorMap: {},\n    };\n    this.getFaciesColor = this.getFaciesColor.bind(this);\n    this.setFaciesColor = this.setFaciesColor.bind(this);\n  }\n\n  getFaciesColor(id) {\n    const { __colorMap } = this.state;\n    return __colorMap[id] || null;\n  }\n\n  setFaciesColor(id, color) {\n    const ix = this.state.facies.findIndex((d) => d.id === id);\n    return this.updateState({ facies: { [ix]: { color: { $set: color } } } });\n  }\n\n  render() {\n    const { facies } = this.state;\n    const { children, ...rest } = this.props;\n    const procedures = (() => {\n      let getFaciesColor, setFaciesColor;\n      return ({ getFaciesColor, setFaciesColor } = this);\n    })();\n    const value = {\n      facies,\n      ...procedures,\n      ...rest,\n    };\n\n    return h(FaciesContext.Provider, { value }, children);\n  }\n}\n\nexport { FaciesContext, FaciesProvider };\n"],"names":["createContext","StatefulComponent","h"],"mappings":";;;;;;;AAIA,MAAM,gBAAgBA,MAAAA,cAAmB;AAAA,EACvC,QAAQ,CAAA;AAAA,EACR,iBAAiB;AAAA,EAAC;AACpB,CAAC;AAED,MAAM,uBAAuBC,aAAAA,kBAA4B;AAAA,EACvD,YAAY,OAAO;AACjB,UAAM,KAAK;AACX,SAAK,QAAQ;AAAA,MACX,QAAQ,MAAM,iBAAiB,CAAA;AAAA,MAC/B,YAAY,CAAA;AAAA,IAAC;AAEf,SAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AACnD,SAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AAAA,EACrD;AAAA,EAEA,eAAe,IAAI;AACjB,UAAM,EAAE,eAAe,KAAK;AAC5B,WAAO,WAAW,EAAE,KAAK;AAAA,EAC3B;AAAA,EAEA,eAAe,IAAI,OAAO;AACxB,UAAM,KAAK,KAAK,MAAM,OAAO,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE;AACzD,WAAO,KAAK,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,MAAA,EAAM,EAAE,GAAK;AAAA,EAC1E;AAAA,EAEA,SAAS;AACP,UAAM,EAAE,WAAW,KAAK;AACxB,UAAM,EAAE,UAAU,GAAG,KAAA,IAAS,KAAK;AACnC,UAAM,cAAc,MAAM;AACxB,UAAI,gBAAgB;AACpB,aAAQ,EAAE,gBAAgB,eAAA,IAAmB;AAAA,IAC/C,GAAA;AACA,UAAM,QAAQ;AAAA,MACZ;AAAA,MACA,GAAG;AAAA,MACH,GAAG;AAAA,IAAA;AAGL,WAAOC,WAAAA,QAAE,cAAc,UAAU,EAAE,MAAA,GAAS,QAAQ;AAAA,EACtD;AACF;;;"}