@oxyhq/bloom 0.34.2 → 0.35.0

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 (41) hide show
  1. package/lib/commonjs/avatar-group/AvatarGroup.js +3 -2
  2. package/lib/commonjs/avatar-group/AvatarGroup.js.map +1 -1
  3. package/lib/commonjs/avatar-group/AvatarGroup.web.js +5 -5
  4. package/lib/commonjs/avatar-group/AvatarGroupBase.js +217 -48
  5. package/lib/commonjs/avatar-group/AvatarGroupBase.js.map +1 -1
  6. package/lib/commonjs/avatar-group/cluster-layout.js +217 -0
  7. package/lib/commonjs/avatar-group/cluster-layout.js.map +1 -0
  8. package/lib/commonjs/zoomable-image-gallery/ZoomableImageGallery.js +23 -13
  9. package/lib/commonjs/zoomable-image-gallery/ZoomableImageGallery.js.map +1 -1
  10. package/lib/module/avatar-group/AvatarGroup.js +3 -2
  11. package/lib/module/avatar-group/AvatarGroup.js.map +1 -1
  12. package/lib/module/avatar-group/AvatarGroup.web.js +5 -5
  13. package/lib/module/avatar-group/AvatarGroupBase.js +217 -48
  14. package/lib/module/avatar-group/AvatarGroupBase.js.map +1 -1
  15. package/lib/module/avatar-group/cluster-layout.js +213 -0
  16. package/lib/module/avatar-group/cluster-layout.js.map +1 -0
  17. package/lib/module/zoomable-image-gallery/ZoomableImageGallery.js +23 -13
  18. package/lib/module/zoomable-image-gallery/ZoomableImageGallery.js.map +1 -1
  19. package/lib/typescript/commonjs/avatar-group/AvatarGroup.d.ts.map +1 -1
  20. package/lib/typescript/commonjs/avatar-group/AvatarGroupBase.d.ts.map +1 -1
  21. package/lib/typescript/commonjs/avatar-group/cluster-layout.d.ts +48 -0
  22. package/lib/typescript/commonjs/avatar-group/cluster-layout.d.ts.map +1 -0
  23. package/lib/typescript/commonjs/avatar-group/types.d.ts +23 -5
  24. package/lib/typescript/commonjs/avatar-group/types.d.ts.map +1 -1
  25. package/lib/typescript/commonjs/zoomable-image-gallery/ZoomableImageGallery.d.ts.map +1 -1
  26. package/lib/typescript/module/avatar-group/AvatarGroup.d.ts.map +1 -1
  27. package/lib/typescript/module/avatar-group/AvatarGroupBase.d.ts.map +1 -1
  28. package/lib/typescript/module/avatar-group/cluster-layout.d.ts +48 -0
  29. package/lib/typescript/module/avatar-group/cluster-layout.d.ts.map +1 -0
  30. package/lib/typescript/module/avatar-group/types.d.ts +23 -5
  31. package/lib/typescript/module/avatar-group/types.d.ts.map +1 -1
  32. package/lib/typescript/module/zoomable-image-gallery/ZoomableImageGallery.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/src/__tests__/AvatarGroupCluster.test.tsx +123 -0
  35. package/src/avatar-group/AvatarGroup.stories.tsx +68 -0
  36. package/src/avatar-group/AvatarGroup.tsx +3 -2
  37. package/src/avatar-group/AvatarGroup.web.tsx +5 -5
  38. package/src/avatar-group/AvatarGroupBase.tsx +298 -89
  39. package/src/avatar-group/cluster-layout.ts +204 -0
  40. package/src/avatar-group/types.ts +23 -5
  41. package/src/zoomable-image-gallery/ZoomableImageGallery.tsx +27 -12
@@ -379,6 +379,15 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
379
379
  React.useImperativeHandle(ref, () => ({
380
380
  open
381
381
  }), [open]);
382
+
383
+ // Tapping the backdrop dismisses. Uses the same Gesture system as every
384
+ // other interaction in this component (image tap, pinch, pan, double-tap)
385
+ // instead of a plain RN Pressable, so the backdrop isn't the one interaction
386
+ // mixing two different event-handling systems under the same
387
+ // GestureHandlerRootView.
388
+ const backdropTapGesture = useMemo(() => Gesture.Tap().onEnd(() => {
389
+ runOnJS(handleDismiss)();
390
+ }), [handleDismiss]);
382
391
  const panGesture = useMemo(() => Gesture.Pan()
383
392
  // Disabled while zoomed so a drag pans the zoomed image (via the
384
393
  // per-page pan gesture) instead of trying to dismiss the whole viewer.
@@ -630,19 +639,20 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
630
639
  }, [handleDismiss, isOpen, pageTo]);
631
640
  const renderContent = () => /*#__PURE__*/_jsxs(GestureHandlerRootView, {
632
641
  style: styles.modalContainer,
633
- children: [/*#__PURE__*/_jsx(Pressable, {
634
- style: StyleSheet.absoluteFill,
635
- onPress: handleDismiss,
636
- hitSlop: 0,
637
- children: /*#__PURE__*/_jsx(AnimatedBlurView, {
638
- intensity: 80,
639
- tint: theme.isDark ? 'dark' : 'light',
640
- experimentalBlurMethod: "dimezisBlurView",
641
- style: [StyleSheet.absoluteFill, backdropStyle],
642
- children: /*#__PURE__*/_jsx(Animated.View, {
643
- style: [StyleSheet.absoluteFill, {
644
- backgroundColor: theme.colors.overlay
645
- }, backdropStyle]
642
+ children: [/*#__PURE__*/_jsx(GestureDetector, {
643
+ gesture: backdropTapGesture,
644
+ children: /*#__PURE__*/_jsx(Animated.View, {
645
+ style: StyleSheet.absoluteFill,
646
+ children: /*#__PURE__*/_jsx(AnimatedBlurView, {
647
+ intensity: 80,
648
+ tint: theme.isDark ? 'dark' : 'light',
649
+ experimentalBlurMethod: "dimezisBlurView",
650
+ style: [StyleSheet.absoluteFill, backdropStyle],
651
+ children: /*#__PURE__*/_jsx(Animated.View, {
652
+ style: [StyleSheet.absoluteFill, {
653
+ backgroundColor: theme.colors.overlay
654
+ }, backdropStyle]
655
+ })
646
656
  })
647
657
  })
648
658
  }), /*#__PURE__*/_jsx(GestureDetector, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","Text","StyleSheet","Pressable","Platform","ScrollView","Share","useWindowDimensions","Image","BlurView","Animated","useSharedValue","useAnimatedStyle","withSpring","withTiming","runOnJS","Easing","GestureHandlerRootView","Gesture","GestureDetector","useTheme","Portal","PressableWithHover","ArrowLeft_Stroke2_Corner0_Rounded","ArrowRight_Stroke2_Corner0_Rounded","ArrowOutOfBox_Stroke2_Corner0_Rounded","Z_INDEX","getAspectRatio","fetchAspectRatio","DEFAULT_ASPECT_RATIO","FIT_FRACTION","MAX_DRAG_FRACTION","SCALE_DRAG_FRACTION","MIN_DRAG_SCALE","DISMISS_FRACTION","AXIS_DECISION_OFFSET","OPEN_DURATION_WEB","CLOSE_DURATION_WEB","OPACITY_DURATION","OPEN_SPRING","CLOSE_SPRING","SNAP_BACK_SPRING","DEFAULT_CORNER_RADIUS","MIN_ZOOM_SCALE","MAX_ZOOM_SCALE","ZOOM_SNAP_THRESHOLD","DOUBLE_TAP_ZOOM_SCALE","ZOOM_PAN_DAMPING","ZOOM_PAN_MAX_BASE","THUMBNAIL_STRIP_TILE_SIZE","jsx","_jsx","jsxs","_jsxs","AnimatedBlurView","createAnimatedComponent","AnimatedImage","webPointerStyle","select","web","userSelect","cursor","default","undefined","webUserSelectNoneStyle","ZoomableImageGalleryInner","forwardRef","measureThumb","cornerRadius","indicatorVariant","ref","theme","width","SCREEN_WIDTH","height","SCREEN_HEIGHT","isOpen","setIsOpen","pagerReady","setPagerReady","images","setImages","activeIndex","setActiveIndex","isZoomed","setIsZoomed","openRatio","setOpenRatio","pageRatios","setPageRatios","canShare","OS","navigator","share","scale","translateX","translateY","opacity","zoomScale","zoomTranslateX","zoomTranslateY","baseZoomScale","savedZoomTranslateX","savedZoomTranslateY","originX","originY","startX","startY","startScale","originScale","pagerRef","pendingIndexRef","activeIndexRef","setActiveIndexBoth","next","current","prev","resetZoom","value","fitBox","fitForRatio","ratio","safeRatio","Number","isFinite","activeRatio","activeFit","activeAlt","alt","trim","ensureRatio","index","uri","cached","then","finalizeDismiss","flyBackTo","target","duration","easing","in","cubic","x","y","setTimeout","fadeOutCenter","handleDismiss","centerX","centerY","rect","revealPager","open","nextImages","length","safeIndex","Math","min","max","knownRatio","aspectRatio","initialRatios","forEach","img","i","r","resolved","fitted","requestAnimationFrame","out","useImperativeHandle","panGesture","Pan","enabled","activeOffsetY","failOffsetX","onStart","onUpdate","event","translationX","translationY","dragDistance","sqrt","maxDrag","scaleReduction","onEnd","backdropStyle","openImageStyle","transform","pagerContainerStyle","zoomImageStyle","updateIndexFromOffset","offsetX","lastIndex","round","pageTo","clamped","scrollTo","animated","onPagerScroll","nativeEvent","contentOffset","onPagerLayout","idx","zoomToPoint","maxOffset","offsetY","doubleTapGesture","Tap","numberOfTaps","singleTapDismissGesture","tapGesture","Exclusive","pinchGesture","Pinch","panWhileZoomedGesture","minPointers","maxPointers","nextX","nextY","maxTranslation","activePageGesture","Simultaneous","handleShare","url","err","Error","name","console","error","document","handler","e","key","stopPropagation","addEventListener","removeEventListener","renderContent","style","styles","modalContainer","children","absoluteFill","onPress","hitSlop","intensity","tint","isDark","experimentalBlurMethod","backgroundColor","colors","overlay","gesture","zoomContainer","pointerEvents","source","contentFit","borderRadius","transition","draggable","horizontal","pagingEnabled","scrollEnabled","showsHorizontalScrollIndicator","onLayout","onMomentumScrollEnd","onScroll","scrollEventThrottle","map","fit","page","indicatorWrap","counterPill","counterText","thumbStripScroll","contentContainerStyle","thumbStripContent","accessibilityRole","accessibilityLabel","thumbTile","thumbTileActive","thumbTileInactive","thumbTileImage","dotsRow","dot","dotActive","dotInactive","navArrow","navArrowLeft","hoverStyle","navArrowHoverLeft","fill","size","navArrowRight","navArrowHoverRight","shareButton","altCaptionWrap","altCaptionWrapWithIndicator","altCaptionPill","altCaptionText","numberOfLines","displayName","ZoomableImageGallery","create","justifyContent","alignItems","position","top","left","right","bottom","zIndex","fullscreen","gap","paddingHorizontal","paddingVertical","color","fontSize","fontWeight","flexDirection","maxWidth","flexGrow","overflow","borderWidth","borderColor","lineHeight"],"sourceRoot":"../../../src","sources":["zoomable-image-gallery/ZoomableImageGallery.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","Text","StyleSheet","Pressable","Platform","ScrollView","Share","useWindowDimensions","Image","BlurView","Animated","useSharedValue","useAnimatedStyle","withSpring","withTiming","runOnJS","Easing","GestureHandlerRootView","Gesture","GestureDetector","useTheme","Portal","PressableWithHover","ArrowLeft_Stroke2_Corner0_Rounded","ArrowRight_Stroke2_Corner0_Rounded","ArrowOutOfBox_Stroke2_Corner0_Rounded","Z_INDEX","getAspectRatio","fetchAspectRatio","DEFAULT_ASPECT_RATIO","FIT_FRACTION","MAX_DRAG_FRACTION","SCALE_DRAG_FRACTION","MIN_DRAG_SCALE","DISMISS_FRACTION","AXIS_DECISION_OFFSET","OPEN_DURATION_WEB","CLOSE_DURATION_WEB","OPACITY_DURATION","OPEN_SPRING","CLOSE_SPRING","SNAP_BACK_SPRING","DEFAULT_CORNER_RADIUS","MIN_ZOOM_SCALE","MAX_ZOOM_SCALE","ZOOM_SNAP_THRESHOLD","DOUBLE_TAP_ZOOM_SCALE","ZOOM_PAN_DAMPING","ZOOM_PAN_MAX_BASE","THUMBNAIL_STRIP_TILE_SIZE","jsx","_jsx","jsxs","_jsxs","AnimatedBlurView","createAnimatedComponent","AnimatedImage","webPointerStyle","select","web","userSelect","cursor","default","undefined","webUserSelectNoneStyle","ZoomableImageGalleryInner","forwardRef","measureThumb","cornerRadius","indicatorVariant","ref","theme","width","SCREEN_WIDTH","height","SCREEN_HEIGHT","isOpen","setIsOpen","pagerReady","setPagerReady","images","setImages","activeIndex","setActiveIndex","isZoomed","setIsZoomed","openRatio","setOpenRatio","pageRatios","setPageRatios","canShare","OS","navigator","share","scale","translateX","translateY","opacity","zoomScale","zoomTranslateX","zoomTranslateY","baseZoomScale","savedZoomTranslateX","savedZoomTranslateY","originX","originY","startX","startY","startScale","originScale","pagerRef","pendingIndexRef","activeIndexRef","setActiveIndexBoth","next","current","prev","resetZoom","value","fitBox","fitForRatio","ratio","safeRatio","Number","isFinite","activeRatio","activeFit","activeAlt","alt","trim","ensureRatio","index","uri","cached","then","finalizeDismiss","flyBackTo","target","duration","easing","in","cubic","x","y","setTimeout","fadeOutCenter","handleDismiss","centerX","centerY","rect","revealPager","open","nextImages","length","safeIndex","Math","min","max","knownRatio","aspectRatio","initialRatios","forEach","img","i","r","resolved","fitted","requestAnimationFrame","out","useImperativeHandle","backdropTapGesture","Tap","onEnd","panGesture","Pan","enabled","activeOffsetY","failOffsetX","onStart","onUpdate","event","translationX","translationY","dragDistance","sqrt","maxDrag","scaleReduction","backdropStyle","openImageStyle","transform","pagerContainerStyle","zoomImageStyle","updateIndexFromOffset","offsetX","lastIndex","round","pageTo","clamped","scrollTo","animated","onPagerScroll","nativeEvent","contentOffset","onPagerLayout","idx","zoomToPoint","maxOffset","offsetY","doubleTapGesture","numberOfTaps","singleTapDismissGesture","tapGesture","Exclusive","pinchGesture","Pinch","panWhileZoomedGesture","minPointers","maxPointers","nextX","nextY","maxTranslation","activePageGesture","Simultaneous","handleShare","url","err","Error","name","console","error","document","handler","e","key","stopPropagation","addEventListener","removeEventListener","renderContent","style","styles","modalContainer","children","gesture","absoluteFill","intensity","tint","isDark","experimentalBlurMethod","backgroundColor","colors","overlay","zoomContainer","pointerEvents","onPress","source","contentFit","borderRadius","transition","draggable","horizontal","pagingEnabled","scrollEnabled","showsHorizontalScrollIndicator","onLayout","onMomentumScrollEnd","onScroll","scrollEventThrottle","map","fit","page","indicatorWrap","counterPill","counterText","thumbStripScroll","contentContainerStyle","thumbStripContent","accessibilityRole","accessibilityLabel","thumbTile","thumbTileActive","thumbTileInactive","thumbTileImage","dotsRow","dot","dotActive","dotInactive","hitSlop","navArrow","navArrowLeft","hoverStyle","navArrowHoverLeft","fill","size","navArrowRight","navArrowHoverRight","shareButton","altCaptionWrap","altCaptionWrapWithIndicator","altCaptionPill","altCaptionText","numberOfLines","displayName","ZoomableImageGallery","create","justifyContent","alignItems","position","top","left","right","bottom","zIndex","fullscreen","gap","paddingHorizontal","paddingVertical","color","fontSize","fontWeight","flexDirection","maxWidth","flexGrow","overflow","borderWidth","borderColor","lineHeight"],"sourceRoot":"../../../src","sources":["zoomable-image-gallery/ZoomableImageGallery.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAChF,SACEC,IAAI,EACJC,IAAI,EACJC,UAAU,EACVC,SAAS,EACTC,QAAQ,EACRC,UAAU,EACVC,KAAK,EACLC,mBAAmB,QAId,cAAc;AACrB,SAASC,KAAK,QAAQ,YAAY;AAClC,SAASC,QAAQ,QAAQ,WAAW;AACpC,OAAOC,QAAQ,IACbC,cAAc,EACdC,gBAAgB,EAChBC,UAAU,EACVC,UAAU,EACVC,OAAO,EACPC,MAAM,QACD,yBAAyB;AAChC,SACEC,sBAAsB,EACtBC,OAAO,EACPC,eAAe,QACV,8BAA8B;AACrC,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,kBAAkB,QAAQ,kCAAyB;AAC5D,SACEC,iCAAiC,EACjCC,kCAAkC,EAClCC,qCAAqC,QAChC,mBAAU;AACjB,SAASC,OAAO,QAAQ,sBAAmB;AAC3C,SACEC,cAAc,EACdC,gBAAgB,EAChBC,oBAAoB,QACf,sCAA6B;AACpC,SACEC,YAAY,EACZC,iBAAiB,EACjBC,mBAAmB,EACnBC,cAAc,EACdC,gBAAgB,EAChBC,oBAAoB,EACpBC,iBAAiB,EACjBC,kBAAkB,EAClBC,gBAAgB,EAChBC,WAAW,EACXC,YAAY,EACZC,gBAAgB,EAChBC,qBAAqB,EACrBC,cAAc,EACdC,cAAc,EACdC,mBAAmB,EACnBC,qBAAqB,EACrBC,gBAAgB,EAChBC,iBAAiB,EACjBC,yBAAyB,QACpB,gBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQrB,MAAMC,gBAAgB,GAAG5C,QAAQ,CAAC6C,uBAAuB,CAAC9C,QAAQ,CAAC;AACnE,MAAM+C,aAAa,GAAG9C,QAAQ,CAAC6C,uBAAuB,CAAC/C,KAAK,CAAC;;AAE7D;AACA;AACA;AACA;AACA,MAAMiD,eAAe,GAAGrD,QAAQ,CAACsD,MAAM,CAAC;EACtCC,GAAG,EAAE;IAAEC,UAAU,EAAE,MAAM;IAAEC,MAAM,EAAE;EAAU,CAAc;EAC3DC,OAAO,EAAEC;AACX,CAAC,CAAC;AACF,MAAMC,sBAAsB,GAAG5D,QAAQ,CAACsD,MAAM,CAAC;EAC7CC,GAAG,EAAE;IAAEC,UAAU,EAAE;EAAO,CAAc;EACxCE,OAAO,EAAEC;AACX,CAAC,CAAC;AAOF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,yBAAyB,gBAAGvE,KAAK,CAACwE,UAAU,CAAwD,CAAC;EAAEC,YAAY;EAAEC,YAAY,GAAG1B,qBAAqB;EAAE2B,gBAAgB,GAAG;AAAO,CAAC,EAAEC,GAAG,KAAK;EACpM,MAAMC,KAAK,GAAGnD,QAAQ,CAAC,CAAC;EACxB,MAAM;IAAEoD,KAAK,EAAEC,YAAY;IAAEC,MAAM,EAAEC;EAAc,CAAC,GAAGpE,mBAAmB,CAAC,CAAC;EAE5E,MAAM,CAACqE,MAAM,EAAEC,SAAS,CAAC,GAAG9E,QAAQ,CAAC,KAAK,CAAC;EAC3C;EACA,MAAM,CAAC+E,UAAU,EAAEC,aAAa,CAAC,GAAGhF,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACiF,MAAM,EAAEC,SAAS,CAAC,GAAGlF,QAAQ,CAAiB,EAAE,CAAC;EACxD,MAAM,CAACmF,WAAW,EAAEC,cAAc,CAAC,GAAGpF,QAAQ,CAAC,CAAC,CAAC;EACjD;EACA;EACA;EACA,MAAM,CAACqF,QAAQ,EAAEC,WAAW,CAAC,GAAGtF,QAAQ,CAAC,KAAK,CAAC;EAC/C;EACA,MAAM,CAACuF,SAAS,EAAEC,YAAY,CAAC,GAAGxF,QAAQ,CAAS8B,oBAAoB,CAAC;EACxE;EACA,MAAM,CAAC2D,UAAU,EAAEC,aAAa,CAAC,GAAG1F,QAAQ,CAAyB,CAAC,CAAC,CAAC;;EAExE;EACA;EACA,MAAM,CAAC2F,QAAQ,CAAC,GAAG3F,QAAQ,CAAC,MAAM;IAChC,IAAIK,QAAQ,CAACuF,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;IACtC,OAAO,OAAOC,SAAS,KAAK,WAAW,IAAI,OAAOA,SAAS,CAACC,KAAK,KAAK,UAAU;EAClF,CAAC,CAAC;EAEF,MAAMC,KAAK,GAAGnF,cAAc,CAAC,CAAC,CAAC;EAC/B,MAAMoF,UAAU,GAAGpF,cAAc,CAAC,CAAC,CAAC;EACpC,MAAMqF,UAAU,GAAGrF,cAAc,CAAC,CAAC,CAAC;EACpC,MAAMsF,OAAO,GAAGtF,cAAc,CAAC,CAAC,CAAC;;EAEjC;EACA;EACA;EACA;EACA,MAAMuF,SAAS,GAAGvF,cAAc,CAAC,CAAC,CAAC;EACnC,MAAMwF,cAAc,GAAGxF,cAAc,CAAC,CAAC,CAAC;EACxC,MAAMyF,cAAc,GAAGzF,cAAc,CAAC,CAAC,CAAC;EACxC,MAAM0F,aAAa,GAAG1F,cAAc,CAAC,CAAC,CAAC;EACvC,MAAM2F,mBAAmB,GAAG3F,cAAc,CAAC,CAAC,CAAC;EAC7C,MAAM4F,mBAAmB,GAAG5F,cAAc,CAAC,CAAC,CAAC;;EAE7C;EACA,MAAM6F,OAAO,GAAG7F,cAAc,CAAC,CAAC,CAAC;EACjC,MAAM8F,OAAO,GAAG9F,cAAc,CAAC,CAAC,CAAC;EAEjC,MAAM+F,MAAM,GAAG/F,cAAc,CAAC,CAAC,CAAC;EAChC,MAAMgG,MAAM,GAAGhG,cAAc,CAAC,CAAC,CAAC;EAChC;EACA,MAAMiG,UAAU,GAAGjG,cAAc,CAAC,CAAC,CAAC;EACpC;EACA;EACA;EACA,MAAMkG,WAAW,GAAGlG,cAAc,CAAC,CAAC,CAAC;EAErC,MAAMmG,QAAQ,GAAGhH,MAAM,CAAa,IAAI,CAAC;EACzC;EACA,MAAMiH,eAAe,GAAGjH,MAAM,CAAC,CAAC,CAAC;EACjC;EACA;EACA;EACA,MAAMkH,cAAc,GAAGlH,MAAM,CAAC,CAAC,CAAC;;EAEhC;EACA;EACA,MAAMmH,kBAAkB,GAAGtH,WAAW,CAAEuH,IAAY,IAAK;IACvDF,cAAc,CAACG,OAAO,GAAGD,IAAI;IAC7B/B,cAAc,CAAEiC,IAAI,IAAMA,IAAI,KAAKF,IAAI,GAAGE,IAAI,GAAGF,IAAK,CAAC;EACzD,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA,MAAMG,SAAS,GAAG1H,WAAW,CAAC,MAAM;IAClCuG,SAAS,CAACoB,KAAK,GAAG,CAAC;IACnBnB,cAAc,CAACmB,KAAK,GAAG,CAAC;IACxBlB,cAAc,CAACkB,KAAK,GAAG,CAAC;IACxBhB,mBAAmB,CAACgB,KAAK,GAAG,CAAC;IAC7Bf,mBAAmB,CAACe,KAAK,GAAG,CAAC;IAC7BjB,aAAa,CAACiB,KAAK,GAAG,CAAC;IACvBjC,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC,EAAE,CAACgB,aAAa,EAAEC,mBAAmB,EAAEC,mBAAmB,EAAEL,SAAS,EAAEC,cAAc,EAAEC,cAAc,CAAC,CAAC;;EAExG;EACA,MAAMmB,MAAM,GAAG1H,OAAO,CACpB,OAAO;IAAE2E,KAAK,EAAEC,YAAY,GAAG3C,YAAY;IAAE4C,MAAM,EAAEC,aAAa,GAAG7C;EAAa,CAAC,CAAC,EACpF,CAAC2C,YAAY,EAAEE,aAAa,CAC9B,CAAC;;EAED;EACA;EACA,MAAM6C,WAAW,GAAG7H,WAAW,CAAE8H,KAAa,IAAiB;IAC7D,MAAMC,SAAS,GAAGD,KAAK,GAAG,CAAC,IAAIE,MAAM,CAACC,QAAQ,CAACH,KAAK,CAAC,GAAGA,KAAK,GAAG5F,oBAAoB;IACpF,IAAI2C,KAAK,GAAG+C,MAAM,CAAC/C,KAAK;IACxB,IAAIE,MAAM,GAAGF,KAAK,GAAGkD,SAAS;IAC9B,IAAIhD,MAAM,GAAG6C,MAAM,CAAC7C,MAAM,EAAE;MAC1BA,MAAM,GAAG6C,MAAM,CAAC7C,MAAM;MACtBF,KAAK,GAAGE,MAAM,GAAGgD,SAAS;IAC5B;IACA,OAAO;MAAElD,KAAK;MAAEE;IAAO,CAAC;EAC1B,CAAC,EAAE,CAAC6C,MAAM,CAAC,CAAC;;EAEZ;EACA;EACA;EACA;EACA,MAAMM,WAAW,GAAGrC,UAAU,CAACN,WAAW,CAAC,IAAII,SAAS;EACxD,MAAMwC,SAAS,GAAGjI,OAAO,CAAC,MAAM2H,WAAW,CAACK,WAAW,CAAC,EAAE,CAACL,WAAW,EAAEK,WAAW,CAAC,CAAC;;EAErF;EACA;EACA,MAAME,SAAS,GAAG/C,MAAM,CAACE,WAAW,CAAC,EAAE8C,GAAG,EAAEC,IAAI,CAAC,CAAC,IAAIlE,SAAS;EAE/D,MAAMmE,WAAW,GAAGvI,WAAW,CAAC,CAACwI,KAAa,EAAEC,GAAW,KAAK;IAC9D,MAAMC,MAAM,GAAG1G,cAAc,CAACyG,GAAG,CAAC;IAClC,IAAIC,MAAM,KAAKtE,SAAS,EAAE;MACxB0B,aAAa,CAAE2B,IAAI,IAAMA,IAAI,CAACe,KAAK,CAAC,KAAKE,MAAM,GAAGjB,IAAI,GAAG;QAAE,GAAGA,IAAI;QAAE,CAACe,KAAK,GAAGE;MAAO,CAAE,CAAC;MACvF;IACF;IACA,KAAKzG,gBAAgB,CAACwG,GAAG,CAAC,CAACE,IAAI,CAAEb,KAAK,IAAK;MACzChC,aAAa,CAAE2B,IAAI,IAAMA,IAAI,CAACe,KAAK,CAAC,KAAKV,KAAK,GAAGL,IAAI,GAAG;QAAE,GAAGA,IAAI;QAAE,CAACe,KAAK,GAAGV;MAAM,CAAE,CAAC;IACvF,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA,MAAMc,eAAe,GAAG5I,WAAW,CAAC,MAAM;IACxCkF,SAAS,CAAC,KAAK,CAAC;IAChBiB,KAAK,CAACwB,KAAK,GAAG,CAAC;IACfvB,UAAU,CAACuB,KAAK,GAAG,CAAC;IACpBtB,UAAU,CAACsB,KAAK,GAAG,CAAC;IACpBrB,OAAO,CAACqB,KAAK,GAAG,CAAC;EACnB,CAAC,EAAE,CAACrB,OAAO,EAAEH,KAAK,EAAEC,UAAU,EAAEC,UAAU,CAAC,CAAC;;EAE5C;EACA;EACA;EACA,MAAMwC,SAAS,GAAG7I,WAAW,CAC1B8I,MAA+C,IAAK;IACnD,IAAIrI,QAAQ,CAACuF,EAAE,KAAK,KAAK,EAAE;MACzB,MAAM+C,QAAQ,GAAGrG,kBAAkB;MACnC,MAAMsG,MAAM,GAAG3H,MAAM,CAAC4H,EAAE,CAAC5H,MAAM,CAAC6H,KAAK,CAAC;MACtC/C,KAAK,CAACwB,KAAK,GAAGxG,UAAU,CAAC2H,MAAM,CAAC3C,KAAK,EAAE;QAAE4C,QAAQ;QAAEC;MAAO,CAAC,CAAC;MAC5D5C,UAAU,CAACuB,KAAK,GAAGxG,UAAU,CAAC2H,MAAM,CAACK,CAAC,EAAE;QAAEJ,QAAQ;QAAEC;MAAO,CAAC,CAAC;MAC7D3C,UAAU,CAACsB,KAAK,GAAGxG,UAAU,CAAC2H,MAAM,CAACM,CAAC,EAAE;QAAEL,QAAQ;QAAEC;MAAO,CAAC,CAAC;MAC7D1C,OAAO,CAACqB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;QAAE4H,QAAQ;QAAEC;MAAO,CAAC,CAAC;MACnDK,UAAU,CAACT,eAAe,EAAEG,QAAQ,GAAG,EAAE,CAAC;IAC5C,CAAC,MAAM;MACL5C,KAAK,CAACwB,KAAK,GAAGzG,UAAU,CAAC4H,MAAM,CAAC3C,KAAK,EAAEtD,YAAY,CAAC;MACpDuD,UAAU,CAACuB,KAAK,GAAGzG,UAAU,CAAC4H,MAAM,CAACK,CAAC,EAAEtG,YAAY,CAAC;MACrDwD,UAAU,CAACsB,KAAK,GAAGzG,UAAU,CAAC4H,MAAM,CAACM,CAAC,EAAEvG,YAAY,CAAC;MACrDyD,OAAO,CAACqB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;QAAE4H,QAAQ,EAAEpG;MAAiB,CAAC,CAAC;MAC7D0G,UAAU,CAACT,eAAe,EAAElG,kBAAkB,CAAC;IACjD;EACF,CAAC,EACD,CAACkG,eAAe,EAAEtC,OAAO,EAAEH,KAAK,EAAEC,UAAU,EAAEC,UAAU,CAC1D,CAAC;;EAED;EACA;EACA;EACA,MAAMiD,aAAa,GAAGtJ,WAAW,CAAC,MAAM;IACtC,IAAIS,QAAQ,CAACuF,EAAE,KAAK,KAAK,EAAE;MACzB,MAAM+C,QAAQ,GAAGrG,kBAAkB;MACnC,MAAMsG,MAAM,GAAG3H,MAAM,CAAC4H,EAAE,CAAC5H,MAAM,CAAC6H,KAAK,CAAC;MACtC/C,KAAK,CAACwB,KAAK,GAAGxG,UAAU,CAACmB,cAAc,EAAE;QAAEyG,QAAQ;QAAEC;MAAO,CAAC,CAAC;MAC9D1C,OAAO,CAACqB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;QAAE4H,QAAQ;QAAEC;MAAO,CAAC,CAAC;MACnDK,UAAU,CAACT,eAAe,EAAEG,QAAQ,GAAG,EAAE,CAAC;IAC5C,CAAC,MAAM;MACL5C,KAAK,CAACwB,KAAK,GAAGzG,UAAU,CAACoB,cAAc,EAAEO,YAAY,CAAC;MACtDyD,OAAO,CAACqB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;QAAE4H,QAAQ,EAAEpG;MAAiB,CAAC,CAAC;MAC7D0G,UAAU,CAACT,eAAe,EAAElG,kBAAkB,CAAC;IACjD;EACF,CAAC,EAAE,CAACkG,eAAe,EAAEtC,OAAO,EAAEH,KAAK,CAAC,CAAC;EAErC,MAAMoD,aAAa,GAAGvJ,WAAW,CAAC,MAAM;IACtC;IACA;IACAoF,aAAa,CAAC,KAAK,CAAC;IAEpB,MAAMoD,KAAK,GAAGnB,cAAc,CAACG,OAAO;IACpC,MAAMA,OAAO,GAAGnC,MAAM,CAACmD,KAAK,CAAC;IAC7B;IACA;IACA;IACA;IACA,IAAIhE,YAAY,IAAIgD,OAAO,EAAE;MAC3B,MAAMgC,OAAO,GAAG1E,YAAY,GAAG,CAAC;MAChC,MAAM2E,OAAO,GAAGzE,aAAa,GAAG,CAAC;MACjC,KAAKR,YAAY,CAACgE,KAAK,CAAC,CAACG,IAAI,CAAEe,IAAI,IAAK;QACtC,IAAIA,IAAI,IAAIA,IAAI,CAAC7E,KAAK,GAAG,CAAC,IAAIsD,SAAS,CAACtD,KAAK,GAAG,CAAC,EAAE;UACjDgE,SAAS,CAAC;YACRM,CAAC,EAAEO,IAAI,CAACP,CAAC,GAAGO,IAAI,CAAC7E,KAAK,GAAG,CAAC,GAAG2E,OAAO;YACpCJ,CAAC,EAAEM,IAAI,CAACN,CAAC,GAAGM,IAAI,CAAC3E,MAAM,GAAG,CAAC,GAAG0E,OAAO;YACrCtD,KAAK,EAAEuD,IAAI,CAAC7E,KAAK,GAAGsD,SAAS,CAACtD;UAChC,CAAC,CAAC;QACJ,CAAC,MAAM;UACLyE,aAAa,CAAC,CAAC;QACjB;MACF,CAAC,CAAC;MACF;IACF;IAEAA,aAAa,CAAC,CAAC;EACjB,CAAC,EAAE,CACDnB,SAAS,EACTmB,aAAa,EACbT,SAAS,EACTxD,MAAM,EACNb,YAAY,EACZQ,aAAa,EACbF,YAAY,CACb,CAAC;;EAEF;EACA;EACA;EACA,MAAM6E,WAAW,GAAG3J,WAAW,CAAC,MAAM;IACpCoF,aAAa,CAAC,IAAI,CAAC;EACrB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMwE,IAAI,GAAG5J,WAAW,CACtB,CAAC6J,UAA0B,EAAErB,KAAa,EAAEkB,IAAmB,KAAK;IAClE,IAAIzE,MAAM,IAAI4E,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE;IACvC,MAAMC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAAC1B,KAAK,EAAE,CAAC,CAAC,EAAEqB,UAAU,CAACC,MAAM,GAAG,CAAC,CAAC;IACrE,MAAMhB,MAAM,GAAGe,UAAU,CAACE,SAAS,CAAC;IACpC,IAAI,CAACjB,MAAM,EAAE;IACb,MAAMqB,UAAU,GAAGrB,MAAM,CAACsB,WAAW,IAAIpI,cAAc,CAAC8G,MAAM,CAACL,GAAG,CAAC;IACnE,MAAMX,KAAK,GAAGqC,UAAU,IAAIjI,oBAAoB;IAEhDoD,SAAS,CAACuE,UAAU,CAAC;IACrBvC,kBAAkB,CAACyC,SAAS,CAAC;IAC7BnE,YAAY,CAACkC,KAAK,CAAC;IACnB;IACA;IACA;IACA,MAAMuC,aAAqC,GAAG,CAAC,CAAC;IAChDR,UAAU,CAACS,OAAO,CAAC,CAACC,GAAG,EAAEC,CAAC,KAAK;MAC7B,MAAMC,CAAC,GAAGF,GAAG,CAACH,WAAW,IAAIpI,cAAc,CAACuI,GAAG,CAAC9B,GAAG,CAAC;MACpD,IAAIgC,CAAC,KAAKrG,SAAS,EAAEiG,aAAa,CAACG,CAAC,CAAC,GAAGC,CAAC;IAC3C,CAAC,CAAC;IACF3E,aAAa,CAACuE,aAAa,CAAC;IAC5BjD,eAAe,CAACI,OAAO,GAAGuC,SAAS;;IAEnC;IACA,IAAII,UAAU,KAAK/F,SAAS,EAAE;MAC5B,KAAKnC,gBAAgB,CAAC6G,MAAM,CAACL,GAAG,CAAC,CAACE,IAAI,CAAE+B,QAAQ,IAAK;QACnD9E,YAAY,CAAC8E,QAAQ,CAAC;QACtB5E,aAAa,CAAE2B,IAAI,KAAM;UAAE,GAAGA,IAAI;UAAE,CAACsC,SAAS,GAAGW;QAAS,CAAC,CAAC,CAAC;MAC/D,CAAC,CAAC;IACJ;;IAEA;IACA;IACA;IACA;IACA,MAAMC,MAAM,GAAG9C,WAAW,CAACC,KAAK,CAAC;IACjC,MAAM0B,OAAO,GAAG1E,YAAY,GAAG,CAAC;IAChC,MAAM2E,OAAO,GAAGzE,aAAa,GAAG,CAAC;IACjC,IAAI0E,IAAI,IAAIA,IAAI,CAAC7E,KAAK,GAAG,CAAC,EAAE;MAC1BgC,OAAO,CAACc,KAAK,GAAG+B,IAAI,CAACP,CAAC,GAAGO,IAAI,CAAC7E,KAAK,GAAG,CAAC,GAAG2E,OAAO;MACjD1C,OAAO,CAACa,KAAK,GAAG+B,IAAI,CAACN,CAAC,GAAGM,IAAI,CAAC3E,MAAM,GAAG,CAAC,GAAG0E,OAAO;MAClDvC,WAAW,CAACS,KAAK,GAAG+B,IAAI,CAAC7E,KAAK,GAAG8F,MAAM,CAAC9F,KAAK;IAC/C,CAAC,MAAM;MACLgC,OAAO,CAACc,KAAK,GAAG,CAAC;MACjBb,OAAO,CAACa,KAAK,GAAG,CAAC;MACjBT,WAAW,CAACS,KAAK,GAAG,CAAC;IACvB;IAEAzC,SAAS,CAAC,IAAI,CAAC;IACfkB,UAAU,CAACuB,KAAK,GAAGd,OAAO,CAACc,KAAK;IAChCtB,UAAU,CAACsB,KAAK,GAAGb,OAAO,CAACa,KAAK;IAChCxB,KAAK,CAACwB,KAAK,GAAGT,WAAW,CAACS,KAAK;IAC/BrB,OAAO,CAACqB,KAAK,GAAG,CAAC;IAEjB,IAAIlH,QAAQ,CAACuF,EAAE,KAAK,KAAK,EAAE;MACzB4E,qBAAqB,CAAC,MAAM;QAC1B,MAAM7B,QAAQ,GAAGtG,iBAAiB;QAClC,MAAMuG,MAAM,GAAG3H,MAAM,CAACwJ,GAAG,CAACxJ,MAAM,CAAC6H,KAAK,CAAC;QACvC/C,KAAK,CAACwB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;UAAE4H,QAAQ;UAAEC;QAAO,CAAC,CAAC;QACjD5C,UAAU,CAACuB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;UAAE4H,QAAQ;UAAEC;QAAO,CAAC,CAAC;QACtD3C,UAAU,CAACsB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;UAAE4H,QAAQ;UAAEC;QAAO,CAAC,CAAC;QACtD1C,OAAO,CAACqB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;UAAE4H,QAAQ;UAAEC;QAAO,CAAC,CAAC;QACnDK,UAAU,CAACM,WAAW,EAAEZ,QAAQ,CAAC;MACnC,CAAC,CAAC;IACJ,CAAC,MAAM;MACLM,UAAU,CAAC,MAAM;QACflD,KAAK,CAACwB,KAAK,GAAGzG,UAAU,CAAC,CAAC,EAAE0B,WAAW,CAAC;QACxCwD,UAAU,CAACuB,KAAK,GAAGzG,UAAU,CAAC,CAAC,EAAE0B,WAAW,CAAC;QAC7CyD,UAAU,CAACsB,KAAK,GAAGzG,UAAU,CAAC,CAAC,EAAE0B,WAAW,CAAC;QAC7C0D,OAAO,CAACqB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;UAAE4H,QAAQ,EAAEpG;QAAiB,CAAC,CAAC;QAC7D0G,UAAU,CAACM,WAAW,EAAElH,iBAAiB,CAAC;MAC5C,CAAC,EAAE,CAAC,CAAC;IACP;EACF,CAAC,EACD,CACEwC,MAAM,EACNH,YAAY,EACZE,aAAa,EACb6C,WAAW,EACXvB,OAAO,EACPY,WAAW,EACXL,OAAO,EACPC,OAAO,EACP6C,WAAW,EACXxD,KAAK,EACLmB,kBAAkB,EAClBlB,UAAU,EACVC,UAAU,CAEd,CAAC;EAEDtG,KAAK,CAAC+K,mBAAmB,CAACnG,GAAG,EAAE,OAAO;IAAEiF;EAAK,CAAC,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;;EAExD;EACA;EACA;EACA;EACA;EACA,MAAMmB,kBAAkB,GAAG7K,OAAO,CAChC,MACEqB,OAAO,CAACyJ,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM;IACxB7J,OAAO,CAACmI,aAAa,CAAC,CAAC,CAAC;EAC1B,CAAC,CAAC,EACJ,CAACA,aAAa,CAChB,CAAC;EAED,MAAM2B,UAAU,GAAGhL,OAAO,CACxB,MACEqB,OAAO,CAAC4J,GAAG,CAAC;EACV;EACA;EAAA,CACCC,OAAO,CAACnG,MAAM,IAAI,CAACQ,QAAQ;EAC5B;EACA;EAAA,CACC4F,aAAa,CAAC,CAAC,CAAC7I,oBAAoB,EAAEA,oBAAoB,CAAC,CAAC,CAC5D8I,WAAW,CAAC,CAAC,CAAC9I,oBAAoB,EAAEA,oBAAoB,CAAC,CAAC,CAC1D+I,OAAO,CAAC,MAAM;IACbxE,MAAM,CAACY,KAAK,GAAGvB,UAAU,CAACuB,KAAK;IAC/BX,MAAM,CAACW,KAAK,GAAGtB,UAAU,CAACsB,KAAK;IAC/BV,UAAU,CAACU,KAAK,GAAGxB,KAAK,CAACwB,KAAK;EAChC,CAAC,CAAC,CACD6D,QAAQ,CAAEC,KAAK,IAAK;IACnBrF,UAAU,CAACuB,KAAK,GAAGZ,MAAM,CAACY,KAAK,GAAG8D,KAAK,CAACC,YAAY;IACpDrF,UAAU,CAACsB,KAAK,GAAGX,MAAM,CAACW,KAAK,GAAG8D,KAAK,CAACE,YAAY;IACpD,MAAMC,YAAY,GAAG5B,IAAI,CAAC6B,IAAI,CAACJ,KAAK,CAACC,YAAY,IAAI,CAAC,GAAGD,KAAK,CAACE,YAAY,IAAI,CAAC,CAAC;IACjF,MAAMG,OAAO,GAAG9G,aAAa,GAAG5C,iBAAiB;IACjDkE,OAAO,CAACqB,KAAK,GAAGqC,IAAI,CAACE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG0B,YAAY,GAAGE,OAAO,CAAC;IACvD,MAAMC,cAAc,GAAG/B,IAAI,CAACE,GAAG,CAC7B5H,cAAc,EACd,CAAC,GAAGsJ,YAAY,IAAI5G,aAAa,GAAG3C,mBAAmB,CACzD,CAAC;IACD8D,KAAK,CAACwB,KAAK,GAAGV,UAAU,CAACU,KAAK,GAAGoE,cAAc;EACjD,CAAC,CAAC,CACDd,KAAK,CAAEQ,KAAK,IAAK;IAChB,MAAMG,YAAY,GAAG5B,IAAI,CAAC6B,IAAI,CAACJ,KAAK,CAACC,YAAY,IAAI,CAAC,GAAGD,KAAK,CAACE,YAAY,IAAI,CAAC,CAAC;IACjF,IAAIC,YAAY,GAAG5G,aAAa,GAAGzC,gBAAgB,EAAE;MACnDnB,OAAO,CAACmI,aAAa,CAAC,CAAC,CAAC;IAC1B,CAAC,MAAM;MACLpD,KAAK,CAACwB,KAAK,GAAGzG,UAAU,CAAC,CAAC,EAAE4B,gBAAgB,CAAC;MAC7CsD,UAAU,CAACuB,KAAK,GAAGzG,UAAU,CAAC,CAAC,EAAE4B,gBAAgB,CAAC;MAClDuD,UAAU,CAACsB,KAAK,GAAGzG,UAAU,CAAC,CAAC,EAAE4B,gBAAgB,CAAC;MAClDwD,OAAO,CAACqB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;QAAE4H,QAAQ,EAAEpG;MAAiB,CAAC,CAAC;IAC/D;EACF,CAAC,CAAC,EACN,CAAC4G,aAAa,EAAEtE,MAAM,EAAEQ,QAAQ,EAAET,aAAa,EAAEsB,OAAO,EAAEH,KAAK,EAAEc,UAAU,EAAEF,MAAM,EAAEC,MAAM,EAAEZ,UAAU,EAAEC,UAAU,CACrH,CAAC;EAED,MAAM2F,aAAa,GAAG/K,gBAAgB,CAAC,OAAO;IAAEqF,OAAO,EAAEA,OAAO,CAACqB;EAAM,CAAC,CAAC,CAAC;;EAE1E;EACA,MAAMsE,cAAc,GAAGhL,gBAAgB,CAAC,OAAO;IAC7CiL,SAAS,EAAE,CACT;MAAE9F,UAAU,EAAEA,UAAU,CAACuB;IAAM,CAAC,EAChC;MAAEtB,UAAU,EAAEA,UAAU,CAACsB;IAAM,CAAC,EAChC;MAAExB,KAAK,EAAEA,KAAK,CAACwB;IAAM,CAAC;EAE1B,CAAC,CAAC,CAAC;;EAEH;EACA,MAAMwE,mBAAmB,GAAGlL,gBAAgB,CAAC,OAAO;IAClDqF,OAAO,EAAEA,OAAO,CAACqB,KAAK;IACtBuE,SAAS,EAAE,CACT;MAAE9F,UAAU,EAAEA,UAAU,CAACuB;IAAM,CAAC,EAChC;MAAEtB,UAAU,EAAEA,UAAU,CAACsB;IAAM,CAAC,EAChC;MAAExB,KAAK,EAAEA,KAAK,CAACwB;IAAM,CAAC;EAE1B,CAAC,CAAC,CAAC;;EAEH;EACA;EACA,MAAMyE,cAAc,GAAGnL,gBAAgB,CAAC,OAAO;IAC7CiL,SAAS,EAAE,CACT;MAAE/F,KAAK,EAAEI,SAAS,CAACoB;IAAM,CAAC,EAC1B;MAAEvB,UAAU,EAAEI,cAAc,CAACmB;IAAM,CAAC,EACpC;MAAEtB,UAAU,EAAEI,cAAc,CAACkB;IAAM,CAAC;EAExC,CAAC,CAAC,CAAC;;EAEH;EACA;EACA;EACA;EACA,MAAM0E,qBAAqB,GAAGrM,WAAW,CACtCsM,OAAe,IAAK;IACnB,MAAMC,SAAS,GAAGlH,MAAM,CAACyE,MAAM,GAAG,CAAC;IACnC,IAAIyC,SAAS,GAAG,CAAC,EAAE;IACnB,MAAMhF,IAAI,GAAGyC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAACF,IAAI,CAACwC,KAAK,CAACF,OAAO,GAAGxH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAEyH,SAAS,CAAC;IACjF,IAAIhF,IAAI,KAAKF,cAAc,CAACG,OAAO,EAAE;IACrC;IACA;IACAE,SAAS,CAAC,CAAC;IACXJ,kBAAkB,CAACC,IAAI,CAAC;IACxB,MAAMgD,GAAG,GAAGlF,MAAM,CAACkC,IAAI,CAAC;IACxB,IAAIgD,GAAG,EAAEhC,WAAW,CAAChB,IAAI,EAAEgD,GAAG,CAAC9B,GAAG,CAAC;EACrC,CAAC,EACD,CAACF,WAAW,EAAElD,MAAM,EAAEqC,SAAS,EAAEJ,kBAAkB,EAAExC,YAAY,CACnE,CAAC;;EAED;EACA;EACA;EACA,MAAM2H,MAAM,GAAGzM,WAAW,CACvBwI,KAAa,IAAK;IACjB,IAAI,CAACrD,UAAU,EAAE;IACjB,MAAMoH,SAAS,GAAGlH,MAAM,CAACyE,MAAM,GAAG,CAAC;IACnC,IAAIyC,SAAS,GAAG,CAAC,EAAE;IACnB,MAAMG,OAAO,GAAG1C,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAAC1B,KAAK,EAAE,CAAC,CAAC,EAAE+D,SAAS,CAAC;IACvD7E,SAAS,CAAC,CAAC;IACXP,QAAQ,CAACK,OAAO,EAAEmF,QAAQ,CAAC;MAAExD,CAAC,EAAEuD,OAAO,GAAG5H,YAAY;MAAEsE,CAAC,EAAE,CAAC;MAAEwD,QAAQ,EAAE;IAAK,CAAC,CAAC;EACjF,CAAC,EACD,CAACvH,MAAM,CAACyE,MAAM,EAAE3E,UAAU,EAAEuC,SAAS,EAAE5C,YAAY,CACrD,CAAC;EAED,MAAM+H,aAAa,GAAG7M,WAAW,CAC9ByL,KAA8C,IAAK;IAClDY,qBAAqB,CAACZ,KAAK,CAACqB,WAAW,CAACC,aAAa,CAAC5D,CAAC,CAAC;EAC1D,CAAC,EACD,CAACkD,qBAAqB,CACxB,CAAC;;EAED;EACA;EACA,MAAMW,aAAa,GAAGhN,WAAW,CAAC,MAAM;IACtC,MAAMiN,GAAG,GAAG7F,eAAe,CAACI,OAAO;IACnC,IAAIyF,GAAG,GAAG,CAAC,EAAE;MACX9F,QAAQ,CAACK,OAAO,EAAEmF,QAAQ,CAAC;QAAExD,CAAC,EAAE8D,GAAG,GAAGnI,YAAY;QAAE8H,QAAQ,EAAE;MAAM,CAAC,CAAC;IACxE;EACF,CAAC,EAAE,CAAC9H,YAAY,CAAC,CAAC;;EAElB;EACA;EACA;EACA,MAAMoI,WAAW,GAAGlN,WAAW,CAC7B,CAACmJ,CAAS,EAAEC,CAAS,KAAK;IACxB,IAAI7C,SAAS,CAACoB,KAAK,GAAG,CAAC,EAAE;MACvBD,SAAS,CAAC,CAAC;MACX;IACF;IACA,MAAM8B,OAAO,GAAGrB,SAAS,CAACtD,KAAK,GAAG,CAAC;IACnC,MAAM4E,OAAO,GAAGtB,SAAS,CAACpD,MAAM,GAAG,CAAC;IACpC,MAAMoI,SAAS,GAAGnD,IAAI,CAACE,GAAG,CAAC/B,SAAS,CAACtD,KAAK,EAAEsD,SAAS,CAACpD,MAAM,CAAC,GAAG,GAAG;IACnE,MAAMuH,OAAO,GAAGtC,IAAI,CAACE,GAAG,CAAC,CAACiD,SAAS,EAAEnD,IAAI,CAACC,GAAG,CAACkD,SAAS,EAAE,CAAC3D,OAAO,GAAGL,CAAC,IAAI,GAAG,CAAC,CAAC;IAC9E,MAAMiE,OAAO,GAAGpD,IAAI,CAACE,GAAG,CAAC,CAACiD,SAAS,EAAEnD,IAAI,CAACC,GAAG,CAACkD,SAAS,EAAE,CAAC1D,OAAO,GAAGL,CAAC,IAAI,GAAG,CAAC,CAAC;IAC9E7C,SAAS,CAACoB,KAAK,GAAGzG,UAAU,CAACiC,qBAAqB,CAAC;IACnDqD,cAAc,CAACmB,KAAK,GAAGzG,UAAU,CAACoL,OAAO,CAAC;IAC1C7F,cAAc,CAACkB,KAAK,GAAGzG,UAAU,CAACkM,OAAO,CAAC;IAC1CzG,mBAAmB,CAACgB,KAAK,GAAG2E,OAAO;IACnC1F,mBAAmB,CAACe,KAAK,GAAGyF,OAAO;IACnC1G,aAAa,CAACiB,KAAK,GAAGxE,qBAAqB;IAC3CuC,WAAW,CAAC,IAAI,CAAC;EACnB,CAAC,EACD,CAACyC,SAAS,EAAEzB,aAAa,EAAEgB,SAAS,EAAEf,mBAAmB,EAAEC,mBAAmB,EAAEL,SAAS,EAAEC,cAAc,EAAEC,cAAc,CAC3H,CAAC;;EAED;EACA;EACA;EACA,MAAM4G,gBAAgB,GAAGnN,OAAO,CAC9B,MACEqB,OAAO,CAACyJ,GAAG,CAAC,CAAC,CACVsC,YAAY,CAAC,CAAC,CAAC,CACflC,OAAO,CAAC3K,QAAQ,CAACuF,EAAE,KAAK,KAAK,CAAC,CAC9BiF,KAAK,CAAEQ,KAAK,IAAK;IAChBrK,OAAO,CAAC8L,WAAW,CAAC,CAACzB,KAAK,CAACtC,CAAC,EAAEsC,KAAK,CAACrC,CAAC,CAAC;EACxC,CAAC,CAAC,EACN,CAAC8D,WAAW,CACd,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA,MAAMK,uBAAuB,GAAGrN,OAAO,CACrC,MACEqB,OAAO,CAACyJ,GAAG,CAAC,CAAC,CACVsC,YAAY,CAAC,CAAC,CAAC,CACfrC,KAAK,CAAC,MAAM;IACX,IAAI1E,SAAS,CAACoB,KAAK,GAAG,CAAC,EAAE;IACzBvG,OAAO,CAACmI,aAAa,CAAC,CAAC,CAAC;EAC1B,CAAC,CAAC,EACN,CAACA,aAAa,EAAEhD,SAAS,CAC3B,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMiH,UAAU,GAAGtN,OAAO,CACxB,MACEO,QAAQ,CAACuF,EAAE,KAAK,KAAK,GACjBuH,uBAAuB,GACvBhM,OAAO,CAACkM,SAAS,CAACJ,gBAAgB,EAAEE,uBAAuB,CAAC,EAClE,CAACF,gBAAgB,EAAEE,uBAAuB,CAC5C,CAAC;EAED,MAAMG,YAAY,GAAGxN,OAAO,CAC1B,MACEqB,OAAO,CAACoM,KAAK,CAAC,CAAC,CACZpC,OAAO,CAAC,MAAM;IACb7E,aAAa,CAACiB,KAAK,GAAGpB,SAAS,CAACoB,KAAK;IACrCvG,OAAO,CAACsE,WAAW,CAAC,CAAC,IAAI,CAAC;EAC5B,CAAC,CAAC,CACD8F,QAAQ,CAAEC,KAAK,IAAK;IACnBlF,SAAS,CAACoB,KAAK,GAAGqC,IAAI,CAACE,GAAG,CACxBlH,cAAc,EACdgH,IAAI,CAACC,GAAG,CAAChH,cAAc,EAAEyD,aAAa,CAACiB,KAAK,IAAI8D,KAAK,CAACtF,KAAK,IAAI,CAAC,CAAC,CACnE,CAAC;EACH,CAAC,CAAC,CACD8E,KAAK,CAAC,MAAM;IACX,IAAI1E,SAAS,CAACoB,KAAK,GAAGzE,mBAAmB,EAAE;MACzCqD,SAAS,CAACoB,KAAK,GAAGzG,UAAU,CAAC,CAAC,CAAC;MAC/BsF,cAAc,CAACmB,KAAK,GAAGzG,UAAU,CAAC,CAAC,CAAC;MACpCuF,cAAc,CAACkB,KAAK,GAAGzG,UAAU,CAAC,CAAC,CAAC;MACpCyF,mBAAmB,CAACgB,KAAK,GAAG,CAAC;MAC7Bf,mBAAmB,CAACe,KAAK,GAAG,CAAC;MAC7BjB,aAAa,CAACiB,KAAK,GAAG,CAAC;MACvBvG,OAAO,CAACsE,WAAW,CAAC,CAAC,KAAK,CAAC;IAC7B,CAAC,MAAM;MACLtE,OAAO,CAACsE,WAAW,CAAC,CAAC,IAAI,CAAC;IAC5B;EACF,CAAC,CAAC,EACN,CAACgB,aAAa,EAAEC,mBAAmB,EAAEC,mBAAmB,EAAEL,SAAS,EAAEC,cAAc,EAAEC,cAAc,CACrG,CAAC;EAED,MAAMmH,qBAAqB,GAAG1N,OAAO,CACnC,MACEqB,OAAO,CAAC4J,GAAG,CAAC,CAAC,CACVC,OAAO,CAAC3F,QAAQ,CAAC,CACjBoI,WAAW,CAAC,CAAC,CAAC,CACdC,WAAW,CAAC,CAAC,CAAC,CACdvC,OAAO,CAAC,MAAM;IACb,IAAIhF,SAAS,CAACoB,KAAK,IAAI,CAAC,EAAE;IAC1BhB,mBAAmB,CAACgB,KAAK,GAAGnB,cAAc,CAACmB,KAAK;IAChDf,mBAAmB,CAACe,KAAK,GAAGlB,cAAc,CAACkB,KAAK;EAClD,CAAC,CAAC,CACD6D,QAAQ,CAAEC,KAAK,IAAK;IACnB,IAAIlF,SAAS,CAACoB,KAAK,IAAI,CAAC,EAAE;IAC1B,MAAMoG,KAAK,GAAGpH,mBAAmB,CAACgB,KAAK,GAAG8D,KAAK,CAACC,YAAY,GAAGtI,gBAAgB;IAC/E,MAAM4K,KAAK,GAAGpH,mBAAmB,CAACe,KAAK,GAAG8D,KAAK,CAACE,YAAY,GAAGvI,gBAAgB;IAC/E,MAAM6K,cAAc,GAAG5K,iBAAiB,GAAGkD,SAAS,CAACoB,KAAK;IAC1DnB,cAAc,CAACmB,KAAK,GAAGqC,IAAI,CAACE,GAAG,CAAC,CAAC+D,cAAc,EAAEjE,IAAI,CAACC,GAAG,CAACgE,cAAc,EAAEF,KAAK,CAAC,CAAC;IACjFtH,cAAc,CAACkB,KAAK,GAAGqC,IAAI,CAACE,GAAG,CAAC,CAAC+D,cAAc,EAAEjE,IAAI,CAACC,GAAG,CAACgE,cAAc,EAAED,KAAK,CAAC,CAAC;EACnF,CAAC,CAAC,CACD/C,KAAK,CAAC,MAAM;IACX,IAAI1E,SAAS,CAACoB,KAAK,IAAI,CAAC,EAAE;IAC1BhB,mBAAmB,CAACgB,KAAK,GAAGnB,cAAc,CAACmB,KAAK;IAChDf,mBAAmB,CAACe,KAAK,GAAGlB,cAAc,CAACkB,KAAK;EAClD,CAAC,CAAC,EACN,CAAClC,QAAQ,EAAEkB,mBAAmB,EAAEC,mBAAmB,EAAEL,SAAS,EAAEC,cAAc,EAAEC,cAAc,CAChG,CAAC;;EAED;EACA;EACA,MAAMyH,iBAAiB,GAAGhO,OAAO,CAC/B,MAAMqB,OAAO,CAAC4M,YAAY,CAACX,UAAU,EAAEE,YAAY,EAAEE,qBAAqB,CAAC,EAC3E,CAACJ,UAAU,EAAEE,YAAY,EAAEE,qBAAqB,CAClD,CAAC;;EAED;EACA;EACA,MAAMQ,WAAW,GAAGpO,WAAW,CAAC,YAAY;IAC1C,MAAMyI,GAAG,GAAGpD,MAAM,CAACgC,cAAc,CAACG,OAAO,CAAC,EAAEiB,GAAG;IAC/C,IAAI,CAACA,GAAG,EAAE;IACV,IAAI;MACF,IAAIhI,QAAQ,CAACuF,EAAE,KAAK,KAAK,EAAE;QACzB,IAAI,OAAOC,SAAS,KAAK,WAAW,IAAI,OAAOA,SAAS,CAACC,KAAK,KAAK,UAAU,EAAE;UAC7E,MAAMD,SAAS,CAACC,KAAK,CAAC;YAAEmI,GAAG,EAAE5F;UAAI,CAAC,CAAC;QACrC;QACA;MACF;MACA,MAAM9H,KAAK,CAACuF,KAAK,CAAC;QAAEmI,GAAG,EAAE5F;MAAI,CAAC,CAAC;IACjC,CAAC,CAAC,OAAO6F,GAAG,EAAE;MACZ;MACA;MACA,IAAIA,GAAG,YAAYC,KAAK,IAAID,GAAG,CAACE,IAAI,KAAK,YAAY,EAAE;MACvD,IAAI,OAAOC,OAAO,KAAK,WAAW,IAAIA,OAAO,CAACC,KAAK,EAAED,OAAO,CAACC,KAAK,CAAC,qBAAqB,EAAEJ,GAAG,CAAC;IAChG;EACF,CAAC,EAAE,CAACjJ,MAAM,CAAC,CAAC;;EAEZ;EACA;EACA;EACApF,SAAS,CAAC,MAAM;IACd,IAAI,CAACgF,MAAM,IAAIxE,QAAQ,CAACuF,EAAE,KAAK,KAAK,IAAI,OAAO2I,QAAQ,KAAK,WAAW,EAAE;IACzE,MAAMC,OAAO,GAAIC,CAAgB,IAAK;MACpC,IAAIA,CAAC,CAACC,GAAG,KAAK,QAAQ,EAAE;QACtBD,CAAC,CAACE,eAAe,CAAC,CAAC;QACnBxF,aAAa,CAAC,CAAC;MACjB,CAAC,MAAM,IAAIsF,CAAC,CAACC,GAAG,KAAK,WAAW,EAAE;QAChCD,CAAC,CAACE,eAAe,CAAC,CAAC;QACnBtC,MAAM,CAACpF,cAAc,CAACG,OAAO,GAAG,CAAC,CAAC;MACpC,CAAC,MAAM,IAAIqH,CAAC,CAACC,GAAG,KAAK,YAAY,EAAE;QACjCD,CAAC,CAACE,eAAe,CAAC,CAAC;QACnBtC,MAAM,CAACpF,cAAc,CAACG,OAAO,GAAG,CAAC,CAAC;MACpC;IACF,CAAC;IACDmH,QAAQ,CAACK,gBAAgB,CAAC,SAAS,EAAEJ,OAAO,CAAC;IAC7C,OAAO,MAAMD,QAAQ,CAACM,mBAAmB,CAAC,SAAS,EAAEL,OAAO,CAAC;EAC/D,CAAC,EAAE,CAACrF,aAAa,EAAEtE,MAAM,EAAEwH,MAAM,CAAC,CAAC;EAEnC,MAAMyC,aAAa,GAAGA,CAAA,kBACpBxL,KAAA,CAACpC,sBAAsB;IAAC6N,KAAK,EAAEC,MAAM,CAACC,cAAe;IAAAC,QAAA,gBACnD9L,IAAA,CAAChC,eAAe;MAAC+N,OAAO,EAAExE,kBAAmB;MAAAuE,QAAA,eAC3C9L,IAAA,CAACzC,QAAQ,CAACV,IAAI;QAAC8O,KAAK,EAAE5O,UAAU,CAACiP,YAAa;QAAAF,QAAA,eAC5C9L,IAAA,CAACG,gBAAgB;UACf8L,SAAS,EAAE,EAAG;UACdC,IAAI,EAAE9K,KAAK,CAAC+K,MAAM,GAAG,MAAM,GAAG,OAAQ;UACtCC,sBAAsB,EAAC,iBAAiB;UACxCT,KAAK,EAAE,CAAC5O,UAAU,CAACiP,YAAY,EAAExD,aAAa,CAAE;UAAAsD,QAAA,eAEhD9L,IAAA,CAACzC,QAAQ,CAACV,IAAI;YACZ8O,KAAK,EAAE,CAAC5O,UAAU,CAACiP,YAAY,EAAE;cAAEK,eAAe,EAAEjL,KAAK,CAACkL,MAAM,CAACC;YAAQ,CAAC,EAAE/D,aAAa;UAAE,CAC5F;QAAC,CACc;MAAC,CACN;IAAC,CACD,CAAC,eAElBxI,IAAA,CAAChC,eAAe;MAAC+N,OAAO,EAAErE,UAAW;MAAAoE,QAAA,eACnC5L,KAAA,CAAC3C,QAAQ,CAACV,IAAI;QACZ8O,KAAK,EAAE,CACL5O,UAAU,CAACiP,YAAY,EACvBJ,MAAM,CAACY,aAAa,EACpB;UAAEnL,KAAK,EAAEC,YAAY;UAAEC,MAAM,EAAEC;QAAc,CAAC,EAC9CX,sBAAsB,CACtB;QACF4L,aAAa,EAAC,UAAU;QAAAX,QAAA,GAEvB,CAACnK,UAAU,iBACV3B,IAAA,CAAChD,SAAS;UAAC0P,OAAO,EAAE3G,aAAc;UAAC4F,KAAK,EAAErL,eAAgB;UAAAwL,QAAA,eACxD9L,IAAA,CAACK,aAAa;YACZsM,MAAM,EAAE;cAAE1H,GAAG,EAAEpD,MAAM,CAACE,WAAW,CAAC,EAAEkD;YAAI,CAAE;YAC1C2H,UAAU,EAAC,SAAS;YACpBjB,KAAK,EAAE,CACL;cAAEtK,KAAK,EAAEsD,SAAS,CAACtD,KAAK;cAAEE,MAAM,EAAEoD,SAAS,CAACpD,MAAM;cAAEsL,YAAY,EAAE5L;YAAa,CAAC,EAChFwH,cAAc,CACd;YACFqE,UAAU,EAAE,CAAE;YAAA,IACT7P,QAAQ,CAACuF,EAAE,KAAK,KAAK,GAAG;cAAEuK,SAAS,EAAE;YAAM,CAAC,GAAG,CAAC,CAAC;UAAA,CACvD;QAAC,CACO,CACZ,EAEApL,UAAU,iBACT3B,IAAA,CAACzC,QAAQ,CAACV,IAAI;UAAC8O,KAAK,EAAE,CAAC5O,UAAU,CAACiP,YAAY,EAAErD,mBAAmB,CAAE;UAAAmD,QAAA,eACnE9L,IAAA,CAAC9C,UAAU;YACTiE,GAAG,EAAEwC,QAAS;YACdqJ,UAAU;YACVC,aAAa;YACb;YACA;YAAA;YACAC,aAAa,EAAE,CAACjL,QAAS;YACzBkL,8BAA8B,EAAE,KAAM;YACtC5D,aAAa,EAAE;cAAE5D,CAAC,EAAE/B,eAAe,CAACI,OAAO,GAAG1C,YAAY;cAAEsE,CAAC,EAAE;YAAE,CAAE;YACnEwH,QAAQ,EAAE5D,aAAc;YACxB6D,mBAAmB,EAAEhE,aAAc;YAAA,IAC9BpM,QAAQ,CAACuF,EAAE,KAAK,KAAK,GAAG;cAAE8K,QAAQ,EAAEjE;YAAc,CAAC,GAAG,CAAC,CAAC;YAC7DkE,mBAAmB,EAAE,EAAG;YACxB5B,KAAK,EAAE5O,UAAU,CAACiP,YAAa;YAAAF,QAAA,EAE9BjK,MAAM,CAAC2L,GAAG,CAAC,CAACzG,GAAG,EAAE0C,GAAG,KAAK;cACxB,MAAMnF,KAAK,GAAGjC,UAAU,CAACoH,GAAG,CAAC,IAAIjL,cAAc,CAACuI,GAAG,CAAC9B,GAAG,CAAC,IAAIvG,oBAAoB;cAChF,MAAM+O,GAAG,GAAGpJ,WAAW,CAACC,KAAK,CAAC;cAC9B;cACA;cACA;cACA;cACA,IAAImF,GAAG,KAAK1H,WAAW,EAAE;gBACvB,oBACE/B,IAAA,CAACnD,IAAI;kBAEH8O,KAAK,EAAE,CAACC,MAAM,CAAC8B,IAAI,EAAE;oBAAErM,KAAK,EAAEC,YAAY;oBAAEC,MAAM,EAAEC;kBAAc,CAAC,EAAElB,eAAe,CAAE;kBAAAwL,QAAA,eAEtF9L,IAAA,CAAChC,eAAe;oBAAC+N,OAAO,EAAErB,iBAAkB;oBAAAoB,QAAA,eAC1C9L,IAAA,CAACK,aAAa;sBACZsM,MAAM,EAAE;wBAAE1H,GAAG,EAAE8B,GAAG,CAAC9B;sBAAI,CAAE;sBACzB2H,UAAU,EAAC,SAAS;sBACpBjB,KAAK,EAAE,CACL;wBAAEtK,KAAK,EAAEoM,GAAG,CAACpM,KAAK;wBAAEE,MAAM,EAAEkM,GAAG,CAAClM,MAAM;wBAAEsL,YAAY,EAAE5L;sBAAa,CAAC,EACpE2H,cAAc,CACd;sBACFkE,UAAU,EAAE,CAAE;sBAAA,IACT7P,QAAQ,CAACuF,EAAE,KAAK,KAAK,GAAG;wBAAEuK,SAAS,EAAE;sBAAM,CAAC,GAAG,CAAC,CAAC;oBAAA,CACvD;kBAAC,CACa;gBAAC,GAdb,GAAGhG,GAAG,CAAC9B,GAAG,IAAIwE,GAAG,EAelB,CAAC;cAEX;cACA,oBACEzJ,IAAA,CAACnD,IAAI;gBAEH8O,KAAK,EAAE,CAACC,MAAM,CAAC8B,IAAI,EAAE;kBAAErM,KAAK,EAAEC,YAAY;kBAAEC,MAAM,EAAEC;gBAAc,CAAC,CAAE;gBAAAsK,QAAA,eAErE9L,IAAA,CAAC3C,KAAK;kBACJsP,MAAM,EAAE;oBAAE1H,GAAG,EAAE8B,GAAG,CAAC9B;kBAAI,CAAE;kBACzB2H,UAAU,EAAC,SAAS;kBACpBjB,KAAK,EAAE;oBAAEtK,KAAK,EAAEoM,GAAG,CAACpM,KAAK;oBAAEE,MAAM,EAAEkM,GAAG,CAAClM,MAAM;oBAAEsL,YAAY,EAAE5L;kBAAa,CAAE;kBAC5E6L,UAAU,EAAE,CAAE;kBAAA,IACT7P,QAAQ,CAACuF,EAAE,KAAK,KAAK,GAAG;oBAAEuK,SAAS,EAAE;kBAAM,CAAC,GAAG,CAAC,CAAC;gBAAA,CACvD;cAAC,GATG,GAAGhG,GAAG,CAAC9B,GAAG,IAAIwE,GAAG,EAUlB,CAAC;YAEX,CAAC;UAAC,CACQ;QAAC,CACA,CAChB,EAEA9H,UAAU,IAAIE,MAAM,CAACyE,MAAM,GAAG,CAAC,iBAC9BpG,KAAA,CAAC3C,QAAQ,CAACV,IAAI;UAAC8O,KAAK,EAAE,CAACC,MAAM,CAAC+B,aAAa,EAAEnF,aAAa,CAAE;UAACiE,aAAa,EAAC,UAAU;UAAAX,QAAA,gBACnF9L,IAAA,CAACnD,IAAI;YAAC8O,KAAK,EAAEC,MAAM,CAACgC,WAAY;YAACnB,aAAa,EAAC,MAAM;YAAAX,QAAA,eACnD9L,IAAA,CAAClD,IAAI;cAAC6O,KAAK,EAAEC,MAAM,CAACiC,WAAY;cAAA/B,QAAA,EAAE,GAAG/J,WAAW,GAAG,CAAC,MAAMF,MAAM,CAACyE,MAAM;YAAE,CAAO;UAAC,CAC7E,CAAC,EACNpF,gBAAgB,KAAK,YAAY,gBAChClB,IAAA,CAAC9C,UAAU;YACT8P,UAAU;YACVG,8BAA8B,EAAE,KAAM;YACtCxB,KAAK,EAAEC,MAAM,CAACkC,gBAAiB;YAC/BC,qBAAqB,EAAEnC,MAAM,CAACoC,iBAAkB;YAAAlC,QAAA,EAE/CjK,MAAM,CAAC2L,GAAG,CAAC,CAACzG,GAAG,EAAE0C,GAAG,kBACnBzJ,IAAA,CAAChD,SAAS;cAER0P,OAAO,EAAEA,CAAA,KAAMzD,MAAM,CAACQ,GAAG,CAAE;cAC3BwE,iBAAiB,EAAC,QAAQ;cAC1BC,kBAAkB,EAAE,eAAezE,GAAG,GAAG,CAAC,OAAO5H,MAAM,CAACyE,MAAM,EAAG;cACjEqF,KAAK,EAAE,CACLC,MAAM,CAACuC,SAAS,EAChB1E,GAAG,KAAK1H,WAAW,GAAG6J,MAAM,CAACwC,eAAe,GAAGxC,MAAM,CAACyC,iBAAiB,EACvE/N,eAAe,CACf;cAAAwL,QAAA,eAEF9L,IAAA,CAAC3C,KAAK;gBACJsP,MAAM,EAAE;kBAAE1H,GAAG,EAAE8B,GAAG,CAAC9B;gBAAI,CAAE;gBACzB2H,UAAU,EAAC,OAAO;gBAClBjB,KAAK,EAAEC,MAAM,CAAC0C,cAAe;gBAC7BxB,UAAU,EAAE,CAAE;gBAAA,IACT7P,QAAQ,CAACuF,EAAE,KAAK,KAAK,GAAG;kBAAEuK,SAAS,EAAE;gBAAM,CAAC,GAAG,CAAC,CAAC;cAAA,CACvD;YAAC,GAhBG,SAAShG,GAAG,CAAC9B,GAAG,IAAIwE,GAAG,EAiBnB,CACZ;UAAC,CACQ,CAAC,gBAEbzJ,IAAA,CAACnD,IAAI;YAAC8O,KAAK,EAAEC,MAAM,CAAC2C,OAAQ;YAAC9B,aAAa,EAAC,MAAM;YAAAX,QAAA,EAC9CjK,MAAM,CAAC2L,GAAG,CAAC,CAACzG,GAAG,EAAE0C,GAAG,kBACnBzJ,IAAA,CAACnD,IAAI;cAEH8O,KAAK,EAAE,CAACC,MAAM,CAAC4C,GAAG,EAAE/E,GAAG,KAAK1H,WAAW,GAAG6J,MAAM,CAAC6C,SAAS,GAAG7C,MAAM,CAAC8C,WAAW;YAAE,GAD5E,OAAO3H,GAAG,CAAC9B,GAAG,IAAIwE,GAAG,EAE3B,CACF;UAAC,CACE,CACP;QAAA,CACY,CAChB,EAEAxM,QAAQ,CAACuF,EAAE,KAAK,KAAK,IAAIb,UAAU,IAAIE,MAAM,CAACyE,MAAM,GAAG,CAAC,IAAIvE,WAAW,GAAG,CAAC,iBAC1E/B,IAAA,CAAC7B,kBAAkB;UACjBuO,OAAO,EAAEA,CAAA,KAAMzD,MAAM,CAAClH,WAAW,GAAG,CAAC,CAAE;UACvCkM,iBAAiB,EAAC,QAAQ;UAC1BC,kBAAkB,EAAC,gBAAgB;UACnCS,OAAO,EAAE,CAAE;UACXhD,KAAK,EAAE,CAACC,MAAM,CAACgD,QAAQ,EAAEhD,MAAM,CAACiD,YAAY,EAAEvO,eAAe,CAAE;UAC/DwO,UAAU,EAAElD,MAAM,CAACmD,iBAAkB;UAAAjD,QAAA,eAErC9L,IAAA,CAAC5B,iCAAiC;YAAC4Q,IAAI,EAAC,MAAM;YAACC,IAAI,EAAC;UAAI,CAAE;QAAC,CACzC,CACrB,EAEAhS,QAAQ,CAACuF,EAAE,KAAK,KAAK,IAAIb,UAAU,IAAIE,MAAM,CAACyE,MAAM,GAAG,CAAC,IAAIvE,WAAW,GAAGF,MAAM,CAACyE,MAAM,GAAG,CAAC,iBAC1FtG,IAAA,CAAC7B,kBAAkB;UACjBuO,OAAO,EAAEA,CAAA,KAAMzD,MAAM,CAAClH,WAAW,GAAG,CAAC,CAAE;UACvCkM,iBAAiB,EAAC,QAAQ;UAC1BC,kBAAkB,EAAC,YAAY;UAC/BS,OAAO,EAAE,CAAE;UACXhD,KAAK,EAAE,CAACC,MAAM,CAACgD,QAAQ,EAAEhD,MAAM,CAACsD,aAAa,EAAE5O,eAAe,CAAE;UAChEwO,UAAU,EAAElD,MAAM,CAACuD,kBAAmB;UAAArD,QAAA,eAEtC9L,IAAA,CAAC3B,kCAAkC;YAAC2Q,IAAI,EAAC,MAAM;YAACC,IAAI,EAAC;UAAI,CAAE;QAAC,CAC1C,CACrB,EAEA1M,QAAQ,IAAIZ,UAAU,iBACrB3B,IAAA,CAAChD,SAAS;UACR0P,OAAO,EAAE9B,WAAY;UACrBqD,iBAAiB,EAAC,QAAQ;UAC1BC,kBAAkB,EAAC,aAAa;UAChCS,OAAO,EAAE,CAAE;UACXhD,KAAK,EAAE,CAACC,MAAM,CAACwD,WAAW,EAAE9O,eAAe,CAAE;UAAAwL,QAAA,eAE7C9L,IAAA,CAAC1B,qCAAqC;YAAC0Q,IAAI,EAAC,MAAM;YAACC,IAAI,EAAC;UAAI,CAAE;QAAC,CACtD,CACZ,EAEArK,SAAS,gBACR5E,IAAA,CAACzC,QAAQ,CAACV,IAAI;UACZ8O,KAAK,EAAE,CACLC,MAAM,CAACyD,cAAc,EACrBxN,MAAM,CAACyE,MAAM,GAAG,CAAC,IAAIsF,MAAM,CAAC0D,2BAA2B,EACvD9G,aAAa,CACb;UACFiE,aAAa,EAAC,MAAM;UAAAX,QAAA,eAEpB9L,IAAA,CAACnD,IAAI;YAAC8O,KAAK,EAAEC,MAAM,CAAC2D,cAAe;YAAAzD,QAAA,eACjC9L,IAAA,CAAClD,IAAI;cAAC6O,KAAK,EAAEC,MAAM,CAAC4D,cAAe;cAACC,aAAa,EAAE,CAAE;cAAA3D,QAAA,EAAElH;YAAS,CAAO;UAAC,CACpE;QAAC,CACM,CAAC,GACd,IAAI;MAAA,CACK;IAAC,CACD,CAAC;EAAA,CACI,CACzB;EAED,IAAI,CAACnD,MAAM,EAAE,OAAO,IAAI;;EAExB;EACA;EACA;EACA;EACA;EACA;EACA,oBAAOzB,IAAA,CAAC9B,MAAM;IAAA4N,QAAA,EAAEJ,aAAa,CAAC;EAAC,CAAS,CAAC;AAC3C,CAAC,CAAC;AAEF5K,yBAAyB,CAAC4O,WAAW,GAAG,sBAAsB;AAE9D,OAAO,MAAMC,oBAAoB,GAAG7O,yBAAyB;AAE7D,MAAM8K,MAAM,GAAG7O,UAAU,CAAC6S,MAAM,CAAC;EAC/B/D,cAAc,EAAE;IACdgE,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpB,GAAG7S,QAAQ,CAACsD,MAAM,CAAC;MACjBC,GAAG,EAAE;QACH;QACA;QACA;QACAuP,QAAQ,EAAE,OAAqB;QAC/BC,GAAG,EAAE,CAAC;QACNC,IAAI,EAAE,CAAC;QACPC,KAAK,EAAE,CAAC;QACRC,MAAM,EAAE,CAAC;QACTC,MAAM,EAAE7R,OAAO,CAAC8R;MAClB,CAAC;MACD1P,OAAO,EAAE;QACP;QACA;QACA;QACA;QACA;QACA;QACAoP,QAAQ,EAAE,UAAU;QACpBC,GAAG,EAAE,CAAC;QACNC,IAAI,EAAE,CAAC;QACPC,KAAK,EAAE,CAAC;QACRC,MAAM,EAAE,CAAC;QACT9D,eAAe,EAAE;MACnB;IACF,CAAC;EACH,CAAC;EACDG,aAAa,EAAE;IACbqD,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDpC,IAAI,EAAE;IACJmC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDnC,aAAa,EAAE;IACboC,QAAQ,EAAE,UAAU;IACpBI,MAAM,EAAE,EAAE;IACVF,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRJ,UAAU,EAAE,QAAQ;IACpBQ,GAAG,EAAE;EACP,CAAC;EACD1C,WAAW,EAAE;IACX2C,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,CAAC;IAClB3D,YAAY,EAAE,GAAG;IACjBR,eAAe,EAAE;EACnB,CAAC;EACDwB,WAAW,EAAE;IACX4C,KAAK,EAAE,MAAM;IACbC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd,CAAC;EACDpC,OAAO,EAAE;IACPqC,aAAa,EAAE,KAAK;IACpBN,GAAG,EAAE;EACP,CAAC;EACD9B,GAAG,EAAE;IACHnN,KAAK,EAAE,CAAC;IACRE,MAAM,EAAE,CAAC;IACTsL,YAAY,EAAE;EAChB,CAAC;EACD4B,SAAS,EAAE;IACTpC,eAAe,EAAE;EACnB,CAAC;EACDqC,WAAW,EAAE;IACXrC,eAAe,EAAE;EACnB,CAAC;EACDyB,gBAAgB,EAAE;IAChB+C,QAAQ,EAAE,MAAM;IAChBC,QAAQ,EAAE;EACZ,CAAC;EACD;EACA9C,iBAAiB,EAAE;IACjB8C,QAAQ,EAAE,CAAC;IACXjB,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBQ,GAAG,EAAE,CAAC;IACNC,iBAAiB,EAAE;EACrB,CAAC;EACDpC,SAAS,EAAE;IACT9M,KAAK,EAAEvB,yBAAyB;IAChCyB,MAAM,EAAEzB,yBAAyB;IACjC+M,YAAY,EAAE,CAAC;IACfkE,QAAQ,EAAE,QAAQ;IAClBC,WAAW,EAAE;EACf,CAAC;EACD5C,eAAe,EAAE;IACf6C,WAAW,EAAE;EACf,CAAC;EACD5C,iBAAiB,EAAE;IACjB4C,WAAW,EAAE;EACf,CAAC;EACD3C,cAAc,EAAE;IACdjN,KAAK,EAAE,MAAM;IACbE,MAAM,EAAE;EACV,CAAC;EACDqN,QAAQ,EAAE;IACRmB,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,KAAK;IACV3O,KAAK,EAAE,EAAE;IACTE,MAAM,EAAE,EAAE;IACVsL,YAAY,EAAE,GAAG;IACjBiD,UAAU,EAAE,QAAQ;IACpBD,cAAc,EAAE,QAAQ;IACxBxD,eAAe,EAAE,kBAAkB;IACnC3D,SAAS,EAAE,CAAC;MAAE7F,UAAU,EAAE,CAAC;IAAG,CAAC;EACjC,CAAC;EACDgM,YAAY,EAAE;IACZoB,IAAI,EAAE;EACR,CAAC;EACDf,aAAa,EAAE;IACbgB,KAAK,EAAE;EACT,CAAC;EACD;EACAnB,iBAAiB,EAAE;IACjB1C,eAAe,EAAE,iBAAiB;IAClC3D,SAAS,EAAE,CAAC;MAAE7F,UAAU,EAAE,CAAC;IAAG,CAAC,EAAE;MAAEF,KAAK,EAAE;IAAK,CAAC;EAClD,CAAC;EACDwM,kBAAkB,EAAE;IAClB9C,eAAe,EAAE,iBAAiB;IAClC3D,SAAS,EAAE,CAAC;MAAE7F,UAAU,EAAE,CAAC;IAAG,CAAC,EAAE;MAAEF,KAAK,EAAE;IAAK,CAAC;EAClD,CAAC;EACDyM,WAAW,EAAE;IACXW,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,EAAE;IACPE,KAAK,EAAE,EAAE;IACT7O,KAAK,EAAE,EAAE;IACTE,MAAM,EAAE,EAAE;IACVsL,YAAY,EAAE,GAAG;IACjBiD,UAAU,EAAE,QAAQ;IACpBD,cAAc,EAAE,QAAQ;IACxBxD,eAAe,EAAE;EACnB,CAAC;EACDgD,cAAc,EAAE;IACdU,QAAQ,EAAE,UAAU;IACpBI,MAAM,EAAE,EAAE;IACVF,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRJ,UAAU,EAAE,QAAQ;IACpBS,iBAAiB,EAAE;EACrB,CAAC;EACD;EACAjB,2BAA2B,EAAE;IAC3Ba,MAAM,EAAE;EACV,CAAC;EACDZ,cAAc,EAAE;IACdsB,QAAQ,EAAE,GAAG;IACbN,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,CAAC;IAClB3D,YAAY,EAAE,EAAE;IAChBR,eAAe,EAAE;EACnB,CAAC;EACDmD,cAAc,EAAE;IACdiB,KAAK,EAAE,MAAM;IACbC,QAAQ,EAAE,EAAE;IACZQ,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,eAAevB,oBAAoB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroup.d.ts","sourceRoot":"","sources":["../../../../src/avatar-group/AvatarGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAGpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAchD,eAAO,MAAM,WAAW,8CAA6B,CAAC"}
1
+ {"version":3,"file":"AvatarGroup.d.ts","sourceRoot":"","sources":["../../../../src/avatar-group/AvatarGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAGpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAehD,eAAO,MAAM,WAAW,8CAA6B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroupBase.d.ts","sourceRoot":"","sources":["../../../../src/avatar-group/AvatarGroupBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAIL,IAAI,EAEL,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAiBjE,6EAA6E;AAC7E,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,oEAAoE;IACpE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;CAC9D;AAED,UAAU,oBAAqB,SAAQ,gBAAgB;IACrD,aAAa,CAAC,EAAE,4BAA4B,CAAC;CAC9C;AAuPD,eAAO,MAAM,eAAe,kDAAiC,CAAC"}
1
+ {"version":3,"file":"AvatarGroupBase.d.ts","sourceRoot":"","sources":["../../../../src/avatar-group/AvatarGroupBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAIL,IAAI,EAIL,MAAM,cAAc,CAAC;AAMtB,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AA0BjE,6EAA6E;AAC7E,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,oEAAoE;IACpE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;CAC9D;AAED,UAAU,oBAAqB,SAAQ,gBAAgB;IACrD,aAAa,CAAC,EAAE,4BAA4B,CAAC;CAC9C;AA4bD,eAAO,MAAM,eAAe,kDAAiC,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Deterministic organic circle-packing for the {@link AvatarGroup} `cluster`
3
+ * layout — the iMessage-style "magnetic bubble cluster" where several avatars of
4
+ * varying sizes nestle together inside a round bounding box (a large primary in
5
+ * the middle/front, smaller members packed around it with a uniform gap).
6
+ *
7
+ * For 4+ members the layout is produced by a small, FULLY DETERMINISTIC
8
+ * force-directed relaxation (no `Math.random`): the primary is pinned at the
9
+ * centre and the remaining members are seeded on a golden-angle spiral, then a
10
+ * fixed number of relaxation passes (a) pull every non-primary circle toward the
11
+ * centre and (b) push any two circles apart until they clear a uniform gap. A
12
+ * fixed iteration count + deterministic seed means the same `count` always
13
+ * yields byte-identical positions, so native and web render the cluster
14
+ * identically with no `onLayout`/DOM measurement. The very small counts (1, 2,
15
+ * 3) — where a relaxation degenerates into a line or a lone pair — use explicit
16
+ * iMessage-style arrangements instead.
17
+ *
18
+ * Output is resolution-independent: each bubble is expressed as a fraction of
19
+ * the group's bounding box (`cx`/`cy` centre, `d` diameter, all 0..1), so the
20
+ * consumer just multiplies by the pixel `size`. Every bubble is guaranteed to
21
+ * sit fully inside the `[0, 1]` box (the packed result is scaled + translated to
22
+ * fit), so the cluster drops in exactly where a single round Avatar would.
23
+ */
24
+ /** A single packed bubble, expressed as fractions of the bounding box (0..1). */
25
+ export interface ClusterBubble {
26
+ /** Centre X as a fraction of the box width. */
27
+ cx: number;
28
+ /** Centre Y as a fraction of the box height. */
29
+ cy: number;
30
+ /** Diameter as a fraction of the box size. */
31
+ d: number;
32
+ }
33
+ /**
34
+ * Deterministic cluster layout for `count` bubbles, as box-fraction bubbles
35
+ * ordered primary-first. `count` includes the `+N` overflow bubble when present
36
+ * (it is simply the last, smallest member of the pack).
37
+ *
38
+ * - `<= 0` → empty.
39
+ * - `1` → a single bubble filling the box.
40
+ * - `2` → the iMessage "one in front, one behind" pair: a larger primary set
41
+ * low-left with a smaller member tucked behind it to the upper-right.
42
+ * - `3` → an iMessage-style triangle: the larger primary along the bottom with
43
+ * two smaller members above it.
44
+ * - `4+` → the deterministic force-directed pack (primary centred, the rest
45
+ * packed magnetically around it, denser as the count grows).
46
+ */
47
+ export declare function computeClusterLayout(count: number): ClusterBubble[];
48
+ //# sourceMappingURL=cluster-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster-layout.d.ts","sourceRoot":"","sources":["../../../../src/avatar-group/cluster-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,CAAC,EAAE,MAAM,CAAC;CACX;AA4ID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAiBnE"}
@@ -28,14 +28,27 @@ export interface AvatarGroupProps {
28
28
  items: AvatarGroupItem[];
29
29
  /**
30
30
  * How the avatars are arranged.
31
- * - `'stack'` (default): overlapping facepile with a thin separator ring, a
32
- * trailing `+N` overflow chip, and the first item on top.
31
+ * - `'stack'` (default): overlapping horizontal facepile with a thin separator
32
+ * ring, a trailing `+N` overflow chip, and the first item on top.
33
33
  * - `'row'`: avatars placed adjacent with a positive `spacing` gap and NO
34
34
  * separator ring — an "adjacent row" of icons (e.g. a top-tokens strip).
35
35
  * Still collapses into the `+N` overflow chip at `max`.
36
+ * - `'cluster'`: a compact 2D "magnetic bubble cluster" (iMessage-style) —
37
+ * avatars of VARYING sizes deterministically packed into a round bounding
38
+ * box with a uniform gap: the first item (primary) is the largest and sits
39
+ * centred/in front, the rest nestle around it. Scales from 2 (a "front +
40
+ * behind" pair) up through a dense pack (~20), collapsing into a trailing
41
+ * `+N` bubble past `max`. Unlike the horizontal layouts, `size` is the
42
+ * overall box diameter (see `size`) and `max` defaults to 20 (see `max`), so
43
+ * it drops in where a single round Avatar would.
44
+ */
45
+ layout?: 'stack' | 'row' | 'cluster';
46
+ /**
47
+ * Diameter in pixels. For `'stack'`/`'row'` this is the diameter of EACH
48
+ * avatar. For `'cluster'` this is the diameter of the whole bounding box (the
49
+ * packed bubbles are sized as fractions of it), so the cluster occupies the
50
+ * same footprint as a single `size`-px Avatar.
36
51
  */
37
- layout?: 'stack' | 'row';
38
- /** Diameter of each avatar in pixels. */
39
52
  size?: number;
40
53
  /**
41
54
  * Rendition variant forwarded to each {@link Avatar}'s `variant` prop, which
@@ -44,7 +57,12 @@ export interface AvatarGroupProps {
44
57
  * `'thumb'`; pass `undefined` to request full-size renditions.
45
58
  */
46
59
  variant?: string;
47
- /** Maximum number of avatars to render before collapsing into the overflow chip. */
60
+ /**
61
+ * Maximum number of avatars to render before collapsing into the overflow
62
+ * chip. Defaults to 5 for `'stack'`/`'row'`, and to 20 for `'cluster'` (which
63
+ * packs densely). In `'cluster'` the cap is inclusive of the `+N` bubble: past
64
+ * the cap the last slot becomes the overflow bubble.
65
+ */
48
66
  max?: number;
49
67
  /**
50
68
  * Real total count of members. When provided and larger than the number of
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/avatar-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACzB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACvE,gCAAgC;IAChC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/avatar-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;IACrC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACvE,gCAAgC;IAChC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ZoomableImageGallery.d.ts","sourceRoot":"","sources":["../../../../src/zoomable-image-gallery/ZoomableImageGallery.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAiEjF,OAAO,KAAK,EAGV,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAw2BjB,eAAO,MAAM,oBAAoB,8GAA4B,CAAC;AAwK9D,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"ZoomableImageGallery.d.ts","sourceRoot":"","sources":["../../../../src/zoomable-image-gallery/ZoomableImageGallery.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAiEjF,OAAO,KAAK,EAGV,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAu3BjB,eAAO,MAAM,oBAAoB,8GAA4B,CAAC;AAwK9D,eAAe,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroup.d.ts","sourceRoot":"","sources":["../../../../src/avatar-group/AvatarGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAGpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAchD,eAAO,MAAM,WAAW,8CAA6B,CAAC"}
1
+ {"version":3,"file":"AvatarGroup.d.ts","sourceRoot":"","sources":["../../../../src/avatar-group/AvatarGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAGpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAehD,eAAO,MAAM,WAAW,8CAA6B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroupBase.d.ts","sourceRoot":"","sources":["../../../../src/avatar-group/AvatarGroupBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAIL,IAAI,EAEL,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAiBjE,6EAA6E;AAC7E,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,oEAAoE;IACpE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;CAC9D;AAED,UAAU,oBAAqB,SAAQ,gBAAgB;IACrD,aAAa,CAAC,EAAE,4BAA4B,CAAC;CAC9C;AAuPD,eAAO,MAAM,eAAe,kDAAiC,CAAC"}
1
+ {"version":3,"file":"AvatarGroupBase.d.ts","sourceRoot":"","sources":["../../../../src/avatar-group/AvatarGroupBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAIL,IAAI,EAIL,MAAM,cAAc,CAAC;AAMtB,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AA0BjE,6EAA6E;AAC7E,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,oEAAoE;IACpE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;CAC9D;AAED,UAAU,oBAAqB,SAAQ,gBAAgB;IACrD,aAAa,CAAC,EAAE,4BAA4B,CAAC;CAC9C;AA4bD,eAAO,MAAM,eAAe,kDAAiC,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Deterministic organic circle-packing for the {@link AvatarGroup} `cluster`
3
+ * layout — the iMessage-style "magnetic bubble cluster" where several avatars of
4
+ * varying sizes nestle together inside a round bounding box (a large primary in
5
+ * the middle/front, smaller members packed around it with a uniform gap).
6
+ *
7
+ * For 4+ members the layout is produced by a small, FULLY DETERMINISTIC
8
+ * force-directed relaxation (no `Math.random`): the primary is pinned at the
9
+ * centre and the remaining members are seeded on a golden-angle spiral, then a
10
+ * fixed number of relaxation passes (a) pull every non-primary circle toward the
11
+ * centre and (b) push any two circles apart until they clear a uniform gap. A
12
+ * fixed iteration count + deterministic seed means the same `count` always
13
+ * yields byte-identical positions, so native and web render the cluster
14
+ * identically with no `onLayout`/DOM measurement. The very small counts (1, 2,
15
+ * 3) — where a relaxation degenerates into a line or a lone pair — use explicit
16
+ * iMessage-style arrangements instead.
17
+ *
18
+ * Output is resolution-independent: each bubble is expressed as a fraction of
19
+ * the group's bounding box (`cx`/`cy` centre, `d` diameter, all 0..1), so the
20
+ * consumer just multiplies by the pixel `size`. Every bubble is guaranteed to
21
+ * sit fully inside the `[0, 1]` box (the packed result is scaled + translated to
22
+ * fit), so the cluster drops in exactly where a single round Avatar would.
23
+ */
24
+ /** A single packed bubble, expressed as fractions of the bounding box (0..1). */
25
+ export interface ClusterBubble {
26
+ /** Centre X as a fraction of the box width. */
27
+ cx: number;
28
+ /** Centre Y as a fraction of the box height. */
29
+ cy: number;
30
+ /** Diameter as a fraction of the box size. */
31
+ d: number;
32
+ }
33
+ /**
34
+ * Deterministic cluster layout for `count` bubbles, as box-fraction bubbles
35
+ * ordered primary-first. `count` includes the `+N` overflow bubble when present
36
+ * (it is simply the last, smallest member of the pack).
37
+ *
38
+ * - `<= 0` → empty.
39
+ * - `1` → a single bubble filling the box.
40
+ * - `2` → the iMessage "one in front, one behind" pair: a larger primary set
41
+ * low-left with a smaller member tucked behind it to the upper-right.
42
+ * - `3` → an iMessage-style triangle: the larger primary along the bottom with
43
+ * two smaller members above it.
44
+ * - `4+` → the deterministic force-directed pack (primary centred, the rest
45
+ * packed magnetically around it, denser as the count grows).
46
+ */
47
+ export declare function computeClusterLayout(count: number): ClusterBubble[];
48
+ //# sourceMappingURL=cluster-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster-layout.d.ts","sourceRoot":"","sources":["../../../../src/avatar-group/cluster-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,CAAC,EAAE,MAAM,CAAC;CACX;AA4ID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAiBnE"}
@@ -28,14 +28,27 @@ export interface AvatarGroupProps {
28
28
  items: AvatarGroupItem[];
29
29
  /**
30
30
  * How the avatars are arranged.
31
- * - `'stack'` (default): overlapping facepile with a thin separator ring, a
32
- * trailing `+N` overflow chip, and the first item on top.
31
+ * - `'stack'` (default): overlapping horizontal facepile with a thin separator
32
+ * ring, a trailing `+N` overflow chip, and the first item on top.
33
33
  * - `'row'`: avatars placed adjacent with a positive `spacing` gap and NO
34
34
  * separator ring — an "adjacent row" of icons (e.g. a top-tokens strip).
35
35
  * Still collapses into the `+N` overflow chip at `max`.
36
+ * - `'cluster'`: a compact 2D "magnetic bubble cluster" (iMessage-style) —
37
+ * avatars of VARYING sizes deterministically packed into a round bounding
38
+ * box with a uniform gap: the first item (primary) is the largest and sits
39
+ * centred/in front, the rest nestle around it. Scales from 2 (a "front +
40
+ * behind" pair) up through a dense pack (~20), collapsing into a trailing
41
+ * `+N` bubble past `max`. Unlike the horizontal layouts, `size` is the
42
+ * overall box diameter (see `size`) and `max` defaults to 20 (see `max`), so
43
+ * it drops in where a single round Avatar would.
44
+ */
45
+ layout?: 'stack' | 'row' | 'cluster';
46
+ /**
47
+ * Diameter in pixels. For `'stack'`/`'row'` this is the diameter of EACH
48
+ * avatar. For `'cluster'` this is the diameter of the whole bounding box (the
49
+ * packed bubbles are sized as fractions of it), so the cluster occupies the
50
+ * same footprint as a single `size`-px Avatar.
36
51
  */
37
- layout?: 'stack' | 'row';
38
- /** Diameter of each avatar in pixels. */
39
52
  size?: number;
40
53
  /**
41
54
  * Rendition variant forwarded to each {@link Avatar}'s `variant` prop, which
@@ -44,7 +57,12 @@ export interface AvatarGroupProps {
44
57
  * `'thumb'`; pass `undefined` to request full-size renditions.
45
58
  */
46
59
  variant?: string;
47
- /** Maximum number of avatars to render before collapsing into the overflow chip. */
60
+ /**
61
+ * Maximum number of avatars to render before collapsing into the overflow
62
+ * chip. Defaults to 5 for `'stack'`/`'row'`, and to 20 for `'cluster'` (which
63
+ * packs densely). In `'cluster'` the cap is inclusive of the `+N` bubble: past
64
+ * the cap the last slot becomes the overflow bubble.
65
+ */
48
66
  max?: number;
49
67
  /**
50
68
  * Real total count of members. When provided and larger than the number of
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/avatar-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACzB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACvE,gCAAgC;IAChC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/avatar-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;IACrC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACvE,gCAAgC;IAChC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ZoomableImageGallery.d.ts","sourceRoot":"","sources":["../../../../src/zoomable-image-gallery/ZoomableImageGallery.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAiEjF,OAAO,KAAK,EAGV,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAw2BjB,eAAO,MAAM,oBAAoB,8GAA4B,CAAC;AAwK9D,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"ZoomableImageGallery.d.ts","sourceRoot":"","sources":["../../../../src/zoomable-image-gallery/ZoomableImageGallery.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAiEjF,OAAO,KAAK,EAGV,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAu3BjB,eAAO,MAAM,oBAAoB,8GAA4B,CAAC;AAwK9D,eAAe,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/bloom",
3
- "version": "0.34.2",
3
+ "version": "0.35.0",
4
4
  "description": "Bloom UI — Oxy ecosystem component library for React Native + Expo + Web",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -0,0 +1,123 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react-native';
3
+
4
+ import { BloomThemeProvider } from '../theme/BloomThemeProvider';
5
+ import { AvatarGroup } from '../avatar-group';
6
+ import type { AvatarGroupItem } from '../avatar-group';
7
+ import {
8
+ computeClusterLayout,
9
+ type ClusterBubble,
10
+ } from '../avatar-group/cluster-layout';
11
+
12
+ /** Returns bubble at `index` or throws — keeps the tests `!`/`as`-free under
13
+ * `noUncheckedIndexedAccess`. */
14
+ function bubbleAt(bubbles: readonly ClusterBubble[], index: number): ClusterBubble {
15
+ const bubble = bubbles[index];
16
+ if (!bubble) throw new Error(`expected a bubble at index ${index}`);
17
+ return bubble;
18
+ }
19
+
20
+ /** Nearest-neighbour edge gap for every bubble (negative = overlap). */
21
+ function minEdgeGap(bubbles: readonly ClusterBubble[]): number {
22
+ let worst = Infinity;
23
+ for (const a of bubbles) {
24
+ for (const b of bubbles) {
25
+ if (a === b) continue;
26
+ const centerDist = Math.hypot(a.cx - b.cx, a.cy - b.cy);
27
+ const gap = centerDist - (a.d / 2 + b.d / 2);
28
+ if (gap < worst) worst = gap;
29
+ }
30
+ }
31
+ return worst;
32
+ }
33
+
34
+ describe('computeClusterLayout', () => {
35
+ it('returns an empty layout for non-positive counts', () => {
36
+ expect(computeClusterLayout(0)).toEqual([]);
37
+ expect(computeClusterLayout(-3)).toEqual([]);
38
+ });
39
+
40
+ it('returns exactly `count` bubbles', () => {
41
+ for (let count = 1; count <= 20; count++) {
42
+ expect(computeClusterLayout(count)).toHaveLength(count);
43
+ }
44
+ });
45
+
46
+ it('is fully deterministic (no Math.random)', () => {
47
+ for (const count of [2, 3, 4, 8, 20]) {
48
+ expect(computeClusterLayout(count)).toEqual(computeClusterLayout(count));
49
+ }
50
+ });
51
+
52
+ it('keeps every bubble inside the unit box with no NaN', () => {
53
+ for (let count = 1; count <= 20; count++) {
54
+ const bubbles = computeClusterLayout(count);
55
+ for (const bubble of bubbles) {
56
+ expect(Number.isNaN(bubble.cx)).toBe(false);
57
+ expect(Number.isNaN(bubble.cy)).toBe(false);
58
+ expect(Number.isNaN(bubble.d)).toBe(false);
59
+ expect(bubble.cx - bubble.d / 2).toBeGreaterThanOrEqual(-1e-6);
60
+ expect(bubble.cx + bubble.d / 2).toBeLessThanOrEqual(1 + 1e-6);
61
+ expect(bubble.cy - bubble.d / 2).toBeGreaterThanOrEqual(-1e-6);
62
+ expect(bubble.cy + bubble.d / 2).toBeLessThanOrEqual(1 + 1e-6);
63
+ }
64
+ }
65
+ });
66
+
67
+ it('makes the primary (index 0) the largest bubble', () => {
68
+ for (let count = 2; count <= 20; count++) {
69
+ const bubbles = computeClusterLayout(count);
70
+ const primary = bubbleAt(bubbles, 0);
71
+ for (const bubble of bubbles) {
72
+ expect(primary.d).toBeGreaterThanOrEqual(bubble.d - 1e-9);
73
+ }
74
+ }
75
+ });
76
+
77
+ it('centres the primary for the force-packed counts (4+)', () => {
78
+ for (const count of [4, 5, 8, 12, 20]) {
79
+ const primary = bubbleAt(computeClusterLayout(count), 0);
80
+ expect(primary.cx).toBeCloseTo(0.5, 5);
81
+ expect(primary.cy).toBeCloseTo(0.5, 5);
82
+ }
83
+ });
84
+
85
+ it('keeps a uniform, non-overlapping gap for 3+ members', () => {
86
+ // n=2 is the intentional "front + behind" overlap; 3+ pack with a gap.
87
+ for (let count = 3; count <= 20; count++) {
88
+ expect(minEdgeGap(computeClusterLayout(count))).toBeGreaterThan(-1e-3);
89
+ }
90
+ });
91
+ });
92
+
93
+ const CLUSTER_ITEMS: AvatarGroupItem[] = Array.from({ length: 25 }, (_, i) => ({
94
+ id: `c${i}`,
95
+ displayName: `Member ${i}`,
96
+ username: `member${i}`,
97
+ }));
98
+
99
+ function renderCluster(ui: React.ReactElement) {
100
+ return render(<BloomThemeProvider mode="light" colorPreset="teal">{ui}</BloomThemeProvider>);
101
+ }
102
+
103
+ describe('AvatarGroup cluster layout', () => {
104
+ it('renders a "+N" overflow bubble past the cap', () => {
105
+ // 25 members, cap 20 → 19 avatars + a "+6" bubble.
106
+ const { getByText } = renderCluster(
107
+ <AvatarGroup layout="cluster" items={CLUSTER_ITEMS} size={140} max={20} showInitials />,
108
+ );
109
+ expect(getByText('+6')).toBeTruthy();
110
+ });
111
+
112
+ it('shows no overflow bubble when members fit under the cap', () => {
113
+ const { queryByText } = renderCluster(
114
+ <AvatarGroup
115
+ layout="cluster"
116
+ items={CLUSTER_ITEMS.slice(0, 4)}
117
+ size={64}
118
+ showInitials
119
+ />,
120
+ );
121
+ expect(queryByText(/^\+/)).toBeNull();
122
+ });
123
+ });