@corva/ui 3.76.0-3 → 3.76.0-5

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 (29) hide show
  1. package/cjs-bundle/components/AttachmentPreview/AttachmentPreview.js +1 -1
  2. package/cjs-bundle/components/AttachmentPreview/AttachmentPreview.js.map +1 -1
  3. package/cjs-bundle/components/AttachmentPreview/AttachmentPreview.scss.js +1 -1
  4. package/cjs-bundle/components/AttachmentPreview/useScrollOverflow.js +2 -0
  5. package/cjs-bundle/components/AttachmentPreview/useScrollOverflow.js.map +1 -0
  6. package/cjs-bundle/components/CommentCard/CommentCard.scss.js +1 -1
  7. package/cjs-bundle/components/CommentInputNext/CommentInputNext.scss.js +1 -1
  8. package/cjs-bundle/components/FeedCard/FeedCard.scss.js +1 -1
  9. package/cjs-bundle/componentsV2/Popover/Popover.scss.js +1 -1
  10. package/components/AttachmentPreview/AttachmentPreview.d.ts +1 -0
  11. package/components/AttachmentPreview/AttachmentPreview.d.ts.map +1 -1
  12. package/components/AttachmentPreview/AttachmentPreview.js +1 -1
  13. package/components/AttachmentPreview/AttachmentPreview.js.map +1 -1
  14. package/components/AttachmentPreview/AttachmentPreview.scss.js +1 -1
  15. package/components/AttachmentPreview/__tests__/AttachmentPreview.overflow.test.d.ts +2 -0
  16. package/components/AttachmentPreview/__tests__/AttachmentPreview.overflow.test.d.ts.map +1 -0
  17. package/components/AttachmentPreview/useScrollOverflow.d.ts +16 -0
  18. package/components/AttachmentPreview/useScrollOverflow.d.ts.map +1 -0
  19. package/components/AttachmentPreview/useScrollOverflow.js +2 -0
  20. package/components/AttachmentPreview/useScrollOverflow.js.map +1 -0
  21. package/components/CommentCard/CommentCard.scss.js +1 -1
  22. package/components/CommentInputNext/CommentInputNext.scss.js +1 -1
  23. package/components/FeedCard/FeedCard.scss.js +1 -1
  24. package/componentsV2/Popover/Popover.scss.js +1 -1
  25. package/mcp-server/server.mjs +6 -2
  26. package/package.json +1 -1
  27. package/styles/common.scss +14 -0
  28. package/styles/mixins.scss +14 -0
  29. package/tsconfig.tsbuildinfo +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("@babel/runtime/helpers/objectWithoutProperties"),r=require("react"),n=require("../AttachmentLightbox/useAttachmentLightbox.js"),o=require("./AttachmentRow.js"),i=require("./SortableAttachments.js"),c=require("react/jsx-runtime");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=a(e),l=a(t),s=["onReorder","onItemClick","onShare"];function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?b(Object(r),!0).forEach((function(t){u.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):b(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var f=r.forwardRef((function(e,t){var r=e.onReorder,a=e.onItemClick,u=e.onShare,b=l.default(e,s),f=n.useAttachmentLightbox(b.items,{onShare:u}),p=f.openAttachment,m=f.lightbox;if(!b.items.length)return null;var j=!!r&&b.items.length>1?c.jsx(i.SortableAttachments,h(h({},b),{},{ref:t,onReorder:r,onItemClick:null!=a?a:p})):c.jsx(o.AttachmentRow,h(h({},b),{},{ref:t,onShare:u,onItemClick:null!=a?a:p}));return c.jsxs(c.Fragment,{children:[j,!a&&m]})}));exports.AttachmentPreview=f;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var s=require("@babel/runtime/helpers/defineProperty"),o=require("@babel/runtime/helpers/objectWithoutProperties"),e=require("react"),c=require("classnames"),n=require("../../componentsV2/ButtonIcon/ButtonIcon.js"),i=require("../../componentsV2/Tooltip/Tooltip.js"),r=require("../../icons/iconParkIcons.js");require("../../icons/customIcons/icons/AddMessage.js"),require("../../icons/customIcons/icons/DragOne.js"),require("../../icons/customIcons/icons/Attention.js"),require("../../icons/customIcons/icons/Collapse.js"),require("../../icons/customIcons/icons/Dashboard.js"),require("../../icons/customIcons/icons/Expand.js"),require("../../icons/customIcons/icons/FolderClosed.js"),require("../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../icons/customIcons/icons/FolderOpened.js"),require("../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../icons/customIcons/icons/LessOrEqual.js"),require("../../icons/customIcons/icons/Search.js"),require("../../icons/customIcons/icons/SearchOne.js"),require("../../icons/customIcons/icons/Wellhub.js"),require("../../icons/customIcons/icons/MultiRuler.js"),require("../../icons/customIcons/icons/Checkbox.js"),require("../../icons/customIcons/icons/CheckboxChecked.js"),require("../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../icons/customIcons/icons/Radio.js"),require("../../icons/customIcons/icons/RadioChecked.js"),require("../../icons/customIcons/icons/SimulFrac.js"),require("../../icons/customIcons/icons/ZipperFrac.js"),require("../../icons/customIcons/icons/CautionFilled.js"),require("../../icons/customIcons/icons/InfoRounded.js"),require("../../icons/customIcons/icons/FlameFilled.js"),require("../../icons/customIcons/icons/MoreApp.js"),require("../../icons/customIcons/icons/Pad.js"),require("../../icons/customIcons/icons/DrilloutUnit.js"),require("../../icons/customIcons/icons/FracFleet.js"),require("../../icons/customIcons/icons/Global.js"),require("../../icons/customIcons/icons/Program.js"),require("../../icons/customIcons/icons/Rig.js"),require("../../icons/customIcons/icons/Well.js"),require("../../icons/customIcons/icons/Gap.js"),require("../../icons/customIcons/icons/Pin.js"),require("../../icons/customIcons/icons/PinOne.js"),require("../../icons/customIcons/icons/PinOneCrossed.js"),require("../../icons/customIcons/icons/CloseOneFilled.js"),require("../../icons/customIcons/icons/AttentionFilled.js"),require("../../icons/customIcons/icons/CheckOneFilled.js"),require("../../icons/customIcons/icons/Archive.js"),require("../../icons/customIcons/icons/ArchiveCancel.js"),require("../../icons/customIcons/icons/Unarchive.js"),require("../../icons/customIcons/icons/Archived.js"),require("../../icons/customIcons/icons/InterventionUnit.js"),require("../../icons/customIcons/icons/CloudDelete.js"),require("../../icons/customIcons/icons/Lasso.js"),require("../../icons/customIcons/icons/Radius.js"),require("../../icons/customIcons/icons/ErrorOps.js"),require("../../icons/customIcons/icons/DataTypeOps.js"),require("../../icons/customIcons/icons/FalsePositiveOps.js"),require("../../icons/customIcons/icons/CalibrationOps.js"),require("../../icons/customIcons/icons/CriticalOps.js"),require("../../icons/customIcons/icons/Company.js"),require("../../icons/customIcons/icons/ArchiveOne.js"),require("../../icons/customIcons/icons/ParseBotFusion.js"),require("../../icons/customIcons/icons/Connect.js"),require("../../icons/customIcons/icons/PuzzleOne.js"),require("../../icons/customIcons/icons/Feed.js"),require("../../icons/customIcons/icons/Prompt.js"),require("../../icons/customIcons/icons/Companies.js"),require("../../icons/customIcons/icons/ClipboardAi.js"),require("../../icons/customIcons/icons/Key.js"),require("../../icons/customIcons/icons/AtSignCrossed.js"),require("../../icons/customIcons/icons/MappingManual.js"),require("../../icons/customIcons/icons/Mapping.js"),require("../../icons/customIcons/icons/Metrics.js"),require("../../icons/customIcons/icons/Drops.js"),require("../../icons/customIcons/icons/ClipboardSearch.js"),require("../../icons/customIcons/icons/Template.js"),require("../../icons/customIcons/icons/ClipboardMetrics.js"),require("../../icons/customIcons/icons/ClipboardBuilder.js"),require("../../icons/customIcons/icons/UnitConversion.js"),require("../../icons/customIcons/icons/NPT.js"),require("../../icons/customIcons/icons/GuidedFrac.js");var t=require("../AttachmentLightbox/useAttachmentLightbox.js"),u=require("./AttachmentRow.js"),l=require("./SortableAttachments.js"),m=require("./useScrollOverflow.js"),a=require("./AttachmentPreview.scss.js"),j=require("react/jsx-runtime");function q(s){return s&&"object"==typeof s&&"default"in s?s:{default:s}}var I=q(s),d=q(o),h=q(c),p=["onReorder","onItemClick","onShare"];function f(s,o){var e=Object.keys(s);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(s);o&&(c=c.filter((function(o){return Object.getOwnPropertyDescriptor(s,o).enumerable}))),e.push.apply(e,c)}return e}function C(s){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{};o%2?f(Object(e),!0).forEach((function(o){I.default(s,o,e[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):f(Object(e)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(e,o))}))}return s}var b=function(s){return 1===s?"1 more attachment":"".concat(s," more attachments")},O=function(s){var o=s.direction,e=s.hiddenCount,c=s.onClick;if(!e)return null;var t=1===o;return j.jsx(i.Tooltip,{title:b(e),children:j.jsx("div",{className:t?a.scrollArrowRight:a.scrollArrowLeft,children:j.jsx(n.ButtonIcon,{size:"xs",type:"tertiaryBg",ariaLabel:b(e),onClick:function(){return c(o)},testId:t?"attachment-scroll-right":"attachment-scroll-left",children:t?j.jsx(r.RightIcon,{size:"small"}):j.jsx(r.LeftIcon,{size:"small"})})})})},v=e.forwardRef((function(s,o){var c=s.onReorder,n=s.onItemClick,i=s.onShare,r=d.default(s,p),q=t.useAttachmentLightbox(r.items,{onShare:i}),I=q.openAttachment,f=q.lightbox,b=e.useRef(null),v=e.useCallback((function(s){b.current=s,"function"==typeof o?o(s):o&&(o.current=s)}),[o]),g=m.useScrollOverflow(b,r.items),P=g.left,x=g.right,A=g.scrollByPage;if(!r.items.length)return null;var y=!!c&&r.items.length>1?j.jsx(l.SortableAttachments,C(C({},r),{},{ref:v,onReorder:c,onItemClick:null!=n?n:I})):j.jsx(u.AttachmentRow,C(C({},r),{},{ref:v,onShare:i,onItemClick:null!=n?n:I}));return j.jsxs(j.Fragment,{children:[j.jsxs("div",{className:h.default(a.stripShell,(P.hiddenCount>0||x.hiddenCount>0)&&"corva-attachment-strip"),children:[y,j.jsx(O,{direction:-1,hiddenCount:P.hiddenCount,onClick:A}),j.jsx(O,{direction:1,hiddenCount:x.hiddenCount,onClick:A})]}),!n&&f]})}));exports.AttachmentPreview=v;
2
2
  //# sourceMappingURL=AttachmentPreview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentPreview.js","sources":["../../../../src/components/AttachmentPreview/AttachmentPreview.tsx"],"sourcesContent":["import { forwardRef } from 'react';\n\nimport { useAttachmentLightbox } from '../AttachmentLightbox/useAttachmentLightbox';\n\nimport { AttachmentRow } from './AttachmentRow';\nimport { SortableAttachments } from './SortableAttachments';\nimport { AttachmentPreviewProps } from './AttachmentPreview.types';\n\n/**\n * Picks the strip that fits — reorderable or plain — and gives it a lightbox. Rendering lives in\n * `AttachmentRow`, drag-and-drop in `SortableAttachments`, the modal in `useAttachmentLightbox`.\n */\nexport const AttachmentPreview = forwardRef<HTMLDivElement, AttachmentPreviewProps>(\n ({ onReorder, onItemClick, onShare, ...props }, ref) => {\n const { openAttachment, lightbox } = useAttachmentLightbox(props.items, { onShare });\n\n if (!props.items.length) return null;\n\n const isSortable = !!onReorder && props.items.length > 1;\n const strip = isSortable ? (\n <SortableAttachments\n {...props}\n ref={ref}\n onReorder={onReorder}\n onItemClick={onItemClick ?? openAttachment}\n />\n ) : (\n <AttachmentRow\n {...props}\n ref={ref}\n onShare={onShare}\n onItemClick={onItemClick ?? openAttachment}\n />\n );\n\n return (\n <>\n {strip}\n {!onItemClick && lightbox}\n </>\n );\n }\n);\n"],"names":["AttachmentPreview","forwardRef","_ref","ref","onReorder","onItemClick","onShare","props","_objectWithoutProperties","_excluded","_useAttachmentLightbo","useAttachmentLightbox","items","openAttachment","lightbox","length","strip","_jsx","SortableAttachments","jsx","AttachmentRow","_objectSpread","_jsxs","_Fragment","children"],"mappings":"wjCAYaA,EAAoBC,EAAUA,YACzC,SAAAC,EAAgDC,GAAQ,IAArDC,IAAAA,UAAWC,IAAAA,YAAaC,IAAAA,QAAYC,EAAKC,EAAA,QAAAN,EAAAO,GAC1CC,EAAqCC,EAAAA,sBAAsBJ,EAAMK,MAAO,CAAEN,QAAAA,IAAlEO,IAAAA,eAAgBC,IAAAA,SAExB,IAAKP,EAAMK,MAAMG,OAAQ,OAAO,KAEhC,IACMC,IADeZ,GAAaG,EAAMK,MAAMG,OAAS,EAErDE,EAAAA,IAACC,EAAmBA,2BACdX,GAAK,GAAA,CACTJ,IAAKA,EACLC,UAAWA,EACXC,YAAaA,QAAAA,EAAeQ,KAG9BI,EAAAE,IAACC,gBAAaC,EAAAA,EAAA,CAAA,EACRd,GAAK,GAAA,CACTJ,IAAKA,EACLG,QAASA,EACTD,YAAaA,QAAAA,EAAeQ,KAIhC,OACES,EAAAA,KAAAC,EAAAA,SAAA,CAAAC,SAAA,CACGR,GACCX,GAAeS,IAGvB"}
1
+ {"version":3,"file":"AttachmentPreview.js","sources":["../../../../src/components/AttachmentPreview/AttachmentPreview.tsx"],"sourcesContent":["import { forwardRef, useCallback, useRef } from 'react';\nimport classNames from 'classnames';\n\nimport { ButtonIcon } from '../../componentsV2/ButtonIcon';\nimport { Tooltip } from '../../componentsV2/Tooltip';\nimport { LeftIcon, RightIcon } from '../../icons';\nimport { useAttachmentLightbox } from '../AttachmentLightbox/useAttachmentLightbox';\n\nimport { AttachmentRow } from './AttachmentRow';\nimport { SortableAttachments } from './SortableAttachments';\nimport { useScrollOverflow } from './useScrollOverflow';\nimport { AttachmentPreviewProps } from './AttachmentPreview.types';\n\nimport styles from './AttachmentPreview.scss';\n\nconst moreLabel = (count: number) =>\n count === 1 ? '1 more attachment' : `${count} more attachments`;\n\ntype ScrollArrowProps = {\n direction: -1 | 1;\n hiddenCount: number;\n onClick: (direction: -1 | 1) => void;\n};\n\nconst ScrollArrow = ({ direction, hiddenCount, onClick }: ScrollArrowProps) => {\n if (!hiddenCount) return null;\n\n const isRight = direction === 1;\n return (\n <Tooltip title={moreLabel(hiddenCount)}>\n <div className={isRight ? styles.scrollArrowRight : styles.scrollArrowLeft}>\n <ButtonIcon\n size=\"xs\"\n type=\"tertiaryBg\"\n ariaLabel={moreLabel(hiddenCount)}\n onClick={() => onClick(direction)}\n testId={isRight ? 'attachment-scroll-right' : 'attachment-scroll-left'}\n >\n {isRight ? <RightIcon size=\"small\" /> : <LeftIcon size=\"small\" />}\n </ButtonIcon>\n </div>\n </Tooltip>\n );\n};\n\n/**\n * Picks the strip that fits — reorderable or plain — and gives it a lightbox. Rendering lives in\n * `AttachmentRow`, drag-and-drop in `SortableAttachments`, the modal in `useAttachmentLightbox`.\n * The strip hides its scrollbar, so overflow arrows are the scroll affordance.\n */\nexport const AttachmentPreview = forwardRef<HTMLDivElement, AttachmentPreviewProps>(\n ({ onReorder, onItemClick, onShare, ...props }, ref) => {\n const { openAttachment, lightbox } = useAttachmentLightbox(props.items, { onShare });\n\n const scrollerRef = useRef<HTMLDivElement | null>(null);\n const setScrollerRef = useCallback(\n (node: HTMLDivElement | null) => {\n scrollerRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n },\n [ref]\n );\n const { left, right, scrollByPage } = useScrollOverflow(scrollerRef, props.items);\n\n if (!props.items.length) return null;\n\n const isSortable = !!onReorder && props.items.length > 1;\n const strip = isSortable ? (\n <SortableAttachments\n {...props}\n ref={setScrollerRef}\n onReorder={onReorder}\n onItemClick={onItemClick ?? openAttachment}\n />\n ) : (\n <AttachmentRow\n {...props}\n ref={setScrollerRef}\n onShare={onShare}\n onItemClick={onItemClick ?? openAttachment}\n />\n );\n\n return (\n <>\n <div\n // The global marker lets host chrome (Popover) unclip the border-straddling arrows,\n // so it is only set while arrows are showing.\n className={classNames(\n styles.stripShell,\n (left.hiddenCount > 0 || right.hiddenCount > 0) && 'corva-attachment-strip'\n )}\n >\n {strip}\n <ScrollArrow direction={-1} hiddenCount={left.hiddenCount} onClick={scrollByPage} />\n <ScrollArrow direction={1} hiddenCount={right.hiddenCount} onClick={scrollByPage} />\n </div>\n {!onItemClick && lightbox}\n </>\n );\n }\n);\n"],"names":["moreLabel","count","concat","ScrollArrow","_ref","direction","hiddenCount","onClick","isRight","_jsx","Tooltip","title","children","jsx","className","styles","scrollArrowRight","scrollArrowLeft","ButtonIcon","size","type","ariaLabel","testId","RightIcon","LeftIcon","AttachmentPreview","forwardRef","_ref2","ref","onReorder","onItemClick","onShare","props","_objectWithoutProperties","_excluded","_useAttachmentLightbo","useAttachmentLightbox","items","openAttachment","lightbox","scrollerRef","useRef","setScrollerRef","useCallback","node","current","_useScrollOverflow","useScrollOverflow","left","right","scrollByPage","length","strip","SortableAttachments","AttachmentRow","_objectSpread","_jsxs","_Fragment","jsxs","classNames","stripShell"],"mappings":"6zKAeA,IAAMA,EAAY,SAACC,GAAa,OACpB,IAAVA,EAAc,oBAAmB,GAAAC,OAAMD,EAAwB,oBAAA,EAQ3DE,EAAc,SAA2DC,GAAA,IAAxDC,IAAAA,UAAWC,IAAAA,YAAaC,IAAAA,QAC7C,IAAKD,EAAa,OAAO,KAEzB,IAAME,EAAwB,IAAdH,EAChB,OACEI,EAAAA,IAACC,EAAAA,QAAO,CAACC,MAAOX,EAAUM,GAAaM,SACrCH,EAAAI,IAAA,MAAA,CAAKC,UAAWN,EAAUO,EAAOC,iBAAmBD,EAAOE,gBAAgBL,SACzEH,MAACS,aAAU,CACTC,KAAK,KACLC,KAAK,aACLC,UAAWrB,EAAUM,GACrBC,QAAS,WAAA,OAAMA,EAAQF,EAAW,EAClCiB,OAAQd,EAAU,0BAA4B,yBAAyBI,SAEtEJ,EAAUC,EAAAI,IAACU,YAAS,CAACJ,KAAK,UAAaV,MAACe,WAAQ,CAACL,KAAK,eAKjE,EAOaM,EAAoBC,EAAUA,YACzC,SAAAC,EAAgDC,GAAQ,IAArDC,IAAAA,UAAWC,IAAAA,YAAaC,IAAAA,QAAYC,EAAKC,EAAA,QAAAN,EAAAO,GAC1CC,EAAqCC,EAAAA,sBAAsBJ,EAAMK,MAAO,CAAEN,QAAAA,IAAlEO,IAAAA,eAAgBC,IAAAA,SAElBC,EAAcC,SAA8B,MAC5CC,EAAiBC,eACrB,SAACC,GACCJ,EAAYK,QAAUD,EACH,mBAARhB,EAAoBA,EAAIgB,GAC1BhB,IAAKA,EAAIiB,QAAUD,EAC9B,GACA,CAAChB,IAEHkB,EAAsCC,EAAiBA,kBAACP,EAAaR,EAAMK,OAAnEW,IAAAA,KAAMC,IAAAA,MAAOC,IAAAA,aAErB,IAAKlB,EAAMK,MAAMc,OAAQ,OAAO,KAEhC,IACMC,IADevB,GAAaG,EAAMK,MAAMc,OAAS,EAErD1C,EAAAA,IAAC4C,EAAmBA,2BACdrB,GAAK,GAAA,CACTJ,IAAKc,EACLb,UAAWA,EACXC,YAAaA,QAAAA,EAAeQ,KAG9B7B,EAAAI,IAACyC,gBAAaC,EAAAA,EAAA,CAAA,EACRvB,GAAK,GAAA,CACTJ,IAAKc,EACLX,QAASA,EACTD,YAAaA,QAAAA,EAAeQ,KAIhC,OACEkB,EAAAA,KAAAC,EAAAA,SAAA,CAAA7C,SACE,CAAA4C,EAAAE,KAAA,MAAA,CAGE5C,UAAW6C,EAAU,QACnB5C,EAAO6C,YACNZ,EAAK1C,YAAc,GAAK2C,EAAM3C,YAAc,IAAM,0BACnDM,SAEDwC,CAAAA,EACD3C,EAAAI,IAACV,EAAW,CAACE,WAAY,EAAGC,YAAa0C,EAAK1C,YAAaC,QAAS2C,IACpEzC,MAACN,EAAW,CAACE,UAAW,EAAGC,YAAa2C,EAAM3C,YAAaC,QAAS2C,QAEpEpB,GAAeS,IAGvB"}
@@ -1,2 +1,2 @@
1
- "use strict";require('./../../ext-esm/style-inject/dist/style-inject.es.js')('.AttachmentPreview_scroller__ZqYC8{-ms-overflow-style:none;align-items:flex-start;display:flex;gap:12px;margin-left:-8px;overflow-x:auto;overflow-y:visible;padding-left:8px;padding-right:8px;padding-top:6px;scroll-behavior:smooth;scrollbar-width:none}.AttachmentPreview_scroller__ZqYC8::-webkit-scrollbar{display:none}.AttachmentPreview_slot__ewKLo{border-radius:8px;cursor:grab;flex-shrink:0;position:relative;touch-action:none}.AttachmentPreview_slot__ewKLo:focus-visible{outline:none}.AttachmentPreview_slot__ewKLo:focus-visible:before{border:2px solid var(--palette-primary-main);border-radius:8px;content:"";inset:0;pointer-events:none;position:absolute;z-index:5}.AttachmentPreview_slotDragging__hrfJX{cursor:grabbing}.AttachmentPreview_slotDragging__hrfJX .AttachmentPreview_slotContent__GNuSu{visibility:hidden}.AttachmentPreview_slotDragging__hrfJX:focus-visible:before{display:none}.AttachmentPreview_slotDragging__hrfJX:after{background:rgb(from var(--palette-primary-text-1) r g b/.04);border:1px dashed var(--palette-primary-text-6);border-radius:8px;content:"";inset:0;position:absolute}.AttachmentPreview_insertion__iFqlp{background:var(--palette-primary-main);border-radius:2px;bottom:0;box-shadow:0 0 6px rgb(from var(--palette-primary-main) r g b/.6);position:absolute;top:0;width:2px;z-index:4}.AttachmentPreview_insertionBefore__jyWQM,.AttachmentPreview_insertionEdge__Bjk1t{left:-7px}.AttachmentPreview_insertionAfter__4NvhP{right:-7px}.AttachmentPreview_dragGhost__4aSzE{background:var(--palette-background-b-6);border-radius:8px;box-shadow:0 10px 20px rgb(from var(--palette-background-b-1) r g b/.45);cursor:grabbing;opacity:.9;position:relative;transform:rotate(4deg)}.AttachmentPreview_dragGhostHandle__Gu2CP{align-items:center;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:2}.AttachmentPreview_dragGhostHandle__Gu2CP button{backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.16)!important;color:var(--palette-primary-text-1)!important}.AttachmentPreview_dragGhostHandle__Gu2CP svg{color:var(--palette-primary-text-1)}.AttachmentPreview_thumbnail__ytI2L{border-radius:8px;flex-shrink:0;height:64px;overflow:visible;position:relative;width:64px}.AttachmentPreview_clickable__BEXzK{cursor:pointer}.AttachmentPreview_clickable__BEXzK:hover{opacity:.9}.AttachmentPreview_selected__JRuMO:after{border:1px solid var(--palette-primary-main);border-radius:8px;content:"";inset:0;pointer-events:none;position:absolute;z-index:4}.AttachmentPreview_thumbnailInner__9Ex4-{border-radius:8px;inset:0;overflow:hidden;pointer-events:none;position:absolute}.AttachmentPreview_thumbnailImage__RQ4fL{height:100%;left:50%;max-width:none;min-width:100%;object-fit:cover;pointer-events:none;position:absolute;top:0;transform:translateX(-50%);width:auto}.AttachmentPreview_videoOverlay__5Lgi1{align-items:center;background:rgb(from var(--palette-background-b-1) r g b/.5);border-radius:8px;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute}.AttachmentPreview_playIcon__OOnql{color:var(--palette-primary-text-1);font-size:32px}.AttachmentPreview_fileCard__oxDbD{align-items:flex-start;border:1px solid rgb(from var(--palette-primary-text-1) r g b/.08);border-radius:8px;display:flex;flex-direction:column;flex-shrink:0;height:64px;justify-content:center;padding:8px 16px;position:relative;width:142px}.AttachmentPreview_fileCardLink__TDpvh{color:inherit;cursor:pointer;text-decoration:none}.AttachmentPreview_fileCardLink__TDpvh:hover{border-color:rgb(from var(--palette-primary-text-1) r g b/.16)}.AttachmentPreview_fileCardContent__c-99Q{align-items:center;display:flex;gap:8px;width:100%}.AttachmentPreview_fileInfo__eqJ-B{align-items:flex-start;display:flex;flex:1 0 0;flex-direction:column;justify-content:center;min-width:0}.AttachmentPreview_fileName__1Ccg0{color:var(--palette-primary-text-1)}.AttachmentPreview_fileName__1Ccg0,.AttachmentPreview_fileType__0v6E4{font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.AttachmentPreview_fileType__0v6E4{color:var(--palette-primary-text-6);text-transform:uppercase}.AttachmentPreview_tileActions__2nLlw{display:flex;gap:4px;opacity:0;position:absolute;right:-6px;top:-6px;transition:opacity .2s;z-index:3}.AttachmentPreview_tileActions__2nLlw button{backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.08)!important}.AttachmentPreview_tileActions__2nLlw button:hover{background-color:rgb(from var(--palette-primary-text-1) r g b/.15)!important}.AttachmentPreview_fileCard__oxDbD .AttachmentPreview_tileActions__2nLlw:focus-within,.AttachmentPreview_fileCard__oxDbD:hover .AttachmentPreview_tileActions__2nLlw,.AttachmentPreview_thumbnail__ytI2L .AttachmentPreview_tileActions__2nLlw:focus-within,.AttachmentPreview_thumbnail__ytI2L:hover .AttachmentPreview_tileActions__2nLlw{opacity:1}.AttachmentPreview_tileActionLink__aMyS4{display:inline-flex}.AttachmentPreview_removeButton__aX-qu{opacity:0;position:absolute;right:-6px;top:-6px;transition:opacity .2s;z-index:3}.AttachmentPreview_removeButton__aX-qu button{backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.08)!important}.AttachmentPreview_removeButton__aX-qu button:hover{background-color:rgb(from var(--palette-primary-text-1) r g b/.15)!important}.AttachmentPreview_fileCard__oxDbD:hover .AttachmentPreview_removeButton__aX-qu,.AttachmentPreview_removeButtonVisible__BVjYB,.AttachmentPreview_thumbnail__ytI2L:hover .AttachmentPreview_removeButton__aX-qu{opacity:1}.AttachmentPreview_thumbnailError__yyH08{border:1px solid rgb(from var(--palette-error-main) r g b/.4)}.AttachmentPreview_uploadingOverlay__leV1D{background:rgb(from var(--palette-background-b-1) r g b/.5);border-radius:8px;inset:0;pointer-events:none;position:absolute}.AttachmentPreview_uploadingSpinner__u-t7d{align-items:center;backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.08);border-radius:6px;display:flex;height:24px;justify-content:center;position:absolute;right:-6px;top:-6px;width:24px;z-index:2}.AttachmentPreview_loader__HK5bZ{color:var(--palette-primary-text-6)!important;height:14px!important;width:14px!important}.AttachmentPreview_errorOverlay__8sM1d{background:rgb(from var(--palette-error-main) r g b/.08);border-radius:8px;inset:0;pointer-events:none;position:absolute}.AttachmentPreview_retryButton__tKVV0{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.AttachmentPreview_retryButton__tKVV0 button{backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.08)!important}.AttachmentPreview_retryButton__tKVV0 button:hover{background-color:rgb(from var(--palette-primary-text-1) r g b/.15)!important}'),module.exports={spacing:"8",scroller:"AttachmentPreview_scroller__ZqYC8",slot:"AttachmentPreview_slot__ewKLo",slotDragging:"AttachmentPreview_slotDragging__hrfJX",slotContent:"AttachmentPreview_slotContent__GNuSu",insertion:"AttachmentPreview_insertion__iFqlp",insertionBefore:"AttachmentPreview_insertionBefore__jyWQM",insertionEdge:"AttachmentPreview_insertionEdge__Bjk1t",insertionAfter:"AttachmentPreview_insertionAfter__4NvhP",dragGhost:"AttachmentPreview_dragGhost__4aSzE",dragGhostHandle:"AttachmentPreview_dragGhostHandle__Gu2CP",thumbnail:"AttachmentPreview_thumbnail__ytI2L",clickable:"AttachmentPreview_clickable__BEXzK",selected:"AttachmentPreview_selected__JRuMO",thumbnailInner:"AttachmentPreview_thumbnailInner__9Ex4-",thumbnailImage:"AttachmentPreview_thumbnailImage__RQ4fL",videoOverlay:"AttachmentPreview_videoOverlay__5Lgi1",playIcon:"AttachmentPreview_playIcon__OOnql",fileCard:"AttachmentPreview_fileCard__oxDbD",fileCardLink:"AttachmentPreview_fileCardLink__TDpvh",fileCardContent:"AttachmentPreview_fileCardContent__c-99Q",fileInfo:"AttachmentPreview_fileInfo__eqJ-B",fileName:"AttachmentPreview_fileName__1Ccg0",fileType:"AttachmentPreview_fileType__0v6E4",tileActions:"AttachmentPreview_tileActions__2nLlw",tileActionLink:"AttachmentPreview_tileActionLink__aMyS4",removeButton:"AttachmentPreview_removeButton__aX-qu",removeButtonVisible:"AttachmentPreview_removeButtonVisible__BVjYB",thumbnailError:"AttachmentPreview_thumbnailError__yyH08",uploadingOverlay:"AttachmentPreview_uploadingOverlay__leV1D",uploadingSpinner:"AttachmentPreview_uploadingSpinner__u-t7d",loader:"AttachmentPreview_loader__HK5bZ",errorOverlay:"AttachmentPreview_errorOverlay__8sM1d",retryButton:"AttachmentPreview_retryButton__tKVV0"};
1
+ "use strict";require('./../../ext-esm/style-inject/dist/style-inject.es.js')('.AttachmentPreview_scroller__ZqYC8{-ms-overflow-style:none;align-items:flex-start;display:flex;gap:12px;margin-left:-8px;overflow-x:auto;overflow-y:visible;padding-left:8px;padding-right:8px;padding-top:6px;scroll-behavior:smooth;scrollbar-width:none}.AttachmentPreview_scroller__ZqYC8::-webkit-scrollbar{display:none}.AttachmentPreview_stripShell__ndNiE{max-width:100%;min-width:0;position:relative}.AttachmentPreview_scrollArrowLeft__wpsRM,.AttachmentPreview_scrollArrowRight__aGmVR{position:absolute;top:calc(50% + 3px);transform:translateY(-50%);z-index:6}.AttachmentPreview_scrollArrowLeft__wpsRM button,.AttachmentPreview_scrollArrowRight__aGmVR button{backdrop-filter:blur(8px)}.AttachmentPreview_scrollArrowLeft__wpsRM{left:calc(-12px - var(--attachment-arrow-outset, 0px))}.AttachmentPreview_scrollArrowRight__aGmVR{right:calc(-12px - var(--attachment-arrow-outset, 0px))}@supports not (overflow-clip-margin:12px){.AttachmentPreview_scrollArrowLeft__wpsRM{left:0}.AttachmentPreview_scrollArrowRight__aGmVR{right:0}}.AttachmentPreview_slot__ewKLo{border-radius:8px;cursor:grab;flex-shrink:0;position:relative;touch-action:none}.AttachmentPreview_slot__ewKLo:focus-visible{outline:none}.AttachmentPreview_slot__ewKLo:focus-visible:before{border:2px solid var(--palette-primary-main);border-radius:8px;content:"";inset:0;pointer-events:none;position:absolute;z-index:5}.AttachmentPreview_slotDragging__hrfJX{cursor:grabbing}.AttachmentPreview_slotDragging__hrfJX .AttachmentPreview_slotContent__GNuSu{visibility:hidden}.AttachmentPreview_slotDragging__hrfJX:focus-visible:before{display:none}.AttachmentPreview_slotDragging__hrfJX:after{background:rgb(from var(--palette-primary-text-1) r g b/.04);border:1px dashed var(--palette-primary-text-6);border-radius:8px;content:"";inset:0;position:absolute}.AttachmentPreview_insertion__iFqlp{background:var(--palette-primary-main);border-radius:2px;bottom:0;box-shadow:0 0 6px rgb(from var(--palette-primary-main) r g b/.6);position:absolute;top:0;width:2px;z-index:4}.AttachmentPreview_insertionBefore__jyWQM,.AttachmentPreview_insertionEdge__Bjk1t{left:-7px}.AttachmentPreview_insertionAfter__4NvhP{right:-7px}.AttachmentPreview_dragGhost__4aSzE{background:var(--palette-background-b-6);border-radius:8px;box-shadow:0 10px 20px rgb(from var(--palette-background-b-1) r g b/.45);cursor:grabbing;opacity:.9;position:relative;transform:rotate(4deg)}.AttachmentPreview_dragGhostHandle__Gu2CP{align-items:center;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:2}.AttachmentPreview_dragGhostHandle__Gu2CP button{backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.16)!important;color:var(--palette-primary-text-1)!important}.AttachmentPreview_dragGhostHandle__Gu2CP svg{color:var(--palette-primary-text-1)}.AttachmentPreview_thumbnail__ytI2L{border-radius:8px;flex-shrink:0;height:64px;overflow:visible;position:relative;width:64px}.AttachmentPreview_clickable__BEXzK{cursor:pointer}.AttachmentPreview_clickable__BEXzK:hover{opacity:.9}.AttachmentPreview_selected__JRuMO:after{border:1px solid var(--palette-primary-main);border-radius:8px;content:"";inset:0;pointer-events:none;position:absolute;z-index:4}.AttachmentPreview_thumbnailInner__9Ex4-{border-radius:8px;inset:0;overflow:hidden;pointer-events:none;position:absolute}.AttachmentPreview_thumbnailImage__RQ4fL{height:100%;left:50%;max-width:none;min-width:100%;object-fit:cover;pointer-events:none;position:absolute;top:0;transform:translateX(-50%);width:auto}.AttachmentPreview_videoOverlay__5Lgi1{align-items:center;background:rgb(from var(--palette-background-b-1) r g b/.5);border-radius:8px;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute}.AttachmentPreview_playIcon__OOnql{color:var(--palette-primary-text-1);font-size:32px}.AttachmentPreview_fileCard__oxDbD{align-items:flex-start;border:1px solid rgb(from var(--palette-primary-text-1) r g b/.08);border-radius:8px;display:flex;flex-direction:column;flex-shrink:0;height:64px;justify-content:center;padding:8px 16px;position:relative;width:142px}.AttachmentPreview_fileCardLink__TDpvh{color:inherit;cursor:pointer;text-decoration:none}.AttachmentPreview_fileCardLink__TDpvh:hover{border-color:rgb(from var(--palette-primary-text-1) r g b/.16)}.AttachmentPreview_fileCardContent__c-99Q{align-items:center;display:flex;gap:8px;width:100%}.AttachmentPreview_fileInfo__eqJ-B{align-items:flex-start;display:flex;flex:1 0 0;flex-direction:column;justify-content:center;min-width:0}.AttachmentPreview_fileName__1Ccg0{color:var(--palette-primary-text-1)}.AttachmentPreview_fileName__1Ccg0,.AttachmentPreview_fileType__0v6E4{font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.AttachmentPreview_fileType__0v6E4{color:var(--palette-primary-text-6);text-transform:uppercase}.AttachmentPreview_tileActions__2nLlw{display:flex;gap:4px;opacity:0;position:absolute;right:-6px;top:-6px;transition:opacity .2s;z-index:3}.AttachmentPreview_tileActions__2nLlw button{backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.08)!important}.AttachmentPreview_tileActions__2nLlw button:hover{background-color:rgb(from var(--palette-primary-text-1) r g b/.15)!important}.AttachmentPreview_fileCard__oxDbD .AttachmentPreview_tileActions__2nLlw:focus-within,.AttachmentPreview_fileCard__oxDbD:hover .AttachmentPreview_tileActions__2nLlw,.AttachmentPreview_thumbnail__ytI2L .AttachmentPreview_tileActions__2nLlw:focus-within,.AttachmentPreview_thumbnail__ytI2L:hover .AttachmentPreview_tileActions__2nLlw{opacity:1}.AttachmentPreview_tileActionLink__aMyS4{display:inline-flex}.AttachmentPreview_removeButton__aX-qu{opacity:0;position:absolute;right:-6px;top:-6px;transition:opacity .2s;z-index:3}.AttachmentPreview_removeButton__aX-qu button{backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.08)!important}.AttachmentPreview_removeButton__aX-qu button:hover{background-color:rgb(from var(--palette-primary-text-1) r g b/.15)!important}.AttachmentPreview_fileCard__oxDbD:hover .AttachmentPreview_removeButton__aX-qu,.AttachmentPreview_removeButtonVisible__BVjYB,.AttachmentPreview_thumbnail__ytI2L:hover .AttachmentPreview_removeButton__aX-qu{opacity:1}.AttachmentPreview_thumbnailError__yyH08{border:1px solid rgb(from var(--palette-error-main) r g b/.4)}.AttachmentPreview_uploadingOverlay__leV1D{background:rgb(from var(--palette-background-b-1) r g b/.5);border-radius:8px;inset:0;pointer-events:none;position:absolute}.AttachmentPreview_uploadingSpinner__u-t7d{align-items:center;backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.08);border-radius:6px;display:flex;height:24px;justify-content:center;position:absolute;right:-6px;top:-6px;width:24px;z-index:2}.AttachmentPreview_loader__HK5bZ{color:var(--palette-primary-text-6)!important;height:14px!important;width:14px!important}.AttachmentPreview_errorOverlay__8sM1d{background:rgb(from var(--palette-error-main) r g b/.08);border-radius:8px;inset:0;pointer-events:none;position:absolute}.AttachmentPreview_retryButton__tKVV0{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.AttachmentPreview_retryButton__tKVV0 button{backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.08)!important}.AttachmentPreview_retryButton__tKVV0 button:hover{background-color:rgb(from var(--palette-primary-text-1) r g b/.15)!important}'),module.exports={spacing:"8",scroller:"AttachmentPreview_scroller__ZqYC8",stripShell:"AttachmentPreview_stripShell__ndNiE",scrollArrowRight:"AttachmentPreview_scrollArrowRight__aGmVR",scrollArrowLeft:"AttachmentPreview_scrollArrowLeft__wpsRM",slot:"AttachmentPreview_slot__ewKLo",slotDragging:"AttachmentPreview_slotDragging__hrfJX",slotContent:"AttachmentPreview_slotContent__GNuSu",insertion:"AttachmentPreview_insertion__iFqlp",insertionBefore:"AttachmentPreview_insertionBefore__jyWQM",insertionEdge:"AttachmentPreview_insertionEdge__Bjk1t",insertionAfter:"AttachmentPreview_insertionAfter__4NvhP",dragGhost:"AttachmentPreview_dragGhost__4aSzE",dragGhostHandle:"AttachmentPreview_dragGhostHandle__Gu2CP",thumbnail:"AttachmentPreview_thumbnail__ytI2L",clickable:"AttachmentPreview_clickable__BEXzK",selected:"AttachmentPreview_selected__JRuMO",thumbnailInner:"AttachmentPreview_thumbnailInner__9Ex4-",thumbnailImage:"AttachmentPreview_thumbnailImage__RQ4fL",videoOverlay:"AttachmentPreview_videoOverlay__5Lgi1",playIcon:"AttachmentPreview_playIcon__OOnql",fileCard:"AttachmentPreview_fileCard__oxDbD",fileCardLink:"AttachmentPreview_fileCardLink__TDpvh",fileCardContent:"AttachmentPreview_fileCardContent__c-99Q",fileInfo:"AttachmentPreview_fileInfo__eqJ-B",fileName:"AttachmentPreview_fileName__1Ccg0",fileType:"AttachmentPreview_fileType__0v6E4",tileActions:"AttachmentPreview_tileActions__2nLlw",tileActionLink:"AttachmentPreview_tileActionLink__aMyS4",removeButton:"AttachmentPreview_removeButton__aX-qu",removeButtonVisible:"AttachmentPreview_removeButtonVisible__BVjYB",thumbnailError:"AttachmentPreview_thumbnailError__yyH08",uploadingOverlay:"AttachmentPreview_uploadingOverlay__leV1D",uploadingSpinner:"AttachmentPreview_uploadingSpinner__u-t7d",loader:"AttachmentPreview_loader__HK5bZ",errorOverlay:"AttachmentPreview_errorOverlay__8sM1d",retryButton:"AttachmentPreview_retryButton__tKVV0"};
2
2
  //# sourceMappingURL=AttachmentPreview.scss.js.map
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/slicedToArray"),t=require("react");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=n(e),o=n(r);function u(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function c(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?u(Object(t),!0).forEach((function(r){i.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):u(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}exports.useScrollOverflow=function(e,r){var n=t.useState({left:{hiddenCount:0},right:{hiddenCount:0}}),i=o.default(n,2),u=i[0],l=i[1],f=t.useCallback((function(){var r=e.current;if(r){var t=function(e){for(var r=e.getBoundingClientRect(),t=0,n=0,i=0,o=Array.from(e.children);i<o.length;i++){var u=o[i].getBoundingClientRect();u.left<r.left-1&&(t+=1),u.right>r.right+1&&(n+=1)}return{left:t,right:n}}(r);l((function(e){return e.left.hiddenCount===t.left&&e.right.hiddenCount===t.right?e:{left:{hiddenCount:t.left},right:{hiddenCount:t.right}}}))}}),[e]);t.useLayoutEffect((function(){f();var r=e.current;if(r){r.addEventListener("scroll",f);var t="undefined"==typeof ResizeObserver?void 0:new ResizeObserver(f);return null==t||t.observe(r),function(){r.removeEventListener("scroll",f),null==t||t.disconnect()}}}),[f,e,r]);var a=t.useCallback((function(r){var t=e.current;if(t){var n=Math.max(t.clientWidth-64,64);t.scrollBy({left:r*n})}}),[e]);return c(c({},u),{},{scrollByPage:a})};
2
+ //# sourceMappingURL=useScrollOverflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScrollOverflow.js","sources":["../../../../src/components/AttachmentPreview/useScrollOverflow.ts"],"sourcesContent":["import { RefObject, useCallback, useLayoutEffect, useState } from 'react';\n\n// Sub-pixel scroll positions and the strip's edge padding must not count as overflow.\nconst EDGE_TOLERANCE_PX = 1;\n\nexport type OverflowEdge = {\n /** How many tiles are not fully in view past this edge. Zero means no arrow. */\n hiddenCount: number;\n};\n\nexport type ScrollOverflow = {\n left: OverflowEdge;\n right: OverflowEdge;\n scrollByPage: (direction: -1 | 1) => void;\n};\n\nconst countHidden = (scroller: HTMLElement) => {\n const bounds = scroller.getBoundingClientRect();\n let left = 0;\n let right = 0;\n\n for (const tile of Array.from(scroller.children)) {\n const rect = tile.getBoundingClientRect();\n // Not else-if: a tile wider than the viewport can be hidden past both edges at once.\n if (rect.left < bounds.left - EDGE_TOLERANCE_PX) left += 1;\n if (rect.right > bounds.right + EDGE_TOLERANCE_PX) right += 1;\n }\n\n return { left, right };\n};\n\n/**\n * Tracks which attachment tiles are scrolled out of view. The strip hides its scrollbar, so\n * these counts are the only overflow signal the arrows (and their tooltips) have.\n */\nexport const useScrollOverflow = (\n scrollerRef: RefObject<HTMLElement>,\n // The array itself, not its length: a drag-reorder of mixed-width tiles shifts what fits\n // without changing the count or firing a scroll event.\n items: readonly unknown[]\n): ScrollOverflow => {\n const [edges, setEdges] = useState({\n left: { hiddenCount: 0 },\n right: { hiddenCount: 0 },\n });\n\n const update = useCallback(() => {\n const scroller = scrollerRef.current;\n if (!scroller) return;\n\n const counts = countHidden(scroller);\n // Keep the previous state object when nothing changed, or every scroll event re-renders\n // the whole strip.\n setEdges(prev =>\n prev.left.hiddenCount === counts.left && prev.right.hiddenCount === counts.right\n ? prev\n : { left: { hiddenCount: counts.left }, right: { hiddenCount: counts.right } }\n );\n }, [scrollerRef]);\n\n // Layout effect so a strip that mounts already overflowing shows its arrow on first paint.\n useLayoutEffect(() => {\n update();\n\n const scroller = scrollerRef.current;\n if (!scroller) return undefined;\n\n scroller.addEventListener('scroll', update);\n // Guarded: jsdom has no ResizeObserver.\n const observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(update);\n observer?.observe(scroller);\n\n return () => {\n scroller.removeEventListener('scroll', update);\n observer?.disconnect();\n };\n }, [update, scrollerRef, items]);\n\n const scrollByPage = useCallback(\n (direction: -1 | 1) => {\n const scroller = scrollerRef.current;\n if (!scroller) return;\n\n // Almost a full viewport, so one tile carries over as the reader's anchor. Smoothness\n // comes from the scroller's own scroll-behavior.\n const page = Math.max(scroller.clientWidth - 64, 64);\n scroller.scrollBy({ left: direction * page });\n },\n [scrollerRef]\n );\n\n return { ...edges, scrollByPage };\n};\n"],"names":["scrollerRef","items","_useState","useState","left","hiddenCount","right","_useState2","_slicedToArray","edges","setEdges","update","useCallback","scroller","current","counts","bounds","getBoundingClientRect","Array","from","children","_i","_Array$from","length","rect","countHidden","prev","useLayoutEffect","addEventListener","observer","ResizeObserver","undefined","observe","removeEventListener","disconnect","scrollByPage","direction","page","Math","max","clientWidth","scrollBy","_objectSpread"],"mappings":"23BAmCiC,SAC/BA,EAGAC,GAEA,IAAAC,EAA0BC,EAAAA,SAAS,CACjCC,KAAM,CAAEC,YAAa,GACrBC,MAAO,CAAED,YAAa,KACtBE,EAAAC,EAAAA,QAAAN,EAAA,GAHKO,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAKhBI,EAASC,EAAAA,aAAY,WACzB,IAAMC,EAAWb,EAAYc,QAC7B,GAAKD,EAAL,CAEA,IAAME,EAlCU,SAACF,GAKnB,IAJA,IAAMG,EAASH,EAASI,wBACpBb,EAAO,EACPE,EAAQ,EAEOY,EAAAA,EAAAA,EAAAA,MAAMC,KAAKN,EAASO,UAAWC,EAAAC,EAAAC,OAAAF,IAAA,CAA7C,IACGG,EADOF,EAAAD,GACKJ,wBAEdO,EAAKpB,KAAOY,EAAOZ,KArBD,IAqB2BA,GAAQ,GACrDoB,EAAKlB,MAAQU,EAAOV,MAtBF,IAsB6BA,GAAS,EAC9D,CAEA,MAAO,CAAEF,KAAAA,EAAME,MAAAA,EACjB,CAqBmBmB,CAAYZ,GAG3BH,GAAS,SAAAgB,GAAI,OACXA,EAAKtB,KAAKC,cAAgBU,EAAOX,MAAQsB,EAAKpB,MAAMD,cAAgBU,EAAOT,MACvEoB,EACA,CAAEtB,KAAM,CAAEC,YAAaU,EAAOX,MAAQE,MAAO,CAAED,YAAaU,EAAOT,UAR1D,CAUjB,GAAG,CAACN,IAGJ2B,EAAAA,iBAAgB,WACdhB,IAEA,IAAME,EAAWb,EAAYc,QAC7B,GAAKD,EAAL,CAEAA,EAASe,iBAAiB,SAAUjB,GAEpC,IAAMkB,EAAqC,oBAAnBC,oBAAiCC,EAAY,IAAID,eAAenB,GAGxF,OAFAkB,SAAAA,EAAUG,QAAQnB,GAEX,WACLA,EAASoB,oBAAoB,SAAUtB,GACvCkB,SAAAA,EAAUK,aATmB,CAWhC,GAAE,CAACvB,EAAQX,EAAaC,IAEzB,IAAMkC,EAAevB,eACnB,SAACwB,GACC,IAAMvB,EAAWb,EAAYc,QAC7B,GAAKD,EAAL,CAIA,IAAMwB,EAAOC,KAAKC,IAAI1B,EAAS2B,YAAc,GAAI,IACjD3B,EAAS4B,SAAS,CAAErC,KAAMgC,EAAYC,GALvB,CAMjB,GACA,CAACrC,IAGH,OAAA0C,EAAAA,EAAA,CAAA,EAAYjC,GAAK,CAAA,EAAA,CAAE0B,aAAAA,GACrB"}
@@ -1,2 +1,2 @@
1
- "use strict";require('./../../ext-esm/style-inject/dist/style-inject.es.js')(".CommentCard_capped__izWBZ{display:flex;flex-direction:column;overflow:hidden}.CommentCard_bodySurface__scobR{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;min-height:0;overflow:hidden;padding:8px 12px}.CommentCard_editHeader__8aUBt{padding:8px 12px 0}.CommentCard_scrollBody__CIun9{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;min-height:0;overflow-x:hidden;overflow-y:auto}.CommentCard_footer__z3-CY{border-top:1px solid var(--palette-background-b-4);display:flex;flex-direction:column;flex-shrink:0;padding:4px 12px 8px}.CommentCard_repliesSection__iE7QO{padding:8px 12px 12px}.CommentCard_compactBody__zM10O{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;min-height:0;overflow:hidden;padding:8px 12px}.CommentCard_compactTop__LpiQi{align-items:center;display:flex;flex-shrink:0;gap:8px}.CommentCard_compactTime__JzVQR{color:var(--palette-primary-text-7);font-size:12px;line-height:16px;margin-left:auto;white-space:nowrap}.CommentCard_compactFooter__rgB4D{border-top:1px solid var(--palette-background-b-4);flex-shrink:0;padding:4px 12px 8px}.CommentCard_header__T1SH8{align-items:center;display:flex;flex-shrink:0;gap:8px}.CommentCard_headerText__DRsQG{display:flex;flex:1 0 0;flex-direction:column;min-width:0;word-break:break-word}.CommentCard_nameRow__Or1c0{align-items:center;display:flex;gap:8px;width:100%}.CommentCard_nameRow__Or1c0 .CommentCard_timestamp__EbJCO{margin-left:auto}.CommentCard_subtitle__d-XRe{color:var(--palette-primary-main);font-size:12px;line-height:16px}.CommentCard_avatar__NA2ZA{flex-shrink:0}.CommentCard_name__9-e7A{color:var(--palette-primary-text-1);flex:0 1 auto;font-size:14px;line-height:20px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.CommentCard_timestamp__EbJCO{color:var(--palette-primary-text-7)}.CommentCard_chip__4NUrf,.CommentCard_timestamp__EbJCO{flex-shrink:0;font-size:12px;line-height:16px;white-space:nowrap}.CommentCard_chip__4NUrf{align-items:center;background:rgb(from var(--palette-primary-text-1) r g b/.04);border-radius:8px;color:var(--palette-primary-text-6);display:flex;height:24px;padding:6px 8px}.CommentCard_chipAccented__Xl8ek{border-left:2px solid transparent}.CommentCard_bodyRow__ZUufY{align-items:center;display:flex;gap:8px}.CommentCard_text__eAIZM{color:var(--palette-primary-text-1);flex:1 1 auto;font-size:12px;line-height:16px;min-width:0;white-space:pre-wrap;word-break:break-word}.CommentCard_text__eAIZM a,.CommentCard_text__eAIZM button{font:inherit;padding:0;vertical-align:baseline}.CommentCard_attachment__KktIn{display:flex;flex-direction:column;gap:8px}.CommentCard_infoButton__gqcvK{align-items:center;color:var(--palette-primary-text-6);cursor:default;display:inline-flex}.CommentCard_infoButton__gqcvK:hover{color:var(--palette-primary-text-1)}.CommentCard_metadataTooltip__AL0xt .MuiTooltip-tooltip{max-width:none!important}.CommentCard_metadataRows__c-kqf{display:flex;flex-direction:column;gap:4px;padding:4px 0}.CommentCard_metadataRow__BqcII{align-items:baseline;display:flex;font-size:14px;gap:4px;line-height:20px;white-space:nowrap}.CommentCard_metadataLabel__WRWl7{color:var(--palette-primary-text-6)}.CommentCard_metadataValue__Xwf7S{color:var(--palette-primary-text-1)}.CommentCard_metadataUnit__Bxeps{color:var(--palette-primary-text-6);font-size:12px}.CommentCard_contextLine__Jyoui{align-items:center;color:var(--palette-primary-text-7);column-gap:16px;display:flex;flex-wrap:wrap;font-size:12px;line-height:16px;row-gap:4px}.CommentCard_contextItem__2Xmql{white-space:nowrap}.CommentCard_actionsRow__1Ftxn{align-items:center;display:flex;justify-content:space-between;width:100%}.CommentCard_actions__mUmsV{align-items:center;display:flex;gap:8px}.CommentCard_trailingActions__uGt-3{align-items:center;display:flex;gap:4px}.CommentCard_action__ZfyBP{align-items:center;display:flex;gap:2px}.CommentCard_count__stfpY{color:var(--palette-primary-text-6);font-size:12px;line-height:16px}.CommentCard_liked__zsBqe svg{color:var(--palette-primary-main)}.CommentCard_replies__nRRYo{display:flex;flex-direction:column;gap:8px}.CommentCard_reply__7-U7Q{display:flex;flex-direction:column;gap:4px}.CommentCard_replyHeader__sWnLA{align-items:center;display:flex;gap:8px}.CommentCard_replyNameRow__bs7h2{align-items:center;display:flex;flex:1 0 0;gap:12px;min-width:0}.CommentCard_replyName__C8tst{color:var(--palette-primary-text-1);font-size:14px;line-height:20px;white-space:nowrap}.CommentCard_replyTimestamp__YzuW1{color:var(--palette-primary-text-7);flex:1 0 0;font-size:12px;line-height:16px;min-width:0}.CommentCard_replyText__8JPKK{color:var(--palette-primary-text-1);font-size:12px;line-height:16px;padding-left:40px;white-space:pre-wrap;word-break:break-word}.CommentCard_replyText__8JPKK a,.CommentCard_replyText__8JPKK button{font:inherit;padding:0;vertical-align:baseline}"),module.exports={spacing:"8",capped:"CommentCard_capped__izWBZ",bodySurface:"CommentCard_bodySurface__scobR",editHeader:"CommentCard_editHeader__8aUBt",scrollBody:"CommentCard_scrollBody__CIun9",footer:"CommentCard_footer__z3-CY",repliesSection:"CommentCard_repliesSection__iE7QO",compactBody:"CommentCard_compactBody__zM10O",compactTop:"CommentCard_compactTop__LpiQi",compactTime:"CommentCard_compactTime__JzVQR",compactFooter:"CommentCard_compactFooter__rgB4D",header:"CommentCard_header__T1SH8",headerText:"CommentCard_headerText__DRsQG",nameRow:"CommentCard_nameRow__Or1c0",timestamp:"CommentCard_timestamp__EbJCO",subtitle:"CommentCard_subtitle__d-XRe",avatar:"CommentCard_avatar__NA2ZA",name:"CommentCard_name__9-e7A",chip:"CommentCard_chip__4NUrf",chipAccented:"CommentCard_chipAccented__Xl8ek",bodyRow:"CommentCard_bodyRow__ZUufY",text:"CommentCard_text__eAIZM",attachment:"CommentCard_attachment__KktIn",infoButton:"CommentCard_infoButton__gqcvK",metadataTooltip:"CommentCard_metadataTooltip__AL0xt",metadataRows:"CommentCard_metadataRows__c-kqf",metadataRow:"CommentCard_metadataRow__BqcII",metadataLabel:"CommentCard_metadataLabel__WRWl7",metadataValue:"CommentCard_metadataValue__Xwf7S",metadataUnit:"CommentCard_metadataUnit__Bxeps",contextLine:"CommentCard_contextLine__Jyoui",contextItem:"CommentCard_contextItem__2Xmql",actionsRow:"CommentCard_actionsRow__1Ftxn",actions:"CommentCard_actions__mUmsV",trailingActions:"CommentCard_trailingActions__uGt-3",action:"CommentCard_action__ZfyBP",count:"CommentCard_count__stfpY",liked:"CommentCard_liked__zsBqe",replies:"CommentCard_replies__nRRYo",reply:"CommentCard_reply__7-U7Q",replyHeader:"CommentCard_replyHeader__sWnLA",replyNameRow:"CommentCard_replyNameRow__bs7h2",replyName:"CommentCard_replyName__C8tst",replyTimestamp:"CommentCard_replyTimestamp__YzuW1",replyText:"CommentCard_replyText__8JPKK"};
1
+ "use strict";require('./../../ext-esm/style-inject/dist/style-inject.es.js')(".CommentCard_capped__izWBZ{flex-direction:column}.CommentCard_bodySurface__scobR,.CommentCard_capped__izWBZ{overflow-clip-margin:12px;display:flex;overflow:hidden;overflow:clip}.CommentCard_bodySurface__scobR{flex:1 1 auto;flex-direction:column;gap:8px;min-height:0;padding:8px 12px}.CommentCard_editHeader__8aUBt{padding:8px 12px 0}.CommentCard_scrollBody__CIun9{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;margin:0 -24px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 24px}.CommentCard_footer__z3-CY{border-top:1px solid var(--palette-background-b-4);display:flex;flex-direction:column;flex-shrink:0;padding:4px 12px 8px}.CommentCard_repliesSection__iE7QO{padding:8px 12px 12px}.CommentCard_compactBody__zM10O{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;min-height:0;overflow:hidden;padding:8px 12px}.CommentCard_compactTop__LpiQi{align-items:center;display:flex;flex-shrink:0;gap:8px}.CommentCard_compactTime__JzVQR{color:var(--palette-primary-text-7);font-size:12px;line-height:16px;margin-left:auto;white-space:nowrap}.CommentCard_compactFooter__rgB4D{border-top:1px solid var(--palette-background-b-4);flex-shrink:0;padding:4px 12px 8px}.CommentCard_header__T1SH8{align-items:center;display:flex;flex-shrink:0;gap:8px}.CommentCard_headerText__DRsQG{display:flex;flex:1 0 0;flex-direction:column;min-width:0;word-break:break-word}.CommentCard_nameRow__Or1c0{align-items:center;display:flex;gap:8px;width:100%}.CommentCard_nameRow__Or1c0 .CommentCard_timestamp__EbJCO{margin-left:auto}.CommentCard_subtitle__d-XRe{color:var(--palette-primary-main);font-size:12px;line-height:16px}.CommentCard_avatar__NA2ZA{flex-shrink:0}.CommentCard_name__9-e7A{color:var(--palette-primary-text-1);flex:0 1 auto;font-size:14px;line-height:20px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.CommentCard_timestamp__EbJCO{color:var(--palette-primary-text-7)}.CommentCard_chip__4NUrf,.CommentCard_timestamp__EbJCO{flex-shrink:0;font-size:12px;line-height:16px;white-space:nowrap}.CommentCard_chip__4NUrf{align-items:center;background:rgb(from var(--palette-primary-text-1) r g b/.04);border-radius:8px;color:var(--palette-primary-text-6);display:flex;height:24px;padding:6px 8px}.CommentCard_chipAccented__Xl8ek{border-left:2px solid transparent}.CommentCard_bodyRow__ZUufY{align-items:center;display:flex;gap:8px}.CommentCard_text__eAIZM{color:var(--palette-primary-text-1);flex:1 1 auto;font-size:12px;line-height:16px;min-width:0;white-space:pre-wrap;word-break:break-word}.CommentCard_text__eAIZM a,.CommentCard_text__eAIZM button{font:inherit;padding:0;vertical-align:baseline}.CommentCard_attachment__KktIn{--attachment-arrow-outset:12px;display:flex;flex-direction:column;gap:8px}.CommentCard_infoButton__gqcvK{align-items:center;color:var(--palette-primary-text-6);cursor:default;display:inline-flex}.CommentCard_infoButton__gqcvK:hover{color:var(--palette-primary-text-1)}.CommentCard_metadataTooltip__AL0xt .MuiTooltip-tooltip{max-width:none!important}.CommentCard_metadataRows__c-kqf{display:flex;flex-direction:column;gap:4px;padding:4px 0}.CommentCard_metadataRow__BqcII{align-items:baseline;display:flex;font-size:14px;gap:4px;line-height:20px;white-space:nowrap}.CommentCard_metadataLabel__WRWl7{color:var(--palette-primary-text-6)}.CommentCard_metadataValue__Xwf7S{color:var(--palette-primary-text-1)}.CommentCard_metadataUnit__Bxeps{color:var(--palette-primary-text-6);font-size:12px}.CommentCard_contextLine__Jyoui{align-items:center;color:var(--palette-primary-text-7);column-gap:16px;display:flex;flex-wrap:wrap;font-size:12px;line-height:16px;row-gap:4px}.CommentCard_contextItem__2Xmql{white-space:nowrap}.CommentCard_actionsRow__1Ftxn{align-items:center;display:flex;justify-content:space-between;width:100%}.CommentCard_actions__mUmsV{align-items:center;display:flex;gap:8px}.CommentCard_trailingActions__uGt-3{align-items:center;display:flex;gap:4px}.CommentCard_action__ZfyBP{align-items:center;display:flex;gap:2px}.CommentCard_count__stfpY{color:var(--palette-primary-text-6);font-size:12px;line-height:16px}.CommentCard_liked__zsBqe svg{color:var(--palette-primary-main)}.CommentCard_replies__nRRYo{display:flex;flex-direction:column;gap:8px}.CommentCard_reply__7-U7Q{display:flex;flex-direction:column;gap:4px}.CommentCard_replyHeader__sWnLA{align-items:center;display:flex;gap:8px}.CommentCard_replyNameRow__bs7h2{align-items:center;display:flex;flex:1 0 0;gap:12px;min-width:0}.CommentCard_replyName__C8tst{color:var(--palette-primary-text-1);font-size:14px;line-height:20px;white-space:nowrap}.CommentCard_replyTimestamp__YzuW1{color:var(--palette-primary-text-7);flex:1 0 0;font-size:12px;line-height:16px;min-width:0}.CommentCard_replyText__8JPKK{color:var(--palette-primary-text-1);font-size:12px;line-height:16px;padding-left:40px;white-space:pre-wrap;word-break:break-word}.CommentCard_replyText__8JPKK a,.CommentCard_replyText__8JPKK button{font:inherit;padding:0;vertical-align:baseline}"),module.exports={spacing:"8",capped:"CommentCard_capped__izWBZ",bodySurface:"CommentCard_bodySurface__scobR",editHeader:"CommentCard_editHeader__8aUBt",scrollBody:"CommentCard_scrollBody__CIun9",footer:"CommentCard_footer__z3-CY",repliesSection:"CommentCard_repliesSection__iE7QO",compactBody:"CommentCard_compactBody__zM10O",compactTop:"CommentCard_compactTop__LpiQi",compactTime:"CommentCard_compactTime__JzVQR",compactFooter:"CommentCard_compactFooter__rgB4D",header:"CommentCard_header__T1SH8",headerText:"CommentCard_headerText__DRsQG",nameRow:"CommentCard_nameRow__Or1c0",timestamp:"CommentCard_timestamp__EbJCO",subtitle:"CommentCard_subtitle__d-XRe",avatar:"CommentCard_avatar__NA2ZA",name:"CommentCard_name__9-e7A",chip:"CommentCard_chip__4NUrf",chipAccented:"CommentCard_chipAccented__Xl8ek",bodyRow:"CommentCard_bodyRow__ZUufY",text:"CommentCard_text__eAIZM",attachment:"CommentCard_attachment__KktIn",infoButton:"CommentCard_infoButton__gqcvK",metadataTooltip:"CommentCard_metadataTooltip__AL0xt",metadataRows:"CommentCard_metadataRows__c-kqf",metadataRow:"CommentCard_metadataRow__BqcII",metadataLabel:"CommentCard_metadataLabel__WRWl7",metadataValue:"CommentCard_metadataValue__Xwf7S",metadataUnit:"CommentCard_metadataUnit__Bxeps",contextLine:"CommentCard_contextLine__Jyoui",contextItem:"CommentCard_contextItem__2Xmql",actionsRow:"CommentCard_actionsRow__1Ftxn",actions:"CommentCard_actions__mUmsV",trailingActions:"CommentCard_trailingActions__uGt-3",action:"CommentCard_action__ZfyBP",count:"CommentCard_count__stfpY",liked:"CommentCard_liked__zsBqe",replies:"CommentCard_replies__nRRYo",reply:"CommentCard_reply__7-U7Q",replyHeader:"CommentCard_replyHeader__sWnLA",replyNameRow:"CommentCard_replyNameRow__bs7h2",replyName:"CommentCard_replyName__C8tst",replyTimestamp:"CommentCard_replyTimestamp__YzuW1",replyText:"CommentCard_replyText__8JPKK"};
2
2
  //# sourceMappingURL=CommentCard.scss.js.map
@@ -1,2 +1,2 @@
1
- "use strict";require('./../../ext-esm/style-inject/dist/style-inject.es.js')(".CommentInputNext_root__5uxKl{background:var(--palette-background-b-6);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;position:relative}.CommentInputNext_dropOverlay__E5Riv{align-items:center;background:rgb(from var(--palette-primary-main) r g b/.1);border:1px dashed var(--palette-primary-main);border-radius:inherit;color:var(--palette-primary-main);display:flex;font-size:14px;inset:0;justify-content:center;line-height:20px;pointer-events:none;position:absolute;z-index:5}.CommentInputNext_inputPanel__4KOFc{display:flex;flex-direction:column;gap:8px;padding:12px 12px 8px}.CommentInputNext_rootEmbedded__-LyQl{background:transparent;border-radius:0;overflow:visible}.CommentInputNext_toolbarRow__L8xXu{align-items:center;display:flex;justify-content:space-between;width:100%}.CommentInputNext_divider__LWp-3{background:var(--palette-background-b-4);height:1px}.CommentInputNext_metaShare__yJ8GZ{color:var(--palette-primary-text-6);display:flex;flex-direction:column;gap:8px;padding:8px 12px}.CommentInputNext_rootBare__lxyYY{display:flex;flex-direction:column;gap:8px;position:relative}.CommentInputNext_fieldRow__Rqcbr{align-items:flex-start;display:flex;gap:8px}.CommentInputNext_leading__yDBbV{flex-shrink:0}.CommentInputNext_field__OpnOp{align-items:flex-end;background:rgb(from var(--palette-primary-text-1) r g b/.04);border:1px solid rgb(from var(--palette-primary-text-1) r g b/.04);border-radius:8px;display:flex;flex:1 0 0;gap:8px;max-height:256px;min-height:36px;min-width:0;overflow:hidden;padding:6px 8px}.CommentInputNext_field__OpnOp:focus-within{border-color:var(--palette-primary-main)}.CommentInputNext_fieldExpanded__w1omA{max-height:none;overflow:visible}.CommentInputNext_fieldDisabled__g3aIT{opacity:.6}.CommentInputNext_bareToolbar__nFQP-{align-items:center;color:var(--palette-primary-text-6);display:flex;flex-shrink:0}.CommentInputNext_fieldMain__Rs8-Y{flex:1 0 0;min-width:0}.CommentInputNext_attachment__2EDgL,.CommentInputNext_fieldMain__Rs8-Y{display:flex;flex-direction:column;gap:8px}.CommentInputNext_input__w6b1c{background:transparent;border:none;color:var(--palette-primary-text-1);font:inherit;font-size:14px;line-height:20px;outline:none;resize:none;width:100%}.CommentInputNext_input__w6b1c::placeholder{color:var(--palette-primary-text-9)}.CommentInputNext_input__w6b1c:disabled{cursor:not-allowed}.CommentInputNext_toolbar__Zs2OG{align-items:center;color:var(--palette-primary-text-6);display:flex;gap:4px;margin-left:-4px}.CommentInputNext_send__p248I{flex-shrink:0}"),module.exports={spacing:"8",root:"CommentInputNext_root__5uxKl",dropOverlay:"CommentInputNext_dropOverlay__E5Riv",inputPanel:"CommentInputNext_inputPanel__4KOFc",rootEmbedded:"CommentInputNext_rootEmbedded__-LyQl",toolbarRow:"CommentInputNext_toolbarRow__L8xXu",divider:"CommentInputNext_divider__LWp-3",metaShare:"CommentInputNext_metaShare__yJ8GZ",rootBare:"CommentInputNext_rootBare__lxyYY",fieldRow:"CommentInputNext_fieldRow__Rqcbr",leading:"CommentInputNext_leading__yDBbV",field:"CommentInputNext_field__OpnOp",fieldExpanded:"CommentInputNext_fieldExpanded__w1omA",fieldDisabled:"CommentInputNext_fieldDisabled__g3aIT",bareToolbar:"CommentInputNext_bareToolbar__nFQP-",fieldMain:"CommentInputNext_fieldMain__Rs8-Y",attachment:"CommentInputNext_attachment__2EDgL",input:"CommentInputNext_input__w6b1c",toolbar:"CommentInputNext_toolbar__Zs2OG",send:"CommentInputNext_send__p248I"};
1
+ "use strict";require('./../../ext-esm/style-inject/dist/style-inject.es.js')(".CommentInputNext_root__5uxKl{overflow-clip-margin:12px;background:var(--palette-background-b-6);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;overflow:clip;position:relative}.CommentInputNext_dropOverlay__E5Riv{align-items:center;background:rgb(from var(--palette-primary-main) r g b/.1);border:1px dashed var(--palette-primary-main);border-radius:inherit;color:var(--palette-primary-main);display:flex;font-size:14px;inset:0;justify-content:center;line-height:20px;pointer-events:none;position:absolute;z-index:5}.CommentInputNext_inputPanel__4KOFc{--attachment-arrow-outset:12px;display:flex;flex-direction:column;gap:8px;padding:12px 12px 8px}.CommentInputNext_rootEmbedded__-LyQl{background:transparent;border-radius:0;overflow:visible}.CommentInputNext_toolbarRow__L8xXu{align-items:center;display:flex;justify-content:space-between;width:100%}.CommentInputNext_divider__LWp-3{background:var(--palette-background-b-4);height:1px}.CommentInputNext_metaShare__yJ8GZ{color:var(--palette-primary-text-6);display:flex;flex-direction:column;gap:8px;padding:8px 12px}.CommentInputNext_rootBare__lxyYY{display:flex;flex-direction:column;gap:8px;position:relative}.CommentInputNext_fieldRow__Rqcbr{align-items:flex-start;display:flex;gap:8px}.CommentInputNext_leading__yDBbV{flex-shrink:0}.CommentInputNext_field__OpnOp{--attachment-arrow-outset:8px;align-items:flex-end;background:rgb(from var(--palette-primary-text-1) r g b/.04);border:1px solid rgb(from var(--palette-primary-text-1) r g b/.04);border-radius:8px;display:flex;flex:1 0 0;gap:8px;max-height:256px;min-height:36px;min-width:0;overflow:hidden;padding:6px 8px}.CommentInputNext_field__OpnOp:focus-within{border-color:var(--palette-primary-main)}.CommentInputNext_fieldExpanded__w1omA{max-height:none;overflow:visible}.CommentInputNext_fieldDisabled__g3aIT{opacity:.6}.CommentInputNext_bareToolbar__nFQP-{align-items:center;color:var(--palette-primary-text-6);display:flex;flex-shrink:0}.CommentInputNext_fieldMain__Rs8-Y{flex:1 0 0;min-width:0}.CommentInputNext_attachment__2EDgL,.CommentInputNext_fieldMain__Rs8-Y{display:flex;flex-direction:column;gap:8px}.CommentInputNext_input__w6b1c{background:transparent;border:none;color:var(--palette-primary-text-1);font:inherit;font-size:14px;line-height:20px;outline:none;resize:none;width:100%}.CommentInputNext_input__w6b1c::placeholder{color:var(--palette-primary-text-9)}.CommentInputNext_input__w6b1c:disabled{cursor:not-allowed}.CommentInputNext_toolbar__Zs2OG{align-items:center;color:var(--palette-primary-text-6);display:flex;gap:4px;margin-left:-4px}.CommentInputNext_send__p248I{flex-shrink:0}"),module.exports={spacing:"8",root:"CommentInputNext_root__5uxKl",dropOverlay:"CommentInputNext_dropOverlay__E5Riv",inputPanel:"CommentInputNext_inputPanel__4KOFc",rootEmbedded:"CommentInputNext_rootEmbedded__-LyQl",toolbarRow:"CommentInputNext_toolbarRow__L8xXu",divider:"CommentInputNext_divider__LWp-3",metaShare:"CommentInputNext_metaShare__yJ8GZ",rootBare:"CommentInputNext_rootBare__lxyYY",fieldRow:"CommentInputNext_fieldRow__Rqcbr",leading:"CommentInputNext_leading__yDBbV",field:"CommentInputNext_field__OpnOp",fieldExpanded:"CommentInputNext_fieldExpanded__w1omA",fieldDisabled:"CommentInputNext_fieldDisabled__g3aIT",bareToolbar:"CommentInputNext_bareToolbar__nFQP-",fieldMain:"CommentInputNext_fieldMain__Rs8-Y",attachment:"CommentInputNext_attachment__2EDgL",input:"CommentInputNext_input__w6b1c",toolbar:"CommentInputNext_toolbar__Zs2OG",send:"CommentInputNext_send__p248I"};
2
2
  //# sourceMappingURL=CommentInputNext.scss.js.map
@@ -1,2 +1,2 @@
1
- "use strict";require('./../../ext-esm/style-inject/dist/style-inject.es.js')(".FeedCard_root__3hrMo{backdrop-filter:blur(2px);background:rgb(from var(--palette-background-b-6) r g b/.9);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}"),module.exports={spacing:"8",root:"FeedCard_root__3hrMo"};
1
+ "use strict";require('./../../ext-esm/style-inject/dist/style-inject.es.js')(".FeedCard_root__3hrMo{overflow-clip-margin:12px;backdrop-filter:blur(2px);background:rgb(from var(--palette-background-b-6) r g b/.9);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;overflow:clip}"),module.exports={spacing:"8",root:"FeedCard_root__3hrMo"};
2
2
  //# sourceMappingURL=FeedCard.scss.js.map
@@ -1,2 +1,2 @@
1
- "use strict";require('./../../ext-esm/style-inject/dist/style-inject.es.js')(".Popover_root__jbuJL{z-index:var(--z-index-modal)}.Popover_root__jbuJL[x-placement=top-start] .Popover_paper__wjJL5{transform-origin:left bottom}.Popover_root__jbuJL[x-placement=top] .Popover_paper__wjJL5{transform-origin:center bottom}.Popover_root__jbuJL[x-placement=top-end] .Popover_paper__wjJL5{transform-origin:right bottom}.Popover_root__jbuJL[x-placement=left-start] .Popover_paper__wjJL5{transform-origin:right top}.Popover_root__jbuJL[x-placement=left] .Popover_paper__wjJL5{transform-origin:right center}.Popover_root__jbuJL[x-placement=left-end] .Popover_paper__wjJL5{transform-origin:right bottom}.Popover_root__jbuJL[x-placement=right-start] .Popover_paper__wjJL5{transform-origin:left top}.Popover_root__jbuJL[x-placement=right] .Popover_paper__wjJL5{transform-origin:left center}.Popover_root__jbuJL[x-placement=right-end] .Popover_paper__wjJL5{transform-origin:left bottom}.Popover_root__jbuJL[x-placement=bottom-start] .Popover_paper__wjJL5{transform-origin:left top}.Popover_root__jbuJL[x-placement=bottom] .Popover_paper__wjJL5{transform-origin:center top}.Popover_root__jbuJL[x-placement=bottom-end] .Popover_paper__wjJL5{transform-origin:right top}.Popover_backdrop__MLBZb{inset:0;position:fixed}.Popover_paper__wjJL5{max-height:calc(100vh - 32px);max-width:calc(100vw - 32px);min-height:16px;min-width:16px;outline:0;overflow-x:hidden;overflow-y:auto}"),module.exports={spacing:"8",root:"Popover_root__jbuJL",paper:"Popover_paper__wjJL5",backdrop:"Popover_backdrop__MLBZb"};
1
+ "use strict";require('./../../ext-esm/style-inject/dist/style-inject.es.js')(".Popover_root__jbuJL{z-index:var(--z-index-modal)}.Popover_root__jbuJL[x-placement=top-start] .Popover_paper__wjJL5{transform-origin:left bottom}.Popover_root__jbuJL[x-placement=top] .Popover_paper__wjJL5{transform-origin:center bottom}.Popover_root__jbuJL[x-placement=top-end] .Popover_paper__wjJL5{transform-origin:right bottom}.Popover_root__jbuJL[x-placement=left-start] .Popover_paper__wjJL5{transform-origin:right top}.Popover_root__jbuJL[x-placement=left] .Popover_paper__wjJL5{transform-origin:right center}.Popover_root__jbuJL[x-placement=left-end] .Popover_paper__wjJL5{transform-origin:right bottom}.Popover_root__jbuJL[x-placement=right-start] .Popover_paper__wjJL5{transform-origin:left top}.Popover_root__jbuJL[x-placement=right] .Popover_paper__wjJL5{transform-origin:left center}.Popover_root__jbuJL[x-placement=right-end] .Popover_paper__wjJL5{transform-origin:left bottom}.Popover_root__jbuJL[x-placement=bottom-start] .Popover_paper__wjJL5{transform-origin:left top}.Popover_root__jbuJL[x-placement=bottom] .Popover_paper__wjJL5{transform-origin:center top}.Popover_root__jbuJL[x-placement=bottom-end] .Popover_paper__wjJL5{transform-origin:right top}.Popover_backdrop__MLBZb{inset:0;position:fixed}.Popover_paper__wjJL5{max-height:calc(100vh - 32px);max-width:calc(100vw - 32px);min-height:16px;min-width:16px;outline:0;overflow-x:hidden;overflow-y:auto}.Popover_paper__wjJL5:has(.corva-attachment-strip){overflow:visible}"),module.exports={spacing:"8",root:"Popover_root__jbuJL",paper:"Popover_paper__wjJL5",backdrop:"Popover_backdrop__MLBZb"};
2
2
  //# sourceMappingURL=Popover.scss.js.map
@@ -2,6 +2,7 @@ import { AttachmentPreviewProps } from './AttachmentPreview.types';
2
2
  /**
3
3
  * Picks the strip that fits — reorderable or plain — and gives it a lightbox. Rendering lives in
4
4
  * `AttachmentRow`, drag-and-drop in `SortableAttachments`, the modal in `useAttachmentLightbox`.
5
+ * The strip hides its scrollbar, so overflow arrows are the scroll affordance.
5
6
  */
6
7
  export declare const AttachmentPreview: import("react").ForwardRefExoticComponent<AttachmentPreviewProps & import("react").RefAttributes<HTMLDivElement>>;
7
8
  //# sourceMappingURL=AttachmentPreview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentPreview.d.ts","sourceRoot":"","sources":["../../../src/components/AttachmentPreview/AttachmentPreview.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,mHA8B7B,CAAC"}
1
+ {"version":3,"file":"AttachmentPreview.d.ts","sourceRoot":"","sources":["../../../src/components/AttachmentPreview/AttachmentPreview.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAkCnE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,mHAoD7B,CAAC"}
@@ -1,2 +1,2 @@
1
- import e from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/objectWithoutProperties";import{forwardRef as r}from"react";import{useAttachmentLightbox as o}from"../AttachmentLightbox/useAttachmentLightbox.js";import{AttachmentRow as n}from"./AttachmentRow.js";import{SortableAttachments as i}from"./SortableAttachments.js";import{jsx as c,jsxs as m,Fragment as p}from"react/jsx-runtime";var l=["onReorder","onItemClick","onShare"];function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function f(t){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?a(Object(o),!0).forEach((function(r){e(t,r,o[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):a(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}var b=r((function(e,r){var a=e.onReorder,b=e.onItemClick,s=e.onShare,h=t(e,l),u=o(h.items,{onShare:s}),O=u.openAttachment,j=u.lightbox;if(!h.items.length)return null;var g=!!a&&h.items.length>1?c(i,f(f({},h),{},{ref:r,onReorder:a,onItemClick:null!=b?b:O})):c(n,f(f({},h),{},{ref:r,onShare:s,onItemClick:null!=b?b:O}));return m(p,{children:[g,!b&&j]})}));export{b as AttachmentPreview};
1
+ import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/objectWithoutProperties";import{forwardRef as c,useRef as n,useCallback as i}from"react";import t from"classnames";import{ButtonIcon as r}from"../../componentsV2/ButtonIcon/ButtonIcon.js";import{Tooltip as e}from"../../componentsV2/Tooltip/Tooltip.js";import{RightIcon as m,LeftIcon as p}from"../../icons/iconParkIcons.js";import"../../icons/customIcons/icons/AddMessage.js";import"../../icons/customIcons/icons/DragOne.js";import"../../icons/customIcons/icons/Attention.js";import"../../icons/customIcons/icons/Collapse.js";import"../../icons/customIcons/icons/Dashboard.js";import"../../icons/customIcons/icons/Expand.js";import"../../icons/customIcons/icons/FolderClosed.js";import"../../icons/customIcons/icons/FolderClosedFilled.js";import"../../icons/customIcons/icons/FolderOpened.js";import"../../icons/customIcons/icons/GreaterOrEqual.js";import"../../icons/customIcons/icons/LessOrEqual.js";import"../../icons/customIcons/icons/Search.js";import"../../icons/customIcons/icons/SearchOne.js";import"../../icons/customIcons/icons/Wellhub.js";import"../../icons/customIcons/icons/MultiRuler.js";import"../../icons/customIcons/icons/Checkbox.js";import"../../icons/customIcons/icons/CheckboxChecked.js";import"../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../icons/customIcons/icons/Radio.js";import"../../icons/customIcons/icons/RadioChecked.js";import"../../icons/customIcons/icons/SimulFrac.js";import"../../icons/customIcons/icons/ZipperFrac.js";import"../../icons/customIcons/icons/CautionFilled.js";import"../../icons/customIcons/icons/InfoRounded.js";import"../../icons/customIcons/icons/FlameFilled.js";import"../../icons/customIcons/icons/MoreApp.js";import"../../icons/customIcons/icons/Pad.js";import"../../icons/customIcons/icons/DrilloutUnit.js";import"../../icons/customIcons/icons/FracFleet.js";import"../../icons/customIcons/icons/Global.js";import"../../icons/customIcons/icons/Program.js";import"../../icons/customIcons/icons/Rig.js";import"../../icons/customIcons/icons/Well.js";import"../../icons/customIcons/icons/Gap.js";import"../../icons/customIcons/icons/Pin.js";import"../../icons/customIcons/icons/PinOne.js";import"../../icons/customIcons/icons/PinOneCrossed.js";import"../../icons/customIcons/icons/CloseOneFilled.js";import"../../icons/customIcons/icons/AttentionFilled.js";import"../../icons/customIcons/icons/CheckOneFilled.js";import"../../icons/customIcons/icons/Archive.js";import"../../icons/customIcons/icons/ArchiveCancel.js";import"../../icons/customIcons/icons/Unarchive.js";import"../../icons/customIcons/icons/Archived.js";import"../../icons/customIcons/icons/InterventionUnit.js";import"../../icons/customIcons/icons/CloudDelete.js";import"../../icons/customIcons/icons/Lasso.js";import"../../icons/customIcons/icons/Radius.js";import"../../icons/customIcons/icons/ErrorOps.js";import"../../icons/customIcons/icons/DataTypeOps.js";import"../../icons/customIcons/icons/FalsePositiveOps.js";import"../../icons/customIcons/icons/CalibrationOps.js";import"../../icons/customIcons/icons/CriticalOps.js";import"../../icons/customIcons/icons/Company.js";import"../../icons/customIcons/icons/ArchiveOne.js";import"../../icons/customIcons/icons/ParseBotFusion.js";import"../../icons/customIcons/icons/Connect.js";import"../../icons/customIcons/icons/PuzzleOne.js";import"../../icons/customIcons/icons/Feed.js";import"../../icons/customIcons/icons/Prompt.js";import"../../icons/customIcons/icons/Companies.js";import"../../icons/customIcons/icons/ClipboardAi.js";import"../../icons/customIcons/icons/Key.js";import"../../icons/customIcons/icons/AtSignCrossed.js";import"../../icons/customIcons/icons/MappingManual.js";import"../../icons/customIcons/icons/Mapping.js";import"../../icons/customIcons/icons/Metrics.js";import"../../icons/customIcons/icons/Drops.js";import"../../icons/customIcons/icons/ClipboardSearch.js";import"../../icons/customIcons/icons/Template.js";import"../../icons/customIcons/icons/ClipboardMetrics.js";import"../../icons/customIcons/icons/ClipboardBuilder.js";import"../../icons/customIcons/icons/UnitConversion.js";import"../../icons/customIcons/icons/NPT.js";import"../../icons/customIcons/icons/GuidedFrac.js";import{useAttachmentLightbox as u}from"../AttachmentLightbox/useAttachmentLightbox.js";import{AttachmentRow as l}from"./AttachmentRow.js";import{SortableAttachments as a}from"./SortableAttachments.js";import{useScrollOverflow as j}from"./useScrollOverflow.js";import I from"./AttachmentPreview.scss.js";import{jsx as d,jsxs as h,Fragment as f}from"react/jsx-runtime";var C=["onReorder","onItemClick","onShare"];function b(o,s){var c=Object.keys(o);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(o);s&&(n=n.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),c.push.apply(c,n)}return c}function O(s){for(var c=1;c<arguments.length;c++){var n=null!=arguments[c]?arguments[c]:{};c%2?b(Object(n),!0).forEach((function(c){o(s,c,n[c])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(n)):b(Object(n)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(n,o))}))}return s}var g=function(o){return 1===o?"1 more attachment":"".concat(o," more attachments")},v=function(o){var s=o.direction,c=o.hiddenCount,n=o.onClick;if(!c)return null;var i=1===s;return d(e,{title:g(c),children:d("div",{className:i?I.scrollArrowRight:I.scrollArrowLeft,children:d(r,{size:"xs",type:"tertiaryBg",ariaLabel:g(c),onClick:function(){return n(s)},testId:i?"attachment-scroll-right":"attachment-scroll-left",children:d(i?m:p,{size:"small"})})})})},P=c((function(o,c){var r=o.onReorder,e=o.onItemClick,m=o.onShare,p=s(o,C),b=u(p.items,{onShare:m}),g=b.openAttachment,P=b.lightbox,y=n(null),A=i((function(o){y.current=o,"function"==typeof c?c(o):c&&(c.current=o)}),[c]),F=j(y,p.items),k=F.left,S=F.right,w=F.scrollByPage;if(!p.items.length)return null;var R=!!r&&p.items.length>1?d(a,O(O({},p),{},{ref:A,onReorder:r,onItemClick:null!=e?e:g})):d(l,O(O({},p),{},{ref:A,onShare:m,onItemClick:null!=e?e:g}));return h(f,{children:[h("div",{className:t(I.stripShell,(k.hiddenCount>0||S.hiddenCount>0)&&"corva-attachment-strip"),children:[R,d(v,{direction:-1,hiddenCount:k.hiddenCount,onClick:w}),d(v,{direction:1,hiddenCount:S.hiddenCount,onClick:w})]}),!e&&P]})}));export{P as AttachmentPreview};
2
2
  //# sourceMappingURL=AttachmentPreview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentPreview.js","sources":["../../../src/components/AttachmentPreview/AttachmentPreview.tsx"],"sourcesContent":["import { forwardRef } from 'react';\n\nimport { useAttachmentLightbox } from '../AttachmentLightbox/useAttachmentLightbox';\n\nimport { AttachmentRow } from './AttachmentRow';\nimport { SortableAttachments } from './SortableAttachments';\nimport { AttachmentPreviewProps } from './AttachmentPreview.types';\n\n/**\n * Picks the strip that fits — reorderable or plain — and gives it a lightbox. Rendering lives in\n * `AttachmentRow`, drag-and-drop in `SortableAttachments`, the modal in `useAttachmentLightbox`.\n */\nexport const AttachmentPreview = forwardRef<HTMLDivElement, AttachmentPreviewProps>(\n ({ onReorder, onItemClick, onShare, ...props }, ref) => {\n const { openAttachment, lightbox } = useAttachmentLightbox(props.items, { onShare });\n\n if (!props.items.length) return null;\n\n const isSortable = !!onReorder && props.items.length > 1;\n const strip = isSortable ? (\n <SortableAttachments\n {...props}\n ref={ref}\n onReorder={onReorder}\n onItemClick={onItemClick ?? openAttachment}\n />\n ) : (\n <AttachmentRow\n {...props}\n ref={ref}\n onShare={onShare}\n onItemClick={onItemClick ?? openAttachment}\n />\n );\n\n return (\n <>\n {strip}\n {!onItemClick && lightbox}\n </>\n );\n }\n);\n"],"names":["AttachmentPreview","forwardRef","_ref","ref","onReorder","onItemClick","onShare","props","_objectWithoutProperties","_excluded","_useAttachmentLightbo","useAttachmentLightbox","items","openAttachment","lightbox","length","strip","_jsx","SortableAttachments","AttachmentRow","_objectSpread","_jsxs","_Fragment","children"],"mappings":"8gCAYaA,EAAoBC,GAC/B,SAAAC,EAAgDC,GAAQ,IAArDC,IAAAA,UAAWC,IAAAA,YAAaC,IAAAA,QAAYC,EAAKC,EAAAN,EAAAO,GAC1CC,EAAqCC,EAAsBJ,EAAMK,MAAO,CAAEN,QAAAA,IAAlEO,IAAAA,eAAgBC,IAAAA,SAExB,IAAKP,EAAMK,MAAMG,OAAQ,OAAO,KAEhC,IACMC,IADeZ,GAAaG,EAAMK,MAAMG,OAAS,EAErDE,EAACC,SACKX,GAAK,GAAA,CACTJ,IAAKA,EACLC,UAAWA,EACXC,YAAaA,QAAAA,EAAeQ,KAG9BI,EAACE,EAAaC,EAAAA,EAAA,CAAA,EACRb,GAAK,GAAA,CACTJ,IAAKA,EACLG,QAASA,EACTD,YAAaA,QAAAA,EAAeQ,KAIhC,OACEQ,EAAAC,EAAA,CAAAC,SAAA,CACGP,GACCX,GAAeS,IAGvB"}
1
+ {"version":3,"file":"AttachmentPreview.js","sources":["../../../src/components/AttachmentPreview/AttachmentPreview.tsx"],"sourcesContent":["import { forwardRef, useCallback, useRef } from 'react';\nimport classNames from 'classnames';\n\nimport { ButtonIcon } from '../../componentsV2/ButtonIcon';\nimport { Tooltip } from '../../componentsV2/Tooltip';\nimport { LeftIcon, RightIcon } from '../../icons';\nimport { useAttachmentLightbox } from '../AttachmentLightbox/useAttachmentLightbox';\n\nimport { AttachmentRow } from './AttachmentRow';\nimport { SortableAttachments } from './SortableAttachments';\nimport { useScrollOverflow } from './useScrollOverflow';\nimport { AttachmentPreviewProps } from './AttachmentPreview.types';\n\nimport styles from './AttachmentPreview.scss';\n\nconst moreLabel = (count: number) =>\n count === 1 ? '1 more attachment' : `${count} more attachments`;\n\ntype ScrollArrowProps = {\n direction: -1 | 1;\n hiddenCount: number;\n onClick: (direction: -1 | 1) => void;\n};\n\nconst ScrollArrow = ({ direction, hiddenCount, onClick }: ScrollArrowProps) => {\n if (!hiddenCount) return null;\n\n const isRight = direction === 1;\n return (\n <Tooltip title={moreLabel(hiddenCount)}>\n <div className={isRight ? styles.scrollArrowRight : styles.scrollArrowLeft}>\n <ButtonIcon\n size=\"xs\"\n type=\"tertiaryBg\"\n ariaLabel={moreLabel(hiddenCount)}\n onClick={() => onClick(direction)}\n testId={isRight ? 'attachment-scroll-right' : 'attachment-scroll-left'}\n >\n {isRight ? <RightIcon size=\"small\" /> : <LeftIcon size=\"small\" />}\n </ButtonIcon>\n </div>\n </Tooltip>\n );\n};\n\n/**\n * Picks the strip that fits — reorderable or plain — and gives it a lightbox. Rendering lives in\n * `AttachmentRow`, drag-and-drop in `SortableAttachments`, the modal in `useAttachmentLightbox`.\n * The strip hides its scrollbar, so overflow arrows are the scroll affordance.\n */\nexport const AttachmentPreview = forwardRef<HTMLDivElement, AttachmentPreviewProps>(\n ({ onReorder, onItemClick, onShare, ...props }, ref) => {\n const { openAttachment, lightbox } = useAttachmentLightbox(props.items, { onShare });\n\n const scrollerRef = useRef<HTMLDivElement | null>(null);\n const setScrollerRef = useCallback(\n (node: HTMLDivElement | null) => {\n scrollerRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n },\n [ref]\n );\n const { left, right, scrollByPage } = useScrollOverflow(scrollerRef, props.items);\n\n if (!props.items.length) return null;\n\n const isSortable = !!onReorder && props.items.length > 1;\n const strip = isSortable ? (\n <SortableAttachments\n {...props}\n ref={setScrollerRef}\n onReorder={onReorder}\n onItemClick={onItemClick ?? openAttachment}\n />\n ) : (\n <AttachmentRow\n {...props}\n ref={setScrollerRef}\n onShare={onShare}\n onItemClick={onItemClick ?? openAttachment}\n />\n );\n\n return (\n <>\n <div\n // The global marker lets host chrome (Popover) unclip the border-straddling arrows,\n // so it is only set while arrows are showing.\n className={classNames(\n styles.stripShell,\n (left.hiddenCount > 0 || right.hiddenCount > 0) && 'corva-attachment-strip'\n )}\n >\n {strip}\n <ScrollArrow direction={-1} hiddenCount={left.hiddenCount} onClick={scrollByPage} />\n <ScrollArrow direction={1} hiddenCount={right.hiddenCount} onClick={scrollByPage} />\n </div>\n {!onItemClick && lightbox}\n </>\n );\n }\n);\n"],"names":["moreLabel","count","concat","ScrollArrow","_ref","direction","hiddenCount","onClick","isRight","_jsx","Tooltip","title","children","className","styles","scrollArrowRight","scrollArrowLeft","ButtonIcon","size","type","ariaLabel","testId","RightIcon","LeftIcon","AttachmentPreview","forwardRef","_ref2","ref","onReorder","onItemClick","onShare","props","_objectWithoutProperties","_excluded","_useAttachmentLightbo","useAttachmentLightbox","items","openAttachment","lightbox","scrollerRef","useRef","setScrollerRef","useCallback","node","current","_useScrollOverflow","useScrollOverflow","left","right","scrollByPage","length","strip","SortableAttachments","AttachmentRow","_objectSpread","_jsxs","_Fragment","classNames","stripShell"],"mappings":"ypKAeA,IAAMA,EAAY,SAACC,GAAa,OACpB,IAAVA,EAAc,oBAAmB,GAAAC,OAAMD,EAAwB,oBAAA,EAQ3DE,EAAc,SAA2DC,GAAA,IAAxDC,IAAAA,UAAWC,IAAAA,YAAaC,IAAAA,QAC7C,IAAKD,EAAa,OAAO,KAEzB,IAAME,EAAwB,IAAdH,EAChB,OACEI,EAACC,EAAO,CAACC,MAAOX,EAAUM,GAAaM,SACrCH,EAAA,MAAA,CAAKI,UAAWL,EAAUM,EAAOC,iBAAmBD,EAAOE,gBAAgBJ,SACzEH,EAACQ,EAAU,CACTC,KAAK,KACLC,KAAK,aACLC,UAAWpB,EAAUM,GACrBC,QAAS,WAAA,OAAMA,EAAQF,EAAW,EAClCgB,OAAQb,EAAU,0BAA4B,yBAAyBI,SAE5DH,EAAVD,EAAWc,EAA6BC,EAApB,CAACL,KAAK,eAKrC,EAOaM,EAAoBC,GAC/B,SAAAC,EAAgDC,GAAQ,IAArDC,IAAAA,UAAWC,IAAAA,YAAaC,IAAAA,QAAYC,EAAKC,EAAAN,EAAAO,GAC1CC,EAAqCC,EAAsBJ,EAAMK,MAAO,CAAEN,QAAAA,IAAlEO,IAAAA,eAAgBC,IAAAA,SAElBC,EAAcC,EAA8B,MAC5CC,EAAiBC,GACrB,SAACC,GACCJ,EAAYK,QAAUD,EACH,mBAARhB,EAAoBA,EAAIgB,GAC1BhB,IAAKA,EAAIiB,QAAUD,EAC9B,GACA,CAAChB,IAEHkB,EAAsCC,EAAkBP,EAAaR,EAAMK,OAAnEW,IAAAA,KAAMC,IAAAA,MAAOC,IAAAA,aAErB,IAAKlB,EAAMK,MAAMc,OAAQ,OAAO,KAEhC,IACMC,IADevB,GAAaG,EAAMK,MAAMc,OAAS,EAErDzC,EAAC2C,SACKrB,GAAK,GAAA,CACTJ,IAAKc,EACLb,UAAWA,EACXC,YAAaA,QAAAA,EAAeQ,KAG9B5B,EAAC4C,EAAaC,EAAAA,EAAA,CAAA,EACRvB,GAAK,GAAA,CACTJ,IAAKc,EACLX,QAASA,EACTD,YAAaA,QAAAA,EAAeQ,KAIhC,OACEkB,EAAAC,EAAA,CAAA5C,SACE,CAAA2C,EAAA,MAAA,CAGE1C,UAAW4C,EACT3C,EAAO4C,YACNX,EAAKzC,YAAc,GAAK0C,EAAM1C,YAAc,IAAM,0BACnDM,SAEDuC,CAAAA,EACD1C,EAACN,EAAW,CAACE,WAAY,EAAGC,YAAayC,EAAKzC,YAAaC,QAAS0C,IACpExC,EAACN,EAAW,CAACE,UAAW,EAAGC,YAAa0C,EAAM1C,YAAaC,QAAS0C,QAEpEpB,GAAeS,IAGvB"}
@@ -1,2 +1,2 @@
1
- import t from'./../../ext-esm/style-inject/dist/style-inject.es.js';var e={spacing:"8",scroller:"AttachmentPreview_scroller__ZqYC8",slot:"AttachmentPreview_slot__ewKLo",slotDragging:"AttachmentPreview_slotDragging__hrfJX",slotContent:"AttachmentPreview_slotContent__GNuSu",insertion:"AttachmentPreview_insertion__iFqlp",insertionBefore:"AttachmentPreview_insertionBefore__jyWQM",insertionEdge:"AttachmentPreview_insertionEdge__Bjk1t",insertionAfter:"AttachmentPreview_insertionAfter__4NvhP",dragGhost:"AttachmentPreview_dragGhost__4aSzE",dragGhostHandle:"AttachmentPreview_dragGhostHandle__Gu2CP",thumbnail:"AttachmentPreview_thumbnail__ytI2L",clickable:"AttachmentPreview_clickable__BEXzK",selected:"AttachmentPreview_selected__JRuMO",thumbnailInner:"AttachmentPreview_thumbnailInner__9Ex4-",thumbnailImage:"AttachmentPreview_thumbnailImage__RQ4fL",videoOverlay:"AttachmentPreview_videoOverlay__5Lgi1",playIcon:"AttachmentPreview_playIcon__OOnql",fileCard:"AttachmentPreview_fileCard__oxDbD",fileCardLink:"AttachmentPreview_fileCardLink__TDpvh",fileCardContent:"AttachmentPreview_fileCardContent__c-99Q",fileInfo:"AttachmentPreview_fileInfo__eqJ-B",fileName:"AttachmentPreview_fileName__1Ccg0",fileType:"AttachmentPreview_fileType__0v6E4",tileActions:"AttachmentPreview_tileActions__2nLlw",tileActionLink:"AttachmentPreview_tileActionLink__aMyS4",removeButton:"AttachmentPreview_removeButton__aX-qu",removeButtonVisible:"AttachmentPreview_removeButtonVisible__BVjYB",thumbnailError:"AttachmentPreview_thumbnailError__yyH08",uploadingOverlay:"AttachmentPreview_uploadingOverlay__leV1D",uploadingSpinner:"AttachmentPreview_uploadingSpinner__u-t7d",loader:"AttachmentPreview_loader__HK5bZ",errorOverlay:"AttachmentPreview_errorOverlay__8sM1d",retryButton:"AttachmentPreview_retryButton__tKVV0"};t('.AttachmentPreview_scroller__ZqYC8{-ms-overflow-style:none;align-items:flex-start;display:flex;gap:12px;margin-left:-8px;overflow-x:auto;overflow-y:visible;padding-left:8px;padding-right:8px;padding-top:6px;scroll-behavior:smooth;scrollbar-width:none}.AttachmentPreview_scroller__ZqYC8::-webkit-scrollbar{display:none}.AttachmentPreview_slot__ewKLo{border-radius:8px;cursor:grab;flex-shrink:0;position:relative;touch-action:none}.AttachmentPreview_slot__ewKLo:focus-visible{outline:none}.AttachmentPreview_slot__ewKLo:focus-visible:before{border:2px solid var(--palette-primary-main);border-radius:8px;content:"";inset:0;pointer-events:none;position:absolute;z-index:5}.AttachmentPreview_slotDragging__hrfJX{cursor:grabbing}.AttachmentPreview_slotDragging__hrfJX .AttachmentPreview_slotContent__GNuSu{visibility:hidden}.AttachmentPreview_slotDragging__hrfJX:focus-visible:before{display:none}.AttachmentPreview_slotDragging__hrfJX:after{background:rgb(from var(--palette-primary-text-1) r g b/.04);border:1px dashed var(--palette-primary-text-6);border-radius:8px;content:"";inset:0;position:absolute}.AttachmentPreview_insertion__iFqlp{background:var(--palette-primary-main);border-radius:2px;bottom:0;box-shadow:0 0 6px rgb(from var(--palette-primary-main) r g b/.6);position:absolute;top:0;width:2px;z-index:4}.AttachmentPreview_insertionBefore__jyWQM,.AttachmentPreview_insertionEdge__Bjk1t{left:-7px}.AttachmentPreview_insertionAfter__4NvhP{right:-7px}.AttachmentPreview_dragGhost__4aSzE{background:var(--palette-background-b-6);border-radius:8px;box-shadow:0 10px 20px rgb(from var(--palette-background-b-1) r g b/.45);cursor:grabbing;opacity:.9;position:relative;transform:rotate(4deg)}.AttachmentPreview_dragGhostHandle__Gu2CP{align-items:center;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:2}.AttachmentPreview_dragGhostHandle__Gu2CP button{backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.16)!important;color:var(--palette-primary-text-1)!important}.AttachmentPreview_dragGhostHandle__Gu2CP svg{color:var(--palette-primary-text-1)}.AttachmentPreview_thumbnail__ytI2L{border-radius:8px;flex-shrink:0;height:64px;overflow:visible;position:relative;width:64px}.AttachmentPreview_clickable__BEXzK{cursor:pointer}.AttachmentPreview_clickable__BEXzK:hover{opacity:.9}.AttachmentPreview_selected__JRuMO:after{border:1px solid var(--palette-primary-main);border-radius:8px;content:"";inset:0;pointer-events:none;position:absolute;z-index:4}.AttachmentPreview_thumbnailInner__9Ex4-{border-radius:8px;inset:0;overflow:hidden;pointer-events:none;position:absolute}.AttachmentPreview_thumbnailImage__RQ4fL{height:100%;left:50%;max-width:none;min-width:100%;object-fit:cover;pointer-events:none;position:absolute;top:0;transform:translateX(-50%);width:auto}.AttachmentPreview_videoOverlay__5Lgi1{align-items:center;background:rgb(from var(--palette-background-b-1) r g b/.5);border-radius:8px;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute}.AttachmentPreview_playIcon__OOnql{color:var(--palette-primary-text-1);font-size:32px}.AttachmentPreview_fileCard__oxDbD{align-items:flex-start;border:1px solid rgb(from var(--palette-primary-text-1) r g b/.08);border-radius:8px;display:flex;flex-direction:column;flex-shrink:0;height:64px;justify-content:center;padding:8px 16px;position:relative;width:142px}.AttachmentPreview_fileCardLink__TDpvh{color:inherit;cursor:pointer;text-decoration:none}.AttachmentPreview_fileCardLink__TDpvh:hover{border-color:rgb(from var(--palette-primary-text-1) r g b/.16)}.AttachmentPreview_fileCardContent__c-99Q{align-items:center;display:flex;gap:8px;width:100%}.AttachmentPreview_fileInfo__eqJ-B{align-items:flex-start;display:flex;flex:1 0 0;flex-direction:column;justify-content:center;min-width:0}.AttachmentPreview_fileName__1Ccg0{color:var(--palette-primary-text-1)}.AttachmentPreview_fileName__1Ccg0,.AttachmentPreview_fileType__0v6E4{font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.AttachmentPreview_fileType__0v6E4{color:var(--palette-primary-text-6);text-transform:uppercase}.AttachmentPreview_tileActions__2nLlw{display:flex;gap:4px;opacity:0;position:absolute;right:-6px;top:-6px;transition:opacity .2s;z-index:3}.AttachmentPreview_tileActions__2nLlw button{backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.08)!important}.AttachmentPreview_tileActions__2nLlw button:hover{background-color:rgb(from var(--palette-primary-text-1) r g b/.15)!important}.AttachmentPreview_fileCard__oxDbD .AttachmentPreview_tileActions__2nLlw:focus-within,.AttachmentPreview_fileCard__oxDbD:hover .AttachmentPreview_tileActions__2nLlw,.AttachmentPreview_thumbnail__ytI2L .AttachmentPreview_tileActions__2nLlw:focus-within,.AttachmentPreview_thumbnail__ytI2L:hover .AttachmentPreview_tileActions__2nLlw{opacity:1}.AttachmentPreview_tileActionLink__aMyS4{display:inline-flex}.AttachmentPreview_removeButton__aX-qu{opacity:0;position:absolute;right:-6px;top:-6px;transition:opacity .2s;z-index:3}.AttachmentPreview_removeButton__aX-qu button{backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.08)!important}.AttachmentPreview_removeButton__aX-qu button:hover{background-color:rgb(from var(--palette-primary-text-1) r g b/.15)!important}.AttachmentPreview_fileCard__oxDbD:hover .AttachmentPreview_removeButton__aX-qu,.AttachmentPreview_removeButtonVisible__BVjYB,.AttachmentPreview_thumbnail__ytI2L:hover .AttachmentPreview_removeButton__aX-qu{opacity:1}.AttachmentPreview_thumbnailError__yyH08{border:1px solid rgb(from var(--palette-error-main) r g b/.4)}.AttachmentPreview_uploadingOverlay__leV1D{background:rgb(from var(--palette-background-b-1) r g b/.5);border-radius:8px;inset:0;pointer-events:none;position:absolute}.AttachmentPreview_uploadingSpinner__u-t7d{align-items:center;backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.08);border-radius:6px;display:flex;height:24px;justify-content:center;position:absolute;right:-6px;top:-6px;width:24px;z-index:2}.AttachmentPreview_loader__HK5bZ{color:var(--palette-primary-text-6)!important;height:14px!important;width:14px!important}.AttachmentPreview_errorOverlay__8sM1d{background:rgb(from var(--palette-error-main) r g b/.08);border-radius:8px;inset:0;pointer-events:none;position:absolute}.AttachmentPreview_retryButton__tKVV0{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.AttachmentPreview_retryButton__tKVV0 button{backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.08)!important}.AttachmentPreview_retryButton__tKVV0 button:hover{background-color:rgb(from var(--palette-primary-text-1) r g b/.15)!important}');export{e as default};
1
+ import t from'./../../ext-esm/style-inject/dist/style-inject.es.js';var e={spacing:"8",scroller:"AttachmentPreview_scroller__ZqYC8",stripShell:"AttachmentPreview_stripShell__ndNiE",scrollArrowRight:"AttachmentPreview_scrollArrowRight__aGmVR",scrollArrowLeft:"AttachmentPreview_scrollArrowLeft__wpsRM",slot:"AttachmentPreview_slot__ewKLo",slotDragging:"AttachmentPreview_slotDragging__hrfJX",slotContent:"AttachmentPreview_slotContent__GNuSu",insertion:"AttachmentPreview_insertion__iFqlp",insertionBefore:"AttachmentPreview_insertionBefore__jyWQM",insertionEdge:"AttachmentPreview_insertionEdge__Bjk1t",insertionAfter:"AttachmentPreview_insertionAfter__4NvhP",dragGhost:"AttachmentPreview_dragGhost__4aSzE",dragGhostHandle:"AttachmentPreview_dragGhostHandle__Gu2CP",thumbnail:"AttachmentPreview_thumbnail__ytI2L",clickable:"AttachmentPreview_clickable__BEXzK",selected:"AttachmentPreview_selected__JRuMO",thumbnailInner:"AttachmentPreview_thumbnailInner__9Ex4-",thumbnailImage:"AttachmentPreview_thumbnailImage__RQ4fL",videoOverlay:"AttachmentPreview_videoOverlay__5Lgi1",playIcon:"AttachmentPreview_playIcon__OOnql",fileCard:"AttachmentPreview_fileCard__oxDbD",fileCardLink:"AttachmentPreview_fileCardLink__TDpvh",fileCardContent:"AttachmentPreview_fileCardContent__c-99Q",fileInfo:"AttachmentPreview_fileInfo__eqJ-B",fileName:"AttachmentPreview_fileName__1Ccg0",fileType:"AttachmentPreview_fileType__0v6E4",tileActions:"AttachmentPreview_tileActions__2nLlw",tileActionLink:"AttachmentPreview_tileActionLink__aMyS4",removeButton:"AttachmentPreview_removeButton__aX-qu",removeButtonVisible:"AttachmentPreview_removeButtonVisible__BVjYB",thumbnailError:"AttachmentPreview_thumbnailError__yyH08",uploadingOverlay:"AttachmentPreview_uploadingOverlay__leV1D",uploadingSpinner:"AttachmentPreview_uploadingSpinner__u-t7d",loader:"AttachmentPreview_loader__HK5bZ",errorOverlay:"AttachmentPreview_errorOverlay__8sM1d",retryButton:"AttachmentPreview_retryButton__tKVV0"};t('.AttachmentPreview_scroller__ZqYC8{-ms-overflow-style:none;align-items:flex-start;display:flex;gap:12px;margin-left:-8px;overflow-x:auto;overflow-y:visible;padding-left:8px;padding-right:8px;padding-top:6px;scroll-behavior:smooth;scrollbar-width:none}.AttachmentPreview_scroller__ZqYC8::-webkit-scrollbar{display:none}.AttachmentPreview_stripShell__ndNiE{max-width:100%;min-width:0;position:relative}.AttachmentPreview_scrollArrowLeft__wpsRM,.AttachmentPreview_scrollArrowRight__aGmVR{position:absolute;top:calc(50% + 3px);transform:translateY(-50%);z-index:6}.AttachmentPreview_scrollArrowLeft__wpsRM button,.AttachmentPreview_scrollArrowRight__aGmVR button{backdrop-filter:blur(8px)}.AttachmentPreview_scrollArrowLeft__wpsRM{left:calc(-12px - var(--attachment-arrow-outset, 0px))}.AttachmentPreview_scrollArrowRight__aGmVR{right:calc(-12px - var(--attachment-arrow-outset, 0px))}@supports not (overflow-clip-margin:12px){.AttachmentPreview_scrollArrowLeft__wpsRM{left:0}.AttachmentPreview_scrollArrowRight__aGmVR{right:0}}.AttachmentPreview_slot__ewKLo{border-radius:8px;cursor:grab;flex-shrink:0;position:relative;touch-action:none}.AttachmentPreview_slot__ewKLo:focus-visible{outline:none}.AttachmentPreview_slot__ewKLo:focus-visible:before{border:2px solid var(--palette-primary-main);border-radius:8px;content:"";inset:0;pointer-events:none;position:absolute;z-index:5}.AttachmentPreview_slotDragging__hrfJX{cursor:grabbing}.AttachmentPreview_slotDragging__hrfJX .AttachmentPreview_slotContent__GNuSu{visibility:hidden}.AttachmentPreview_slotDragging__hrfJX:focus-visible:before{display:none}.AttachmentPreview_slotDragging__hrfJX:after{background:rgb(from var(--palette-primary-text-1) r g b/.04);border:1px dashed var(--palette-primary-text-6);border-radius:8px;content:"";inset:0;position:absolute}.AttachmentPreview_insertion__iFqlp{background:var(--palette-primary-main);border-radius:2px;bottom:0;box-shadow:0 0 6px rgb(from var(--palette-primary-main) r g b/.6);position:absolute;top:0;width:2px;z-index:4}.AttachmentPreview_insertionBefore__jyWQM,.AttachmentPreview_insertionEdge__Bjk1t{left:-7px}.AttachmentPreview_insertionAfter__4NvhP{right:-7px}.AttachmentPreview_dragGhost__4aSzE{background:var(--palette-background-b-6);border-radius:8px;box-shadow:0 10px 20px rgb(from var(--palette-background-b-1) r g b/.45);cursor:grabbing;opacity:.9;position:relative;transform:rotate(4deg)}.AttachmentPreview_dragGhostHandle__Gu2CP{align-items:center;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:2}.AttachmentPreview_dragGhostHandle__Gu2CP button{backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.16)!important;color:var(--palette-primary-text-1)!important}.AttachmentPreview_dragGhostHandle__Gu2CP svg{color:var(--palette-primary-text-1)}.AttachmentPreview_thumbnail__ytI2L{border-radius:8px;flex-shrink:0;height:64px;overflow:visible;position:relative;width:64px}.AttachmentPreview_clickable__BEXzK{cursor:pointer}.AttachmentPreview_clickable__BEXzK:hover{opacity:.9}.AttachmentPreview_selected__JRuMO:after{border:1px solid var(--palette-primary-main);border-radius:8px;content:"";inset:0;pointer-events:none;position:absolute;z-index:4}.AttachmentPreview_thumbnailInner__9Ex4-{border-radius:8px;inset:0;overflow:hidden;pointer-events:none;position:absolute}.AttachmentPreview_thumbnailImage__RQ4fL{height:100%;left:50%;max-width:none;min-width:100%;object-fit:cover;pointer-events:none;position:absolute;top:0;transform:translateX(-50%);width:auto}.AttachmentPreview_videoOverlay__5Lgi1{align-items:center;background:rgb(from var(--palette-background-b-1) r g b/.5);border-radius:8px;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute}.AttachmentPreview_playIcon__OOnql{color:var(--palette-primary-text-1);font-size:32px}.AttachmentPreview_fileCard__oxDbD{align-items:flex-start;border:1px solid rgb(from var(--palette-primary-text-1) r g b/.08);border-radius:8px;display:flex;flex-direction:column;flex-shrink:0;height:64px;justify-content:center;padding:8px 16px;position:relative;width:142px}.AttachmentPreview_fileCardLink__TDpvh{color:inherit;cursor:pointer;text-decoration:none}.AttachmentPreview_fileCardLink__TDpvh:hover{border-color:rgb(from var(--palette-primary-text-1) r g b/.16)}.AttachmentPreview_fileCardContent__c-99Q{align-items:center;display:flex;gap:8px;width:100%}.AttachmentPreview_fileInfo__eqJ-B{align-items:flex-start;display:flex;flex:1 0 0;flex-direction:column;justify-content:center;min-width:0}.AttachmentPreview_fileName__1Ccg0{color:var(--palette-primary-text-1)}.AttachmentPreview_fileName__1Ccg0,.AttachmentPreview_fileType__0v6E4{font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.AttachmentPreview_fileType__0v6E4{color:var(--palette-primary-text-6);text-transform:uppercase}.AttachmentPreview_tileActions__2nLlw{display:flex;gap:4px;opacity:0;position:absolute;right:-6px;top:-6px;transition:opacity .2s;z-index:3}.AttachmentPreview_tileActions__2nLlw button{backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.08)!important}.AttachmentPreview_tileActions__2nLlw button:hover{background-color:rgb(from var(--palette-primary-text-1) r g b/.15)!important}.AttachmentPreview_fileCard__oxDbD .AttachmentPreview_tileActions__2nLlw:focus-within,.AttachmentPreview_fileCard__oxDbD:hover .AttachmentPreview_tileActions__2nLlw,.AttachmentPreview_thumbnail__ytI2L .AttachmentPreview_tileActions__2nLlw:focus-within,.AttachmentPreview_thumbnail__ytI2L:hover .AttachmentPreview_tileActions__2nLlw{opacity:1}.AttachmentPreview_tileActionLink__aMyS4{display:inline-flex}.AttachmentPreview_removeButton__aX-qu{opacity:0;position:absolute;right:-6px;top:-6px;transition:opacity .2s;z-index:3}.AttachmentPreview_removeButton__aX-qu button{backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.08)!important}.AttachmentPreview_removeButton__aX-qu button:hover{background-color:rgb(from var(--palette-primary-text-1) r g b/.15)!important}.AttachmentPreview_fileCard__oxDbD:hover .AttachmentPreview_removeButton__aX-qu,.AttachmentPreview_removeButtonVisible__BVjYB,.AttachmentPreview_thumbnail__ytI2L:hover .AttachmentPreview_removeButton__aX-qu{opacity:1}.AttachmentPreview_thumbnailError__yyH08{border:1px solid rgb(from var(--palette-error-main) r g b/.4)}.AttachmentPreview_uploadingOverlay__leV1D{background:rgb(from var(--palette-background-b-1) r g b/.5);border-radius:8px;inset:0;pointer-events:none;position:absolute}.AttachmentPreview_uploadingSpinner__u-t7d{align-items:center;backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.08);border-radius:6px;display:flex;height:24px;justify-content:center;position:absolute;right:-6px;top:-6px;width:24px;z-index:2}.AttachmentPreview_loader__HK5bZ{color:var(--palette-primary-text-6)!important;height:14px!important;width:14px!important}.AttachmentPreview_errorOverlay__8sM1d{background:rgb(from var(--palette-error-main) r g b/.08);border-radius:8px;inset:0;pointer-events:none;position:absolute}.AttachmentPreview_retryButton__tKVV0{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.AttachmentPreview_retryButton__tKVV0 button{backdrop-filter:blur(4px);background-color:rgb(from var(--palette-primary-text-1) r g b/.08)!important}.AttachmentPreview_retryButton__tKVV0 button:hover{background-color:rgb(from var(--palette-primary-text-1) r g b/.15)!important}');export{e as default};
2
2
  //# sourceMappingURL=AttachmentPreview.scss.js.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AttachmentPreview.overflow.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttachmentPreview.overflow.test.d.ts","sourceRoot":"","sources":["../../../../src/components/AttachmentPreview/__tests__/AttachmentPreview.overflow.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { RefObject } from 'react';
2
+ export type OverflowEdge = {
3
+ /** How many tiles are not fully in view past this edge. Zero means no arrow. */
4
+ hiddenCount: number;
5
+ };
6
+ export type ScrollOverflow = {
7
+ left: OverflowEdge;
8
+ right: OverflowEdge;
9
+ scrollByPage: (direction: -1 | 1) => void;
10
+ };
11
+ /**
12
+ * Tracks which attachment tiles are scrolled out of view. The strip hides its scrollbar, so
13
+ * these counts are the only overflow signal the arrows (and their tooltips) have.
14
+ */
15
+ export declare const useScrollOverflow: (scrollerRef: RefObject<HTMLElement>, items: readonly unknown[]) => ScrollOverflow;
16
+ //# sourceMappingURL=useScrollOverflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScrollOverflow.d.ts","sourceRoot":"","sources":["../../../src/components/AttachmentPreview/useScrollOverflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA0C,MAAM,OAAO,CAAC;AAK1E,MAAM,MAAM,YAAY,GAAG;IACzB,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;CAC3C,CAAC;AAiBF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,gBACf,SAAS,CAAC,WAAW,CAAC,SAG5B,SAAS,OAAO,EAAE,KACxB,cAoDF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import e from"@babel/runtime/helpers/defineProperty";import r from"@babel/runtime/helpers/slicedToArray";import{useState as t,useCallback as n,useLayoutEffect as i}from"react";function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function c(r){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){e(r,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))}))}return r}var f=function(e,o){var f=t({left:{hiddenCount:0},right:{hiddenCount:0}}),l=r(f,2),u=l[0],a=l[1],d=n((function(){var r=e.current;if(r){var t=function(e){for(var r=e.getBoundingClientRect(),t=0,n=0,i=0,o=Array.from(e.children);i<o.length;i++){var c=o[i].getBoundingClientRect();c.left<r.left-1&&(t+=1),c.right>r.right+1&&(n+=1)}return{left:t,right:n}}(r);a((function(e){return e.left.hiddenCount===t.left&&e.right.hiddenCount===t.right?e:{left:{hiddenCount:t.left},right:{hiddenCount:t.right}}}))}}),[e]);i((function(){d();var r=e.current;if(r){r.addEventListener("scroll",d);var t="undefined"==typeof ResizeObserver?void 0:new ResizeObserver(d);return null==t||t.observe(r),function(){r.removeEventListener("scroll",d),null==t||t.disconnect()}}}),[d,e,o]);var s=n((function(r){var t=e.current;if(t){var n=Math.max(t.clientWidth-64,64);t.scrollBy({left:r*n})}}),[e]);return c(c({},u),{},{scrollByPage:s})};export{f as useScrollOverflow};
2
+ //# sourceMappingURL=useScrollOverflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScrollOverflow.js","sources":["../../../src/components/AttachmentPreview/useScrollOverflow.ts"],"sourcesContent":["import { RefObject, useCallback, useLayoutEffect, useState } from 'react';\n\n// Sub-pixel scroll positions and the strip's edge padding must not count as overflow.\nconst EDGE_TOLERANCE_PX = 1;\n\nexport type OverflowEdge = {\n /** How many tiles are not fully in view past this edge. Zero means no arrow. */\n hiddenCount: number;\n};\n\nexport type ScrollOverflow = {\n left: OverflowEdge;\n right: OverflowEdge;\n scrollByPage: (direction: -1 | 1) => void;\n};\n\nconst countHidden = (scroller: HTMLElement) => {\n const bounds = scroller.getBoundingClientRect();\n let left = 0;\n let right = 0;\n\n for (const tile of Array.from(scroller.children)) {\n const rect = tile.getBoundingClientRect();\n // Not else-if: a tile wider than the viewport can be hidden past both edges at once.\n if (rect.left < bounds.left - EDGE_TOLERANCE_PX) left += 1;\n if (rect.right > bounds.right + EDGE_TOLERANCE_PX) right += 1;\n }\n\n return { left, right };\n};\n\n/**\n * Tracks which attachment tiles are scrolled out of view. The strip hides its scrollbar, so\n * these counts are the only overflow signal the arrows (and their tooltips) have.\n */\nexport const useScrollOverflow = (\n scrollerRef: RefObject<HTMLElement>,\n // The array itself, not its length: a drag-reorder of mixed-width tiles shifts what fits\n // without changing the count or firing a scroll event.\n items: readonly unknown[]\n): ScrollOverflow => {\n const [edges, setEdges] = useState({\n left: { hiddenCount: 0 },\n right: { hiddenCount: 0 },\n });\n\n const update = useCallback(() => {\n const scroller = scrollerRef.current;\n if (!scroller) return;\n\n const counts = countHidden(scroller);\n // Keep the previous state object when nothing changed, or every scroll event re-renders\n // the whole strip.\n setEdges(prev =>\n prev.left.hiddenCount === counts.left && prev.right.hiddenCount === counts.right\n ? prev\n : { left: { hiddenCount: counts.left }, right: { hiddenCount: counts.right } }\n );\n }, [scrollerRef]);\n\n // Layout effect so a strip that mounts already overflowing shows its arrow on first paint.\n useLayoutEffect(() => {\n update();\n\n const scroller = scrollerRef.current;\n if (!scroller) return undefined;\n\n scroller.addEventListener('scroll', update);\n // Guarded: jsdom has no ResizeObserver.\n const observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(update);\n observer?.observe(scroller);\n\n return () => {\n scroller.removeEventListener('scroll', update);\n observer?.disconnect();\n };\n }, [update, scrollerRef, items]);\n\n const scrollByPage = useCallback(\n (direction: -1 | 1) => {\n const scroller = scrollerRef.current;\n if (!scroller) return;\n\n // Almost a full viewport, so one tile carries over as the reader's anchor. Smoothness\n // comes from the scroller's own scroll-behavior.\n const page = Math.max(scroller.clientWidth - 64, 64);\n scroller.scrollBy({ left: direction * page });\n },\n [scrollerRef]\n );\n\n return { ...edges, scrollByPage };\n};\n"],"names":["useScrollOverflow","scrollerRef","items","_useState","useState","left","hiddenCount","right","_useState2","_slicedToArray","edges","setEdges","update","useCallback","scroller","current","counts","bounds","getBoundingClientRect","Array","from","children","_i","_Array$from","length","rect","countHidden","prev","useLayoutEffect","addEventListener","observer","ResizeObserver","undefined","observe","removeEventListener","disconnect","scrollByPage","direction","page","Math","max","clientWidth","scrollBy","_objectSpread"],"mappings":"+uBAGA,IAgCaA,EAAoB,SAC/BC,EAGAC,GAEA,IAAAC,EAA0BC,EAAS,CACjCC,KAAM,CAAEC,YAAa,GACrBC,MAAO,CAAED,YAAa,KACtBE,EAAAC,EAAAN,EAAA,GAHKO,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAKhBI,EAASC,GAAY,WACzB,IAAMC,EAAWb,EAAYc,QAC7B,GAAKD,EAAL,CAEA,IAAME,EAlCU,SAACF,GAKnB,IAJA,IAAMG,EAASH,EAASI,wBACpBb,EAAO,EACPE,EAAQ,EAEOY,EAAAA,EAAAA,EAAAA,MAAMC,KAAKN,EAASO,UAAWC,EAAAC,EAAAC,OAAAF,IAAA,CAA7C,IACGG,EADOF,EAAAD,GACKJ,wBAEdO,EAAKpB,KAAOY,EAAOZ,KArBD,IAqB2BA,GAAQ,GACrDoB,EAAKlB,MAAQU,EAAOV,MAtBF,IAsB6BA,GAAS,EAC9D,CAEA,MAAO,CAAEF,KAAAA,EAAME,MAAAA,EACjB,CAqBmBmB,CAAYZ,GAG3BH,GAAS,SAAAgB,GAAI,OACXA,EAAKtB,KAAKC,cAAgBU,EAAOX,MAAQsB,EAAKpB,MAAMD,cAAgBU,EAAOT,MACvEoB,EACA,CAAEtB,KAAM,CAAEC,YAAaU,EAAOX,MAAQE,MAAO,CAAED,YAAaU,EAAOT,UAR1D,CAUjB,GAAG,CAACN,IAGJ2B,GAAgB,WACdhB,IAEA,IAAME,EAAWb,EAAYc,QAC7B,GAAKD,EAAL,CAEAA,EAASe,iBAAiB,SAAUjB,GAEpC,IAAMkB,EAAqC,oBAAnBC,oBAAiCC,EAAY,IAAID,eAAenB,GAGxF,OAFAkB,SAAAA,EAAUG,QAAQnB,GAEX,WACLA,EAASoB,oBAAoB,SAAUtB,GACvCkB,SAAAA,EAAUK,aATmB,CAWhC,GAAE,CAACvB,EAAQX,EAAaC,IAEzB,IAAMkC,EAAevB,GACnB,SAACwB,GACC,IAAMvB,EAAWb,EAAYc,QAC7B,GAAKD,EAAL,CAIA,IAAMwB,EAAOC,KAAKC,IAAI1B,EAAS2B,YAAc,GAAI,IACjD3B,EAAS4B,SAAS,CAAErC,KAAMgC,EAAYC,GALvB,CAMjB,GACA,CAACrC,IAGH,OAAA0C,EAAAA,EAAA,CAAA,EAAYjC,GAAK,CAAA,EAAA,CAAE0B,aAAAA,GACrB"}
@@ -1,2 +1,2 @@
1
- import e from'./../../ext-esm/style-inject/dist/style-inject.es.js';var t={spacing:"8",capped:"CommentCard_capped__izWBZ",bodySurface:"CommentCard_bodySurface__scobR",editHeader:"CommentCard_editHeader__8aUBt",scrollBody:"CommentCard_scrollBody__CIun9",footer:"CommentCard_footer__z3-CY",repliesSection:"CommentCard_repliesSection__iE7QO",compactBody:"CommentCard_compactBody__zM10O",compactTop:"CommentCard_compactTop__LpiQi",compactTime:"CommentCard_compactTime__JzVQR",compactFooter:"CommentCard_compactFooter__rgB4D",header:"CommentCard_header__T1SH8",headerText:"CommentCard_headerText__DRsQG",nameRow:"CommentCard_nameRow__Or1c0",timestamp:"CommentCard_timestamp__EbJCO",subtitle:"CommentCard_subtitle__d-XRe",avatar:"CommentCard_avatar__NA2ZA",name:"CommentCard_name__9-e7A",chip:"CommentCard_chip__4NUrf",chipAccented:"CommentCard_chipAccented__Xl8ek",bodyRow:"CommentCard_bodyRow__ZUufY",text:"CommentCard_text__eAIZM",attachment:"CommentCard_attachment__KktIn",infoButton:"CommentCard_infoButton__gqcvK",metadataTooltip:"CommentCard_metadataTooltip__AL0xt",metadataRows:"CommentCard_metadataRows__c-kqf",metadataRow:"CommentCard_metadataRow__BqcII",metadataLabel:"CommentCard_metadataLabel__WRWl7",metadataValue:"CommentCard_metadataValue__Xwf7S",metadataUnit:"CommentCard_metadataUnit__Bxeps",contextLine:"CommentCard_contextLine__Jyoui",contextItem:"CommentCard_contextItem__2Xmql",actionsRow:"CommentCard_actionsRow__1Ftxn",actions:"CommentCard_actions__mUmsV",trailingActions:"CommentCard_trailingActions__uGt-3",action:"CommentCard_action__ZfyBP",count:"CommentCard_count__stfpY",liked:"CommentCard_liked__zsBqe",replies:"CommentCard_replies__nRRYo",reply:"CommentCard_reply__7-U7Q",replyHeader:"CommentCard_replyHeader__sWnLA",replyNameRow:"CommentCard_replyNameRow__bs7h2",replyName:"CommentCard_replyName__C8tst",replyTimestamp:"CommentCard_replyTimestamp__YzuW1",replyText:"CommentCard_replyText__8JPKK"};e(".CommentCard_capped__izWBZ{display:flex;flex-direction:column;overflow:hidden}.CommentCard_bodySurface__scobR{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;min-height:0;overflow:hidden;padding:8px 12px}.CommentCard_editHeader__8aUBt{padding:8px 12px 0}.CommentCard_scrollBody__CIun9{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;min-height:0;overflow-x:hidden;overflow-y:auto}.CommentCard_footer__z3-CY{border-top:1px solid var(--palette-background-b-4);display:flex;flex-direction:column;flex-shrink:0;padding:4px 12px 8px}.CommentCard_repliesSection__iE7QO{padding:8px 12px 12px}.CommentCard_compactBody__zM10O{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;min-height:0;overflow:hidden;padding:8px 12px}.CommentCard_compactTop__LpiQi{align-items:center;display:flex;flex-shrink:0;gap:8px}.CommentCard_compactTime__JzVQR{color:var(--palette-primary-text-7);font-size:12px;line-height:16px;margin-left:auto;white-space:nowrap}.CommentCard_compactFooter__rgB4D{border-top:1px solid var(--palette-background-b-4);flex-shrink:0;padding:4px 12px 8px}.CommentCard_header__T1SH8{align-items:center;display:flex;flex-shrink:0;gap:8px}.CommentCard_headerText__DRsQG{display:flex;flex:1 0 0;flex-direction:column;min-width:0;word-break:break-word}.CommentCard_nameRow__Or1c0{align-items:center;display:flex;gap:8px;width:100%}.CommentCard_nameRow__Or1c0 .CommentCard_timestamp__EbJCO{margin-left:auto}.CommentCard_subtitle__d-XRe{color:var(--palette-primary-main);font-size:12px;line-height:16px}.CommentCard_avatar__NA2ZA{flex-shrink:0}.CommentCard_name__9-e7A{color:var(--palette-primary-text-1);flex:0 1 auto;font-size:14px;line-height:20px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.CommentCard_timestamp__EbJCO{color:var(--palette-primary-text-7)}.CommentCard_chip__4NUrf,.CommentCard_timestamp__EbJCO{flex-shrink:0;font-size:12px;line-height:16px;white-space:nowrap}.CommentCard_chip__4NUrf{align-items:center;background:rgb(from var(--palette-primary-text-1) r g b/.04);border-radius:8px;color:var(--palette-primary-text-6);display:flex;height:24px;padding:6px 8px}.CommentCard_chipAccented__Xl8ek{border-left:2px solid transparent}.CommentCard_bodyRow__ZUufY{align-items:center;display:flex;gap:8px}.CommentCard_text__eAIZM{color:var(--palette-primary-text-1);flex:1 1 auto;font-size:12px;line-height:16px;min-width:0;white-space:pre-wrap;word-break:break-word}.CommentCard_text__eAIZM a,.CommentCard_text__eAIZM button{font:inherit;padding:0;vertical-align:baseline}.CommentCard_attachment__KktIn{display:flex;flex-direction:column;gap:8px}.CommentCard_infoButton__gqcvK{align-items:center;color:var(--palette-primary-text-6);cursor:default;display:inline-flex}.CommentCard_infoButton__gqcvK:hover{color:var(--palette-primary-text-1)}.CommentCard_metadataTooltip__AL0xt .MuiTooltip-tooltip{max-width:none!important}.CommentCard_metadataRows__c-kqf{display:flex;flex-direction:column;gap:4px;padding:4px 0}.CommentCard_metadataRow__BqcII{align-items:baseline;display:flex;font-size:14px;gap:4px;line-height:20px;white-space:nowrap}.CommentCard_metadataLabel__WRWl7{color:var(--palette-primary-text-6)}.CommentCard_metadataValue__Xwf7S{color:var(--palette-primary-text-1)}.CommentCard_metadataUnit__Bxeps{color:var(--palette-primary-text-6);font-size:12px}.CommentCard_contextLine__Jyoui{align-items:center;color:var(--palette-primary-text-7);column-gap:16px;display:flex;flex-wrap:wrap;font-size:12px;line-height:16px;row-gap:4px}.CommentCard_contextItem__2Xmql{white-space:nowrap}.CommentCard_actionsRow__1Ftxn{align-items:center;display:flex;justify-content:space-between;width:100%}.CommentCard_actions__mUmsV{align-items:center;display:flex;gap:8px}.CommentCard_trailingActions__uGt-3{align-items:center;display:flex;gap:4px}.CommentCard_action__ZfyBP{align-items:center;display:flex;gap:2px}.CommentCard_count__stfpY{color:var(--palette-primary-text-6);font-size:12px;line-height:16px}.CommentCard_liked__zsBqe svg{color:var(--palette-primary-main)}.CommentCard_replies__nRRYo{display:flex;flex-direction:column;gap:8px}.CommentCard_reply__7-U7Q{display:flex;flex-direction:column;gap:4px}.CommentCard_replyHeader__sWnLA{align-items:center;display:flex;gap:8px}.CommentCard_replyNameRow__bs7h2{align-items:center;display:flex;flex:1 0 0;gap:12px;min-width:0}.CommentCard_replyName__C8tst{color:var(--palette-primary-text-1);font-size:14px;line-height:20px;white-space:nowrap}.CommentCard_replyTimestamp__YzuW1{color:var(--palette-primary-text-7);flex:1 0 0;font-size:12px;line-height:16px;min-width:0}.CommentCard_replyText__8JPKK{color:var(--palette-primary-text-1);font-size:12px;line-height:16px;padding-left:40px;white-space:pre-wrap;word-break:break-word}.CommentCard_replyText__8JPKK a,.CommentCard_replyText__8JPKK button{font:inherit;padding:0;vertical-align:baseline}");export{t as default};
1
+ import e from'./../../ext-esm/style-inject/dist/style-inject.es.js';var t={spacing:"8",capped:"CommentCard_capped__izWBZ",bodySurface:"CommentCard_bodySurface__scobR",editHeader:"CommentCard_editHeader__8aUBt",scrollBody:"CommentCard_scrollBody__CIun9",footer:"CommentCard_footer__z3-CY",repliesSection:"CommentCard_repliesSection__iE7QO",compactBody:"CommentCard_compactBody__zM10O",compactTop:"CommentCard_compactTop__LpiQi",compactTime:"CommentCard_compactTime__JzVQR",compactFooter:"CommentCard_compactFooter__rgB4D",header:"CommentCard_header__T1SH8",headerText:"CommentCard_headerText__DRsQG",nameRow:"CommentCard_nameRow__Or1c0",timestamp:"CommentCard_timestamp__EbJCO",subtitle:"CommentCard_subtitle__d-XRe",avatar:"CommentCard_avatar__NA2ZA",name:"CommentCard_name__9-e7A",chip:"CommentCard_chip__4NUrf",chipAccented:"CommentCard_chipAccented__Xl8ek",bodyRow:"CommentCard_bodyRow__ZUufY",text:"CommentCard_text__eAIZM",attachment:"CommentCard_attachment__KktIn",infoButton:"CommentCard_infoButton__gqcvK",metadataTooltip:"CommentCard_metadataTooltip__AL0xt",metadataRows:"CommentCard_metadataRows__c-kqf",metadataRow:"CommentCard_metadataRow__BqcII",metadataLabel:"CommentCard_metadataLabel__WRWl7",metadataValue:"CommentCard_metadataValue__Xwf7S",metadataUnit:"CommentCard_metadataUnit__Bxeps",contextLine:"CommentCard_contextLine__Jyoui",contextItem:"CommentCard_contextItem__2Xmql",actionsRow:"CommentCard_actionsRow__1Ftxn",actions:"CommentCard_actions__mUmsV",trailingActions:"CommentCard_trailingActions__uGt-3",action:"CommentCard_action__ZfyBP",count:"CommentCard_count__stfpY",liked:"CommentCard_liked__zsBqe",replies:"CommentCard_replies__nRRYo",reply:"CommentCard_reply__7-U7Q",replyHeader:"CommentCard_replyHeader__sWnLA",replyNameRow:"CommentCard_replyNameRow__bs7h2",replyName:"CommentCard_replyName__C8tst",replyTimestamp:"CommentCard_replyTimestamp__YzuW1",replyText:"CommentCard_replyText__8JPKK"};e(".CommentCard_capped__izWBZ{flex-direction:column}.CommentCard_bodySurface__scobR,.CommentCard_capped__izWBZ{overflow-clip-margin:12px;display:flex;overflow:hidden;overflow:clip}.CommentCard_bodySurface__scobR{flex:1 1 auto;flex-direction:column;gap:8px;min-height:0;padding:8px 12px}.CommentCard_editHeader__8aUBt{padding:8px 12px 0}.CommentCard_scrollBody__CIun9{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;margin:0 -24px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 24px}.CommentCard_footer__z3-CY{border-top:1px solid var(--palette-background-b-4);display:flex;flex-direction:column;flex-shrink:0;padding:4px 12px 8px}.CommentCard_repliesSection__iE7QO{padding:8px 12px 12px}.CommentCard_compactBody__zM10O{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;min-height:0;overflow:hidden;padding:8px 12px}.CommentCard_compactTop__LpiQi{align-items:center;display:flex;flex-shrink:0;gap:8px}.CommentCard_compactTime__JzVQR{color:var(--palette-primary-text-7);font-size:12px;line-height:16px;margin-left:auto;white-space:nowrap}.CommentCard_compactFooter__rgB4D{border-top:1px solid var(--palette-background-b-4);flex-shrink:0;padding:4px 12px 8px}.CommentCard_header__T1SH8{align-items:center;display:flex;flex-shrink:0;gap:8px}.CommentCard_headerText__DRsQG{display:flex;flex:1 0 0;flex-direction:column;min-width:0;word-break:break-word}.CommentCard_nameRow__Or1c0{align-items:center;display:flex;gap:8px;width:100%}.CommentCard_nameRow__Or1c0 .CommentCard_timestamp__EbJCO{margin-left:auto}.CommentCard_subtitle__d-XRe{color:var(--palette-primary-main);font-size:12px;line-height:16px}.CommentCard_avatar__NA2ZA{flex-shrink:0}.CommentCard_name__9-e7A{color:var(--palette-primary-text-1);flex:0 1 auto;font-size:14px;line-height:20px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.CommentCard_timestamp__EbJCO{color:var(--palette-primary-text-7)}.CommentCard_chip__4NUrf,.CommentCard_timestamp__EbJCO{flex-shrink:0;font-size:12px;line-height:16px;white-space:nowrap}.CommentCard_chip__4NUrf{align-items:center;background:rgb(from var(--palette-primary-text-1) r g b/.04);border-radius:8px;color:var(--palette-primary-text-6);display:flex;height:24px;padding:6px 8px}.CommentCard_chipAccented__Xl8ek{border-left:2px solid transparent}.CommentCard_bodyRow__ZUufY{align-items:center;display:flex;gap:8px}.CommentCard_text__eAIZM{color:var(--palette-primary-text-1);flex:1 1 auto;font-size:12px;line-height:16px;min-width:0;white-space:pre-wrap;word-break:break-word}.CommentCard_text__eAIZM a,.CommentCard_text__eAIZM button{font:inherit;padding:0;vertical-align:baseline}.CommentCard_attachment__KktIn{--attachment-arrow-outset:12px;display:flex;flex-direction:column;gap:8px}.CommentCard_infoButton__gqcvK{align-items:center;color:var(--palette-primary-text-6);cursor:default;display:inline-flex}.CommentCard_infoButton__gqcvK:hover{color:var(--palette-primary-text-1)}.CommentCard_metadataTooltip__AL0xt .MuiTooltip-tooltip{max-width:none!important}.CommentCard_metadataRows__c-kqf{display:flex;flex-direction:column;gap:4px;padding:4px 0}.CommentCard_metadataRow__BqcII{align-items:baseline;display:flex;font-size:14px;gap:4px;line-height:20px;white-space:nowrap}.CommentCard_metadataLabel__WRWl7{color:var(--palette-primary-text-6)}.CommentCard_metadataValue__Xwf7S{color:var(--palette-primary-text-1)}.CommentCard_metadataUnit__Bxeps{color:var(--palette-primary-text-6);font-size:12px}.CommentCard_contextLine__Jyoui{align-items:center;color:var(--palette-primary-text-7);column-gap:16px;display:flex;flex-wrap:wrap;font-size:12px;line-height:16px;row-gap:4px}.CommentCard_contextItem__2Xmql{white-space:nowrap}.CommentCard_actionsRow__1Ftxn{align-items:center;display:flex;justify-content:space-between;width:100%}.CommentCard_actions__mUmsV{align-items:center;display:flex;gap:8px}.CommentCard_trailingActions__uGt-3{align-items:center;display:flex;gap:4px}.CommentCard_action__ZfyBP{align-items:center;display:flex;gap:2px}.CommentCard_count__stfpY{color:var(--palette-primary-text-6);font-size:12px;line-height:16px}.CommentCard_liked__zsBqe svg{color:var(--palette-primary-main)}.CommentCard_replies__nRRYo{display:flex;flex-direction:column;gap:8px}.CommentCard_reply__7-U7Q{display:flex;flex-direction:column;gap:4px}.CommentCard_replyHeader__sWnLA{align-items:center;display:flex;gap:8px}.CommentCard_replyNameRow__bs7h2{align-items:center;display:flex;flex:1 0 0;gap:12px;min-width:0}.CommentCard_replyName__C8tst{color:var(--palette-primary-text-1);font-size:14px;line-height:20px;white-space:nowrap}.CommentCard_replyTimestamp__YzuW1{color:var(--palette-primary-text-7);flex:1 0 0;font-size:12px;line-height:16px;min-width:0}.CommentCard_replyText__8JPKK{color:var(--palette-primary-text-1);font-size:12px;line-height:16px;padding-left:40px;white-space:pre-wrap;word-break:break-word}.CommentCard_replyText__8JPKK a,.CommentCard_replyText__8JPKK button{font:inherit;padding:0;vertical-align:baseline}");export{t as default};
2
2
  //# sourceMappingURL=CommentCard.scss.js.map
@@ -1,2 +1,2 @@
1
- import e from'./../../ext-esm/style-inject/dist/style-inject.es.js';var t={spacing:"8",root:"CommentInputNext_root__5uxKl",dropOverlay:"CommentInputNext_dropOverlay__E5Riv",inputPanel:"CommentInputNext_inputPanel__4KOFc",rootEmbedded:"CommentInputNext_rootEmbedded__-LyQl",toolbarRow:"CommentInputNext_toolbarRow__L8xXu",divider:"CommentInputNext_divider__LWp-3",metaShare:"CommentInputNext_metaShare__yJ8GZ",rootBare:"CommentInputNext_rootBare__lxyYY",fieldRow:"CommentInputNext_fieldRow__Rqcbr",leading:"CommentInputNext_leading__yDBbV",field:"CommentInputNext_field__OpnOp",fieldExpanded:"CommentInputNext_fieldExpanded__w1omA",fieldDisabled:"CommentInputNext_fieldDisabled__g3aIT",bareToolbar:"CommentInputNext_bareToolbar__nFQP-",fieldMain:"CommentInputNext_fieldMain__Rs8-Y",attachment:"CommentInputNext_attachment__2EDgL",input:"CommentInputNext_input__w6b1c",toolbar:"CommentInputNext_toolbar__Zs2OG",send:"CommentInputNext_send__p248I"};e(".CommentInputNext_root__5uxKl{background:var(--palette-background-b-6);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;position:relative}.CommentInputNext_dropOverlay__E5Riv{align-items:center;background:rgb(from var(--palette-primary-main) r g b/.1);border:1px dashed var(--palette-primary-main);border-radius:inherit;color:var(--palette-primary-main);display:flex;font-size:14px;inset:0;justify-content:center;line-height:20px;pointer-events:none;position:absolute;z-index:5}.CommentInputNext_inputPanel__4KOFc{display:flex;flex-direction:column;gap:8px;padding:12px 12px 8px}.CommentInputNext_rootEmbedded__-LyQl{background:transparent;border-radius:0;overflow:visible}.CommentInputNext_toolbarRow__L8xXu{align-items:center;display:flex;justify-content:space-between;width:100%}.CommentInputNext_divider__LWp-3{background:var(--palette-background-b-4);height:1px}.CommentInputNext_metaShare__yJ8GZ{color:var(--palette-primary-text-6);display:flex;flex-direction:column;gap:8px;padding:8px 12px}.CommentInputNext_rootBare__lxyYY{display:flex;flex-direction:column;gap:8px;position:relative}.CommentInputNext_fieldRow__Rqcbr{align-items:flex-start;display:flex;gap:8px}.CommentInputNext_leading__yDBbV{flex-shrink:0}.CommentInputNext_field__OpnOp{align-items:flex-end;background:rgb(from var(--palette-primary-text-1) r g b/.04);border:1px solid rgb(from var(--palette-primary-text-1) r g b/.04);border-radius:8px;display:flex;flex:1 0 0;gap:8px;max-height:256px;min-height:36px;min-width:0;overflow:hidden;padding:6px 8px}.CommentInputNext_field__OpnOp:focus-within{border-color:var(--palette-primary-main)}.CommentInputNext_fieldExpanded__w1omA{max-height:none;overflow:visible}.CommentInputNext_fieldDisabled__g3aIT{opacity:.6}.CommentInputNext_bareToolbar__nFQP-{align-items:center;color:var(--palette-primary-text-6);display:flex;flex-shrink:0}.CommentInputNext_fieldMain__Rs8-Y{flex:1 0 0;min-width:0}.CommentInputNext_attachment__2EDgL,.CommentInputNext_fieldMain__Rs8-Y{display:flex;flex-direction:column;gap:8px}.CommentInputNext_input__w6b1c{background:transparent;border:none;color:var(--palette-primary-text-1);font:inherit;font-size:14px;line-height:20px;outline:none;resize:none;width:100%}.CommentInputNext_input__w6b1c::placeholder{color:var(--palette-primary-text-9)}.CommentInputNext_input__w6b1c:disabled{cursor:not-allowed}.CommentInputNext_toolbar__Zs2OG{align-items:center;color:var(--palette-primary-text-6);display:flex;gap:4px;margin-left:-4px}.CommentInputNext_send__p248I{flex-shrink:0}");export{t as default};
1
+ import e from'./../../ext-esm/style-inject/dist/style-inject.es.js';var t={spacing:"8",root:"CommentInputNext_root__5uxKl",dropOverlay:"CommentInputNext_dropOverlay__E5Riv",inputPanel:"CommentInputNext_inputPanel__4KOFc",rootEmbedded:"CommentInputNext_rootEmbedded__-LyQl",toolbarRow:"CommentInputNext_toolbarRow__L8xXu",divider:"CommentInputNext_divider__LWp-3",metaShare:"CommentInputNext_metaShare__yJ8GZ",rootBare:"CommentInputNext_rootBare__lxyYY",fieldRow:"CommentInputNext_fieldRow__Rqcbr",leading:"CommentInputNext_leading__yDBbV",field:"CommentInputNext_field__OpnOp",fieldExpanded:"CommentInputNext_fieldExpanded__w1omA",fieldDisabled:"CommentInputNext_fieldDisabled__g3aIT",bareToolbar:"CommentInputNext_bareToolbar__nFQP-",fieldMain:"CommentInputNext_fieldMain__Rs8-Y",attachment:"CommentInputNext_attachment__2EDgL",input:"CommentInputNext_input__w6b1c",toolbar:"CommentInputNext_toolbar__Zs2OG",send:"CommentInputNext_send__p248I"};e(".CommentInputNext_root__5uxKl{overflow-clip-margin:12px;background:var(--palette-background-b-6);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;overflow:clip;position:relative}.CommentInputNext_dropOverlay__E5Riv{align-items:center;background:rgb(from var(--palette-primary-main) r g b/.1);border:1px dashed var(--palette-primary-main);border-radius:inherit;color:var(--palette-primary-main);display:flex;font-size:14px;inset:0;justify-content:center;line-height:20px;pointer-events:none;position:absolute;z-index:5}.CommentInputNext_inputPanel__4KOFc{--attachment-arrow-outset:12px;display:flex;flex-direction:column;gap:8px;padding:12px 12px 8px}.CommentInputNext_rootEmbedded__-LyQl{background:transparent;border-radius:0;overflow:visible}.CommentInputNext_toolbarRow__L8xXu{align-items:center;display:flex;justify-content:space-between;width:100%}.CommentInputNext_divider__LWp-3{background:var(--palette-background-b-4);height:1px}.CommentInputNext_metaShare__yJ8GZ{color:var(--palette-primary-text-6);display:flex;flex-direction:column;gap:8px;padding:8px 12px}.CommentInputNext_rootBare__lxyYY{display:flex;flex-direction:column;gap:8px;position:relative}.CommentInputNext_fieldRow__Rqcbr{align-items:flex-start;display:flex;gap:8px}.CommentInputNext_leading__yDBbV{flex-shrink:0}.CommentInputNext_field__OpnOp{--attachment-arrow-outset:8px;align-items:flex-end;background:rgb(from var(--palette-primary-text-1) r g b/.04);border:1px solid rgb(from var(--palette-primary-text-1) r g b/.04);border-radius:8px;display:flex;flex:1 0 0;gap:8px;max-height:256px;min-height:36px;min-width:0;overflow:hidden;padding:6px 8px}.CommentInputNext_field__OpnOp:focus-within{border-color:var(--palette-primary-main)}.CommentInputNext_fieldExpanded__w1omA{max-height:none;overflow:visible}.CommentInputNext_fieldDisabled__g3aIT{opacity:.6}.CommentInputNext_bareToolbar__nFQP-{align-items:center;color:var(--palette-primary-text-6);display:flex;flex-shrink:0}.CommentInputNext_fieldMain__Rs8-Y{flex:1 0 0;min-width:0}.CommentInputNext_attachment__2EDgL,.CommentInputNext_fieldMain__Rs8-Y{display:flex;flex-direction:column;gap:8px}.CommentInputNext_input__w6b1c{background:transparent;border:none;color:var(--palette-primary-text-1);font:inherit;font-size:14px;line-height:20px;outline:none;resize:none;width:100%}.CommentInputNext_input__w6b1c::placeholder{color:var(--palette-primary-text-9)}.CommentInputNext_input__w6b1c:disabled{cursor:not-allowed}.CommentInputNext_toolbar__Zs2OG{align-items:center;color:var(--palette-primary-text-6);display:flex;gap:4px;margin-left:-4px}.CommentInputNext_send__p248I{flex-shrink:0}");export{t as default};
2
2
  //# sourceMappingURL=CommentInputNext.scss.js.map
@@ -1,2 +1,2 @@
1
- import r from'./../../ext-esm/style-inject/dist/style-inject.es.js';var e={spacing:"8",root:"FeedCard_root__3hrMo"};r(".FeedCard_root__3hrMo{backdrop-filter:blur(2px);background:rgb(from var(--palette-background-b-6) r g b/.9);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}");export{e as default};
1
+ import r from'./../../ext-esm/style-inject/dist/style-inject.es.js';var o={spacing:"8",root:"FeedCard_root__3hrMo"};r(".FeedCard_root__3hrMo{overflow-clip-margin:12px;backdrop-filter:blur(2px);background:rgb(from var(--palette-background-b-6) r g b/.9);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;overflow:clip}");export{o as default};
2
2
  //# sourceMappingURL=FeedCard.scss.js.map
@@ -1,2 +1,2 @@
1
- import o from'./../../ext-esm/style-inject/dist/style-inject.es.js';var r={spacing:"8",root:"Popover_root__jbuJL",paper:"Popover_paper__wjJL5",backdrop:"Popover_backdrop__MLBZb"};o(".Popover_root__jbuJL{z-index:var(--z-index-modal)}.Popover_root__jbuJL[x-placement=top-start] .Popover_paper__wjJL5{transform-origin:left bottom}.Popover_root__jbuJL[x-placement=top] .Popover_paper__wjJL5{transform-origin:center bottom}.Popover_root__jbuJL[x-placement=top-end] .Popover_paper__wjJL5{transform-origin:right bottom}.Popover_root__jbuJL[x-placement=left-start] .Popover_paper__wjJL5{transform-origin:right top}.Popover_root__jbuJL[x-placement=left] .Popover_paper__wjJL5{transform-origin:right center}.Popover_root__jbuJL[x-placement=left-end] .Popover_paper__wjJL5{transform-origin:right bottom}.Popover_root__jbuJL[x-placement=right-start] .Popover_paper__wjJL5{transform-origin:left top}.Popover_root__jbuJL[x-placement=right] .Popover_paper__wjJL5{transform-origin:left center}.Popover_root__jbuJL[x-placement=right-end] .Popover_paper__wjJL5{transform-origin:left bottom}.Popover_root__jbuJL[x-placement=bottom-start] .Popover_paper__wjJL5{transform-origin:left top}.Popover_root__jbuJL[x-placement=bottom] .Popover_paper__wjJL5{transform-origin:center top}.Popover_root__jbuJL[x-placement=bottom-end] .Popover_paper__wjJL5{transform-origin:right top}.Popover_backdrop__MLBZb{inset:0;position:fixed}.Popover_paper__wjJL5{max-height:calc(100vh - 32px);max-width:calc(100vw - 32px);min-height:16px;min-width:16px;outline:0;overflow-x:hidden;overflow-y:auto}");export{r as default};
1
+ import o from'./../../ext-esm/style-inject/dist/style-inject.es.js';var r={spacing:"8",root:"Popover_root__jbuJL",paper:"Popover_paper__wjJL5",backdrop:"Popover_backdrop__MLBZb"};o(".Popover_root__jbuJL{z-index:var(--z-index-modal)}.Popover_root__jbuJL[x-placement=top-start] .Popover_paper__wjJL5{transform-origin:left bottom}.Popover_root__jbuJL[x-placement=top] .Popover_paper__wjJL5{transform-origin:center bottom}.Popover_root__jbuJL[x-placement=top-end] .Popover_paper__wjJL5{transform-origin:right bottom}.Popover_root__jbuJL[x-placement=left-start] .Popover_paper__wjJL5{transform-origin:right top}.Popover_root__jbuJL[x-placement=left] .Popover_paper__wjJL5{transform-origin:right center}.Popover_root__jbuJL[x-placement=left-end] .Popover_paper__wjJL5{transform-origin:right bottom}.Popover_root__jbuJL[x-placement=right-start] .Popover_paper__wjJL5{transform-origin:left top}.Popover_root__jbuJL[x-placement=right] .Popover_paper__wjJL5{transform-origin:left center}.Popover_root__jbuJL[x-placement=right-end] .Popover_paper__wjJL5{transform-origin:left bottom}.Popover_root__jbuJL[x-placement=bottom-start] .Popover_paper__wjJL5{transform-origin:left top}.Popover_root__jbuJL[x-placement=bottom] .Popover_paper__wjJL5{transform-origin:center top}.Popover_root__jbuJL[x-placement=bottom-end] .Popover_paper__wjJL5{transform-origin:right top}.Popover_backdrop__MLBZb{inset:0;position:fixed}.Popover_paper__wjJL5{max-height:calc(100vh - 32px);max-width:calc(100vw - 32px);min-height:16px;min-width:16px;outline:0;overflow-x:hidden;overflow-y:auto}.Popover_paper__wjJL5:has(.corva-attachment-strip){overflow:visible}");export{r as default};
2
2
  //# sourceMappingURL=Popover.scss.js.map
@@ -248,7 +248,7 @@ const validateDsn = dsn => {
248
248
 
249
249
  const MCP_SERVER_VERSION = '1.5.0';
250
250
 
251
- var version = "3.76.0-3";
251
+ var version = "3.76.0-5";
252
252
 
253
253
  const CORVA_UI_VERSION = version;
254
254
 
@@ -8574,6 +8574,10 @@ var componentsV1Data = [{
8574
8574
  name: "Reorderable",
8575
8575
  description: "",
8576
8576
  code: "{\n const [items, setItems] = useState(REORDERABLE);\n\n return (\n <div style={{ background: '#1c1c1c', padding: 24, width: 420 }}>\n <AttachmentPreview\n items={items}\n onRemove={id => setItems(prev => prev.filter(item => item.id !== id))}\n onReorder={orderedIds =>\n setItems(prev =>\n orderedIds.map(\n id => prev.find(item => String(item.id) === String(id)) as Props['items'][number]\n )\n )\n }\n />\n </div>\n );\n}"
8577
+ }, {
8578
+ name: "Overflowing",
8579
+ description: "",
8580
+ code: "<div style={{ background: '#1c1c1c', padding: 24, width: 300 }}>\n <AttachmentPreview\n items={[\n { id: 1, name: 'log.png', kind: 'image', src: img },\n { id: 2, name: 'run.mp4', kind: 'video', src: img },\n { id: 3, name: 'Corva report.xls', kind: 'file' },\n { id: 4, name: 'notes.pdf', kind: 'file' },\n { id: 5, name: 'survey.png', kind: 'image', src: img },\n { id: 6, name: 'torque.png', kind: 'image', src: img },\n ]}\n />\n </div>"
8577
8581
  }, {
8578
8582
  name: "Uploading",
8579
8583
  description: "",
@@ -9775,7 +9779,7 @@ var componentsV1Data = [{
9775
9779
  }, {
9776
9780
  name: "WithAttachments",
9777
9781
  description: "Attachments (AttachmentPreview) in the `attachmentSlot`, below the body.",
9778
- code: "<Frame>\n <CommentCard\n variant=\"expanded\"\n width={364}\n author={{ name: 'Name Name' }}\n timestamp=\"Nov 14 2025, 13:20\"\n subtitle=\"Rig Name - Well Name\"\n contextRows={metadata}\n body=\"Check the bottom slips on Penelope 9\"\n attachmentSlot={\n <AttachmentPreview\n onRemove={() => {}}\n items={[\n { id: 1, name: 'log.png', kind: 'image', src: img },\n { id: 2, name: 'Corva report.xls', kind: 'file' },\n ]}\n />\n }\n commentsCount={1}\n onReplyToggle={() => {}}\n onForward={() => {}}\n menuItems={menuItems}\n />\n </Frame>"
9782
+ code: "<Frame>\n <CommentCard\n variant=\"expanded\"\n width={364}\n author={{ name: 'Name Name' }}\n timestamp=\"Nov 14 2025, 13:20\"\n subtitle=\"Rig Name - Well Name\"\n contextRows={metadata}\n body=\"Check the bottom slips on Penelope 9\"\n attachmentSlot={\n <AttachmentPreview\n onRemove={() => {}}\n items={[\n { id: 1, name: 'log.png', kind: 'image', src: img },\n { id: 2, name: 'Corva report.xls', kind: 'file' },\n { id: 3, name: 'survey.png', kind: 'image', src: img },\n { id: 4, name: 'notes.pdf', kind: 'file' },\n { id: 5, name: 'torque.png', kind: 'image', src: img },\n ]}\n />\n }\n commentsCount={1}\n onReplyToggle={() => {}}\n onForward={() => {}}\n menuItems={menuItems}\n />\n </Frame>"
9779
9783
  }, {
9780
9784
  name: "EditMode",
9781
9785
  description: "Edit mode — the body is replaced by an app-supplied form.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corva/ui",
3
- "version": "3.76.0-3",
3
+ "version": "3.76.0-5",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Shared components/utils for Corva ui projects",
6
6
  "repository": {
@@ -180,3 +180,17 @@ $AppContainer-ContainerName: CorvaUI-AppContainer-root;
180
180
  transform: translate(-50%, -50%) rotate(-45deg);
181
181
  }
182
182
  }
183
+
184
+ // The attachment strip's scroll arrows are centred on their host's border (12px overhang, see
185
+ // AttachmentPreview.scss). Every clipping ancestor between the strip and that border must allow
186
+ // the overhang: `clip` keeps rounded-corner/max-height clipping while clip-margin adds the
187
+ // slack. Browsers without clip-margin (Safari) clip at the border; the arrows fall back to a
188
+ // flush-inside placement there. The margin applies on all four sides — nothing else may rely
189
+ // on painting into that band.
190
+ $attachment-arrow-overhang: 12px;
191
+
192
+ @mixin clip-with-arrow-room {
193
+ overflow: hidden;
194
+ overflow: clip;
195
+ overflow-clip-margin: $attachment-arrow-overhang;
196
+ }
@@ -65,3 +65,17 @@
65
65
  transform: translate(-50%, -50%) rotate(-45deg);
66
66
  }
67
67
  }
68
+
69
+ // The attachment strip's scroll arrows are centred on their host's border (12px overhang, see
70
+ // AttachmentPreview.scss). Every clipping ancestor between the strip and that border must allow
71
+ // the overhang: `clip` keeps rounded-corner/max-height clipping while clip-margin adds the
72
+ // slack. Browsers without clip-margin (Safari) clip at the border; the arrows fall back to a
73
+ // flush-inside placement there. The margin applies on all four sides — nothing else may rely
74
+ // on painting into that band.
75
+ $attachment-arrow-overhang: 12px;
76
+
77
+ @mixin clip-with-arrow-room {
78
+ overflow: hidden;
79
+ overflow: clip;
80
+ overflow-clip-margin: $attachment-arrow-overhang;
81
+ }