UNPKG

@macrostrat/column-components

Version:

React rendering primitives for stratigraphic columns

1 lines 3.04 kB
{"version":3,"file":"description.cjs","sources":["../../../src/editor/facies/description.ts"],"sourcesContent":["import { Component } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport classNames from \"classnames\";\nimport { FaciesContext } from \"../../context\";\nimport { FaciesSwatch } from \"./swatch\";\n\ntype FaciesData = any;\n\nexport function FaciesCard({ facies }: { facies: any }) {\n return h(\"div.header\", [\n h(\"p.name\", { style: { marginRight: 20, textAlign: \"left\" } }, facies.name),\n h(FaciesSwatch, { facies }),\n ]);\n}\n\ninterface FaciesDescriptionSmallProps {\n selected: string;\n onClick: (d: any) => void;\n isEditable: boolean;\n}\n\nexport class FaciesDescriptionSmall extends Component<FaciesDescriptionSmallProps> {\n constructor(props: FaciesDescriptionSmallProps) {\n super(props);\n this.renderEach = this.renderEach.bind(this);\n }\n\n static contextType = FaciesContext;\n static defaultProps = { selected: null, isEditable: false };\n\n declare context: any;\n\n renderEach(d: FaciesData) {\n let onClick = null;\n const style: any = {};\n if (this.props.onClick != null) {\n onClick = () => this.props.onClick(d);\n style.cursor = \"pointer\";\n }\n const { selected } = this.props;\n if (selected === d.id) {\n style.backgroundColor = d.color;\n style.color = \"white\";\n }\n const className = classNames({ selected: selected === d.id });\n\n return h(\n \"div.facies.bp3-card.bp3-elevation-0\",\n {\n key: d.id,\n onClick,\n style,\n className,\n },\n h(FaciesCard, { facies: d }),\n );\n }\n\n render() {\n const { facies } = this.context;\n return h(\"div.facies-description-small\", [\n h(\"h5\", \"Facies\"),\n h(\"div\", facies.map(this.renderEach)),\n ]);\n }\n}\n"],"names":["facies","h","FaciesSwatch","Component","FaciesContext","classNames"],"mappings":";;;;;;;;;;AAQO,SAAS,WAAW,EAAE,QAAAA,WAA2B;AACtD,SAAOC,WAAAA,QAAE,cAAc;AAAA,IACrBA,WAAAA,QAAE,UAAU,EAAE,OAAO,EAAE,aAAa,IAAI,WAAW,OAAA,KAAYD,QAAO,IAAI;AAAA,IAC1EC,mBAAEC,OAAAA,cAAc,EAAE,QAAAF,QAAA,CAAQ;AAAA,EAAA,CAC3B;AACH;AAQO,MAAM,+BAA+BG,MAAAA,UAAuC;AAAA,EACjF,YAAY,OAAoC;AAC9C,UAAM,KAAK;AACX,SAAK,aAAa,KAAK,WAAW,KAAK,IAAI;AAAA,EAC7C;AAAA,EAEA,OAAO,cAAcC,OAAAA;AAAAA,EACrB,OAAO,eAAe,EAAE,UAAU,MAAM,YAAY,MAAA;AAAA,EAIpD,WAAW,GAAe;AACxB,QAAI,UAAU;AACd,UAAM,QAAa,CAAA;AACnB,QAAI,KAAK,MAAM,WAAW,MAAM;AAC9B,gBAAU,MAAM,KAAK,MAAM,QAAQ,CAAC;AACpC,YAAM,SAAS;AAAA,IACjB;AACA,UAAM,EAAE,aAAa,KAAK;AAC1B,QAAI,aAAa,EAAE,IAAI;AACrB,YAAM,kBAAkB,EAAE;AAC1B,YAAM,QAAQ;AAAA,IAChB;AACA,UAAM,YAAYC,oBAAAA,QAAW,EAAE,UAAU,aAAa,EAAE,IAAI;AAE5D,WAAOJ,WAAAA;AAAAA,MACL;AAAA,MACA;AAAA,QACE,KAAK,EAAE;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAEFA,WAAAA,QAAE,YAAY,EAAE,QAAQ,GAAG;AAAA,IAAA;AAAA,EAE/B;AAAA,EAEA,SAAS;AACP,UAAM,EAAE,QAAAD,YAAW,KAAK;AACxB,WAAOC,WAAAA,QAAE,gCAAgC;AAAA,MACvCA,WAAAA,QAAE,MAAM,QAAQ;AAAA,MAChBA,WAAAA,QAAE,OAAOD,QAAO,IAAI,KAAK,UAAU,CAAC;AAAA,IAAA,CACrC;AAAA,EACH;AACF;;;"}