UNPKG

@macrostrat/column-components

Version:

React rendering primitives for stratigraphic columns

3 lines (2 loc) 2.17 kB
import"./column-components.c66242f5.js";import"./column-components.a60d0bb9.js";import"./column-components.c077d708.js";import"./column-components.f57c6dd5.js";import"./column-components.b2a20dc1.js";import{useMemo as e,useRef as t,useEffect as o,useContext as n}from"react";var i=globalThis,l={},r={},a=i.parcelRequirea149;null==a&&((a=function(e){if(e in l)return l[e].exports;if(e in r){var t=r[e];delete r[e];var o={id:e,exports:{}};return l[e]=o,t.call(o.exports,o,o.exports),o.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,t){r[e]=t},i.parcelRequirea149=a),a.register;var s=a("4bJ9d"),p=a("dl5CL"),f=a("jMtLz"),c=a("7LSYr"),u=a("aVUB5");function d(t){let{onClickNote:o,...n}=t,{notes:i,nodes:l,updateHeight:r,noteComponent:a,scale:f}=(0,p.useNoteLayout)(),{pixelHeight:c}=(0,u.useColumn)(),d=e(()=>{let e=i.map(e=>{let t=l[e.id],o=t?.width??10,n=t?.currentPos??f(e.top_height);return{note:e,node:t,pixelOffset:n,pixelHeight:o,spacing:{above:n-o,below:c-n}}});for(let t=0;t<e.length;t++){let{spacing:o,pixelOffset:n}=e[t];if(t>0){let i=e[t-1];o.above=n-i.pixelOffset-i.pixelHeight,i.spacing.below=o.above}}return e},[i,l,f]);return(0,s.default)("g.notes-list",d.map(({note:e,pixelOffset:t,pixelHeight:i,spacing:l})=>null==t||null==i?null:(0,s.default)(g,{key:e.id,note:e,pixelOffset:t,pixelHeight:i,updateHeight:r,onClick:o,noteBodyComponent:a,spacing:l,...n})))}function g(i){let{note:l,pixelOffset:r,pixelHeight:a,updateHeight:p,deltaConnectorAttachment:u,noteBodyComponent:d,spacing:g,onClick:m}=i,x=t(null);o(()=>{if(x.current){let e=x.current.offsetHeight;e!==a&&p(l.id,e)}},[l,a,p]);let{setEditingNote:H,editingNote:b}=n(f.NoteEditorContext),h=m??H,C=e(()=>{if(h)return e=>{h(l)}},[h]);return b===l?null:(0,s.default)("g.note",[(0,s.default)(c.NoteConnector,{note:l,deltaConnectorAttachment:u}),(0,s.default)(c.NotePositioner,{offsetY:r,noteHeight:a,ref:x,onClick:C},(0,s.default)(d,{note:l,spacing:g}))])}export{d as NotesList,$1f6f8b01a1fba95b$export$ae56508882661985 as NotePositioner,$1f6f8b01a1fba95b$export$a05ee380fe56e446 as NoteConnector}; //# sourceMappingURL=column-components.5cffef96.js.map