{"version":3,"file":"swatch.cjs","sources":["../../../src/editor/facies/swatch.ts"],"sourcesContent":["import { Component } from \"react\";\nimport { ColumnDivision, FaciesContext } from \"../../context\";\nimport { RaisedSelect } from \"../util\";\nimport h from \"../main.module.scss\";\n\nconst FaciesRow = ({ facies }) =>\n  h(\"span.facies-picker-row\", [\n    h(BasicFaciesSwatch, { facies, className: \"facies-color-swatch\" }),\n    h(\"span.facies-picker-name\", facies.name),\n  ]);\n\ninterface FaciesPickerProps {\n  interval: ColumnDivision;\n  onChange: (f: number) => void;\n}\n\nexport class FaciesPicker extends Component<FaciesPickerProps> {\n  static contextType = FaciesContext;\n  declare context: any;\n\n  render() {\n    const { facies } = this.context;\n    const { interval, onChange } = this.props;\n\n    const options = facies.map((f) => ({\n      value: f.id,\n      label: h(FaciesRow, { facies: f }),\n    }));\n\n    let value = options.find((d) => d.value === interval.facies);\n    if (value == null) {\n      value = null;\n    }\n\n    return h(RaisedSelect, {\n      id: \"facies-select\",\n      options,\n      value,\n      selected: interval.facies,\n      isClearable: true,\n      onChange(res) {\n        console.log(\"Changing\", res);\n        const f = res != null ? res.value : null;\n        return onChange(f);\n      },\n    });\n  }\n}\n\n//import { Swatch } from \"@uiw/react-color\";\n//import { Popover } from \"@blueprintjs/core\";\n//import { FaciesContext } from \"../../context\";\n\ninterface FaciesColorPickerProps {\n  facies: {\n    id: number;\n    color: string;\n  };\n}\n\n// class FaciesColorPicker extends Component<FaciesColorPickerProps> {\n//   static contextType = FaciesContext;\n//   declare context: any;\n//\n//   render() {\n//     const { setFaciesColor } = this.context;\n//     const { facies: d } = this.props;\n//     return h(\"div\", [\n//       h(Swatch, {\n//         color: d.color || \"black\",\n//         onChange(color) {\n//           return setFaciesColor(d.id, color.hex);\n//         },\n//       }),\n//     ]);\n//   }\n// }\n\nexport const BasicFaciesSwatch = ({ facies: d, ...rest }) =>\n  h(\"div.color-swatch\", {\n    style: {\n      backgroundColor: d.color || \"black\",\n      width: \"2em\",\n      height: \"2em\",\n    },\n    ...rest,\n  });\n\ninterface FaciesSwatchProps {\n  isEditable: boolean;\n  facies: {\n    id: number;\n    color: string;\n  } | null;\n}\n\nexport function FaciesSwatch(props: FaciesSwatchProps) {\n  const { facies, isEditable = false } = props;\n  return h(BasicFaciesSwatch, { facies });\n}\n"],"names":["facies","h","Component","FaciesContext","RaisedSelect"],"mappings":";;;;;;AAKA,MAAM,YAAY,CAAC,EAAE,QAAAA,cACnBC,YAAAA,QAAE,0BAA0B;AAAA,EAC1BA,YAAAA,QAAE,mBAAmB,EAAE,QAAAD,SAAQ,WAAW,uBAAuB;AAAA,EACjEC,oBAAE,2BAA2BD,QAAO,IAAI;AAC1C,CAAC;AAOI,MAAM,qBAAqBE,MAAAA,UAA6B;AAAA,EAC7D,OAAO,cAAcC,OAAAA;AAAAA,EAGrB,SAAS;AACP,UAAM,EAAE,QAAAH,YAAW,KAAK;AACxB,UAAM,EAAE,UAAU,SAAA,IAAa,KAAK;AAEpC,UAAM,UAAUA,QAAO,IAAI,CAAC,OAAO;AAAA,MACjC,OAAO,EAAE;AAAA,MACT,OAAOC,YAAAA,QAAE,WAAW,EAAE,QAAQ,GAAG;AAAA,IAAA,EACjC;AAEF,QAAI,QAAQ,QAAQ,KAAK,CAAC,MAAM,EAAE,UAAU,SAAS,MAAM;AAC3D,QAAI,SAAS,MAAM;AACjB,cAAQ;AAAA,IACV;AAEA,WAAOA,YAAAA,QAAEG,KAAAA,cAAc;AAAA,MACrB,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA,UAAU,SAAS;AAAA,MACnB,aAAa;AAAA,MACb,SAAS,KAAK;AACZ,gBAAQ,IAAI,YAAY,GAAG;AAC3B,cAAM,IAAI,OAAO,OAAO,IAAI,QAAQ;AACpC,eAAO,SAAS,CAAC;AAAA,MACnB;AAAA,IAAA,CACD;AAAA,EACH;AACF;AA+BO,MAAM,oBAAoB,CAAC,EAAE,QAAQ,GAAG,GAAG,KAAA,MAChDH,YAAAA,QAAE,oBAAoB;AAAA,EACpB,OAAO;AAAA,IACL,iBAAiB,EAAE,SAAS;AAAA,IAC5B,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,GAAG;AACL,CAAC;AAUI,SAAS,aAAa,OAA0B;AACrD,QAAM,EAAE,QAAAD,SAAQ,aAAa,MAAA,IAAU;AACvC,SAAOC,oBAAE,mBAAmB,EAAE,QAAAD,SAAQ;AACxC;;;;"}