@oxyhq/bloom 1.11.0 → 1.13.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.
- package/docs/layout.mdx +20 -29
- package/lib/commonjs/fab/Fab.js +0 -42
- package/lib/commonjs/fab/Fab.js.map +1 -1
- package/lib/commonjs/fab/Fab.web.js +3 -18
- package/lib/commonjs/fab/Fab.web.js.map +1 -1
- package/lib/commonjs/layout/bottom-edge.js +42 -68
- package/lib/commonjs/layout/bottom-edge.js.map +1 -1
- package/lib/commonjs/layout/index.js +0 -6
- package/lib/commonjs/layout/index.js.map +1 -1
- package/lib/commonjs/tab-bar/TabBarBase.js +6 -22
- package/lib/commonjs/tab-bar/TabBarBase.js.map +1 -1
- package/lib/module/fab/Fab.js +2 -44
- package/lib/module/fab/Fab.js.map +1 -1
- package/lib/module/fab/Fab.web.js +4 -19
- package/lib/module/fab/Fab.web.js.map +1 -1
- package/lib/module/layout/bottom-edge.js +42 -67
- package/lib/module/layout/bottom-edge.js.map +1 -1
- package/lib/module/layout/index.js +1 -1
- package/lib/module/layout/index.js.map +1 -1
- package/lib/module/tab-bar/TabBarBase.js +8 -24
- package/lib/module/tab-bar/TabBarBase.js.map +1 -1
- package/lib/typescript/commonjs/fab/Fab.d.ts.map +1 -1
- package/lib/typescript/commonjs/fab/Fab.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/layout/bottom-edge.d.ts +28 -40
- package/lib/typescript/commonjs/layout/bottom-edge.d.ts.map +1 -1
- package/lib/typescript/commonjs/layout/index.d.ts +1 -1
- package/lib/typescript/commonjs/layout/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/TabBarBase.d.ts.map +1 -1
- package/lib/typescript/module/fab/Fab.d.ts.map +1 -1
- package/lib/typescript/module/fab/Fab.web.d.ts.map +1 -1
- package/lib/typescript/module/layout/bottom-edge.d.ts +28 -40
- package/lib/typescript/module/layout/bottom-edge.d.ts.map +1 -1
- package/lib/typescript/module/layout/index.d.ts +1 -1
- package/lib/typescript/module/layout/index.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/TabBarBase.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/fab/Fab.tsx +3 -41
- package/src/fab/Fab.web.tsx +4 -19
- package/src/layout/bottom-edge.tsx +49 -84
- package/src/layout/index.ts +1 -6
- package/src/tab-bar/TabBarBase.tsx +6 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_reactNativeSafeAreaContext","_useHaptics","_bottomEdge","_edge","_context","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BarContext","createContext","TabBarBody","Surface","Blur","children","activeIndex","onIndexChange","onIndexLongPress","theme","themeOverrides","haptics","blur","maxWidth","style","viewProps","insets","useSafeAreaInsets","width","windowWidth","useWindowDimensions","minimized","useMinimizeState","progress","tabCount","Math","max","Children","count","hasSelection","undefined","Number","isInteger","slideIndex","useSharedValue","highlightOpacity","isDragging","lastTicked","useTabBarTheme","impact","useHaptics","barOuterWidth","BAR_MARGIN","min","tick","useCallback","selectIndex","index","longPressIndex","hasLongPress","useEffect","value","withTiming","HIGHLIGHT_FADE","withSpring","SLIDE_SPRING","gesture","useMemo","indexAtX","x","minimizedValue","sideInset","interpolate","MINIMIZED_INSET","Extrapolation","CLAMP","barWidth","itemWidth","ROW_PAD_H","raw","pan","Gesture","Pan","activeOffsetX","failOffsetY","onStart","event","round","setMinimized","onUpdate","rounded","runOnJS","onFinalize","tap","Tap","maxDistance","maxDuration","onEnd","success","Race","longPress","LongPress","minDuration","LONG_PRESS_MIN_DURATION","barStyle","useAnimatedStyle","height","EXPANDED_HEIGHT","MINIMIZED_HEIGHT","inset","marginLeft","marginRight","shapeStyle","borderRadius","highlightStyle","barHeight","HIGHLIGHT_EXPANDED","HIGHLIGHT_MINIMIZED","top","opacity","transform","translateX","bottomOffset","windowEdgeGap","bottom","isMinimized","setIsMinimized","useState","useAnimatedReaction","target","previous","useClaimBottomEdge","constrainedWrapStyle","alignSelf","barContext","jsxs","View","pointerEvents","styles","root","jsx","direction","intensity","position","left","right","BLUR_BLEED","barWrap","marginBottom","GestureDetector","highlight","backgroundColor","accessibilityRole","itemRow","Provider","TabBarButtonBody","Glyph","item","isFocused","onPress","pressableProps","bar","useContext","standaloneTheme","focused","activeGlyphStyle","proximity","abs","labelStyle","color","activeTint","inactiveTint","interpolateColor","boxStyle","Pressable","accessibilityLabel","label","state","button","itemBox","tint","size","ICON_SIZE","active","StyleSheet","absoluteFill","glyphLayer","Text","numberOfLines","createTabBar","TabBar","props","displayName","createTabBarButton","TabBarButton","create","marginHorizontal","borderCurve","flex","flexDirection","alignItems","paddingHorizontal","justifyContent","paddingTop","ITEM_PAD_V","overflow","fontSize","LABEL_FONT_SIZE","fontWeight","marginTop","ITEM_GAP"],"sourceRoot":"../../../src","sources":["tab-bar/TabBarBase.tsx"],"mappings":";;;;;;;AAeA,IAAAA,MAAA,GAAAC,OAAA;AAUA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAC,uBAAA,CAAAJ,OAAA;AAYA,IAAAK,2BAAA,GAAAL,OAAA;AAEA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAR,OAAA;AAEA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AAmBkB,IAAAW,WAAA,GAAAX,OAAA;AAAA,SAAAI,wBAAAQ,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAQ,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAjElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAsDA;AACA;AACA;AACA;AACA;;AAmBA,MAAMkB,UAAU,gBAAG,IAAAC,oBAAa,EAAyB,IAAI,CAAC;AAO9D;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAAC;EAClBC,OAAO;EACPC,IAAI;EACJC,QAAQ;EACRC,WAAW;EACXC,aAAa;EACbC,gBAAgB;EAChBC,KAAK,EAAEC,cAAc;EACrBC,OAAO,GAAG,IAAI;EACdC,IAAI,GAAG,IAAI;EACXC,QAAQ;EACRC,KAAK;EACL,GAAGC;AACY,CAAC,EAAE;EAClB,MAAMC,MAAM,GAAG,IAAAC,6CAAiB,EAAC,CAAC;EAClC,MAAM;IAAEC,KAAK,EAAEC;EAAY,CAAC,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EACpD,MAAMC,SAAS,GAAG,IAAAC,yBAAgB,EAAC,CAAC;EACpC,MAAMC,QAAQ,GAAGF,SAAS,CAACE,QAAQ;EACnC,MAAMC,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAACC,eAAQ,CAACC,KAAK,CAACvB,QAAQ,CAAC,EAAE,CAAC,CAAC;;EAEtD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMwB,YAAY,GAChBvB,WAAW,KAAKwB,SAAS,IACxBC,MAAM,CAACC,SAAS,CAAC1B,WAAW,CAAC,IAAIA,WAAW,IAAI,CAAC,IAAIA,WAAW,GAAGkB,QAAS;EAE/E,MAAMS,UAAU,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC;EACpC;EACA;EACA;EACA,MAAMC,gBAAgB,GAAG,IAAAD,qCAAc,EAACL,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;EAC7D,MAAMO,UAAU,GAAG,IAAAF,qCAAc,EAAC,KAAK,CAAC;EACxC,MAAMG,UAAU,GAAG,IAAAH,qCAAc,EAAC,CAAC,CAAC,CAAC;EACrC,MAAMzB,KAAK,GAAG,IAAA6B,sBAAc,EAAC5B,cAAc,CAAC;EAC5C,MAAM6B,MAAM,GAAG,IAAAC,sBAAU,EAAC,CAAC;;EAE3B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,aAAa,GACjB5B,QAAQ,KAAKiB,SAAS,GAClBX,WAAW,GAAGuB,kBAAU,GAAG,CAAC,GAC5BjB,IAAI,CAACkB,GAAG,CAACxB,WAAW,GAAGuB,kBAAU,GAAG,CAAC,EAAE7B,QAAQ,CAAC;;EAEtD;EACA;EACA;EACA;EACA,MAAM+B,IAAI,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC7B,IAAIlC,OAAO,EAAE4B,MAAM,CAAC,OAAO,CAAC;EAC9B,CAAC,EAAE,CAAC5B,OAAO,EAAE4B,MAAM,CAAC,CAAC;;EAErB;EACA;EACA,MAAMO,WAAW,GAAG,IAAAD,kBAAW,EAAEE,KAAa,IAAKxC,aAAa,GAAGwC,KAAK,CAAC,EAAE,CAACxC,aAAa,CAAC,CAAC;;EAE3F;EACA;EACA,MAAMyC,cAAc,GAAG,IAAAH,kBAAW,EAC/BE,KAAa,IAAKvC,gBAAgB,GAAGuC,KAAK,CAAC,EAC5C,CAACvC,gBAAgB,CACnB,CAAC;EACD,MAAMyC,YAAY,GAAGzC,gBAAgB,KAAKsB,SAAS;;EAEnD;EACA;EACA;EACA;EACA;EACA;EACA,IAAAoB,gBAAS,EAAC,MAAM;IACd,IAAI5C,WAAW,KAAKwB,SAAS,EAAE;IAC/B;IACA,IAAIM,UAAU,CAACe,KAAK,EAAE;IACtB,IAAI,CAACtB,YAAY,EAAE;MACjB;MACA;MACA;MACA;MACA;MACA;MACAM,gBAAgB,CAACgB,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAEC,sBAAc,CAAC;MACtD;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACApB,UAAU,CAACkB,KAAK,GACdhB,gBAAgB,CAACgB,KAAK,KAAK,CAAC,GAAG7C,WAAW,GAAG,IAAAgD,iCAAU,EAAChD,WAAW,EAAEiD,oBAAY,CAAC;IACpFpB,gBAAgB,CAACgB,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAEC,sBAAc,CAAC;EACxD,CAAC,EAAE,CAAC/C,WAAW,EAAEuB,YAAY,EAAEI,UAAU,EAAEE,gBAAgB,EAAEC,UAAU,CAAC,CAAC;;EAEzE;EACA;EACA;EACA;EACA;EACA,MAAMoB,OAAO,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC5B,MAAMC,QAAQ,GAAGA,CAACC,CAAS,EAAEC,cAAsB,KAAK;MACtD,SAAS;;MACT,MAAMC,SAAS,GAAG,IAAAC,kCAAW,EAC3BF,cAAc,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC,CAAC,EAAEG,uBAAe,CAAC,EACpBC,oCAAa,CAACC,KAChB,CAAC;MACD;MACA;MACA;MACA;MACA;MACA;MACA,MAAMC,QAAQ,GAAGzB,aAAa,GAAGoB,SAAS,GAAG,CAAC;MAC9C,MAAMM,SAAS,GAAG,CAACD,QAAQ,GAAGE,iBAAS,GAAG,CAAC,IAAI5C,QAAQ;MACvD,MAAM6C,GAAG,GAAG,CAACV,CAAC,GAAGS,iBAAS,IAAID,SAAS,GAAG,GAAG;MAC7C,OAAO1C,IAAI,CAACkB,GAAG,CAAClB,IAAI,CAACC,GAAG,CAAC2C,GAAG,EAAE,CAAC,CAAC,EAAE7C,QAAQ,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,MAAM8C,GAAG,GAAGC,kCAAO,CAACC,GAAG,CAAC,CAAC,CACtBC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACtBC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CACtBC,OAAO,CAAEC,KAAK,IAAK;MAClBxC,UAAU,CAACe,KAAK,GAAG,IAAI;MACvB;MACA;MACA;MACA;MACA;MACA,IAAIhB,gBAAgB,CAACgB,KAAK,KAAK,CAAC,EAAE;QAChClB,UAAU,CAACkB,KAAK,GAAGO,QAAQ,CAACkB,KAAK,CAACjB,CAAC,EAAEpC,QAAQ,CAAC4B,KAAK,CAAC;MACtD;MACAhB,gBAAgB,CAACgB,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAEC,sBAAc,CAAC;MACtDhB,UAAU,CAACc,KAAK,GAAG1B,IAAI,CAACoD,KAAK,CAAC5C,UAAU,CAACkB,KAAK,CAAC;MAC/C;MACA,IAAA2B,qBAAY,EAACzD,SAAS,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CACD0D,QAAQ,CAAEH,KAAK,IAAK;MACnB,MAAM7B,KAAK,GAAGW,QAAQ,CAACkB,KAAK,CAACjB,CAAC,EAAEpC,QAAQ,CAAC4B,KAAK,CAAC;MAC/ClB,UAAU,CAACkB,KAAK,GAAGJ,KAAK;MAExB,MAAMiC,OAAO,GAAGvD,IAAI,CAACoD,KAAK,CAAC9B,KAAK,CAAC;MACjC,IAAIiC,OAAO,KAAK3C,UAAU,CAACc,KAAK,EAAE;QAChCd,UAAU,CAACc,KAAK,GAAG6B,OAAO;QAC1B,IAAAC,8BAAO,EAACrC,IAAI,CAAC,CAAC,CAAC;MACjB;IACF,CAAC,CAAC,CACDsC,UAAU,CAAC,MAAM;MAChB;MACA;MACA,IAAI,CAAC9C,UAAU,CAACe,KAAK,EAAE;QACrB;MACF;MACA,MAAM6B,OAAO,GAAGvD,IAAI,CAACoD,KAAK,CAAC5C,UAAU,CAACkB,KAAK,CAAC;MAC5ClB,UAAU,CAACkB,KAAK,GAAG,IAAAG,iCAAU,EAAC0B,OAAO,EAAEzB,oBAAY,CAAC;MACpD,IAAA0B,8BAAO,EAACnC,WAAW,CAAC,CAACkC,OAAO,CAAC;MAC7B5C,UAAU,CAACe,KAAK,GAAG,KAAK;IAC1B,CAAC,CAAC;IAEJ,MAAMgC,GAAG,GAAGZ,kCAAO,CAACa,GAAG,CAAC;IACtB;IACA;IAAA,CACCC,WAAW,CAAC,EAAE,CAAC,CACfC,WAAW,CAAC,GAAG,CAAC,CAChBC,KAAK,CAAC,CAACX,KAAK,EAAEY,OAAO,KAAK;MACzB,IAAI,CAACA,OAAO,EAAE;QACZ;MACF;MACA,MAAMzC,KAAK,GAAGtB,IAAI,CAACoD,KAAK,CAACnB,QAAQ,CAACkB,KAAK,CAACjB,CAAC,EAAEpC,QAAQ,CAAC4B,KAAK,CAAC,CAAC;MAC3D;MACA;MACAlB,UAAU,CAACkB,KAAK,GACdhB,gBAAgB,CAACgB,KAAK,KAAK,CAAC,GAAGJ,KAAK,GAAG,IAAAO,iCAAU,EAACP,KAAK,EAAEQ,oBAAY,CAAC;MACxEpB,gBAAgB,CAACgB,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAEC,sBAAc,CAAC;MACtD,IAAAyB,qBAAY,EAACzD,SAAS,EAAE,CAAC,CAAC;MAC1B,IAAA4D,8BAAO,EAACnC,WAAW,CAAC,CAACC,KAAK,CAAC;IAC7B,CAAC,CAAC;IAEJ,IAAI,CAACE,YAAY,EAAE,OAAOsB,kCAAO,CAACkB,IAAI,CAACnB,GAAG,EAAEa,GAAG,CAAC;;IAEhD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMO,SAAS,GAAGnB,kCAAO,CAACoB,SAAS,CAAC,CAAC,CAClCC,WAAW,CAACC,+BAAuB,CAAC,CACpClB,OAAO,CAAEC,KAAK,IAAK;MAClB,IAAAK,8BAAO,EAACjC,cAAc,CAAC,CAACvB,IAAI,CAACoD,KAAK,CAACnB,QAAQ,CAACkB,KAAK,CAACjB,CAAC,EAAEpC,QAAQ,CAAC4B,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC;IAEJ,OAAOoB,kCAAO,CAACkB,IAAI,CAACnB,GAAG,EAAEa,GAAG,EAAEO,SAAS,CAAC;EAC1C,CAAC,EAAE,CACDjD,aAAa,EACbjB,QAAQ,EACRsB,WAAW,EACXG,YAAY,EACZD,cAAc,EACdJ,IAAI,EACJR,UAAU,EACVC,UAAU,EACVJ,UAAU,EACVE,gBAAgB,EAChBd,SAAS,EACTE,QAAQ,CACT,CAAC;;EAEF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMuE,QAAQ,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IACtC,MAAMC,MAAM,GAAG,IAAAlC,kCAAW,EACxBvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC8C,uBAAe,EAAEC,wBAAgB,CAAC,EACnClC,oCAAa,CAACC,KAChB,CAAC;IACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMkC,KAAK,GAAG,IAAArC,kCAAW,EAACvC,QAAQ,CAAC4B,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEY,uBAAe,CAAC,EAAEC,oCAAa,CAACC,KAAK,CAAC;IAC5F,OAAO;MAAE+B,MAAM;MAAEI,UAAU,EAAED,KAAK;MAAEE,WAAW,EAAEF;IAAM,CAAC;EAC1D,CAAC,EAAE,CAAC5E,QAAQ,CAAC,CAAC;;EAEd;EACA;EACA;EACA,MAAM+E,UAAU,GAAG,IAAAP,uCAAgB,EAAC,MAAM;IACxC,MAAMC,MAAM,GAAG,IAAAlC,kCAAW,EACxBvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC8C,uBAAe,EAAEC,wBAAgB,CAAC,EACnClC,oCAAa,CAACC,KAChB,CAAC;IACD,OAAO;MAAEsC,YAAY,EAAEP,MAAM,GAAG;IAAE,CAAC;EACrC,CAAC,EAAE,CAACzE,QAAQ,CAAC,CAAC;;EAEd;EACA;EACA,MAAMiF,cAAc,GAAG,IAAAT,uCAAgB,EAAC,MAAM;IAC5C,MAAMU,SAAS,GAAG,IAAA3C,kCAAW,EAC3BvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC8C,uBAAe,EAAEC,wBAAgB,CAAC,EACnClC,oCAAa,CAACC,KAChB,CAAC;IACD,MAAM+B,MAAM,GAAG,IAAAlC,kCAAW,EACxBvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAACuD,0BAAkB,EAAEC,2BAAmB,CAAC,EACzC3C,oCAAa,CAACC,KAChB,CAAC;IACD,MAAMJ,SAAS,GAAG,IAAAC,kCAAW,EAC3BvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC,CAAC,EAAEY,uBAAe,CAAC,EACpBC,oCAAa,CAACC,KAChB,CAAC;IACD;IACA;IACA,MAAMC,QAAQ,GAAGzB,aAAa,GAAGoB,SAAS,GAAG,CAAC;IAC9C,MAAMM,SAAS,GAAG,CAACD,QAAQ,GAAGE,iBAAS,GAAG,CAAC,IAAI5C,QAAQ;IACvD,OAAO;MACLwE,MAAM;MACN9E,KAAK,EAAEiD,SAAS;MAChBoC,YAAY,EAAEP,MAAM,GAAG,CAAC;MACxBY,GAAG,EAAE,CAACH,SAAS,GAAGT,MAAM,IAAI,CAAC;MAC7B;MACA;MACA;MACA;MACAa,OAAO,EAAE1E,gBAAgB,CAACgB,KAAK;MAC/B2D,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAE3C,iBAAS,GAAGD,SAAS,GAAGlC,UAAU,CAACkB;MAAM,CAAC;IACtE,CAAC;EACH,CAAC,EAAE,CAAC5B,QAAQ,EAAEU,UAAU,EAAEE,gBAAgB,EAAEM,aAAa,EAAEjB,QAAQ,CAAC,CAAC;;EAErE;EACA;EACA,MAAMwF,YAAY,GAAG,IAAAC,mBAAa,EAACjG,MAAM,CAACkG,MAAM,CAAC;;EAEjD;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACrD,IAAAC,0CAAmB,EACjB,MAAMjG,SAAS,CAACkG,MAAM,CAACpE,KAAK,EAC5B,CAACoE,MAAM,EAAEC,QAAQ,KAAK;IACpB,IAAID,MAAM,KAAKC,QAAQ,EAAE,IAAAvC,8BAAO,EAACmC,cAAc,CAAC,CAACG,MAAM,KAAK,CAAC,CAAC;EAChE,CAAC,EACD,CAAClG,SAAS,CACZ,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAAoG,8BAAkB,EAChBT,YAAY,GAAGf,uBAAe,EAC9Be,YAAY,IAAIG,WAAW,GAAGjB,wBAAgB,GAAGD,uBAAe,CAClE,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMyB,oBAAsC,GAC1C7G,QAAQ,KAAKiB,SAAS,GAAG,IAAI,GAAG;IAAEZ,KAAK,EAAEuB,aAAa;IAAEkF,SAAS,EAAE;EAAS,CAAC;EAC/E,MAAMC,UAAU,GAAG,IAAAnE,cAAO,EACxB,OAAO;IAAExB,UAAU;IAAEE,gBAAgB;IAAEC,UAAU;IAAE3B,KAAK;IAAEH,WAAW;IAAEwC;EAAY,CAAC,CAAC,EACrF,CAACb,UAAU,EAAEE,gBAAgB,EAAEC,UAAU,EAAE3B,KAAK,EAAEH,WAAW,EAAEwC,WAAW,CAC5E,CAAC;EAED,oBACE,IAAAlE,WAAA,CAAAiJ,IAAA,EAAC3J,YAAA,CAAA4J,IAAI;IAAA,GAAK/G,SAAS;IAAEgH,aAAa,EAAC,UAAU;IAACjH,KAAK,EAAE,CAACkH,MAAM,CAACC,IAAI,EAAEnH,KAAK,CAAE;IAAAT,QAAA,GASvEO,IAAI,KAAK,KAAK,iBACb,IAAAhC,WAAA,CAAAsJ,GAAA,EAAC9H,IAAI;MACH+H,SAAS,EAAC,QAAQ;MAClBC,SAAS,EAAE,OAAOxH,IAAI,KAAK,QAAQ,GAAGA,IAAI,CAACwH,SAAS,GAAGtG,SAAU;MACjEhB,KAAK,EAAE;QACLuH,QAAQ,EAAE,UAAU;QACpBC,IAAI,EAAE,CAAC;QACPC,KAAK,EAAE,CAAC;QACRrB,MAAM,EAAE,CAAC;QACTlB,MAAM,EAAEgB,YAAY,GAAGf,uBAAe,GAAGuC;MAC3C;IAAE,CACH,CACF,eACD,IAAA5J,WAAA,CAAAsJ,GAAA,EAAChK,YAAA,CAAA4J,IAAI;MAACC,aAAa,EAAC,UAAU;MAACjH,KAAK,EAAE,CAACkH,MAAM,CAACS,OAAO,EAAE;QAAEC,YAAY,EAAE1B;MAAa,CAAC,EAAEU,oBAAoB,CAAE;MAAArH,QAAA,eAC3G,IAAAzB,WAAA,CAAAsJ,GAAA,EAAC/J,0BAAA,CAAAwK,eAAe;QAACnF,OAAO,EAAEA,OAAQ;QAAAnD,QAAA,eAChC,IAAAzB,WAAA,CAAAiJ,IAAA,EAACzJ,sBAAA,CAAAmB,OAAQ,CAACuI,IAAI;UAAChH,KAAK,EAAEgF,QAAS;UAAAzF,QAAA,gBAC7B,IAAAzB,WAAA,CAAAsJ,GAAA,EAAC/H,OAAO;YAACM,KAAK,EAAEA,KAAM;YAACK,KAAK,EAAEwF;UAAW,CAAE,CAAC,eAC5C,IAAA1H,WAAA,CAAAsJ,GAAA,EAAC9J,sBAAA,CAAAmB,OAAQ,CAACuI,IAAI;YACZhH,KAAK,EAAE,CAACkH,MAAM,CAACY,SAAS,EAAE;cAAEC,eAAe,EAAEpI,KAAK,CAACmI;YAAU,CAAC,EAAEpC,cAAc;UAAE,CACjF,CAAC,eACF,IAAA5H,WAAA,CAAAsJ,GAAA,EAAChK,YAAA,CAAA4J,IAAI;YAACgB,iBAAiB,EAAC,SAAS;YAAChI,KAAK,EAAEkH,MAAM,CAACe,OAAQ;YAAA1I,QAAA,eACtD,IAAAzB,WAAA,CAAAsJ,GAAA,EAAClI,UAAU,CAACgJ,QAAQ;cAAC7F,KAAK,EAAEyE,UAAW;cAAAvH,QAAA,EAAEA;YAAQ,CAAsB;UAAC,CACpE,CAAC;QAAA,CACM;MAAC,CACD;IAAC,CACd,CAAC;EAAA,CACH,CAAC;AAEX;AAMA;AACA,SAAS4I,gBAAgBA,CAAC;EACxBC,KAAK;EACLC,IAAI;EACJpG,KAAK;EACLqG,SAAS;EACTC,OAAO;EACPvI,KAAK;EACL,GAAGwI;AACkB,CAAC,EAAE;EACxB,MAAMjI,SAAS,GAAG,IAAAC,yBAAgB,EAAC,CAAC;EACpC,MAAMC,QAAQ,GAAGF,SAAS,CAACE,QAAQ;EACnC,MAAMgI,GAAG,GAAG,IAAAC,iBAAU,EAACxJ,UAAU,CAAC;EAClC;EACA,MAAMyJ,eAAe,GAAG,IAAAnH,sBAAc,EAAC,CAAC;EACxC,MAAM7B,KAAK,GAAG8I,GAAG,EAAE9I,KAAK,IAAIgJ,eAAe;EAC3C,MAAMxH,UAAU,GAAGsH,GAAG,EAAEtH,UAAU;EAClC,MAAME,gBAAgB,GAAGoH,GAAG,EAAEpH,gBAAgB;EAC9C;EACA;EACA,MAAMuH,OAAO,GAAGN,SAAS,IAAKG,GAAG,EAAEjJ,WAAW,KAAKyC,KAAM;;EAEzD;EACA;EACA;EACA;EACA;EACA,IAAAG,gBAAS,EAAC,MAAM;IACd,IAAIkG,SAAS,KAAKtH,SAAS,IAAI,CAACsH,SAAS,IAAI,CAACG,GAAG,EAAE;IACnD,IAAIA,GAAG,CAACnH,UAAU,CAACe,KAAK,EAAE;IAC1BoG,GAAG,CAACtH,UAAU,CAACkB,KAAK,GAAG,IAAAG,iCAAU,EAACP,KAAK,EAAEQ,oBAAY,CAAC;EACxD,CAAC,EAAE,CAAC6F,SAAS,EAAErG,KAAK,EAAEwG,GAAG,CAAC,CAAC;;EAE3B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMI,gBAAgB,GAAG,IAAA5D,uCAAgB,EAAC,MAAM;IAC9C,IAAI,CAAC9D,UAAU,IAAI,CAACE,gBAAgB,EAAE,OAAO;MAAE0E,OAAO,EAAE6C,OAAO,GAAG,CAAC,GAAG;IAAE,CAAC;IACzE,MAAME,SAAS,GAAG,CAAC,GAAGnI,IAAI,CAACkB,GAAG,CAAClB,IAAI,CAACoI,GAAG,CAAC5H,UAAU,CAACkB,KAAK,GAAGJ,KAAK,CAAC,EAAE,CAAC,CAAC;IACrE,OAAO;MAAE8D,OAAO,EAAE1E,gBAAgB,CAACgB,KAAK,GAAGyG;IAAU,CAAC;EACxD,CAAC,EAAE,CAAC3H,UAAU,EAAEE,gBAAgB,EAAEY,KAAK,EAAE2G,OAAO,CAAC,CAAC;EAElD,MAAMI,UAAU,GAAG,IAAA/D,uCAAgB,EAAC,MAAM;IACxC,MAAMc,OAAO,GAAG,IAAA/C,kCAAW,EAACvC,QAAQ,CAAC4B,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEa,oCAAa,CAACC,KAAK,CAAC;IAClF,IAAI,CAAChC,UAAU,IAAI,CAACE,gBAAgB,EAAE;MACpC,OAAO;QAAE0E,OAAO;QAAEkD,KAAK,EAAEL,OAAO,GAAGjJ,KAAK,CAACuJ,UAAU,GAAGvJ,KAAK,CAACwJ;MAAa,CAAC;IAC5E;IACA;IACA;IACA,MAAML,SAAS,GAAG,CAAC,GAAGnI,IAAI,CAACkB,GAAG,CAAClB,IAAI,CAACoI,GAAG,CAAC5H,UAAU,CAACkB,KAAK,GAAGJ,KAAK,CAAC,EAAE,CAAC,CAAC;IACrE,OAAO;MACL8D,OAAO;MACPkD,KAAK,EAAE,IAAAG,uCAAgB,EACrB/H,gBAAgB,CAACgB,KAAK,GAAGyG,SAAS,EAClC,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAACnJ,KAAK,CAACwJ,YAAY,EAAExJ,KAAK,CAACuJ,UAAU,CACvC;IACF,CAAC;EACH,CAAC,EAAE,CAACzI,QAAQ,EAAEU,UAAU,EAAEE,gBAAgB,EAAEY,KAAK,EAAE2G,OAAO,EAAEjJ,KAAK,CAAC,CAAC;;EAEnE;EACA;EACA;EACA,MAAM0J,QAAQ,GAAG,IAAApE,uCAAgB,EAC/B,OAAO;IACLC,MAAM,EAAE,IAAAlC,kCAAW,EACjBvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAACuD,0BAAkB,EAAEC,2BAAmB,CAAC,EACzC3C,oCAAa,CAACC,KAChB;EACF,CAAC,CAAC,EACF,CAAC1C,QAAQ,CACX,CAAC;EAED,oBACE,IAAA3C,WAAA,CAAAsJ,GAAA,EAAChK,YAAA,CAAAkM;EACC;EACA;EAAA;IACAtB,iBAAiB,EAAC;IAClB;IACA;IACA;IAAA;IACA,iBAAeY,OAAQ;IACvBW,kBAAkB,EAAElB,IAAI,CAACmB,KAAM;IAAA,GAC3BhB,cAAc;IAClBD,OAAO,EAAGzE,KAAK,IAAK;MAClB;MACA;MACA,IAAI2E,GAAG,EAAE;QACP;QACA;QACAA,GAAG,CAACtH,UAAU,CAACkB,KAAK,GAClBoG,GAAG,CAACpH,gBAAgB,CAACgB,KAAK,KAAK,CAAC,GAAGJ,KAAK,GAAG,IAAAO,iCAAU,EAACP,KAAK,EAAEQ,oBAAY,CAAC;QAC5EgG,GAAG,CAACpH,gBAAgB,CAACgB,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAEC,sBAAc,CAAC;MAC5D;MACA,IAAAyB,qBAAY,EAACzD,SAAS,EAAE,CAAC,CAAC;MAC1B;MACA;MACA;MACA,IAAI+H,SAAS,KAAKtH,SAAS,EAAEyH,GAAG,EAAEzG,WAAW,CAACC,KAAK,CAAC;MACpDsG,OAAO,GAAGzE,KAAK,CAAC;IAClB;IACA;IACA;IACA;IAAA;IACA9D,KAAK,EACH,OAAOA,KAAK,KAAK,UAAU,GACtByJ,KAAK,IAAK,CAACvC,MAAM,CAACwC,MAAM,EAAE1J,KAAK,CAACyJ,KAAK,CAAC,CAAC,GACxC,CAACvC,MAAM,CAACwC,MAAM,EAAE1J,KAAK,CAC1B;IAAAT,QAAA,eAED,IAAAzB,WAAA,CAAAiJ,IAAA,EAACzJ,sBAAA,CAAAmB,OAAQ,CAACuI,IAAI;MAAChH,KAAK,EAAE,CAACkH,MAAM,CAACyC,OAAO,EAAEN,QAAQ,CAAE;MAAA9J,QAAA,gBAI/C,IAAAzB,WAAA,CAAAiJ,IAAA,EAAC3J,YAAA,CAAA4J,IAAI;QAAAzH,QAAA,gBACH,IAAAzB,WAAA,CAAAsJ,GAAA,EAACgB,KAAK;UAACC,IAAI,EAAEA,IAAK;UAACuB,IAAI,EAAEjK,KAAK,CAACwJ,YAAa;UAACU,IAAI,EAAEC,iBAAU;UAACC,MAAM,EAAE;QAAM,CAAE,CAAC,eAC/E,IAAAjM,WAAA,CAAAsJ,GAAA,EAAC9J,sBAAA,CAAAmB,OAAQ,CAACuI,IAAI;UAAChH,KAAK,EAAE,CAACgK,uBAAU,CAACC,YAAY,EAAE/C,MAAM,CAACgD,UAAU,EAAErB,gBAAgB,CAAE;UAAAtJ,QAAA,eACnF,IAAAzB,WAAA,CAAAsJ,GAAA,EAACgB,KAAK;YAACC,IAAI,EAAEA,IAAK;YAACuB,IAAI,EAAEjK,KAAK,CAACuJ,UAAW;YAACW,IAAI,EAAEC,iBAAU;YAACC,MAAM;UAAA,CAAE;QAAC,CACxD,CAAC;MAAA,CACZ,CAAC,eAEP,IAAAjM,WAAA,CAAAsJ,GAAA,EAAC9J,sBAAA,CAAAmB,OAAQ,CAAC0L,IAAI;QAACC,aAAa,EAAE,CAAE;QAACpK,KAAK,EAAE,CAACkH,MAAM,CAACsC,KAAK,EAAER,UAAU,CAAE;QAAAzJ,QAAA,EAChE8I,IAAI,CAACmB;MAAK,CACE,CAAC;IAAA,CACH;EAAC,CACP,CAAC;AAEhB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASa,YAAYA,CAC1BhL,OAA0C,EAC1CC,IAAyC,EACzC;EACA,MAAMgL,MAAM,GAAIC,KAAkB,iBAAK,IAAAzM,WAAA,CAAAsJ,GAAA,EAAChI,UAAU;IAAA,GAAKmL,KAAK;IAAElL,OAAO,EAAEA,OAAQ;IAACC,IAAI,EAAEA;EAAK,CAAE,CAAC;EAC9FgL,MAAM,CAACE,WAAW,GAAG,QAAQ;EAC7B,OAAOF,MAAM;AACf;;AAEA;AACO,SAASG,kBAAkBA,CAACrC,KAAsC,EAAE;EACzE,MAAMsC,YAAY,GAAIH,KAAwB,iBAAK,IAAAzM,WAAA,CAAAsJ,GAAA,EAACe,gBAAgB;IAAA,GAAKoC,KAAK;IAAEnC,KAAK,EAAEA;EAAM,CAAE,CAAC;EAChGsC,YAAY,CAACF,WAAW,GAAG,cAAc;EACzC,OAAOE,YAAY;AACrB;AAEA,MAAMxD,MAAM,GAAG8C,uBAAU,CAACW,MAAM,CAAC;EAC/BxD,IAAI,EAAE;IACJ;IACA;IACA;IACA;IACA;IACA;IACAI,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRrB,MAAM,EAAE;EACV,CAAC;EACDuB,OAAO,EAAE;IACPiD,gBAAgB,EAAEhJ;EACpB,CAAC;EACDkG,SAAS,EAAE;IACTP,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPqD,WAAW,EAAE;EACf,CAAC;EACD5C,OAAO,EAAE;IACP6C,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAE3H;EACrB,CAAC;EACDoG,MAAM,EAAE;IACNoB,IAAI,EAAE,CAAC;IACPE,UAAU,EAAE,QAAQ;IACpBE,cAAc,EAAE;EAClB,CAAC;EACDvB,OAAO,EAAE;IACP9C,SAAS,EAAE,SAAS;IACpBmE,UAAU,EAAE,QAAQ;IACpBG,UAAU,EAAEC,kBAAU;IACtBC,QAAQ,EAAE;EACZ,CAAC;EACDnB,UAAU,EAAE;IACVc,UAAU,EAAE,QAAQ;IACpBE,cAAc,EAAE;EAClB,CAAC;EACD1B,KAAK,EAAE;IACL8B,QAAQ,EAAEC,uBAAe;IACzBC,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAEC;EACb;AACF,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_reactNativeSafeAreaContext","_useHaptics","_bottomEdge","_edge","_context","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BarContext","createContext","TabBarBody","Surface","Blur","children","activeIndex","onIndexChange","onIndexLongPress","theme","themeOverrides","haptics","blur","maxWidth","style","viewProps","insets","useSafeAreaInsets","width","windowWidth","useWindowDimensions","minimized","useMinimizeState","progress","tabCount","Math","max","Children","count","hasSelection","undefined","Number","isInteger","slideIndex","useSharedValue","highlightOpacity","isDragging","lastTicked","useTabBarTheme","impact","useHaptics","barOuterWidth","BAR_MARGIN","min","tick","useCallback","selectIndex","index","longPressIndex","hasLongPress","useEffect","value","withTiming","HIGHLIGHT_FADE","withSpring","SLIDE_SPRING","gesture","useMemo","indexAtX","x","minimizedValue","sideInset","interpolate","MINIMIZED_INSET","Extrapolation","CLAMP","barWidth","itemWidth","ROW_PAD_H","raw","pan","Gesture","Pan","activeOffsetX","failOffsetY","onStart","event","round","setMinimized","onUpdate","rounded","runOnJS","onFinalize","tap","Tap","maxDistance","maxDuration","onEnd","success","Race","longPress","LongPress","minDuration","LONG_PRESS_MIN_DURATION","barStyle","useAnimatedStyle","height","EXPANDED_HEIGHT","MINIMIZED_HEIGHT","inset","marginLeft","marginRight","shapeStyle","borderRadius","highlightStyle","barHeight","HIGHLIGHT_EXPANDED","HIGHLIGHT_MINIMIZED","top","opacity","transform","translateX","bottomOffset","windowEdgeGap","bottom","useClaimBottomEdge","constrainedWrapStyle","alignSelf","barContext","jsxs","View","pointerEvents","styles","root","jsx","direction","intensity","position","left","right","BLUR_BLEED","barWrap","marginBottom","GestureDetector","highlight","backgroundColor","accessibilityRole","itemRow","Provider","TabBarButtonBody","Glyph","item","isFocused","onPress","pressableProps","bar","useContext","standaloneTheme","focused","activeGlyphStyle","proximity","abs","labelStyle","color","activeTint","inactiveTint","interpolateColor","boxStyle","Pressable","accessibilityLabel","label","state","button","itemBox","tint","size","ICON_SIZE","active","StyleSheet","absoluteFill","glyphLayer","Text","numberOfLines","createTabBar","TabBar","props","displayName","createTabBarButton","TabBarButton","create","marginHorizontal","borderCurve","flex","flexDirection","alignItems","paddingHorizontal","justifyContent","paddingTop","ITEM_PAD_V","overflow","fontSize","LABEL_FONT_SIZE","fontWeight","marginTop","ITEM_GAP"],"sourceRoot":"../../../src","sources":["tab-bar/TabBarBase.tsx"],"mappings":";;;;;;;AAeA,IAAAA,MAAA,GAAAC,OAAA;AASA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAC,uBAAA,CAAAJ,OAAA;AAWA,IAAAK,2BAAA,GAAAL,OAAA;AAEA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAR,OAAA;AAEA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AAmBkB,IAAAW,WAAA,GAAAX,OAAA;AAAA,SAAAI,wBAAAQ,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAQ,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AA/DlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAoDA;AACA;AACA;AACA;AACA;;AAmBA,MAAMkB,UAAU,gBAAG,IAAAC,oBAAa,EAAyB,IAAI,CAAC;AAO9D;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAAC;EAClBC,OAAO;EACPC,IAAI;EACJC,QAAQ;EACRC,WAAW;EACXC,aAAa;EACbC,gBAAgB;EAChBC,KAAK,EAAEC,cAAc;EACrBC,OAAO,GAAG,IAAI;EACdC,IAAI,GAAG,IAAI;EACXC,QAAQ;EACRC,KAAK;EACL,GAAGC;AACY,CAAC,EAAE;EAClB,MAAMC,MAAM,GAAG,IAAAC,6CAAiB,EAAC,CAAC;EAClC,MAAM;IAAEC,KAAK,EAAEC;EAAY,CAAC,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EACpD,MAAMC,SAAS,GAAG,IAAAC,yBAAgB,EAAC,CAAC;EACpC,MAAMC,QAAQ,GAAGF,SAAS,CAACE,QAAQ;EACnC,MAAMC,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAACC,eAAQ,CAACC,KAAK,CAACvB,QAAQ,CAAC,EAAE,CAAC,CAAC;;EAEtD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMwB,YAAY,GAChBvB,WAAW,KAAKwB,SAAS,IACxBC,MAAM,CAACC,SAAS,CAAC1B,WAAW,CAAC,IAAIA,WAAW,IAAI,CAAC,IAAIA,WAAW,GAAGkB,QAAS;EAE/E,MAAMS,UAAU,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC;EACpC;EACA;EACA;EACA,MAAMC,gBAAgB,GAAG,IAAAD,qCAAc,EAACL,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;EAC7D,MAAMO,UAAU,GAAG,IAAAF,qCAAc,EAAC,KAAK,CAAC;EACxC,MAAMG,UAAU,GAAG,IAAAH,qCAAc,EAAC,CAAC,CAAC,CAAC;EACrC,MAAMzB,KAAK,GAAG,IAAA6B,sBAAc,EAAC5B,cAAc,CAAC;EAC5C,MAAM6B,MAAM,GAAG,IAAAC,sBAAU,EAAC,CAAC;;EAE3B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,aAAa,GACjB5B,QAAQ,KAAKiB,SAAS,GAClBX,WAAW,GAAGuB,kBAAU,GAAG,CAAC,GAC5BjB,IAAI,CAACkB,GAAG,CAACxB,WAAW,GAAGuB,kBAAU,GAAG,CAAC,EAAE7B,QAAQ,CAAC;;EAEtD;EACA;EACA;EACA;EACA,MAAM+B,IAAI,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC7B,IAAIlC,OAAO,EAAE4B,MAAM,CAAC,OAAO,CAAC;EAC9B,CAAC,EAAE,CAAC5B,OAAO,EAAE4B,MAAM,CAAC,CAAC;;EAErB;EACA;EACA,MAAMO,WAAW,GAAG,IAAAD,kBAAW,EAAEE,KAAa,IAAKxC,aAAa,GAAGwC,KAAK,CAAC,EAAE,CAACxC,aAAa,CAAC,CAAC;;EAE3F;EACA;EACA,MAAMyC,cAAc,GAAG,IAAAH,kBAAW,EAC/BE,KAAa,IAAKvC,gBAAgB,GAAGuC,KAAK,CAAC,EAC5C,CAACvC,gBAAgB,CACnB,CAAC;EACD,MAAMyC,YAAY,GAAGzC,gBAAgB,KAAKsB,SAAS;;EAEnD;EACA;EACA;EACA;EACA;EACA;EACA,IAAAoB,gBAAS,EAAC,MAAM;IACd,IAAI5C,WAAW,KAAKwB,SAAS,EAAE;IAC/B;IACA,IAAIM,UAAU,CAACe,KAAK,EAAE;IACtB,IAAI,CAACtB,YAAY,EAAE;MACjB;MACA;MACA;MACA;MACA;MACA;MACAM,gBAAgB,CAACgB,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAEC,sBAAc,CAAC;MACtD;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACApB,UAAU,CAACkB,KAAK,GACdhB,gBAAgB,CAACgB,KAAK,KAAK,CAAC,GAAG7C,WAAW,GAAG,IAAAgD,iCAAU,EAAChD,WAAW,EAAEiD,oBAAY,CAAC;IACpFpB,gBAAgB,CAACgB,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAEC,sBAAc,CAAC;EACxD,CAAC,EAAE,CAAC/C,WAAW,EAAEuB,YAAY,EAAEI,UAAU,EAAEE,gBAAgB,EAAEC,UAAU,CAAC,CAAC;;EAEzE;EACA;EACA;EACA;EACA;EACA,MAAMoB,OAAO,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC5B,MAAMC,QAAQ,GAAGA,CAACC,CAAS,EAAEC,cAAsB,KAAK;MACtD,SAAS;;MACT,MAAMC,SAAS,GAAG,IAAAC,kCAAW,EAC3BF,cAAc,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC,CAAC,EAAEG,uBAAe,CAAC,EACpBC,oCAAa,CAACC,KAChB,CAAC;MACD;MACA;MACA;MACA;MACA;MACA;MACA,MAAMC,QAAQ,GAAGzB,aAAa,GAAGoB,SAAS,GAAG,CAAC;MAC9C,MAAMM,SAAS,GAAG,CAACD,QAAQ,GAAGE,iBAAS,GAAG,CAAC,IAAI5C,QAAQ;MACvD,MAAM6C,GAAG,GAAG,CAACV,CAAC,GAAGS,iBAAS,IAAID,SAAS,GAAG,GAAG;MAC7C,OAAO1C,IAAI,CAACkB,GAAG,CAAClB,IAAI,CAACC,GAAG,CAAC2C,GAAG,EAAE,CAAC,CAAC,EAAE7C,QAAQ,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,MAAM8C,GAAG,GAAGC,kCAAO,CAACC,GAAG,CAAC,CAAC,CACtBC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACtBC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CACtBC,OAAO,CAAEC,KAAK,IAAK;MAClBxC,UAAU,CAACe,KAAK,GAAG,IAAI;MACvB;MACA;MACA;MACA;MACA;MACA,IAAIhB,gBAAgB,CAACgB,KAAK,KAAK,CAAC,EAAE;QAChClB,UAAU,CAACkB,KAAK,GAAGO,QAAQ,CAACkB,KAAK,CAACjB,CAAC,EAAEpC,QAAQ,CAAC4B,KAAK,CAAC;MACtD;MACAhB,gBAAgB,CAACgB,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAEC,sBAAc,CAAC;MACtDhB,UAAU,CAACc,KAAK,GAAG1B,IAAI,CAACoD,KAAK,CAAC5C,UAAU,CAACkB,KAAK,CAAC;MAC/C;MACA,IAAA2B,qBAAY,EAACzD,SAAS,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CACD0D,QAAQ,CAAEH,KAAK,IAAK;MACnB,MAAM7B,KAAK,GAAGW,QAAQ,CAACkB,KAAK,CAACjB,CAAC,EAAEpC,QAAQ,CAAC4B,KAAK,CAAC;MAC/ClB,UAAU,CAACkB,KAAK,GAAGJ,KAAK;MAExB,MAAMiC,OAAO,GAAGvD,IAAI,CAACoD,KAAK,CAAC9B,KAAK,CAAC;MACjC,IAAIiC,OAAO,KAAK3C,UAAU,CAACc,KAAK,EAAE;QAChCd,UAAU,CAACc,KAAK,GAAG6B,OAAO;QAC1B,IAAAC,8BAAO,EAACrC,IAAI,CAAC,CAAC,CAAC;MACjB;IACF,CAAC,CAAC,CACDsC,UAAU,CAAC,MAAM;MAChB;MACA;MACA,IAAI,CAAC9C,UAAU,CAACe,KAAK,EAAE;QACrB;MACF;MACA,MAAM6B,OAAO,GAAGvD,IAAI,CAACoD,KAAK,CAAC5C,UAAU,CAACkB,KAAK,CAAC;MAC5ClB,UAAU,CAACkB,KAAK,GAAG,IAAAG,iCAAU,EAAC0B,OAAO,EAAEzB,oBAAY,CAAC;MACpD,IAAA0B,8BAAO,EAACnC,WAAW,CAAC,CAACkC,OAAO,CAAC;MAC7B5C,UAAU,CAACe,KAAK,GAAG,KAAK;IAC1B,CAAC,CAAC;IAEJ,MAAMgC,GAAG,GAAGZ,kCAAO,CAACa,GAAG,CAAC;IACtB;IACA;IAAA,CACCC,WAAW,CAAC,EAAE,CAAC,CACfC,WAAW,CAAC,GAAG,CAAC,CAChBC,KAAK,CAAC,CAACX,KAAK,EAAEY,OAAO,KAAK;MACzB,IAAI,CAACA,OAAO,EAAE;QACZ;MACF;MACA,MAAMzC,KAAK,GAAGtB,IAAI,CAACoD,KAAK,CAACnB,QAAQ,CAACkB,KAAK,CAACjB,CAAC,EAAEpC,QAAQ,CAAC4B,KAAK,CAAC,CAAC;MAC3D;MACA;MACAlB,UAAU,CAACkB,KAAK,GACdhB,gBAAgB,CAACgB,KAAK,KAAK,CAAC,GAAGJ,KAAK,GAAG,IAAAO,iCAAU,EAACP,KAAK,EAAEQ,oBAAY,CAAC;MACxEpB,gBAAgB,CAACgB,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAEC,sBAAc,CAAC;MACtD,IAAAyB,qBAAY,EAACzD,SAAS,EAAE,CAAC,CAAC;MAC1B,IAAA4D,8BAAO,EAACnC,WAAW,CAAC,CAACC,KAAK,CAAC;IAC7B,CAAC,CAAC;IAEJ,IAAI,CAACE,YAAY,EAAE,OAAOsB,kCAAO,CAACkB,IAAI,CAACnB,GAAG,EAAEa,GAAG,CAAC;;IAEhD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMO,SAAS,GAAGnB,kCAAO,CAACoB,SAAS,CAAC,CAAC,CAClCC,WAAW,CAACC,+BAAuB,CAAC,CACpClB,OAAO,CAAEC,KAAK,IAAK;MAClB,IAAAK,8BAAO,EAACjC,cAAc,CAAC,CAACvB,IAAI,CAACoD,KAAK,CAACnB,QAAQ,CAACkB,KAAK,CAACjB,CAAC,EAAEpC,QAAQ,CAAC4B,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC;IAEJ,OAAOoB,kCAAO,CAACkB,IAAI,CAACnB,GAAG,EAAEa,GAAG,EAAEO,SAAS,CAAC;EAC1C,CAAC,EAAE,CACDjD,aAAa,EACbjB,QAAQ,EACRsB,WAAW,EACXG,YAAY,EACZD,cAAc,EACdJ,IAAI,EACJR,UAAU,EACVC,UAAU,EACVJ,UAAU,EACVE,gBAAgB,EAChBd,SAAS,EACTE,QAAQ,CACT,CAAC;;EAEF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMuE,QAAQ,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IACtC,MAAMC,MAAM,GAAG,IAAAlC,kCAAW,EACxBvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC8C,uBAAe,EAAEC,wBAAgB,CAAC,EACnClC,oCAAa,CAACC,KAChB,CAAC;IACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMkC,KAAK,GAAG,IAAArC,kCAAW,EAACvC,QAAQ,CAAC4B,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEY,uBAAe,CAAC,EAAEC,oCAAa,CAACC,KAAK,CAAC;IAC5F,OAAO;MAAE+B,MAAM;MAAEI,UAAU,EAAED,KAAK;MAAEE,WAAW,EAAEF;IAAM,CAAC;EAC1D,CAAC,EAAE,CAAC5E,QAAQ,CAAC,CAAC;;EAEd;EACA;EACA;EACA,MAAM+E,UAAU,GAAG,IAAAP,uCAAgB,EAAC,MAAM;IACxC,MAAMC,MAAM,GAAG,IAAAlC,kCAAW,EACxBvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC8C,uBAAe,EAAEC,wBAAgB,CAAC,EACnClC,oCAAa,CAACC,KAChB,CAAC;IACD,OAAO;MAAEsC,YAAY,EAAEP,MAAM,GAAG;IAAE,CAAC;EACrC,CAAC,EAAE,CAACzE,QAAQ,CAAC,CAAC;;EAEd;EACA;EACA,MAAMiF,cAAc,GAAG,IAAAT,uCAAgB,EAAC,MAAM;IAC5C,MAAMU,SAAS,GAAG,IAAA3C,kCAAW,EAC3BvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC8C,uBAAe,EAAEC,wBAAgB,CAAC,EACnClC,oCAAa,CAACC,KAChB,CAAC;IACD,MAAM+B,MAAM,GAAG,IAAAlC,kCAAW,EACxBvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAACuD,0BAAkB,EAAEC,2BAAmB,CAAC,EACzC3C,oCAAa,CAACC,KAChB,CAAC;IACD,MAAMJ,SAAS,GAAG,IAAAC,kCAAW,EAC3BvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC,CAAC,EAAEY,uBAAe,CAAC,EACpBC,oCAAa,CAACC,KAChB,CAAC;IACD;IACA;IACA,MAAMC,QAAQ,GAAGzB,aAAa,GAAGoB,SAAS,GAAG,CAAC;IAC9C,MAAMM,SAAS,GAAG,CAACD,QAAQ,GAAGE,iBAAS,GAAG,CAAC,IAAI5C,QAAQ;IACvD,OAAO;MACLwE,MAAM;MACN9E,KAAK,EAAEiD,SAAS;MAChBoC,YAAY,EAAEP,MAAM,GAAG,CAAC;MACxBY,GAAG,EAAE,CAACH,SAAS,GAAGT,MAAM,IAAI,CAAC;MAC7B;MACA;MACA;MACA;MACAa,OAAO,EAAE1E,gBAAgB,CAACgB,KAAK;MAC/B2D,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAE3C,iBAAS,GAAGD,SAAS,GAAGlC,UAAU,CAACkB;MAAM,CAAC;IACtE,CAAC;EACH,CAAC,EAAE,CAAC5B,QAAQ,EAAEU,UAAU,EAAEE,gBAAgB,EAAEM,aAAa,EAAEjB,QAAQ,CAAC,CAAC;;EAErE;EACA;EACA,MAAMwF,YAAY,GAAG,IAAAC,mBAAa,EAACjG,MAAM,CAACkG,MAAM,CAAC;;EAEjD;EACA;EACA;EACA;EACA;EACA;EACA,IAAAC,8BAAkB,EAACH,YAAY,GAAGf,uBAAe,CAAC;;EAElD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMmB,oBAAsC,GAC1CvG,QAAQ,KAAKiB,SAAS,GAAG,IAAI,GAAG;IAAEZ,KAAK,EAAEuB,aAAa;IAAE4E,SAAS,EAAE;EAAS,CAAC;EAC/E,MAAMC,UAAU,GAAG,IAAA7D,cAAO,EACxB,OAAO;IAAExB,UAAU;IAAEE,gBAAgB;IAAEC,UAAU;IAAE3B,KAAK;IAAEH,WAAW;IAAEwC;EAAY,CAAC,CAAC,EACrF,CAACb,UAAU,EAAEE,gBAAgB,EAAEC,UAAU,EAAE3B,KAAK,EAAEH,WAAW,EAAEwC,WAAW,CAC5E,CAAC;EAED,oBACE,IAAAlE,WAAA,CAAA2I,IAAA,EAACrJ,YAAA,CAAAsJ,IAAI;IAAA,GAAKzG,SAAS;IAAE0G,aAAa,EAAC,UAAU;IAAC3G,KAAK,EAAE,CAAC4G,MAAM,CAACC,IAAI,EAAE7G,KAAK,CAAE;IAAAT,QAAA,GASvEO,IAAI,KAAK,KAAK,iBACb,IAAAhC,WAAA,CAAAgJ,GAAA,EAACxH,IAAI;MACHyH,SAAS,EAAC,QAAQ;MAClBC,SAAS,EAAE,OAAOlH,IAAI,KAAK,QAAQ,GAAGA,IAAI,CAACkH,SAAS,GAAGhG,SAAU;MACjEhB,KAAK,EAAE;QACLiH,QAAQ,EAAE,UAAU;QACpBC,IAAI,EAAE,CAAC;QACPC,KAAK,EAAE,CAAC;QACRf,MAAM,EAAE,CAAC;QACTlB,MAAM,EAAEgB,YAAY,GAAGf,uBAAe,GAAGiC;MAC3C;IAAE,CACH,CACF,eACD,IAAAtJ,WAAA,CAAAgJ,GAAA,EAAC1J,YAAA,CAAAsJ,IAAI;MAACC,aAAa,EAAC,UAAU;MAAC3G,KAAK,EAAE,CAAC4G,MAAM,CAACS,OAAO,EAAE;QAAEC,YAAY,EAAEpB;MAAa,CAAC,EAAEI,oBAAoB,CAAE;MAAA/G,QAAA,eAC3G,IAAAzB,WAAA,CAAAgJ,GAAA,EAACzJ,0BAAA,CAAAkK,eAAe;QAAC7E,OAAO,EAAEA,OAAQ;QAAAnD,QAAA,eAChC,IAAAzB,WAAA,CAAA2I,IAAA,EAACnJ,sBAAA,CAAAmB,OAAQ,CAACiI,IAAI;UAAC1G,KAAK,EAAEgF,QAAS;UAAAzF,QAAA,gBAC7B,IAAAzB,WAAA,CAAAgJ,GAAA,EAACzH,OAAO;YAACM,KAAK,EAAEA,KAAM;YAACK,KAAK,EAAEwF;UAAW,CAAE,CAAC,eAC5C,IAAA1H,WAAA,CAAAgJ,GAAA,EAACxJ,sBAAA,CAAAmB,OAAQ,CAACiI,IAAI;YACZ1G,KAAK,EAAE,CAAC4G,MAAM,CAACY,SAAS,EAAE;cAAEC,eAAe,EAAE9H,KAAK,CAAC6H;YAAU,CAAC,EAAE9B,cAAc;UAAE,CACjF,CAAC,eACF,IAAA5H,WAAA,CAAAgJ,GAAA,EAAC1J,YAAA,CAAAsJ,IAAI;YAACgB,iBAAiB,EAAC,SAAS;YAAC1H,KAAK,EAAE4G,MAAM,CAACe,OAAQ;YAAApI,QAAA,eACtD,IAAAzB,WAAA,CAAAgJ,GAAA,EAAC5H,UAAU,CAAC0I,QAAQ;cAACvF,KAAK,EAAEmE,UAAW;cAAAjH,QAAA,EAAEA;YAAQ,CAAsB;UAAC,CACpE,CAAC;QAAA,CACM;MAAC,CACD;IAAC,CACd,CAAC;EAAA,CACH,CAAC;AAEX;AAMA;AACA,SAASsI,gBAAgBA,CAAC;EACxBC,KAAK;EACLC,IAAI;EACJ9F,KAAK;EACL+F,SAAS;EACTC,OAAO;EACPjI,KAAK;EACL,GAAGkI;AACkB,CAAC,EAAE;EACxB,MAAM3H,SAAS,GAAG,IAAAC,yBAAgB,EAAC,CAAC;EACpC,MAAMC,QAAQ,GAAGF,SAAS,CAACE,QAAQ;EACnC,MAAM0H,GAAG,GAAG,IAAAC,iBAAU,EAAClJ,UAAU,CAAC;EAClC;EACA,MAAMmJ,eAAe,GAAG,IAAA7G,sBAAc,EAAC,CAAC;EACxC,MAAM7B,KAAK,GAAGwI,GAAG,EAAExI,KAAK,IAAI0I,eAAe;EAC3C,MAAMlH,UAAU,GAAGgH,GAAG,EAAEhH,UAAU;EAClC,MAAME,gBAAgB,GAAG8G,GAAG,EAAE9G,gBAAgB;EAC9C;EACA;EACA,MAAMiH,OAAO,GAAGN,SAAS,IAAKG,GAAG,EAAE3I,WAAW,KAAKyC,KAAM;;EAEzD;EACA;EACA;EACA;EACA;EACA,IAAAG,gBAAS,EAAC,MAAM;IACd,IAAI4F,SAAS,KAAKhH,SAAS,IAAI,CAACgH,SAAS,IAAI,CAACG,GAAG,EAAE;IACnD,IAAIA,GAAG,CAAC7G,UAAU,CAACe,KAAK,EAAE;IAC1B8F,GAAG,CAAChH,UAAU,CAACkB,KAAK,GAAG,IAAAG,iCAAU,EAACP,KAAK,EAAEQ,oBAAY,CAAC;EACxD,CAAC,EAAE,CAACuF,SAAS,EAAE/F,KAAK,EAAEkG,GAAG,CAAC,CAAC;;EAE3B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMI,gBAAgB,GAAG,IAAAtD,uCAAgB,EAAC,MAAM;IAC9C,IAAI,CAAC9D,UAAU,IAAI,CAACE,gBAAgB,EAAE,OAAO;MAAE0E,OAAO,EAAEuC,OAAO,GAAG,CAAC,GAAG;IAAE,CAAC;IACzE,MAAME,SAAS,GAAG,CAAC,GAAG7H,IAAI,CAACkB,GAAG,CAAClB,IAAI,CAAC8H,GAAG,CAACtH,UAAU,CAACkB,KAAK,GAAGJ,KAAK,CAAC,EAAE,CAAC,CAAC;IACrE,OAAO;MAAE8D,OAAO,EAAE1E,gBAAgB,CAACgB,KAAK,GAAGmG;IAAU,CAAC;EACxD,CAAC,EAAE,CAACrH,UAAU,EAAEE,gBAAgB,EAAEY,KAAK,EAAEqG,OAAO,CAAC,CAAC;EAElD,MAAMI,UAAU,GAAG,IAAAzD,uCAAgB,EAAC,MAAM;IACxC,MAAMc,OAAO,GAAG,IAAA/C,kCAAW,EAACvC,QAAQ,CAAC4B,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEa,oCAAa,CAACC,KAAK,CAAC;IAClF,IAAI,CAAChC,UAAU,IAAI,CAACE,gBAAgB,EAAE;MACpC,OAAO;QAAE0E,OAAO;QAAE4C,KAAK,EAAEL,OAAO,GAAG3I,KAAK,CAACiJ,UAAU,GAAGjJ,KAAK,CAACkJ;MAAa,CAAC;IAC5E;IACA;IACA;IACA,MAAML,SAAS,GAAG,CAAC,GAAG7H,IAAI,CAACkB,GAAG,CAAClB,IAAI,CAAC8H,GAAG,CAACtH,UAAU,CAACkB,KAAK,GAAGJ,KAAK,CAAC,EAAE,CAAC,CAAC;IACrE,OAAO;MACL8D,OAAO;MACP4C,KAAK,EAAE,IAAAG,uCAAgB,EACrBzH,gBAAgB,CAACgB,KAAK,GAAGmG,SAAS,EAClC,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC7I,KAAK,CAACkJ,YAAY,EAAElJ,KAAK,CAACiJ,UAAU,CACvC;IACF,CAAC;EACH,CAAC,EAAE,CAACnI,QAAQ,EAAEU,UAAU,EAAEE,gBAAgB,EAAEY,KAAK,EAAEqG,OAAO,EAAE3I,KAAK,CAAC,CAAC;;EAEnE;EACA;EACA;EACA,MAAMoJ,QAAQ,GAAG,IAAA9D,uCAAgB,EAC/B,OAAO;IACLC,MAAM,EAAE,IAAAlC,kCAAW,EACjBvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAACuD,0BAAkB,EAAEC,2BAAmB,CAAC,EACzC3C,oCAAa,CAACC,KAChB;EACF,CAAC,CAAC,EACF,CAAC1C,QAAQ,CACX,CAAC;EAED,oBACE,IAAA3C,WAAA,CAAAgJ,GAAA,EAAC1J,YAAA,CAAA4L;EACC;EACA;EAAA;IACAtB,iBAAiB,EAAC;IAClB;IACA;IACA;IAAA;IACA,iBAAeY,OAAQ;IACvBW,kBAAkB,EAAElB,IAAI,CAACmB,KAAM;IAAA,GAC3BhB,cAAc;IAClBD,OAAO,EAAGnE,KAAK,IAAK;MAClB;MACA;MACA,IAAIqE,GAAG,EAAE;QACP;QACA;QACAA,GAAG,CAAChH,UAAU,CAACkB,KAAK,GAClB8F,GAAG,CAAC9G,gBAAgB,CAACgB,KAAK,KAAK,CAAC,GAAGJ,KAAK,GAAG,IAAAO,iCAAU,EAACP,KAAK,EAAEQ,oBAAY,CAAC;QAC5E0F,GAAG,CAAC9G,gBAAgB,CAACgB,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAEC,sBAAc,CAAC;MAC5D;MACA,IAAAyB,qBAAY,EAACzD,SAAS,EAAE,CAAC,CAAC;MAC1B;MACA;MACA;MACA,IAAIyH,SAAS,KAAKhH,SAAS,EAAEmH,GAAG,EAAEnG,WAAW,CAACC,KAAK,CAAC;MACpDgG,OAAO,GAAGnE,KAAK,CAAC;IAClB;IACA;IACA;IACA;IAAA;IACA9D,KAAK,EACH,OAAOA,KAAK,KAAK,UAAU,GACtBmJ,KAAK,IAAK,CAACvC,MAAM,CAACwC,MAAM,EAAEpJ,KAAK,CAACmJ,KAAK,CAAC,CAAC,GACxC,CAACvC,MAAM,CAACwC,MAAM,EAAEpJ,KAAK,CAC1B;IAAAT,QAAA,eAED,IAAAzB,WAAA,CAAA2I,IAAA,EAACnJ,sBAAA,CAAAmB,OAAQ,CAACiI,IAAI;MAAC1G,KAAK,EAAE,CAAC4G,MAAM,CAACyC,OAAO,EAAEN,QAAQ,CAAE;MAAAxJ,QAAA,gBAI/C,IAAAzB,WAAA,CAAA2I,IAAA,EAACrJ,YAAA,CAAAsJ,IAAI;QAAAnH,QAAA,gBACH,IAAAzB,WAAA,CAAAgJ,GAAA,EAACgB,KAAK;UAACC,IAAI,EAAEA,IAAK;UAACuB,IAAI,EAAE3J,KAAK,CAACkJ,YAAa;UAACU,IAAI,EAAEC,iBAAU;UAACC,MAAM,EAAE;QAAM,CAAE,CAAC,eAC/E,IAAA3L,WAAA,CAAAgJ,GAAA,EAACxJ,sBAAA,CAAAmB,OAAQ,CAACiI,IAAI;UAAC1G,KAAK,EAAE,CAAC0J,uBAAU,CAACC,YAAY,EAAE/C,MAAM,CAACgD,UAAU,EAAErB,gBAAgB,CAAE;UAAAhJ,QAAA,eACnF,IAAAzB,WAAA,CAAAgJ,GAAA,EAACgB,KAAK;YAACC,IAAI,EAAEA,IAAK;YAACuB,IAAI,EAAE3J,KAAK,CAACiJ,UAAW;YAACW,IAAI,EAAEC,iBAAU;YAACC,MAAM;UAAA,CAAE;QAAC,CACxD,CAAC;MAAA,CACZ,CAAC,eAEP,IAAA3L,WAAA,CAAAgJ,GAAA,EAACxJ,sBAAA,CAAAmB,OAAQ,CAACoL,IAAI;QAACC,aAAa,EAAE,CAAE;QAAC9J,KAAK,EAAE,CAAC4G,MAAM,CAACsC,KAAK,EAAER,UAAU,CAAE;QAAAnJ,QAAA,EAChEwI,IAAI,CAACmB;MAAK,CACE,CAAC;IAAA,CACH;EAAC,CACP,CAAC;AAEhB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASa,YAAYA,CAC1B1K,OAA0C,EAC1CC,IAAyC,EACzC;EACA,MAAM0K,MAAM,GAAIC,KAAkB,iBAAK,IAAAnM,WAAA,CAAAgJ,GAAA,EAAC1H,UAAU;IAAA,GAAK6K,KAAK;IAAE5K,OAAO,EAAEA,OAAQ;IAACC,IAAI,EAAEA;EAAK,CAAE,CAAC;EAC9F0K,MAAM,CAACE,WAAW,GAAG,QAAQ;EAC7B,OAAOF,MAAM;AACf;;AAEA;AACO,SAASG,kBAAkBA,CAACrC,KAAsC,EAAE;EACzE,MAAMsC,YAAY,GAAIH,KAAwB,iBAAK,IAAAnM,WAAA,CAAAgJ,GAAA,EAACe,gBAAgB;IAAA,GAAKoC,KAAK;IAAEnC,KAAK,EAAEA;EAAM,CAAE,CAAC;EAChGsC,YAAY,CAACF,WAAW,GAAG,cAAc;EACzC,OAAOE,YAAY;AACrB;AAEA,MAAMxD,MAAM,GAAG8C,uBAAU,CAACW,MAAM,CAAC;EAC/BxD,IAAI,EAAE;IACJ;IACA;IACA;IACA;IACA;IACA;IACAI,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRf,MAAM,EAAE;EACV,CAAC;EACDiB,OAAO,EAAE;IACPiD,gBAAgB,EAAE1I;EACpB,CAAC;EACD4F,SAAS,EAAE;IACTP,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPqD,WAAW,EAAE;EACf,CAAC;EACD5C,OAAO,EAAE;IACP6C,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAErH;EACrB,CAAC;EACD8F,MAAM,EAAE;IACNoB,IAAI,EAAE,CAAC;IACPE,UAAU,EAAE,QAAQ;IACpBE,cAAc,EAAE;EAClB,CAAC;EACDvB,OAAO,EAAE;IACP9C,SAAS,EAAE,SAAS;IACpBmE,UAAU,EAAE,QAAQ;IACpBG,UAAU,EAAEC,kBAAU;IACtBC,QAAQ,EAAE;EACZ,CAAC;EACDnB,UAAU,EAAE;IACVc,UAAU,EAAE,QAAQ;IACpBE,cAAc,EAAE;EAClB,CAAC;EACD1B,KAAK,EAAE;IACL8B,QAAQ,EAAEC,uBAAe;IACzBC,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAEC;EACb;AACF,CAAC,CAAC","ignoreList":[]}
|
package/lib/module/fab/Fab.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { memo,
|
|
3
|
+
import React, { memo, useMemo } from 'react';
|
|
4
4
|
import { Animated, Pressable, Text, View } from 'react-native';
|
|
5
5
|
import { styled } from 'react-native-css';
|
|
6
|
-
import { useBottomEdgeInset
|
|
6
|
+
import { useBottomEdgeInset } from "../layout/bottom-edge.js";
|
|
7
7
|
import { useTheme } from "../theme/use-theme.js";
|
|
8
8
|
import { animation, borderRadius } from "../styles/tokens.js";
|
|
9
9
|
import { bloomShadowStyle } from '../design-tokens/shadows';
|
|
@@ -50,20 +50,6 @@ function resolveSize(size) {
|
|
|
50
50
|
}
|
|
51
51
|
return SIZE_CONFIG[size];
|
|
52
52
|
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Matches the tab bar's own `MINIMIZE_SPRING` (380ms, critically damped) closely
|
|
56
|
-
* enough that the two read as one movement. It cannot be that exact config: the
|
|
57
|
-
* bar animates with reanimated, which takes duration/dampingRatio, while this is
|
|
58
|
-
* RN's Animated, which takes stiffness/damping/mass. `usePressAnimation` — and
|
|
59
|
-
* therefore Button, Chip, Tabs, Checkbox, Radio and FrostedIconButton — is built
|
|
60
|
-
* on RN's Animated too, so the FAB cannot switch systems on its own.
|
|
61
|
-
*/
|
|
62
|
-
const COLLAPSE_SPRING = {
|
|
63
|
-
stiffness: 120,
|
|
64
|
-
damping: 22,
|
|
65
|
-
mass: 1
|
|
66
|
-
};
|
|
67
53
|
const DEFAULT_OFFSET = 16;
|
|
68
54
|
const DEFAULT_Z_INDEX = 50;
|
|
69
55
|
const HIT_SLOP = {
|
|
@@ -85,10 +71,6 @@ const HIT_SLOP = {
|
|
|
85
71
|
* lands above a floating tab bar instead of behind it. A z-index cannot fix that
|
|
86
72
|
* pairing: the bar's host is the last sibling of the app shell and paints over
|
|
87
73
|
* every descendant, so the FAB has to be somewhere else, not merely on top.
|
|
88
|
-
*
|
|
89
|
-
* It is the RESERVED inset, so this stays a static layout value. Following a
|
|
90
|
-
* collapsing bar is a TRANSFORM (see `collapseAnim`), which costs no layout pass
|
|
91
|
-
* and can run on the native driver while the user is mid-scroll.
|
|
92
74
|
*/
|
|
93
75
|
function placementStyle(placement, offset, bottomEdgeInset) {
|
|
94
76
|
if (placement === 'static') return {};
|
|
@@ -155,32 +137,10 @@ const FabComponent = ({
|
|
|
155
137
|
zIndex = DEFAULT_Z_INDEX
|
|
156
138
|
}) => {
|
|
157
139
|
const bottomEdgeInset = useBottomEdgeInset();
|
|
158
|
-
const bottomEdgeLive = useBottomEdgeLiveInset();
|
|
159
140
|
const theme = useTheme();
|
|
160
141
|
const sizeConfig = useMemo(() => resolveSize(size), [size]);
|
|
161
142
|
const isExtended = label != null && label.length > 0;
|
|
162
143
|
const content = icon ?? children;
|
|
163
|
-
|
|
164
|
-
// How far the edge's surface has collapsed below what it reserves: 0 while the
|
|
165
|
-
// tab bar is expanded, 14 while it is minimized. Deliberately the DIFFERENCE
|
|
166
|
-
// rather than the live inset itself — both are 0 before the registry settles
|
|
167
|
-
// and both are equal once it has, so this stays 0 across mount and the FAB
|
|
168
|
-
// never slides in from the window edge on its first frame. Only a real
|
|
169
|
-
// collapse moves it.
|
|
170
|
-
const collapse = placement === 'bottom-right' || placement === 'bottom-left' ? bottomEdgeInset - bottomEdgeLive : 0;
|
|
171
|
-
const collapseAnim = useRef(new Animated.Value(0)).current;
|
|
172
|
-
|
|
173
|
-
// An effect because RN's Animated has no declarative form — starting an
|
|
174
|
-
// animation is imperative by construction. `useNativeDriver` is what makes this
|
|
175
|
-
// safe to run during a scroll: the whole point of moving the follow onto a
|
|
176
|
-
// transform is that it never touches the JS thread once started.
|
|
177
|
-
useEffect(() => {
|
|
178
|
-
Animated.spring(collapseAnim, {
|
|
179
|
-
toValue: collapse,
|
|
180
|
-
useNativeDriver: true,
|
|
181
|
-
...COLLAPSE_SPRING
|
|
182
|
-
}).start();
|
|
183
|
-
}, [collapse, collapseAnim]);
|
|
184
144
|
const {
|
|
185
145
|
scaleAnim,
|
|
186
146
|
onPressIn,
|
|
@@ -249,8 +209,6 @@ const FabComponent = ({
|
|
|
249
209
|
// wrapper node the two multiplied.
|
|
250
210
|
{
|
|
251
211
|
transform: [{
|
|
252
|
-
translateY: collapseAnim
|
|
253
|
-
}, {
|
|
254
212
|
scale: scaleAnim
|
|
255
213
|
}]
|
|
256
214
|
}, style],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","
|
|
1
|
+
{"version":3,"names":["React","memo","useMemo","Animated","Pressable","Text","View","styled","useBottomEdgeInset","useTheme","animation","borderRadius","bloomShadowStyle","pressedSurface","usePressAnimation","useInteractionState","jsx","_jsx","jsxs","_jsxs","SIZE_CONFIG","small","diameter","iconBox","fontSize","medium","large","MIN_NUMERIC_ICON_BOX","resolveSize","size","Math","max","round","DEFAULT_OFFSET","DEFAULT_Z_INDEX","HIT_SLOP","top","bottom","left","right","placementStyle","placement","offset","bottomEdgeInset","style","position","FabPressable","StyledPressable","className","AnimatedPressable","createAnimatedComponent","FabComponent","onPress","icon","children","label","variant","disabled","accessibilityLabel","accessibilityHint","labelStyle","testID","zIndex","theme","sizeConfig","isExtended","length","content","scaleAnim","onPressIn","onPressOut","undefined","pressScale","state","pressed","onIn","onPressedIn","onOut","onPressedOut","resolvedColors","resolveVariant","colors","pressedBackground","background","foreground","containerStyle","base","alignItems","justifyContent","flexDirection","backgroundColor","full","height","paddingHorizontal","gap","width","shadow","labelTextStyle","fontWeight","color","handlePressIn","handlePressOut","opacity","transform","scale","hitSlop","accessibilityRole","accessibilityState","numberOfLines","secondary","secondaryForeground","tertiary","tertiaryForeground","card","text","primary","primaryForeground","Fab","displayName"],"sourceRoot":"../../../src","sources":["fab/Fab.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { memo, useCallback, useId, useMemo } from 'react';
|
|
4
|
-
import {
|
|
4
|
+
import { useBottomEdgeInset } from "../layout/bottom-edge.js";
|
|
5
5
|
import { useTheme } from "../theme/use-theme.js";
|
|
6
6
|
import { animation, borderRadius } from "../styles/tokens.js";
|
|
7
7
|
import { pressedSurface } from "../theme/press-colors.js";
|
|
@@ -76,10 +76,7 @@ const BLOOM_FAB_CSS = interactiveWebCss({
|
|
|
76
76
|
box-shadow: var(--bloom-fab-shadow);
|
|
77
77
|
font-family: inherit;
|
|
78
78
|
`,
|
|
79
|
-
|
|
80
|
-
// the slow one: it tracks the tab bar's 380ms minimize spring, while every
|
|
81
|
-
// other property here is interaction feedback and wants to feel instant.
|
|
82
|
-
transition: 'opacity 120ms ease, transform 120ms ease, box-shadow 160ms ease, background-color 120ms ease, bottom 380ms ease',
|
|
79
|
+
transition: 'opacity 120ms ease, transform 120ms ease, box-shadow 160ms ease, background-color 120ms ease',
|
|
83
80
|
// A FAB lifts on hover rather than dimming: it floats over the content, so a
|
|
84
81
|
// deeper shadow is the affordance an opacity dip cannot express.
|
|
85
82
|
hover: {
|
|
@@ -126,16 +123,6 @@ const BLOOM_FAB_CSS = interactiveWebCss({
|
|
|
126
123
|
* behind it. A z-index cannot fix that pairing: the bar's host is the last
|
|
127
124
|
* sibling of the app shell and paints over every descendant, so the FAB has to be
|
|
128
125
|
* somewhere else, not merely on top.
|
|
129
|
-
*
|
|
130
|
-
* It is the LIVE inset here, and `bottom` is transitioned — where the native fork
|
|
131
|
-
* follows a collapsing bar with an Animated TRANSFORM instead. The forks differ
|
|
132
|
-
* because the constraint does. Native must stay off the JS thread mid-scroll, so
|
|
133
|
-
* the follow has to be a native-driver transform. On web a transform cannot carry
|
|
134
|
-
* it: `:active` already sets `transform: scale(...)` from the shared
|
|
135
|
-
* `interactive-web-css` rule, and an inline transform would beat that stylesheet
|
|
136
|
-
* rule and eat the press scale — and one property cannot hold the press's 120ms
|
|
137
|
-
* and the collapse's 380ms at once. `bottom` is a separate property with its own
|
|
138
|
-
* duration, and it moves twice per scroll gesture rather than per frame.
|
|
139
126
|
*/
|
|
140
127
|
function placementStyle(placement, offset, bottomEdgeInset) {
|
|
141
128
|
if (placement === 'static') return {};
|
|
@@ -213,9 +200,7 @@ const FabWebComponent = ({
|
|
|
213
200
|
type = 'button'
|
|
214
201
|
}) => {
|
|
215
202
|
useInteractiveWebCss(STYLE_ID, BLOOM_FAB_CSS);
|
|
216
|
-
|
|
217
|
-
// minimizing tab bar rather than leaving a 14px hole above it.
|
|
218
|
-
const bottomEdgeLive = useBottomEdgeLiveInset();
|
|
203
|
+
const bottomEdgeInset = useBottomEdgeInset();
|
|
219
204
|
const theme = useTheme();
|
|
220
205
|
const reactId = useId();
|
|
221
206
|
const resolvedId = id ?? `bloom-fab-${reactId}`;
|
|
@@ -244,7 +229,7 @@ const FabWebComponent = ({
|
|
|
244
229
|
// fill, so the two forks land on the identical colour.
|
|
245
230
|
['--bloom-fab-press-bg']: pressedSurface(theme.colors, variantColors.background, variantColors.foreground),
|
|
246
231
|
['--bloom-fab-press-scale']: animation.pressScale,
|
|
247
|
-
...placementStyle(placement, offset,
|
|
232
|
+
...placementStyle(placement, offset, bottomEdgeInset)
|
|
248
233
|
};
|
|
249
234
|
if (isExtended) {
|
|
250
235
|
const pad = sizeConfig.diameter <= 44 ? 14 : 20;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","useCallback","useId","useMemo","
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","useId","useMemo","useBottomEdgeInset","useTheme","animation","borderRadius","pressedSurface","interactiveWebCss","useInteractiveWebCss","flattenWebStyle","jsx","_jsx","jsxs","_jsxs","SIZE_CONFIG","small","diameter","iconBox","fontSize","medium","large","MIN_NUMERIC_ICON_BOX","resolveSize","size","Math","max","round","DEFAULT_OFFSET","DEFAULT_Z_INDEX","STYLE_ID","BLOOM_FAB_CSS","selector","varPrefix","base","transition","hover","declarations","pressDeclarations","outlineOffset","placementStyle","placement","offset","bottomEdgeInset","style","position","isBottom","bottom","marginTop","top","alignSelf","marginRight","marginLeft","resolveVariant","variant","c","background","secondary","foreground","secondaryForeground","ring","tertiary","tertiaryForeground","card","text","primary","primaryForeground","FabWebComponent","onPress","onClick","icon","children","label","disabled","accessibilityLabel","ariaLabelProp","accessibilityHint","labelStyle","className","testID","zIndex","id","title","type","theme","reactId","resolvedId","sizeConfig","isExtended","length","content","variantColors","colors","restShadow","shadow","hoverShadow","containerStyle","color","full","height","fontWeight","pressScale","pad","paddingLeft","paddingRight","width","handleClick","event","preventDefault","ariaLabel","composedClassName","concat","join","resolvedStyle","resolvedLabelStyle","undefined","display","alignItems","justifyContent","Fab","displayName"],"sourceRoot":"../../../src","sources":["fab/Fab.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -29,20 +29,27 @@
|
|
|
29
29
|
* edge, so two surfaces at that edge overlap rather than stack; the tallest is
|
|
30
30
|
* what a new surface has to clear. Summing would strand it at twice the height.
|
|
31
31
|
*
|
|
32
|
-
* ##
|
|
32
|
+
* ## What does NOT belong here: the collapse
|
|
33
33
|
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
34
|
+
* The tab bar minimizes 58 -> 44 on scroll, and this registry twice tried to
|
|
35
|
+
* publish that so a FAB could react — first as a live pixel height (1.11.0), then
|
|
36
|
+
* as a boolean (1.12.0). Both felt wrong on a device, for the same reason, and
|
|
37
|
+
* the reason is structural rather than a matter of tuning:
|
|
36
38
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* padding, a toast stack's offset. Tracking the collapse here would jitter a
|
|
40
|
-
* list's content size on every scroll and jump a toast 14px mid-display.
|
|
41
|
-
* - LIVE (`useBottomEdgeLiveInset`) follows the collapse. It is what a surface
|
|
42
|
-
* SITTING ON the edge wants, so it rides down with the bar instead of
|
|
43
|
-
* leaving a hole.
|
|
39
|
+
* the bar animates on the UI thread, while anything reading it from here
|
|
40
|
+
* arrives via `runOnJS` plus two React render passes.
|
|
44
41
|
*
|
|
45
|
-
*
|
|
42
|
+
* So a consumer's reaction STARTS one to three frames after the bar's, and the
|
|
43
|
+
* delay is variable — worst exactly while scrolling, because that is when the JS
|
|
44
|
+
* thread is busiest. Fading instead of moving does not hide it either: the eye
|
|
45
|
+
* still sees two pieces of chrome change at different moments.
|
|
46
|
+
*
|
|
47
|
+
* A collapse is MOTION, and motion that must stay in lock-step with a
|
|
48
|
+
* reanimated animation has to travel as a shared value on the UI thread. React
|
|
49
|
+
* state is the wrong transport at any width, so it is not offered here at all.
|
|
50
|
+
* The app owns that signal — Mention drives its header, its bar and its FAB from
|
|
51
|
+
* one `SharedValue` through `useAnimatedStyle` — and this registry stays what it
|
|
52
|
+
* is good at: GEOMETRY. Where things are, not when they move.
|
|
46
53
|
*
|
|
47
54
|
* ## Why an external store
|
|
48
55
|
*
|
|
@@ -57,21 +64,17 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
57
64
|
function createBottomEdgeStore() {
|
|
58
65
|
const claims = new Map();
|
|
59
66
|
const listeners = new Set();
|
|
60
|
-
let
|
|
61
|
-
let live = 0;
|
|
67
|
+
let inset = 0;
|
|
62
68
|
const recompute = () => {
|
|
63
|
-
let
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
if (claim.reserved > nextReserved) nextReserved = claim.reserved;
|
|
67
|
-
if (claim.current > nextLive) nextLive = claim.current;
|
|
69
|
+
let next = 0;
|
|
70
|
+
for (const height of claims.values()) {
|
|
71
|
+
if (height > next) next = height;
|
|
68
72
|
}
|
|
69
|
-
// Bail before notifying: a re-registration at unchanged
|
|
73
|
+
// Bail before notifying: a re-registration at an unchanged height (every
|
|
70
74
|
// render of a claimant whose footprint did not move) must not re-render
|
|
71
75
|
// every reader.
|
|
72
|
-
if (
|
|
73
|
-
|
|
74
|
-
live = nextLive;
|
|
76
|
+
if (next === inset) return;
|
|
77
|
+
inset = next;
|
|
75
78
|
for (const listener of listeners) listener();
|
|
76
79
|
};
|
|
77
80
|
return {
|
|
@@ -81,15 +84,10 @@ function createBottomEdgeStore() {
|
|
|
81
84
|
listeners.delete(onChange);
|
|
82
85
|
};
|
|
83
86
|
},
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
if (existing?.reserved === nextReserved && existing.current === nextCurrent) return;
|
|
89
|
-
claims.set(id, {
|
|
90
|
-
reserved: nextReserved,
|
|
91
|
-
current: nextCurrent
|
|
92
|
-
});
|
|
87
|
+
getInset: () => inset,
|
|
88
|
+
claim(id, height) {
|
|
89
|
+
if (claims.get(id) === height) return;
|
|
90
|
+
claims.set(id, height);
|
|
93
91
|
recompute();
|
|
94
92
|
},
|
|
95
93
|
release(id) {
|
|
@@ -123,15 +121,13 @@ const NO_SUBSCRIPTION = () => () => {};
|
|
|
123
121
|
const NO_INSET = () => 0;
|
|
124
122
|
|
|
125
123
|
/**
|
|
126
|
-
* How much of the bottom edge is
|
|
124
|
+
* How much of the bottom edge is already occupied, in px.
|
|
127
125
|
*
|
|
128
|
-
*
|
|
129
|
-
* that must not move as the user scrolls — a list's bottom padding, a toast
|
|
130
|
-
* stack's offset:
|
|
126
|
+
* Add it to whatever offset the surface would otherwise use:
|
|
131
127
|
*
|
|
132
128
|
* ```tsx
|
|
133
|
-
* const
|
|
134
|
-
* <
|
|
129
|
+
* const occupied = useBottomEdgeInset();
|
|
130
|
+
* <View style={{ position: 'absolute', bottom: windowEdgeGap(insets.bottom) + occupied }} />
|
|
135
131
|
* ```
|
|
136
132
|
*
|
|
137
133
|
* `0` outside a provider, and `0` on the first commit even inside one — a claim
|
|
@@ -141,48 +137,27 @@ const NO_INSET = () => 0;
|
|
|
141
137
|
*/
|
|
142
138
|
export function useBottomEdgeInset() {
|
|
143
139
|
const store = useContext(BottomEdgeContext);
|
|
144
|
-
return useSyncExternalStore(store?.subscribe ?? NO_SUBSCRIPTION, store?.
|
|
140
|
+
return useSyncExternalStore(store?.subscribe ?? NO_SUBSCRIPTION, store?.getInset ?? NO_INSET, store?.getInset ?? NO_INSET);
|
|
145
141
|
}
|
|
146
142
|
|
|
147
143
|
/**
|
|
148
|
-
*
|
|
149
|
-
* {@link useBottomEdgeInset} for a surface that does not collapse, and smaller
|
|
150
|
-
* while one does.
|
|
151
|
-
*
|
|
152
|
-
* This is what a surface sitting ON the edge wants, so it rides down with a
|
|
153
|
-
* minimizing tab bar rather than leaving a hole above it. It changes when the
|
|
154
|
-
* collapse STATE changes, not per frame: a claimant reports its settled
|
|
155
|
-
* footprint and the reader animates the difference itself, which keeps the
|
|
156
|
-
* motion on whatever animation system that reader already uses instead of
|
|
157
|
-
* forcing a shared one through React state.
|
|
158
|
-
*/
|
|
159
|
-
export function useBottomEdgeLiveInset() {
|
|
160
|
-
const store = useContext(BottomEdgeContext);
|
|
161
|
-
return useSyncExternalStore(store?.subscribe ?? NO_SUBSCRIPTION, store?.getLive ?? NO_INSET, store?.getLive ?? NO_INSET);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* Claim the bottom edge for as long as the caller is mounted.
|
|
144
|
+
* Claim `height` px of the bottom edge for as long as the caller is mounted.
|
|
166
145
|
*
|
|
167
146
|
* The claimant owns its own placement — claiming does not move it. It declares
|
|
168
|
-
* the space it occupies so that everything reading
|
|
169
|
-
* the FULL footprint (the surface's height plus the gap it holds
|
|
170
|
-
* edge), which is the same number the surface positions itself
|
|
171
|
-
*
|
|
172
|
-
* `current` is what the surface occupies right now; it defaults to `reserved`,
|
|
173
|
-
* which is correct for anything that does not collapse. A surface that shrinks
|
|
174
|
-
* on scroll passes its live footprint as `current` and keeps `reserved` at its
|
|
175
|
-
* full size — see the two channels above for why both are needed.
|
|
147
|
+
* the space it occupies so that everything reading `useBottomEdgeInset()` stays
|
|
148
|
+
* off it. Pass the FULL footprint (the surface's height plus the gap it holds
|
|
149
|
+
* off the window edge), which is the same number the surface positions itself
|
|
150
|
+
* with.
|
|
176
151
|
*
|
|
177
152
|
* A no-op outside a provider, so a surface stays usable standalone.
|
|
178
153
|
*/
|
|
179
|
-
export function useClaimBottomEdge(
|
|
154
|
+
export function useClaimBottomEdge(height) {
|
|
180
155
|
const store = useContext(BottomEdgeContext);
|
|
181
156
|
const id = useId();
|
|
182
157
|
useEffect(() => {
|
|
183
158
|
if (!store) return;
|
|
184
|
-
store.claim(id,
|
|
159
|
+
store.claim(id, height);
|
|
185
160
|
return () => store.release(id);
|
|
186
|
-
}, [store, id,
|
|
161
|
+
}, [store, id, height]);
|
|
187
162
|
}
|
|
188
163
|
//# sourceMappingURL=bottom-edge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useContext","useEffect","useId","useState","useSyncExternalStore","jsx","_jsx","createBottomEdgeStore","claims","Map","listeners","Set","
|
|
1
|
+
{"version":3,"names":["createContext","useContext","useEffect","useId","useState","useSyncExternalStore","jsx","_jsx","createBottomEdgeStore","claims","Map","listeners","Set","inset","recompute","next","height","values","listener","subscribe","onChange","add","delete","getInset","claim","id","get","set","release","BottomEdgeContext","BottomEdgeProvider","children","store","Provider","value","displayName","NO_SUBSCRIPTION","NO_INSET","useBottomEdgeInset","useClaimBottomEdge"],"sourceRoot":"../../../src","sources":["layout/bottom-edge.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,5 +7,5 @@
|
|
|
7
7
|
* parked there". A surface that floats at the bottom needs both.
|
|
8
8
|
*/
|
|
9
9
|
export { EDGE_GAP, windowEdgeGap } from "./edge.js";
|
|
10
|
-
export { BottomEdgeProvider, useBottomEdgeInset,
|
|
10
|
+
export { BottomEdgeProvider, useBottomEdgeInset, useClaimBottomEdge } from "./bottom-edge.js";
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EDGE_GAP","windowEdgeGap","BottomEdgeProvider","useBottomEdgeInset","
|
|
1
|
+
{"version":3,"names":["EDGE_GAP","windowEdgeGap","BottomEdgeProvider","useBottomEdgeInset","useClaimBottomEdge"],"sourceRoot":"../../../src","sources":["layout/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQ,EAAEC,aAAa,QAAQ,WAAQ;AAChD,SAASC,kBAAkB,EAAEC,kBAAkB,EAAEC,kBAAkB,QAAQ,kBAAe","ignoreList":[]}
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
* react-native-screens, so this file is safe in a web bundle and in a
|
|
16
16
|
* consumer's type-check.
|
|
17
17
|
*/
|
|
18
|
-
import { Children, createContext, useCallback, useContext, useEffect, useMemo
|
|
18
|
+
import { Children, createContext, useCallback, useContext, useEffect, useMemo } from 'react';
|
|
19
19
|
import { Pressable, StyleSheet, useWindowDimensions, View } from 'react-native';
|
|
20
20
|
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
|
21
|
-
import Animated, { Extrapolation, interpolate, interpolateColor, runOnJS,
|
|
21
|
+
import Animated, { Extrapolation, interpolate, interpolateColor, runOnJS, useAnimatedStyle, useSharedValue, withSpring, withTiming } from 'react-native-reanimated';
|
|
22
22
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
23
23
|
import { useHaptics } from "../hooks/use-haptics.js";
|
|
24
24
|
import { useClaimBottomEdge } from "../layout/bottom-edge.js";
|
|
@@ -304,29 +304,13 @@ function TabBarBody({
|
|
|
304
304
|
// its own layout can never drift from where the bar actually sits.
|
|
305
305
|
const bottomOffset = windowEdgeGap(insets.bottom);
|
|
306
306
|
|
|
307
|
-
// Whether the bar has settled into its minimized size, as REACT state.
|
|
308
|
-
//
|
|
309
|
-
// Reacting on `target` rather than on `progress` is what keeps this cheap:
|
|
310
|
-
// `target` is the binary 0/1 the minimize spring is heading for, so this fires
|
|
311
|
-
// twice per scroll gesture instead of once per frame. Crossing `progress > 0.5`
|
|
312
|
-
// would work too and would cost the same, but it would report the change
|
|
313
|
-
// halfway through the animation rather than when it was decided.
|
|
314
|
-
const [isMinimized, setIsMinimized] = useState(false);
|
|
315
|
-
useAnimatedReaction(() => minimized.target.value, (target, previous) => {
|
|
316
|
-
if (target !== previous) runOnJS(setIsMinimized)(target === 1);
|
|
317
|
-
}, [minimized]);
|
|
318
|
-
|
|
319
307
|
// Publish what the bar occupies so anything else at this edge stacks above it
|
|
320
|
-
// rather than behind it. Same
|
|
321
|
-
//
|
|
322
|
-
// where the bar actually sits.
|
|
323
|
-
//
|
|
324
|
-
//
|
|
325
|
-
|
|
326
|
-
// bottom padding, a toast) must keep room for the full pill or it would jitter
|
|
327
|
-
// on every scroll. LIVE follows the minimize, so a surface sitting ON the edge
|
|
328
|
-
// rides down with the bar instead of leaving a 14px hole above it.
|
|
329
|
-
useClaimBottomEdge(bottomOffset + EXPANDED_HEIGHT, bottomOffset + (isMinimized ? MINIMIZED_HEIGHT : EXPANDED_HEIGHT));
|
|
308
|
+
// rather than behind it. Same number `useTabBarFootprint` reports, derived from
|
|
309
|
+
// the same two values, so a consumer reading either can never disagree with
|
|
310
|
+
// where the bar actually sits. The EXPANDED height on purpose: the bar
|
|
311
|
+
// minimizes on scroll and re-expands, so claiming the minimized height would
|
|
312
|
+
// drop a FAB onto the pill the moment the user scrolled back up.
|
|
313
|
+
useClaimBottomEdge(bottomOffset + EXPANDED_HEIGHT);
|
|
330
314
|
|
|
331
315
|
// How centring and the animated inset compose: centring is STATIC and belongs
|
|
332
316
|
// to the wrap, the inset stays ANIMATED on the pill inside it. The wrap is
|