UNPKG

@macrostrat/column-components

Version:

React rendering primitives for stratigraphic columns

1 lines 3.24 kB
{"version":3,"file":"picker-base.cjs","sources":["../../src/editor/picker-base.ts"],"sourcesContent":["/*\n * decaffeinate suggestions:\n * DS102: Remove unnecessary code created because of implicit returns\n * DS206: Consider reworking classes to avoid initClass\n * DS207: Consider shorter variations of null checks\n * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md\n */\nimport h from \"@macrostrat/hyper\";\nimport classNames from \"classnames\";\nimport { Component } from \"react\";\n\ninterface PickerControlProps {\n states: { label: string; value: string }[];\n activeState: string;\n vertical: boolean;\n isNullable: boolean;\n onUpdate: (value: string) => void;\n}\n\nexport class PickerControl extends Component<PickerControlProps> {\n constructor(props) {\n super(props);\n this.onUpdate = this.onUpdate.bind(this);\n }\n\n static defaultProps = {\n states: [\n { label: \"State 1\", value: \"state1\" },\n { label: \"State 2\", value: \"state2\" },\n ],\n vertical: true,\n isNullable: false,\n };\n\n render() {\n const { states, activeState, vertical } = this.props;\n let className = classNames(\"bp6-button-group\", \"bp6-fill\", {\n \"bp6-vertical\": vertical,\n \"bp6-align-left\": vertical,\n });\n\n return h(\"div.picker-control\", [\n h(\n \"div\",\n { className },\n states.map((d) => {\n className = classNames(\"bp6-button\", {\n \"bp6-active\": this.props.activeState === d.value,\n });\n return h(\n \"button\",\n {\n type: \"button\",\n className,\n onClick: this.onUpdate(d.value),\n },\n d.label,\n );\n }),\n ),\n ]);\n }\n onUpdate(value) {\n return () => {\n if (value === this.props.activeState) {\n if (!this.props.isNullable) {\n return;\n }\n value = null;\n }\n if (this.props.onUpdate == null) {\n return;\n }\n return this.props.onUpdate(value);\n };\n }\n}\n"],"names":["Component","classNames","h"],"mappings":";;;;;;;;AAmBO,MAAM,sBAAsBA,MAAAA,UAA8B;AAAA,EAC/D,YAAY,OAAO;AACjB,UAAM,KAAK;AACX,SAAK,WAAW,KAAK,SAAS,KAAK,IAAI;AAAA,EACzC;AAAA,EAEA,OAAO,eAAe;AAAA,IACpB,QAAQ;AAAA,MACN,EAAE,OAAO,WAAW,OAAO,SAAA;AAAA,MAC3B,EAAE,OAAO,WAAW,OAAO,SAAA;AAAA,IAAS;AAAA,IAEtC,UAAU;AAAA,IACV,YAAY;AAAA,EAAA;AAAA,EAGd,SAAS;AACP,UAAM,EAAE,QAAQ,aAAa,SAAA,IAAa,KAAK;AAC/C,QAAI,YAAYC,oBAAAA,QAAW,oBAAoB,YAAY;AAAA,MACzD,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,IAAA,CACnB;AAED,WAAOC,WAAAA,QAAE,sBAAsB;AAAA,MAC7BA,WAAAA;AAAAA,QACE;AAAA,QACA,EAAE,UAAA;AAAA,QACF,OAAO,IAAI,CAAC,MAAM;AAChB,sBAAYD,oBAAAA,QAAW,cAAc;AAAA,YACnC,cAAc,KAAK,MAAM,gBAAgB,EAAE;AAAA,UAAA,CAC5C;AACD,iBAAOC,WAAAA;AAAAA,YACL;AAAA,YACA;AAAA,cACE,MAAM;AAAA,cACN;AAAA,cACA,SAAS,KAAK,SAAS,EAAE,KAAK;AAAA,YAAA;AAAA,YAEhC,EAAE;AAAA,UAAA;AAAA,QAEN,CAAC;AAAA,MAAA;AAAA,IACH,CACD;AAAA,EACH;AAAA,EACA,SAAS,OAAO;AACd,WAAO,MAAM;AACX,UAAI,UAAU,KAAK,MAAM,aAAa;AACpC,YAAI,CAAC,KAAK,MAAM,YAAY;AAC1B;AAAA,QACF;AACA,gBAAQ;AAAA,MACV;AACA,UAAI,KAAK,MAAM,YAAY,MAAM;AAC/B;AAAA,MACF;AACA,aAAO,KAAK,MAAM,SAAS,KAAK;AAAA,IAClC;AAAA,EACF;AACF;;"}