UNPKG

@macrostrat/column-components

Version:

React rendering primitives for stratigraphic columns

1 lines 2.35 kB
{"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;;;"}