@sanity/hierarchical-document-list 1.1.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +95 -59
  3. package/dist/index.d.ts +240 -0
  4. package/dist/index.esm.js +151 -0
  5. package/dist/index.esm.js.map +1 -0
  6. package/dist/index.js +151 -0
  7. package/dist/index.js.map +1 -0
  8. package/package.json +82 -51
  9. package/sanity.json +2 -6
  10. package/src/TreeDeskStructure.tsx +80 -0
  11. package/src/TreeInputComponent.tsx +41 -0
  12. package/src/components/DeskWarning.tsx +40 -0
  13. package/src/components/DocumentInNode.tsx +133 -0
  14. package/src/components/DocumentPreviewStatus.tsx +70 -0
  15. package/src/components/NodeActions.tsx +85 -0
  16. package/src/components/NodeContentRenderer.tsx +141 -0
  17. package/src/components/PlaceholderDropzone.tsx +45 -0
  18. package/src/components/TreeEditor.tsx +167 -0
  19. package/{lib/components/TreeEditorErrorBoundary.d.ts → src/components/TreeEditorErrorBoundary.tsx} +2 -4
  20. package/src/components/TreeNodeRenderer.tsx +37 -0
  21. package/src/components/TreeNodeRendererScaffold.tsx +193 -0
  22. package/src/createDeskHierarchy.tsx +110 -0
  23. package/src/createHierarchicalSchemas.tsx +151 -0
  24. package/src/hooks/useAllItems.ts +119 -0
  25. package/src/hooks/useLocalTree.ts +40 -0
  26. package/src/hooks/useTreeOperations.ts +25 -0
  27. package/src/hooks/useTreeOperationsProvider.ts +86 -0
  28. package/src/index.ts +25 -0
  29. package/src/schemas/hierarchy.tree.ts +19 -0
  30. package/src/types.ts +148 -0
  31. package/src/utils/flatDataToTree.ts +20 -0
  32. package/src/utils/getAdjescentNodes.ts +30 -0
  33. package/src/utils/getCommonTreeProps.tsx +28 -0
  34. package/src/utils/getTreeHeight.ts +10 -0
  35. package/src/utils/gradientPatchAdapter.ts +43 -0
  36. package/src/utils/idUtils.ts +7 -0
  37. package/src/utils/injectNodeTypeInPatches.ts +60 -0
  38. package/src/utils/moveItemInArray.ts +26 -0
  39. package/src/utils/throwError.ts +9 -0
  40. package/src/utils/treeData.tsx +119 -0
  41. package/src/utils/treePatches.ts +171 -0
  42. package/v2-incompatible.js +11 -0
  43. package/.husky/commit-msg +0 -4
  44. package/.husky/pre-commit +0 -4
  45. package/.idea/hierarchical-document-list.iml +0 -11
  46. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  47. package/.idea/misc.xml +0 -6
  48. package/.idea/modules.xml +0 -8
  49. package/.idea/prettier.xml +0 -7
  50. package/.idea/vcs.xml +0 -6
  51. package/CHANGELOG.md +0 -15
  52. package/commitlint.config.js +0 -3
  53. package/lib/TreeDeskStructure.d.ts +0 -8
  54. package/lib/TreeDeskStructure.js +0 -96
  55. package/lib/TreeInputComponent.d.ts +0 -19
  56. package/lib/TreeInputComponent.js +0 -50
  57. package/lib/components/DeskWarning.d.ts +0 -6
  58. package/lib/components/DeskWarning.js +0 -46
  59. package/lib/components/DocumentInNode.d.ts +0 -11
  60. package/lib/components/DocumentInNode.js +0 -81
  61. package/lib/components/DocumentPreviewStatus.d.ts +0 -7
  62. package/lib/components/DocumentPreviewStatus.js +0 -39
  63. package/lib/components/NodeActions.d.ts +0 -10
  64. package/lib/components/NodeActions.js +0 -61
  65. package/lib/components/NodeContentRenderer.d.ts +0 -8
  66. package/lib/components/NodeContentRenderer.js +0 -105
  67. package/lib/components/PlaceholderDropzone.d.ts +0 -9
  68. package/lib/components/PlaceholderDropzone.js +0 -30
  69. package/lib/components/SuppressedDnDManager.d.ts +0 -2
  70. package/lib/components/SuppressedDnDManager.js +0 -59
  71. package/lib/components/TreeEditor.d.ts +0 -12
  72. package/lib/components/TreeEditor.js +0 -74
  73. package/lib/components/TreeEditorErrorBoundary.js +0 -74
  74. package/lib/components/TreeNodeRenderer.d.ts +0 -3
  75. package/lib/components/TreeNodeRenderer.js +0 -59
  76. package/lib/components/TreeNodeRendererScaffold.d.ts +0 -4
  77. package/lib/components/TreeNodeRendererScaffold.js +0 -44
  78. package/lib/createDeskHierarchy.d.ts +0 -14
  79. package/lib/createDeskHierarchy.js +0 -84
  80. package/lib/createHierarchicalSchemas.d.ts +0 -98
  81. package/lib/createHierarchicalSchemas.js +0 -138
  82. package/lib/hooks/useAllItems.d.ts +0 -7
  83. package/lib/hooks/useAllItems.js +0 -119
  84. package/lib/hooks/useLocalTree.d.ts +0 -17
  85. package/lib/hooks/useLocalTree.js +0 -59
  86. package/lib/hooks/useTreeOperations.d.ts +0 -9
  87. package/lib/hooks/useTreeOperations.js +0 -39
  88. package/lib/hooks/useTreeOperationsProvider.d.ts +0 -14
  89. package/lib/hooks/useTreeOperationsProvider.js +0 -85
  90. package/lib/index.d.ts +0 -3
  91. package/lib/index.js +0 -12
  92. package/lib/schemas/hierarchy.tree.d.ts +0 -13
  93. package/lib/schemas/hierarchy.tree.js +0 -19
  94. package/lib/types.d.ts +0 -128
  95. package/lib/types.js +0 -2
  96. package/lib/utils/flatDataToTree.d.ts +0 -6
  97. package/lib/utils/flatDataToTree.js +0 -26
  98. package/lib/utils/getAdjescentNodes.d.ts +0 -12
  99. package/lib/utils/getAdjescentNodes.js +0 -19
  100. package/lib/utils/getCommonTreeProps.d.ts +0 -7
  101. package/lib/utils/getCommonTreeProps.js +0 -33
  102. package/lib/utils/getTreeHeight.d.ts +0 -3
  103. package/lib/utils/getTreeHeight.js +0 -11
  104. package/lib/utils/gradientPatchAdapter.d.ts +0 -4
  105. package/lib/utils/gradientPatchAdapter.js +0 -40
  106. package/lib/utils/idUtils.d.ts +0 -2
  107. package/lib/utils/idUtils.js +0 -13
  108. package/lib/utils/injectNodeTypeInPatches.d.ts +0 -12
  109. package/lib/utils/injectNodeTypeInPatches.js +0 -59
  110. package/lib/utils/moveItemInArray.d.ts +0 -5
  111. package/lib/utils/moveItemInArray.js +0 -26
  112. package/lib/utils/throwError.d.ts +0 -7
  113. package/lib/utils/throwError.js +0 -12
  114. package/lib/utils/treeData.d.ts +0 -18
  115. package/lib/utils/treeData.js +0 -118
  116. package/lib/utils/treePatches.d.ts +0 -15
  117. package/lib/utils/treePatches.js +0 -171
  118. package/lint-staged.config.js +0 -4
  119. package/screenshot-1.jpg +0 -0
  120. package/tsconfig.json +0 -20
package/dist/index.js ADDED
@@ -0,0 +1,151 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("sanity"),t=require("react/jsx-runtime"),n=require("@sanity/icons"),r=require("@sanity/ui"),o=require("react"),i=require("@nosferatu500/react-sortable-tree"),a=require("react-dnd"),s=require("react-dnd-html5-backend"),c=require("@sanity/util/content"),l=require("sanity/desk"),d=require("@sanity/mutator");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function p(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var h=p(e),f=p(o),m=u(i);const y=e=>{let{text:n}=e;return t.jsx(t.Fragment,{children:n.split("`").map(((e,n)=>t.jsx(f.Fragment,{children:n%2==0?e:t.jsx("code",{children:e})},n)))})},g=e=>t.jsx(r.Container,{padding:5,style:{maxWidth:"25rem"},sizing:"content",children:t.jsx(r.Card,{padding:4,border:!0,radius:2,width:0,tone:"caution",children:t.jsxs(r.Stack,{space:3,children:[t.jsx(r.Heading,{size:1,children:e.title}),e.subtitle&&e.subtitle.split("\\n").map((e=>t.jsx(r.Text,{size:1,children:t.jsx(y,{text:e})}))),e.children&&t.jsx(r.Box,{marginTop:2,children:e.children})]})})});function v(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace("drafts.","")}function b(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").startsWith("drafts.")}function x(e,t){const n={...e},r=v(t._id);return n[r]={...n[r]||{},[b(t._id)?"draft":"published"]:t},n}function w(e,t){if("addOrEditItem"===t.type&&t.item?._id)return x(e,t.item);if("removeItem"===t.type){const n=v(t.itemId);return{...e,[n]:b(t.itemId)?{published:e[n]?.published}:{draft:e[n]?.draft}}}return"setInitialData"===t.type?t.items.reduce(x,{}):e}function k(){}const S=f.createContext({addItem:k,duplicateItem:k,removeItem:k,handleMovedNode:k,moveItemDown:k,moveItemUp:k,allItemsStatus:"loading"});function _(){return f.useContext(S)}function I(n){let{time:r}=n;const o=e.useTimeAgo(r);return t.jsxs("span",{title:o,children:[o,o.toLowerCase().trim().startsWith("just now")?"":" ago"]})}const j=o=>{let{document:i}=o;return t.jsx(r.Tooltip,{portal:!0,content:t.jsx(r.Box,{padding:2,children:t.jsx(r.Text,{size:1,children:i?t.jsxs(t.Fragment,{children:["Published ",i._updatedAt&&t.jsx(I,{time:i._updatedAt})]}):t.jsx(t.Fragment,{children:"Not published"})})}),children:t.jsx(e.TextWithTone,{tone:"positive",dimmed:!i,muted:!i,size:1,children:t.jsx(n.PublishIcon,{})})})},T=o=>{let{document:i}=o;return t.jsx(r.Tooltip,{portal:!0,content:t.jsx(r.Box,{padding:2,children:t.jsx(r.Text,{size:1,children:i?t.jsxs(t.Fragment,{children:["Edited ",i?._updatedAt&&t.jsx(I,{time:i?._updatedAt})]}):t.jsx(t.Fragment,{children:"No unpublished edits"})})}),children:t.jsx(e.TextWithTone,{tone:"caution",dimmed:!i,muted:!i,size:1,children:t.jsx(n.EditIcon,{})})})},C=e=>{let{draft:n,published:o}=e;return t.jsxs(r.Inline,{space:4,children:[t.jsx(j,{document:o}),t.jsx(T,{document:n})]})},A=o=>{const{value:{reference:i,docType:a}={},draftId:s,publishedId:c}=o.item,{routerPanesState:d,ChildLink:u}=l.usePaneRouter(),{allItemsStatus:p}=_(),h=e.useSchema(),m=f.useMemo((()=>d.some((e=>e.some((e=>e.id===i?._ref))))),[d]),y=f.useMemo((()=>a?h.get(a):void 0),[a]),g=f.useMemo((()=>f.forwardRef(((e,n)=>t.jsx(u,{...e,childId:i?._ref,ref:n,childParameters:{type:a}})))),[u,i?._ref]);return i?._ref?t.jsxs(r.Flex,{gap:2,align:"center",style:{flex:1},children:[c||"success"!==p?t.jsx(r.Card,{__unstable_focusRing:!0,as:g,tone:m?"primary":"default",padding:1,radius:2,flex:1,"data-as":"a","data-ui":"PaneItem",children:t.jsx(e.Preview,{layout:"default",schemaType:y,value:{_ref:s||i?._ref},status:t.jsx(C,{draft:s?{_id:s,_type:a,_updatedAt:o.item.draftUpdatedAt}:void 0,published:{_id:i?._ref,_type:a,_updatedAt:o.item.publishedUpdatedAt}})})}):t.jsx(r.Card,{padding:3,radius:1,flex:1,children:t.jsxs(r.Flex,{align:"center",children:[t.jsx(r.Text,{size:2,muted:!0,style:{flex:1},children:"Invalid document"}),t.jsx(r.Tooltip,{placement:"left",portal:!0,content:t.jsx(r.Box,{padding:3,children:t.jsxs(r.Flex,{align:"flex-start",gap:3,children:[t.jsx(e.TextWithTone,{tone:"default",size:3,children:t.jsx(n.HelpCircleIcon,{})}),t.jsxs(r.Stack,{space:3,children:[t.jsx(r.Text,{as:"h2",size:1,weight:"semibold",children:"This document is not valid"}),t.jsxs(r.Text,{size:1,children:["ID: ",i?._ref]})]})]})}),children:t.jsx(e.TextWithTone,{tone:"default",size:2,children:t.jsx(n.HelpCircleIcon,{})})})]})}),o.action]}):null},E=o=>{let{nodeProps:i}=o;const a=_(),{node:s}=i,{reference:c,docType:l}=s?.value||{},d=f.useMemo((()=>f.forwardRef((function(n,r){return t.jsx(e.IntentButton,{...n,intent:"edit",params:{id:c?._ref,type:l},target:"_blank",rel:"noopener noreferrer"})}))),[c?._ref,l]),u=!!s.publishedId;return t.jsx(r.MenuButton,{button:t.jsx(r.Button,{padding:2,mode:"bleed",icon:n.EllipsisVerticalIcon}),id:`hiearchical-doc-list--${s._key}-menuButton`,menu:t.jsxs(r.Menu,{children:[t.jsx(r.MenuItem,{text:"Remove from list",tone:"critical",icon:n.RemoveCircleIcon,onClick:()=>a.removeItem(i)}),t.jsx(r.MenuItem,{text:"Duplicate item",icon:n.CopyIcon,disabled:!u,onClick:()=>a.duplicateItem(i)}),t.jsx(r.MenuDivider,{}),t.jsx(r.MenuItem,{text:"Open in new tab",icon:n.LaunchIcon,disabled:!u,as:d,"data-as":"a"})]}),popover:{portal:!0,tone:"default",placement:"right"}})};function P(e){return i.getTreeFromFlatData({flatData:e.map((e=>({...e,parent:e.parent||null}))),getKey:e=>e._key,getParentKey:e=>e.parent,rootKey:null})}function D(e,t){switch(t){case"document":default:return e;case"array":return`${e}.array`;case"node":return`${e}.node`;case"nodeValue":return`${e}.nodeValue`}}const N="hierarchy.tree",O=D(N,"node"),R=D(N,"nodeValue"),$=D(N,"array");function z(e,t){return Array.isArray(e)?e.map((e=>z(e,t))):"object"==typeof e&&null!==e?Object.keys(e).reduce(((n,r)=>{const o=e[r];return"_type"===r&&"string"==typeof o&&[O,R].includes(o)?{...n,[r]:D(t,o===O?"node":"nodeValue")}:{...n,[r]:z(o,t)}}),{}):e}const M=e=>{let{tree:n,allItems:r,visibilityMap:o}=e;return P(n.filter((e=>e?.value?.reference?._ref)).map((e=>{const n=e.value?.reference?._ref,i=n?r[n]:void 0,a=i?.draft,s=i?.published,c={...e,expanded:!1!==o[e._key],draftId:a?._id,publishedId:s?._id,draftUpdatedAt:a?._updatedAt,publishedUpdatedAt:s?._updatedAt};return{...c,title:e=>t.jsx(A,{item:c,action:t.jsx(E,{nodeProps:e})}),children:[]}})))},B=e=>{if(e?.published?._id)return{_key:c.randomKey(12),_type:O,draftId:e.draft?._id,draftUpdatedAt:e.draft?._updatedAt,publishedId:e.published._id,publishedUpdatedAt:e.published?._updatedAt,value:{_type:R,reference:{_ref:e.published._id,_type:"reference",_weak:!0},docType:e.published._type}}};function F(e){return{_key:e._key,_type:e._type||O,value:e.value,parent:e.parent}}function L(e){let{flatTree:t,node:n,treeIndex:r}=e;return{leadingNode:t.slice(0,r).reverse().find((e=>!e.path.includes(n._key))),followingNode:t.slice(r+1).find((e=>!e.path.includes(n._key)))}}function V(e){let{node:t}=e;const n={_key:t._key},r=H(t);return[h.unset([n]),...r.map((e=>h.unset([{_key:e}])))]}function H(e){return Array.isArray(e.children)?e.children.reduce(((e,t)=>[...e,t._key,...H(t)]),[]).filter(Boolean):[]}function q(e){let{nodeProps:{node:t,treeIndex:n},localTree:r,direction:o="up"}=e;const a={_key:t._key},s=n+("up"===o?-1:1),c=function(e){let{array:t,fromIndex:n,toIndex:r}=e;if(n===r)return t;const o=[...t],i=o[n],a=r<n?-1:1;for(let e=n;e!==r;e+=a)o[e]=o[e+a];return o[r]=i,o}({array:i.getFlatDataFromTree({treeData:r,getNodeKey:e=>e.node._key}),fromIndex:n,toIndex:s}),{leadingNode:l,followingNode:d}=L({flatTree:c,node:t,treeIndex:s}),u=F(t),p="up"===o?d:l,f=p?.parentNode;return[h.unset([a]),l?.node?._key?h.insert([u],"after",[{_key:l.node._key}]):h.insert([u],"before",[d?.node?._key?{_key:d.node._key}:s]),f?h.set(f._key,[a,"parent"]):h.unset([a,"parent"])]}function W(t){const{localTree:n}=t;function r(n){const r=[e.setIfMissing([]),...n||[]];let o=e.PatchEvent.from(r);t.patchPrefix&&(o=e.PatchEvent.from(r.map((n=>e.prefixPath(n,t.patchPrefix))))),t.onChange(o)}return{handleMovedNode:function(e){r(function(e){const{nextParentNode:t}=e,n={_key:e.node._key};if(!Array.isArray(e.nextPath))return V({node:e.node});const r=i.getFlatDataFromTree({treeData:e.treeData,getNodeKey:e=>e.node._key}),o=F(e.node),{leadingNode:a,followingNode:s}=L({flatTree:r,node:e.node,treeIndex:e.nextTreeIndex});return[h.unset([n]),a?.node?._key?h.insert([o],"after",[{_key:a.node._key}]):h.insert([o],"before",[s?.node?._key?{_key:s.node._key}:e.nextTreeIndex]),t?h.set(t._key,[n,"parent"]):h.unset([n,"parent"])]}(e))},addItem:function(e){r(function(e){const t=F(e);return[h.insert([t],"after",[-1])]}(e))},removeItem:function(e){r(V(e))},moveItemUp:function(e){r(q({nodeProps:e,localTree:n,direction:"up"}))},moveItemDown:function(e){r(q({nodeProps:e,localTree:n,direction:"down"}))},duplicateItem:function(e){r(function(e){const t=F({...e.node,_key:c.randomKey(12)});return[h.insert([t],"before",[{_key:e.node._key}])]}(e))}}}const G={hex:"#e3e4e8"},U={hex:"#9499ad"},Y={hex:"#7595ff"};var X=function(){return X=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},X.apply(this,arguments)};function K(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function J(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}"function"==typeof SuppressedError&&SuppressedError;var Z=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,Q=J((function(e){return Z.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),ee="-ms-",te="-moz-",ne="-webkit-",re="comm",oe="rule",ie="decl",ae="@import",se="@keyframes",ce="@layer",le=Math.abs,de=String.fromCharCode,ue=Object.assign;function pe(e){return e.trim()}function he(e,t){return(e=t.exec(e))?e[0]:e}function fe(e,t,n){return e.replace(t,n)}function me(e,t,n){return e.indexOf(t,n)}function ye(e,t){return 0|e.charCodeAt(t)}function ge(e,t,n){return e.slice(t,n)}function ve(e){return e.length}function be(e){return e.length}function xe(e,t){return t.push(e),e}function we(e,t){return e.filter((function(e){return!he(e,t)}))}var ke=1,Se=1,_e=0,Ie=0,je=0,Te="";function Ce(e,t,n,r,o,i,a,s){return{value:e,root:t,parent:n,type:r,props:o,children:i,line:ke,column:Se,length:a,return:"",siblings:s}}function Ae(e,t){return ue(Ce("",null,null,"",null,null,0,e.siblings),e,{length:-e.length},t)}function Ee(e){for(;e.root;)e=Ae(e.root,{children:[e]});xe(e,e.siblings)}function Pe(){return je=Ie>0?ye(Te,--Ie):0,Se--,10===je&&(Se=1,ke--),je}function De(){return je=Ie<_e?ye(Te,Ie++):0,Se++,10===je&&(Se=1,ke++),je}function Ne(){return ye(Te,Ie)}function Oe(){return Ie}function Re(e,t){return ge(Te,e,t)}function $e(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function ze(e){return pe(Re(Ie-1,Fe(91===e?e+2:40===e?e+1:e)))}function Me(e){for(;(je=Ne())&&je<33;)De();return $e(e)>2||$e(je)>3?"":" "}function Be(e,t){for(;--t&&De()&&!(je<48||je>102||je>57&&je<65||je>70&&je<97););return Re(e,Oe()+(t<6&&32==Ne()&&32==De()))}function Fe(e){for(;De();)switch(je){case e:return Ie;case 34:case 39:34!==e&&39!==e&&Fe(je);break;case 40:41===e&&Fe(e);break;case 92:De()}return Ie}function Le(e,t){for(;De()&&e+je!==57&&(e+je!==84||47!==Ne()););return"/*"+Re(t,Ie-1)+"*"+de(47===e?e:De())}function Ve(e){for(;!$e(Ne());)De();return Re(e,Ie)}function He(e){return function(e){return Te="",e}(qe("",null,null,null,[""],e=function(e){return ke=Se=1,_e=ve(Te=e),Ie=0,[]}(e),0,[0],e))}function qe(e,t,n,r,o,i,a,s,c){for(var l=0,d=0,u=a,p=0,h=0,f=0,m=1,y=1,g=1,v=0,b="",x=o,w=i,k=r,S=b;y;)switch(f=v,v=De()){case 40:if(108!=f&&58==ye(S,u-1)){-1!=me(S+=fe(ze(v),"&","&\f"),"&\f",le(l?s[l-1]:0))&&(g=-1);break}case 34:case 39:case 91:S+=ze(v);break;case 9:case 10:case 13:case 32:S+=Me(f);break;case 92:S+=Be(Oe()-1,7);continue;case 47:switch(Ne()){case 42:case 47:xe(Ge(Le(De(),Oe()),t,n,c),c);break;default:S+="/"}break;case 123*m:s[l++]=ve(S)*g;case 125*m:case 59:case 0:switch(v){case 0:case 125:y=0;case 59+d:-1==g&&(S=fe(S,/\f/g,"")),h>0&&ve(S)-u&&xe(h>32?Ue(S+";",r,n,u-1,c):Ue(fe(S," ","")+";",r,n,u-2,c),c);break;case 59:S+=";";default:if(xe(k=We(S,t,n,l,d,o,s,b,x=[],w=[],u,i),i),123===v)if(0===d)qe(S,t,k,k,x,i,u,s,w);else switch(99===p&&110===ye(S,3)?100:p){case 100:case 108:case 109:case 115:qe(e,k,k,r&&xe(We(e,k,k,0,0,o,s,b,o,x=[],u,w),w),o,w,u,s,r?x:w);break;default:qe(S,k,k,k,[""],w,0,s,w)}}l=d=h=0,m=g=1,b=S="",u=a;break;case 58:u=1+ve(S),h=f;default:if(m<1)if(123==v)--m;else if(125==v&&0==m++&&125==Pe())continue;switch(S+=de(v),v*m){case 38:g=d>0?1:(S+="\f",-1);break;case 44:s[l++]=(ve(S)-1)*g,g=1;break;case 64:45===Ne()&&(S+=ze(De())),p=Ne(),d=u=ve(b=S+=Ve(Oe())),v++;break;case 45:45===f&&2==ve(S)&&(m=0)}}return i}function We(e,t,n,r,o,i,a,s,c,l,d,u){for(var p=o-1,h=0===o?i:[""],f=be(h),m=0,y=0,g=0;m<r;++m)for(var v=0,b=ge(e,p+1,p=le(y=a[m])),x=e;v<f;++v)(x=pe(y>0?h[v]+" "+b:fe(b,/&\f/g,h[v])))&&(c[g++]=x);return Ce(e,t,n,0===o?oe:s,c,l,d,u)}function Ge(e,t,n,r){return Ce(e,t,n,re,de(je),ge(e,2,-2),0,r)}function Ue(e,t,n,r,o){return Ce(e,t,n,ie,ge(e,0,r),ge(e,r+1,-1),r,o)}function Ye(e,t,n){switch(function(e,t){return 45^ye(e,0)?(((t<<2^ye(e,0))<<2^ye(e,1))<<2^ye(e,2))<<2^ye(e,3):0}(e,t)){case 5103:return ne+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return ne+e+e;case 4789:return te+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return ne+e+te+e+ee+e+e;case 5936:switch(ye(e,t+11)){case 114:return ne+e+ee+fe(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return ne+e+ee+fe(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return ne+e+ee+fe(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return ne+e+ee+e+e;case 6165:return ne+e+ee+"flex-"+e+e;case 5187:return ne+e+fe(e,/(\w+).+(:[^]+)/,ne+"box-$1$2"+ee+"flex-$1$2")+e;case 5443:return ne+e+ee+"flex-item-"+fe(e,/flex-|-self/g,"")+(he(e,/flex-|baseline/)?"":ee+"grid-row-"+fe(e,/flex-|-self/g,""))+e;case 4675:return ne+e+ee+"flex-line-pack"+fe(e,/align-content|flex-|-self/g,"")+e;case 5548:return ne+e+ee+fe(e,"shrink","negative")+e;case 5292:return ne+e+ee+fe(e,"basis","preferred-size")+e;case 6060:return ne+"box-"+fe(e,"-grow","")+ne+e+ee+fe(e,"grow","positive")+e;case 4554:return ne+fe(e,/([^-])(transform)/g,"$1"+ne+"$2")+e;case 6187:return fe(fe(fe(e,/(zoom-|grab)/,ne+"$1"),/(image-set)/,ne+"$1"),e,"")+e;case 5495:case 3959:return fe(e,/(image-set\([^]*)/,ne+"$1$`$1");case 4968:return fe(fe(e,/(.+:)(flex-)?(.*)/,ne+"box-pack:$3"+ee+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+ne+e+e;case 4200:if(!he(e,/flex-|baseline/))return ee+"grid-column-align"+ge(e,t)+e;break;case 2592:case 3360:return ee+fe(e,"template-","")+e;case 4384:case 3616:return n&&n.some((function(e,n){return t=n,he(e.props,/grid-\w+-end/)}))?~me(e+(n=n[t].value),"span",0)?e:ee+fe(e,"-start","")+e+ee+"grid-row-span:"+(~me(n,"span",0)?he(n,/\d+/):+he(n,/\d+/)-+he(e,/\d+/))+";":ee+fe(e,"-start","")+e;case 4896:case 4128:return n&&n.some((function(e){return he(e.props,/grid-\w+-start/)}))?e:ee+fe(fe(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return fe(e,/(.+)-inline(.+)/,ne+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(ve(e)-1-t>6)switch(ye(e,t+1)){case 109:if(45!==ye(e,t+4))break;case 102:return fe(e,/(.+:)(.+)-([^]+)/,"$1"+ne+"$2-$3$1"+te+(108==ye(e,t+3)?"$3":"$2-$3"))+e;case 115:return~me(e,"stretch",0)?Ye(fe(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return fe(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,(function(t,n,r,o,i,a,s){return ee+n+":"+r+s+(o?ee+n+"-span:"+(i?a:+a-+r)+s:"")+e}));case 4949:if(121===ye(e,t+6))return fe(e,":",":"+ne)+e;break;case 6444:switch(ye(e,45===ye(e,14)?18:11)){case 120:return fe(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+ne+(45===ye(e,14)?"inline-":"")+"box$3$1"+ne+"$2$3$1"+ee+"$2box$3")+e;case 100:return fe(e,":",":"+ee)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return fe(e,"scroll-","scroll-snap-")+e}return e}function Xe(e,t){for(var n="",r=0;r<e.length;r++)n+=t(e[r],r,e,t)||"";return n}function Ke(e,t,n,r){switch(e.type){case ce:if(e.children.length)break;case ae:case ie:return e.return=e.return||e.value;case re:return"";case se:return e.return=e.value+"{"+Xe(e.children,r)+"}";case oe:if(!ve(e.value=e.props.join(",")))return""}return ve(n=Xe(e.children,r))?e.return=e.value+"{"+n+"}":""}function Je(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case ie:return void(e.return=Ye(e.value,e.length,n));case se:return Xe([Ae(e,{value:fe(e.value,"@","@"+ne)})],r);case oe:if(e.length)return function(e,t){return e.map(t).join("")}(n=e.props,(function(t){switch(he(t,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":Ee(Ae(e,{props:[fe(t,/:(read-\w+)/,":"+te+"$1")]})),Ee(Ae(e,{props:[t]})),ue(e,{props:we(n,r)});break;case"::placeholder":Ee(Ae(e,{props:[fe(t,/:(plac\w+)/,":"+ne+"input-$1")]})),Ee(Ae(e,{props:[fe(t,/:(plac\w+)/,":"+te+"$1")]})),Ee(Ae(e,{props:[fe(t,/:(plac\w+)/,ee+"input-$1")]})),Ee(Ae(e,{props:[t]})),ue(e,{props:we(n,r)})}return""}))}}var Ze={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},Qe="undefined"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",et="active",tt="data-styled-version",nt="6.1.15",rt="/*!sc*/\n",ot="undefined"!=typeof window&&"HTMLElement"in window,it=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY?"false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:"production"!==process.env.NODE_ENV),at={},st=/invalid hook call/i,ct=new Set,lt=function(e,t){if("production"!==process.env.NODE_ENV){var n=t?' with the id of "'.concat(t,'"'):"",r="The component ".concat(e).concat(n," has been created dynamically.\n")+"You may see this warning because you've called styled inside another component.\nTo resolve this only create new StyledComponents outside of any render method and function component.",i=console.error;try{var a=!0;console.error=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];st.test(e)?(a=!1,ct.delete(r)):i.apply(void 0,K([e],t,!1))},o.useRef(),a&&!ct.has(r)&&(console.warn(r),ct.add(r))}catch(e){st.test(e.message)&&ct.delete(r)}finally{console.error=i}}},dt=Object.freeze([]),ut=Object.freeze({});function pt(e,t,n){return void 0===n&&(n=ut),e.theme!==n.theme&&e.theme||t||n.theme}var ht=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),ft=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,mt=/(^-|-$)/g;function yt(e){return e.replace(ft,"-").replace(mt,"")}var gt=/(a)(d)/gi,vt=52,bt=function(e){return String.fromCharCode(e+(e>25?39:97))};function xt(e){var t,n="";for(t=Math.abs(e);t>vt;t=t/vt|0)n=bt(t%vt)+n;return(bt(t%vt)+n).replace(gt,"$1-$2")}var wt,kt=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},St=function(e){return kt(5381,e)};function _t(e){return xt(St(e)>>>0)}function It(e){return"production"!==process.env.NODE_ENV&&"string"==typeof e&&e||e.displayName||e.name||"Component"}function jt(e){return"string"==typeof e&&("production"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var Tt="function"==typeof Symbol&&Symbol.for,Ct=Tt?Symbol.for("react.memo"):60115,At=Tt?Symbol.for("react.forward_ref"):60112,Et={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},Pt={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Dt={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Nt=((wt={})[At]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},wt[Ct]=Dt,wt);function Ot(e){return("type"in(t=e)&&t.type.$$typeof)===Ct?Dt:"$$typeof"in e?Nt[e.$$typeof]:Et;var t}var Rt=Object.defineProperty,$t=Object.getOwnPropertyNames,zt=Object.getOwnPropertySymbols,Mt=Object.getOwnPropertyDescriptor,Bt=Object.getPrototypeOf,Ft=Object.prototype;function Lt(e,t,n){if("string"!=typeof t){if(Ft){var r=Bt(t);r&&r!==Ft&&Lt(e,r,n)}var o=$t(t);zt&&(o=o.concat(zt(t)));for(var i=Ot(e),a=Ot(t),s=0;s<o.length;++s){var c=o[s];if(!(c in Pt||n&&n[c]||a&&c in a||i&&c in i)){var l=Mt(t,c);try{Rt(e,c,l)}catch(e){}}}}return e}function Vt(e){return"function"==typeof e}function Ht(e){return"object"==typeof e&&"styledComponentId"in e}function qt(e,t){return e&&t?"".concat(e," ").concat(t):e||t||""}function Wt(e,t){if(0===e.length)return"";for(var n=e[0],r=1;r<e.length;r++)n+=e[r];return n}function Gt(e){return null!==e&&"object"==typeof e&&e.constructor.name===Object.name&&!("props"in e&&e.$$typeof)}function Ut(e,t,n){if(void 0===n&&(n=!1),!n&&!Gt(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=Ut(e[r],t[r]);else if(Gt(t))for(var r in t)e[r]=Ut(e[r],t[r]);return e}function Yt(e,t){Object.defineProperty(e,"toString",{value:t})}var Xt="production"!==process.env.NODE_ENV?{1:"Cannot create styled-component for component: %s.\n\n",2:"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\n\n- Are you trying to reuse it across renders?\n- Are you accidentally calling collectStyles twice?\n\n",3:"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\n\n",4:"The `StyleSheetManager` expects a valid target or sheet prop!\n\n- Does this error occur on the client and is your target falsy?\n- Does this error occur on the server and is the sheet falsy?\n\n",5:"The clone method cannot be used on the client!\n\n- Are you running in a client-like environment on the server?\n- Are you trying to run SSR on the client?\n\n",6:"Trying to insert a new style tag, but the given Node is unmounted!\n\n- Are you using a custom target that isn't mounted?\n- Does your document not have a valid head element?\n- Have you accidentally removed a style tag manually?\n\n",7:'ThemeProvider: Please return an object from your "theme" prop function, e.g.\n\n```js\ntheme={() => ({})}\n```\n\n',8:'ThemeProvider: Please make your "theme" prop an object.\n\n',9:"Missing document `<head>`\n\n",10:"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\n\n",11:"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\n\n",12:"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\`\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\n\n",13:"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\n\n",14:'ThemeProvider: "theme" prop is required.\n\n',15:"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\n\n```js\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\n```\n\n",16:"Reached the limit of how many styled components may be created at group %s.\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\nas for instance in your render method then you may be running into this limitation.\n\n",17:"CSSStyleSheet could not be found on HTMLStyleElement.\nHas styled-components' style tag been unmounted or altered by another script?\n",18:"ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`"}:{};function Kt(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=e[0],r=[],o=1,i=e.length;o<i;o+=1)r.push(e[o]);return r.forEach((function(e){n=n.replace(/%[a-z]/,e)})),n}function Jt(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return"production"===process.env.NODE_ENV?new Error("An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#".concat(e," for more information.").concat(t.length>0?" Args: ".concat(t.join(", ")):"")):new Error(Kt.apply(void 0,K([Xt[e]],t,!1)).trim())}var Zt=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)if((o<<=1)<0)throw Jt(16,"".concat(e));this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var i=r;i<o;i++)this.groupSizes[i]=0}for(var a=this.indexOfGroup(e+1),s=(i=0,t.length);i<s;i++)this.tag.insertRule(a,t[i])&&(this.groupSizes[e]++,a++)},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var o=n;o<r;o++)this.tag.deleteRule(n)}},e.prototype.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,i=r;i<o;i++)t+="".concat(this.tag.getRule(i)).concat(rt);return t},e}(),Qt=new Map,en=new Map,tn=1,nn=function(e){if(Qt.has(e))return Qt.get(e);for(;en.has(tn);)tn++;var t=tn++;if("production"!==process.env.NODE_ENV&&((0|t)<0||t>1073741824))throw Jt(16,"".concat(t));return Qt.set(e,t),en.set(t,e),t},rn=function(e,t){tn=t+1,Qt.set(e,t),en.set(t,e)},on="style[".concat(Qe,"][").concat(tt,'="').concat(nt,'"]'),an=new RegExp("^".concat(Qe,'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)')),sn=function(e,t,n){for(var r,o=n.split(","),i=0,a=o.length;i<a;i++)(r=o[i])&&e.registerName(t,r)},cn=function(e,t){for(var n,r=(null!==(n=t.textContent)&&void 0!==n?n:"").split(rt),o=[],i=0,a=r.length;i<a;i++){var s=r[i].trim();if(s){var c=s.match(an);if(c){var l=0|parseInt(c[1],10),d=c[2];0!==l&&(rn(d,l),sn(e,d,c[3]),e.getTag().insertRules(l,o)),o.length=0}else o.push(s)}}},ln=function(e){for(var t=document.querySelectorAll(on),n=0,r=t.length;n<r;n++){var o=t[n];o&&o.getAttribute(Qe)!==et&&(cn(e,o),o.parentNode&&o.parentNode.removeChild(o))}};var dn=function(e){var t=document.head,n=e||t,r=document.createElement("style"),o=function(e){var t=Array.from(e.querySelectorAll("style[".concat(Qe,"]")));return t[t.length-1]}(n),i=void 0!==o?o.nextSibling:null;r.setAttribute(Qe,et),r.setAttribute(tt,nt);var a="undefined"!=typeof __webpack_nonce__?__webpack_nonce__:null;return a&&r.setAttribute("nonce",a),n.insertBefore(r,i),r},un=function(){function e(e){this.element=dn(e),this.element.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var o=t[n];if(o.ownerNode===e)return o}throw Jt(17)}(this.element),this.length=0}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:""},e}(),pn=function(){function e(e){this.element=dn(e),this.nodes=this.element.childNodes,this.length=0}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),hn=function(){function e(e){this.rules=[],this.length=0}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),fn=ot,mn={isServer:!ot,useCSSOMInjection:!it},yn=function(){function e(e,t,n){void 0===e&&(e=ut),void 0===t&&(t={});var r=this;this.options=X(X({},mn),e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&ot&&fn&&(fn=!1,ln(this)),Yt(this,(function(){return function(e){for(var t=e.getTag(),n=t.length,r="",o=function(n){var o=function(e){return en.get(e)}(n);if(void 0===o)return"continue";var i=e.names.get(o),a=t.getGroup(n);if(void 0===i||!i.size||0===a.length)return"continue";var s="".concat(Qe,".g").concat(n,'[id="').concat(o,'"]'),c="";void 0!==i&&i.forEach((function(e){e.length>0&&(c+="".concat(e,","))})),r+="".concat(a).concat(s,'{content:"').concat(c,'"}').concat(rt)},i=0;i<n;i++)o(i);return r}(r)}))}return e.registerId=function(e){return nn(e)},e.prototype.rehydrate=function(){!this.server&&ot&&ln(this)},e.prototype.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(X(X({},this.options),t),this.gs,n&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new hn(n):t?new un(n):new pn(n)}(this.options),new Zt(e)));var e},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(nn(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(nn(e),n)},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},e.prototype.clearRules=function(e){this.getTag().clearGroup(nn(e)),this.clearNames(e)},e.prototype.clearTag=function(){this.tag=void 0},e}(),gn=/&/g,vn=/^\s*\/\/.*$/gm;function bn(e,t){return e.map((function(e){return"rule"===e.type&&(e.value="".concat(t," ").concat(e.value),e.value=e.value.replaceAll(",",",".concat(t," ")),e.props=e.props.map((function(e){return"".concat(t," ").concat(e)}))),Array.isArray(e.children)&&"@keyframes"!==e.type&&(e.children=bn(e.children,t)),e}))}var xn=new yn,wn=function(e){var t,n,r,o=ut,i=o.options,a=void 0===i?ut:i,s=o.plugins,c=void 0===s?dt:s,l=function(e,r,o){return o.startsWith(n)&&o.endsWith(n)&&o.replaceAll(n,"").length>0?".".concat(t):e},d=c.slice();d.push((function(e){e.type===oe&&e.value.includes("&")&&(e.props[0]=e.props[0].replace(gn,n).replace(r,l))})),a.prefix&&d.push(Je),d.push(Ke);var u=function(e,o,i,s){void 0===o&&(o=""),void 0===i&&(i=""),void 0===s&&(s="&"),t=s,n=o,r=new RegExp("\\".concat(n,"\\b"),"g");var c=e.replace(vn,""),l=He(i||o?"".concat(i," ").concat(o," { ").concat(c," }"):c);a.namespace&&(l=bn(l,a.namespace));var u,p=[];return Xe(l,function(e){var t=be(e);return function(n,r,o,i){for(var a="",s=0;s<t;s++)a+=e[s](n,r,o,i)||"";return a}}(d.concat((u=function(e){return p.push(e)},function(e){e.root||(e=e.return)&&u(e)})))),p};return u.hash=c.length?c.reduce((function(e,t){return t.name||Jt(15),kt(e,t.name)}),5381).toString():"",u}(),kn=f.default.createContext({shouldForwardProp:void 0,styleSheet:xn,stylis:wn});function Sn(){return o.useContext(kn)}f.default.createContext(void 0);var _n=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=wn);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"))},this.name=e,this.id="sc-keyframes-".concat(e),this.rules=t,Yt(this,(function(){throw Jt(12,String(n.name))}))}return e.prototype.getName=function(e){return void 0===e&&(e=wn),this.name+e.hash},e}(),In=function(e){return e>="A"&&e<="Z"};function jn(e){for(var t="",n=0;n<e.length;n++){var r=e[n];if(1===n&&"-"===r&&"-"===e[0])return e;In(r)?t+="-"+r.toLowerCase():t+=r}return t.startsWith("ms-")?"-"+t:t}var Tn=function(e){return null==e||!1===e||""===e},Cn=function(e){var t,n,r=[];for(var o in e){var i=e[o];e.hasOwnProperty(o)&&!Tn(i)&&(Array.isArray(i)&&i.isCss||Vt(i)?r.push("".concat(jn(o),":"),i,";"):Gt(i)?r.push.apply(r,K(K(["".concat(o," {")],Cn(i),!1),["}"],!1)):r.push("".concat(jn(o),": ").concat((t=o,null==(n=i)||"boolean"==typeof n||""===n?"":"number"!=typeof n||0===n||t in Ze||t.startsWith("--")?String(n).trim():"".concat(n,"px")),";")))}return r};function An(e,t,n,r){if(Tn(e))return[];if(Ht(e))return[".".concat(e.styledComponentId)];if(Vt(e)){if(!Vt(i=e)||i.prototype&&i.prototype.isReactComponent||!t)return[e];var o=e(t);return"production"===process.env.NODE_ENV||"object"!=typeof o||Array.isArray(o)||o instanceof _n||Gt(o)||null===o||console.error("".concat(It(e)," is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.")),An(o,t,n,r)}var i;return e instanceof _n?n?(e.inject(n,r),[e.getName(r)]):[e]:Gt(e)?Cn(e):Array.isArray(e)?Array.prototype.concat.apply(dt,e.map((function(e){return An(e,t,n,r)}))):[e.toString()]}function En(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(Vt(n)&&!Ht(n))return!1}return!0}var Pn=St(nt),Dn=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic="production"===process.env.NODE_ENV&&(void 0===n||n.isStatic)&&En(e),this.componentId=t,this.baseHash=kt(Pn,t),this.baseStyle=n,yn.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):"";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))r=qt(r,this.staticRulesId);else{var o=Wt(An(this.rules,e,t,n)),i=xt(kt(this.baseHash,o)>>>0);if(!t.hasNameForId(this.componentId,i)){var a=n(o,".".concat(i),void 0,this.componentId);t.insertRules(this.componentId,i,a)}r=qt(r,i),this.staticRulesId=i}else{for(var s=kt(this.baseHash,n.hash),c="",l=0;l<this.rules.length;l++){var d=this.rules[l];if("string"==typeof d)c+=d,"production"!==process.env.NODE_ENV&&(s=kt(s,d));else if(d){var u=Wt(An(d,e,t,n));s=kt(s,u+l),c+=u}}if(c){var p=xt(s>>>0);t.hasNameForId(this.componentId,p)||t.insertRules(this.componentId,p,n(c,".".concat(p),void 0,this.componentId)),r=qt(r,p)}}return r},e}(),Nn=f.default.createContext(void 0),On={},Rn=new Set;function $n(e,t,n){var r=Ht(e),i=e,a=!jt(e),s=t.attrs,c=void 0===s?dt:s,l=t.componentId,d=void 0===l?function(e,t){var n="string"!=typeof e?"sc":yt(e);On[n]=(On[n]||0)+1;var r="".concat(n,"-").concat(_t(nt+n+On[n]));return t?"".concat(t,"-").concat(r):r}(t.displayName,t.parentComponentId):l,u=t.displayName,p=void 0===u?function(e){return jt(e)?"styled.".concat(e):"Styled(".concat(It(e),")")}(e):u,h=t.displayName&&t.componentId?"".concat(yt(t.displayName),"-").concat(t.componentId):t.componentId||d,m=r&&i.attrs?i.attrs.concat(c).filter(Boolean):c,y=t.shouldForwardProp;if(r&&i.shouldForwardProp){var g=i.shouldForwardProp;if(t.shouldForwardProp){var v=t.shouldForwardProp;y=function(e,t){return g(e,t)&&v(e,t)}}else y=g}var b=new Dn(n,h,r?i.componentStyle:void 0);function x(e,t){return function(e,t,n){var r=e.attrs,i=e.componentStyle,a=e.defaultProps,s=e.foldedComponentIds,c=e.styledComponentId,l=e.target,d=f.default.useContext(Nn),u=Sn(),p=e.shouldForwardProp||u.shouldForwardProp;"production"!==process.env.NODE_ENV&&o.useDebugValue(c);var h=pt(t,d,a)||ut,m=function(e,t,n){for(var r,o=X(X({},t),{className:void 0,theme:n}),i=0;i<e.length;i+=1){var a=Vt(r=e[i])?r(o):r;for(var s in a)o[s]="className"===s?qt(o[s],a[s]):"style"===s?X(X({},o[s]),a[s]):a[s]}return t.className&&(o.className=qt(o.className,t.className)),o}(r,t,h),y=m.as||l,g={};for(var v in m)void 0===m[v]||"$"===v[0]||"as"===v||"theme"===v&&m.theme===h||("forwardedAs"===v?g.as=m.forwardedAs:p&&!p(v,y)||(g[v]=m[v],p||"development"!==process.env.NODE_ENV||Q(v)||Rn.has(v)||!ht.has(y)||(Rn.add(v),console.warn('styled-components: it looks like an unknown prop "'.concat(v,'" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));var b=function(e,t){var n=Sn(),r=e.generateAndInjectStyles(t,n.styleSheet,n.stylis);return"production"!==process.env.NODE_ENV&&o.useDebugValue(r),r}(i,m);"production"!==process.env.NODE_ENV&&e.warnTooManyClasses&&e.warnTooManyClasses(b);var x=qt(s,c);return b&&(x+=" "+b),m.className&&(x+=" "+m.className),g[jt(y)&&!ht.has(y)?"class":"className"]=x,n&&(g.ref=n),o.createElement(y,g)}(w,e,t)}x.displayName=p;var w=f.default.forwardRef(x);return w.attrs=m,w.componentStyle=b,w.displayName=p,w.shouldForwardProp=y,w.foldedComponentIds=r?qt(i.foldedComponentIds,i.styledComponentId):"",w.styledComponentId=h,w.target=r?i.target:e,Object.defineProperty(w,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=r?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,o=t;r<o.length;r++)Ut(e,o[r],!0);return e}({},i.defaultProps,e):e}}),"production"!==process.env.NODE_ENV&&(lt(p,h),w.warnTooManyClasses=function(e,t){var n={},r=!1;return function(o){if(!r&&(n[o]=!0,Object.keys(n).length>=200)){var i=t?' with the id of "'.concat(t,'"'):"";console.warn("Over ".concat(200," classes were generated for component ").concat(e).concat(i,".\n")+"Consider using the attrs method, together with a style object for frequently changed styles.\nExample:\n const Component = styled.div.attrs(props => ({\n style: {\n background: props.background,\n },\n }))`width: 100%;`\n\n <Component />"),r=!0,n={}}}}(p,h)),Yt(w,(function(){return".".concat(w.styledComponentId)})),a&&Lt(w,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),w}function zn(e,t){for(var n=[e[0]],r=0,o=t.length;r<o;r+=1)n.push(t[r],e[r+1]);return n}var Mn=function(e){return Object.assign(e,{isCss:!0})};function Bn(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(Vt(e)||Gt(e))return Mn(An(zn(dt,K([e],t,!0))));var r=e;return 0===t.length&&1===r.length&&"string"==typeof r[0]?An(r):Mn(An(zn(r,t)))}function Fn(e,t,n){if(void 0===n&&(n=ut),!t)throw Jt(1,t);var r=function(r){for(var o=[],i=1;i<arguments.length;i++)o[i-1]=arguments[i];return e(t,n,Bn.apply(void 0,K([r],o,!1)))};return r.attrs=function(r){return Fn(e,t,X(X({},n),{attrs:Array.prototype.concat(n.attrs,r).filter(Boolean)}))},r.withConfig=function(r){return Fn(e,t,X(X({},n),r))},r}var Ln=function(e){return Fn($n,e)},Vn=Ln;ht.forEach((function(e){Vn[e]=Ln(e)}));var Hn=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=En(e),yn.registerId(this.componentId+1)}return e.prototype.createStyles=function(e,t,n,r){var o=r(Wt(An(this.rules,t,n,r)),""),i=this.componentId+e;n.insertRules(i,i,o)},e.prototype.removeStyles=function(e,t){t.clearRules(this.componentId+e)},e.prototype.renderStyles=function(e,t,n,r){e>2&&yn.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();"production"!==process.env.NODE_ENV&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product&&console.warn("It looks like you've imported 'styled-components' on React Native.\nPerhaps you're looking to import 'styled-components/native'?\nRead more about this at https://www.styled-components.com/docs/basics#react-native");var qn="__sc-".concat(Qe,"__");"production"!==process.env.NODE_ENV&&"test"!==process.env.NODE_ENV&&"undefined"!=typeof window&&(window[qn]||(window[qn]=0),1===window[qn]&&console.warn("It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\n\nSee https://s-c.sh/2BAXzed for more info."),window[qn]+=1);const Wn=Vn.div`
2
+ // Adapted from react-sortable-tree/style.css
3
+ &[data-landing='true'] > *,
4
+ &[data-cancel='true'] > * {
5
+ opacity: 0 !important;
6
+ }
7
+ &[data-landing='true']::before,
8
+ &[data-cancel='true']::before {
9
+ background-color: ${"#e7fefe"};
10
+ border: 2px dashed ${U.hex};
11
+ border-radius: 3px;
12
+ content: '';
13
+ position: absolute;
14
+ top: 0;
15
+ right: 0;
16
+ bottom: 0;
17
+ left: 0;
18
+ z-index: -1;
19
+ }
20
+
21
+ &[data-cancel='true']::before {
22
+ background-color: ${"#fff6f5"};
23
+ }
24
+ `,Gn=e=>{const{node:o,path:a,treeIndex:s,canDrag:c=!1}=e,l=o.title,d=f.useMemo((()=>{if(!c)return null;if("function"==typeof o.children&&o.expanded)return t.jsx(r.Spinner,{});const i=t.jsx("div",{children:t.jsx(r.Button,{mode:"bleed",paddingX:0,paddingY:1,style:{cursor:o.publishedId?"grab":"default",fontSize:"1.5625rem"},"data-ui":"DragHandleButton","data-drag-handle":c,disabled:!o.publishedId,children:t.jsx(n.DragHandleIcon,{style:{marginBottom:"-0.1em"}})})});return o.publishedId?e.connectDragSource(i,{dropEffect:"copy"}):i}),[c,o,"function"==typeof o.children]),u=e.draggedNode&&i.isDescendant(e.draggedNode,o),p=!e.didDrop&&e.isDragging;return t.jsxs(r.Box,{style:{position:"relative"},children:[e.toggleChildrenVisibility&&o.children&&(o.children.length>0||"function"==typeof o.children)&&t.jsx("div",{style:{position:"absolute",left:"-2px",top:"40%",transform:"translate(-100%, -50%)"},children:t.jsx(r.Button,{"aria-label":o.expanded?"Collapse":"Expand",icon:o.expanded?t.jsx(n.ChevronDownIcon,{color:G.hex}):t.jsx(n.ChevronRightIcon,{color:G.hex}),mode:"bleed",fontSize:2,padding:1,type:"button",onClick:()=>e.toggleChildrenVisibility?.({node:o,path:a,treeIndex:s})})}),e.connectDragPreview(t.jsx("div",{children:t.jsx(Wn,{"data-landing":p,"data-cancel":p&&!e.canDrop,style:{opacity:u?.5:1},children:t.jsxs(r.Flex,{align:"center",children:[d,"function"==typeof l?l(e):l]})})}))]})},Un=e=>{const n=e.isOver&&e.canDrop,o=e.isOver&&!e.canDrop;let i="transparent";return n&&(i="positive"),o&&(i="caution"),t.jsx(r.Box,{padding:3,children:t.jsx(r.Card,{padding:5,radius:2,border:!0,tone:i,style:{borderStyle:e.isOver?void 0:"dashed"},children:t.jsxs(r.Stack,{space:2,style:{textAlign:"center"},children:[t.jsxs(r.Text,{size:2,as:"h2",muted:!0,children:[!e.isOver&&e.title,n&&"Drop here",o&&"Invalid location or element"]}),e.subtitle&&t.jsx(r.Text,{size:1,children:e.subtitle}),e.children]})})})},Yn=(function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=Bn.apply(void 0,K([e],t,!1)),o="sc-global-".concat(_t(JSON.stringify(r))),i=new Hn(r,o);"production"!==process.env.NODE_ENV&&lt(o);var a=function(e){var t=Sn(),n=f.default.useContext(Nn),s=f.default.useRef(t.styleSheet.allocateGSInstance(o)).current;return"production"!==process.env.NODE_ENV&&f.default.Children.count(e.children)&&console.warn("The global style component ".concat(o," was given child JSX. createGlobalStyle does not render children.")),"production"!==process.env.NODE_ENV&&r.some((function(e){return"string"==typeof e&&-1!==e.indexOf("@import")}))&&console.warn("Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app."),t.styleSheet.server&&function(e,t,n,r,o){if(i.isStatic)i.renderStyles(e,at,n,o);else{var s=X(X({},t),{theme:pt(t,r,a.defaultProps)});i.renderStyles(e,s,n,o)}}(s,e,t.styleSheet,n,t.stylis),null};return f.default.memo(a)})`
25
+ .rst__lineBlock,
26
+ .rst__absoluteLineBlock {
27
+ height: 100%;
28
+ position: relative;
29
+ display: inline-block;
30
+ --stroke-width: 3px;
31
+ }
32
+
33
+ .rst__absoluteLineBlock {
34
+ position: absolute;
35
+ top: 0;
36
+ }
37
+
38
+ /* Highlight line for pointing to dragged row destination
39
+ ========================================================================== */
40
+ /**
41
+ * +--+--+
42
+ * | | |
43
+ * | | |
44
+ * | | |
45
+ * +--+--+
46
+ */
47
+ .rst__highlightLineVertical {
48
+ z-index: 3;
49
+ }
50
+ .rst__highlightLineVertical::before {
51
+ position: absolute;
52
+ content: '';
53
+ background-color: ${Y.hex};
54
+ width: calc(var(--stroke-width) * 2);
55
+ margin-left: calc(var(--stroke-width) * -1);
56
+ left: 50%;
57
+ top: 0;
58
+ height: 100%;
59
+ }
60
+
61
+ @keyframes arrow-pulse {
62
+ 0% {
63
+ transform: translate(0, 0);
64
+ opacity: 0;
65
+ }
66
+ 30% {
67
+ transform: translate(0, 300%);
68
+ opacity: 1;
69
+ }
70
+ 70% {
71
+ transform: translate(0, 700%);
72
+ opacity: 1;
73
+ }
74
+ 100% {
75
+ transform: translate(0, 1000%);
76
+ opacity: 0;
77
+ }
78
+ }
79
+ .rst__highlightLineVertical::after {
80
+ content: '';
81
+ position: absolute;
82
+ height: 0;
83
+ margin-left: calc(var(--stroke-width) * -1);
84
+ left: 50%;
85
+ top: 0;
86
+ border-left: var(--stroke-width) solid transparent;
87
+ border-right: var(--stroke-width) solid transparent;
88
+ border-top: var(--stroke-width) solid white;
89
+ animation: arrow-pulse 1s infinite linear both;
90
+ }
91
+
92
+ /**
93
+ * +-----+
94
+ * | |
95
+ * | +--+
96
+ * | | |
97
+ * +--+--+
98
+ */
99
+ .rst__highlightTopLeftCorner::before {
100
+ z-index: 3;
101
+ content: '';
102
+ position: absolute;
103
+ border-top: solid calc(var(--stroke-width) * 2) ${Y.hex};
104
+ border-left: solid calc(var(--stroke-width) * 2) ${Y.hex};
105
+ box-sizing: border-box;
106
+ height: calc(50% + var(--stroke-width));
107
+ top: 50%;
108
+ margin-top: calc(var(--stroke-width) * -1);
109
+ right: 0;
110
+ width: calc(50% + var(--stroke-width));
111
+ }
112
+
113
+ /**
114
+ * +--+--+
115
+ * | | |
116
+ * | | |
117
+ * | +->|
118
+ * +-----+
119
+ */
120
+ .rst__highlightBottomLeftCorner {
121
+ z-index: 3;
122
+ }
123
+ .rst__highlightBottomLeftCorner::before {
124
+ content: '';
125
+ position: absolute;
126
+ border-bottom: solid calc(var(--stroke-width) * 2) ${Y.hex};
127
+ border-left: solid calc(var(--stroke-width) * 2) ${Y.hex};
128
+ box-sizing: border-box;
129
+ height: calc(100% + var(--stroke-width));
130
+ top: 0;
131
+ right: calc(var(--stroke-width) * 3);
132
+ width: calc(50% - calc(var(--stroke-width) * 2));
133
+ }
134
+
135
+ .rst__highlightBottomLeftCorner::after {
136
+ content: '';
137
+ position: absolute;
138
+ height: 0;
139
+ right: 0;
140
+ top: 100%;
141
+ margin-top: calc(var(--stroke-width) * -3);
142
+ border-top: calc(var(--stroke-width) * 3) solid transparent;
143
+ border-bottom: calc(var(--stroke-width) * 3) solid transparent;
144
+ border-left: calc(var(--stroke-width) * 3) solid ${Y.hex};
145
+ }
146
+
147
+ .rst__unclickable {
148
+ pointer-events: none;
149
+ margin-top: -calc(var(--stroke-width) * 3);
150
+ }
151
+ `,Xn=e=>{const{lowerSiblingCounts:n,scaffoldBlockPxWidth:r,listIndex:o,swapDepth:i,swapFrom:a,swapLength:s,treeIndex:c}=e,l=n.map(((e,n)=>{if(e<0||c===o||n!==i)return null;let l="";l=o===(a||0)+(s||0)-1?"rst__highlightBottomLeftCorner":c===a?"rst__highlightTopLeftCorner":"rst__highlightLineVertical";const d={width:r,left:r*n};return t.jsx("div",{style:d,className:`rst__unclickable rst__absoluteLineBlock ${l||""}`,tabIndex:-1},n)}));return t.jsxs(t.Fragment,{children:[l,t.jsx(Yn,{})]})},Kn=e=>{const{children:n,lowerSiblingCounts:r,connectDropTarget:o,isOver:i,draggedNode:a,canDrop:s}=e,c=r.length;return o(t.jsxs("div",{style:e.style,children:[t.jsx("div",{style:{paddingLeft:10+14*c+"px"},children:f.Children.map(n,(e=>f.cloneElement(e,{isOver:i,canDrop:s,draggedNode:a})))}),t.jsx(Xn,{...e})]}))};const Jn=e=>e.children,Zn=c=>{const{status:l,allItems:d}=function(t){const n=e.useClient({apiVersion:"2021-09-01"}),[r,o]=f.useState("loading"),[i,a]=f.useReducer(w,{});function s(e){"mutation"===e.type&&(e.result?a({type:"addOrEditItem",item:e.result}):a({type:"removeItem",itemId:e.documentId}))}function c(e){a({type:"setInitialData",items:e}),o("success")}return f.useEffect((()=>{const{filter:e,params:r}=function(e){let{referenceTo:t,referenceOptions:n}=e;const r=["_type in $docTypes"];return n?.filter&&r.push(n.filter),{filter:r.join(" && "),params:{...n?.filterParams||{},docTypes:t.map((e=>e))}}}(t),i=`*[${e}] {\n _id,\n _type,\n _updatedAt,\n }`;n.fetch(i,r).then(c).catch((()=>{o("error")}));const a=n.listen(i,r).subscribe(s);return()=>{a.unsubscribe()}}),[]),{status:r,allItems:i}}(c.options),u=(p={tree:c.tree,allItems:d}).tree?Object.entries(p.allItems).filter((e=>{let[t]=e;return t&&!p.tree.some((e=>e?.value?.reference?._ref===t))})).map((e=>{let[,t]=e;return B(t)})).filter(Boolean):Object.entries(p.allItems).map((e=>B(e[1]))).filter(Boolean);var p;const{localTree:h,handleVisibilityToggle:y}=function(e){let{tree:t,allItems:n}=e;const[r,o]=f.useState({});return{localTree:M({tree:t,allItems:n,visibilityMap:r}),handleVisibilityToggle:function(e){o({...r,[e.node._key]:e.expanded})}}}({tree:c.tree,allItems:d}),g=W({patchPrefix:c.patchPrefix,onChange:c.onChange,localTree:h}),[v,b]=f.useState(null);f.useEffect((()=>{c.options.documentId&&b(document.getElementById(c.options.documentId))}),[c.options.documentId]);const x=o.useCallback((e=>g.handleMovedNode(e)),[g]),k=o.useMemo((()=>function(e){let{placeholder:n}=e;return{theme:{nodeContentRenderer:Gn,placeholderRenderer:e=>t.jsx(Un,{...n,...e}),treeNodeRenderer:Kn,style:{height:"100%"},innerStyle:void 0,scaffoldBlockPxWidth:44,slideRegionSize:100}}}({placeholder:{title:"Add items from the list below"}})),[]),_=o.useMemo((()=>({...g,allItemsStatus:l})),[g,l]);return t.jsx(Jn,{children:t.jsx(r.Box,{id:c.options.documentId,children:v?t.jsx(a.DndProvider,{backend:s.HTML5Backend,options:{rootElement:v},children:t.jsx(S.Provider,{value:_,children:t.jsxs(r.Stack,{space:4,paddingTop:4,children:[t.jsx(r.Card,{style:{minHeight:(I=h,50+51*i.getVisibleNodeCount({treeData:I})+"px")},borderBottom:"success"!==l||u?.length>0,children:t.jsx(m.default,{maxDepth:c.options.maxDepth,onChange:er,onVisibilityToggle:y,canDrop:Qn,onMoveNode:x,treeData:h,...k})}),"success"===l&&u?.length>0&&t.jsxs(r.Stack,{space:1,paddingX:2,paddingTop:3,children:[t.jsxs(r.Stack,{space:2,paddingX:2,paddingBottom:3,children:[t.jsx(r.Text,{size:2,as:"h2",weight:"semibold",children:"Add more items"}),t.jsx(r.Text,{size:1,muted:!0,children:"Only published documents are shown."})]}),u.map((e=>t.jsx(A,{item:e,action:t.jsx(r.Tooltip,{portal:!0,placement:"left",content:t.jsx(r.Box,{padding:2,children:t.jsx(r.Text,{size:1,children:"Add to list"})}),children:t.jsx(r.Button,{onClick:()=>{g.addItem(e)},mode:"bleed",icon:n.AddCircleIcon,style:{cursor:"pointer"}})})},e.publishedId||e.draftId)))]}),"loading"===l&&t.jsx(r.Flex,{padding:4,align:"center",justify:"center",children:t.jsx(r.Spinner,{size:3,muted:!0})}),"error"===l&&t.jsx(r.Flex,{padding:4,align:"center",justify:"center",children:t.jsx(r.Text,{size:2,weight:"semibold",children:"Something went wrong when loading documents"})})]})})}):null})});var I};function Qn(e){let{nextPath:t,prevPath:n}=e;return!(t.length>=n.length&&n.every(((e,n)=>t[n]===e)))}const er=()=>{};function tr(e){const t=d.arrayToJSONMatchPath(e.path||[]);if("insert"===e.type){const{position:n,items:r}=e;return{insert:{[n]:t,items:r}}}if("unset"===e.type)return{unset:[t]};if(!e.type)throw new Error(`Missing patch type in patch ${JSON.stringify(e)}`);return t?{[e.type]:{[t]:e.value}}:{[e.type]:e.value}}const nr="tree",rr=n=>{const o=n.options.documentType||N,i=n.options.fieldKeyInDocument||nr,{published:a,draft:s,liveEdit:c}=e.useEditState(n.options.documentId,o),{patch:l}=e.useDocumentOperation(n.options.documentId,o),d=a?.[i]||[],u=f.useCallback((e=>{l?.execute&&l.execute(z(e.patches,o).map(tr))}),[l]);return f.useEffect((()=>{a?._id||!l?.execute||l?.disabled||l.execute([{setIfMissing:{[i]:[]}}])}),[a?._id,l]),c?s?._id?t.jsx(g,{title:"This hierarchy tree contains a draft",subtitle:"Click on the button below to publish your draft in order to continue editing the live\n published document."}):a?._id?t.jsx(r.Box,{paddingBottom:5,paddingRight:2,children:t.jsx(Zn,{options:n.options,tree:d,onChange:u,patchPrefix:i})}):t.jsx(r.Flex,{padding:5,align:"center",justify:"center",height:"fill",children:t.jsx(r.Spinner,{width:4,muted:!0})}):t.jsx(g,{title:"Invalid configuration",subtitle:"The `documentType` passed to `createDeskHiearchy` isn't live editable. \\nTo continue using this plugin, add `liveEdit: true` to your custom schema type or unset `documentType` in your hierarchy configuration."})},or={invalidDocumentId:"Please add a documentId to your tree",invalidDocumentType:"Please add a valid documentType to createHierarchicalSchemas",invalidReferenceTo:"Missing valid 'referenceTo' value"};function ir(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";throw new Error(`[hierarchical input] ${or[e]} ${t}`)}const ar=e=>{const{documentId:n,referenceTo:r}=e;return"string"==typeof n||n||ir("invalidDocumentId"),Array.isArray(r)||ir("invalidReferenceTo",`(documentId "${n}")`),n=>t.jsx(rr,{...n,options:e})};const sr=n=>{const r=n.type.options.documentType||N,o=f.useCallback((t=>{const o=z(t?.patches,r);n.onChange(new e.PatchEvent(o))}),[n.onChange]);return t.jsx(e.FormField,{description:n.type.description,title:n.type.title,__unstable_presence:n.presence,children:t.jsx(Zn,{options:n.type.options,tree:n.value||[],onChange:o})})};function cr(e){let{referenceTo:t,referenceOptions:n,documentType:r}=e;return{name:r?D(r,"nodeValue"):R,type:"object",title:`Hierarchical node value (${r})`,fields:[{name:"docType",type:"string"},{name:"reference",type:"reference",weak:!0,to:t.map((e=>({type:e}))),options:n}]}}function lr(e){return{name:e.documentType?D(e.documentType,"node"):O,title:`Hierarchical node (${e.documentType})`,type:"object",fields:[{name:"parent",type:"string"},e.documentType?{name:"value",type:D(e.documentType,"nodeValue")}:{...cr(e),name:"value",type:"object"}]}}function dr(e){return{name:e.documentType?D(e.documentType,"array"):$,title:`Hierarchical array of nodes (${e.documentType})`,type:"array",of:[e.documentType?{type:D(e.documentType,"node")}:lr(e)]}}function ur(e){let{name:t,title:n,options:r,...o}=e;return Array.isArray(r?.referenceTo)||ir("invalidReferenceTo",`(field of name "${t}")`),{...o,name:t,title:n,inputComponent:sr,options:r,...r.documentType?{type:D(r.documentType,"array")}:{...dr(r),name:t}}}function pr(e){return{name:e.documentType,title:"Hierarchical tree",type:"document",liveEdit:!0,fields:[ur({name:e.fieldKeyInDocument||nr,title:"Hierarchical Tree",options:e})],preview:{select:{id:"_id",tree:"tree"},prepare(e){let{id:t,tree:n}=e;return{title:`Hierarchical documents (ID: ${t})`,subtitle:`${n?.length||0} document(s) in its list.`}}}}}var hr=e.defineType({name:"hierarchy.tree",title:"Hierarchical tree",type:"document",liveEdit:!0,fields:[{name:"unusedField",title:"Unused field",type:"string",hidden:!0}]});const fr=e.definePlugin({name:"sanity-plugin-hierarchical-document-list"});exports.createDeskHierarchy=function(e){const{documentId:t,referenceTo:r,referenceOptions:o,context:i,S:a,creatableTypes:s}=e;if(!a||!i)throw new Error("Invalid configuration. S or context props are undefined. These props are available as function parameters when configuring structure, and must be passed along to createDeskHierarchy. Confer the plugin README for example usage.");const{schema:c}=i,l=s&&!s.some((e=>r.indexOf(e)))?s:r;let d=(1===r?.length?a.documentTypeList(r[0]).schemaType(r[0]):a.documentList().filter("_type in $types").params({types:r})).id(t).menuItems((l||[]).map((e=>a.menuItem().intent({type:"create",params:{type:e}}).title(`Create ${c.get(e)?.title}`).icon(c.get(e)?.icon||n.AddIcon)))).canHandleIntent(((t,n)=>"edit"===t&&n.id===e.documentId||!!l.includes(n.type)));return o?.filter&&(d=d.filter(o.filter)),o?.filterParams&&(d=d.params(o.filterParams)),a.listItem().id(t).title(e.title||t).icon(e.icon).child(Object.assign(d.serialize(),{type:"component",component:ar(e),options:e,__preserveInstance:!0},e.title?{title:e.title}:{}))},exports.createHierarchicalSchemas=function(e){return(!Array.isArray(e.referenceTo)||e.referenceTo.length<=0)&&ir("invalidReferenceTo"),e.documentType||ir("invalidDocumentType"),[pr(e),dr(e),lr(e),cr(e)]},exports.flatDataToTree=P,exports.hierarchicalDocumentList=fr,exports.hierarchyTree=hr;//# sourceMappingURL=index.js.map