UNPKG

@macrostrat/column-components

Version:

React rendering primitives for stratigraphic columns

3 lines (2 loc) 2.18 kB
import"./column-components.746beab7.js";import"./column-components.df0ea532.js";import"./column-components.ce0796ca.js";import"./column-components.0f346a0e.js";import"./column-components.298cc9f3.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"),c=a("jMtLz"),f=a("7LSYr"),u=a("aVUB5");function d(t){let{inEditMode:o,onClickNote:n,...i}=t;null==o&&(o=!1);let{notes:l,nodes:r,updateHeight:a,noteComponent:c,scale:f}=(0,p.useNoteLayout)(),{pixelHeight:d}=(0,u.useColumn)(),m=e(()=>{let e=l.map(e=>{let t=r[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:d-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},[l,r,f]);return(0,s.default)("g",m.map(({note:e,pixelOffset:t,pixelHeight:l,spacing:r})=>null==t||null==l?null:(0,s.default)(g,{key:e.id,note:e,pixelOffset:t,pixelHeight:l,editable:o,updateHeight:a,onClick:n,noteBodyComponent:c,spacing:r,...i})))}function g(e){let{note:i,pixelOffset:l,pixelHeight:r,updateHeight:a,deltaConnectorAttachment:p,noteBodyComponent:u,spacing:d,onClick:g}=e,m=t(null);o(()=>{if(m.current){let e=m.current.offsetHeight;e!==r&&a(i.id,e)}},[i,r,a]);let{setEditingNote:x,editingNote:H}=n(c.NoteEditorContext),b=g??x;return H===i?null:(0,s.default)("g.note",[(0,s.default)(f.NoteConnector,{note:i,deltaConnectorAttachment:p}),(0,s.default)(f.NotePositioner,{offsetY:l,noteHeight:r,ref:m,onClick:e=>{b(i)}},(0,s.default)(u,{note:i,spacing:d}))])}export{d as NotesList,$1f6f8b01a1fba95b$export$ae56508882661985 as NotePositioner,$1f6f8b01a1fba95b$export$a05ee380fe56e446 as NoteConnector}; //# sourceMappingURL=column-components.76a9d92c.js.map