@webority/mobile-ui 0.109.5 → 0.109.7

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 (98) hide show
  1. package/dist/canvas-kit/kit.js +8161 -7801
  2. package/dist/canvas-kit/manifest.json +360 -2
  3. package/dist/canvas-kit/release.json +6 -6
  4. package/lib/commonjs/components/AppBar/AppBar.js +1 -1
  5. package/lib/commonjs/components/Avatar/Avatar.js +1 -1
  6. package/lib/commonjs/components/Badge/Badge.js +1 -1
  7. package/lib/commonjs/components/Banner/Banner.js +1 -1
  8. package/lib/commonjs/components/BottomNavigation/BottomNavigation.js +1 -1
  9. package/lib/commonjs/components/BottomSheet/BottomSheet.js +1 -1
  10. package/lib/commonjs/components/Card/Card.js +1 -1
  11. package/lib/commonjs/components/Dialog/Dialog.js +1 -1
  12. package/lib/commonjs/components/Dialog/OverlayActions.js +1 -0
  13. package/lib/commonjs/components/EmptyState/EmptyState.js +1 -1
  14. package/lib/commonjs/components/IconBadge/IconBadge.js +1 -1
  15. package/lib/commonjs/components/ListItem/ListItem.js +1 -1
  16. package/lib/commonjs/components/ListSection/ListSection.js +1 -0
  17. package/lib/commonjs/components/ListSection/index.js +1 -0
  18. package/lib/commonjs/components/Menu/MenuSurface.js +1 -1
  19. package/lib/commonjs/components/ProfileCompletion/ProfileCompletion.js +1 -1
  20. package/lib/commonjs/components/ProfilePicker/ProfilePicker.js +1 -1
  21. package/lib/commonjs/components/ProgressBar/ProgressBar.js +1 -1
  22. package/lib/commonjs/components/StatusBadge/StatusBadge.js +1 -1
  23. package/lib/commonjs/components/Tabs/Tabs.js +1 -1
  24. package/lib/commonjs/components/Timeline/Timeline.js +1 -1
  25. package/lib/commonjs/components/index.js +1 -1
  26. package/lib/commonjs/hooks/usePressAnimation.js +1 -1
  27. package/lib/module/components/AppBar/AppBar.js +1 -1
  28. package/lib/module/components/Avatar/Avatar.js +1 -1
  29. package/lib/module/components/Badge/Badge.js +1 -1
  30. package/lib/module/components/Banner/Banner.js +1 -1
  31. package/lib/module/components/BottomNavigation/BottomNavigation.js +1 -1
  32. package/lib/module/components/BottomSheet/BottomSheet.js +1 -1
  33. package/lib/module/components/Card/Card.js +1 -1
  34. package/lib/module/components/Dialog/Dialog.js +1 -1
  35. package/lib/module/components/Dialog/OverlayActions.js +1 -0
  36. package/lib/module/components/EmptyState/EmptyState.js +1 -1
  37. package/lib/module/components/IconBadge/IconBadge.js +1 -1
  38. package/lib/module/components/ListItem/ListItem.js +1 -1
  39. package/lib/module/components/ListSection/ListSection.js +1 -0
  40. package/lib/module/components/ListSection/index.js +1 -0
  41. package/lib/module/components/Menu/MenuSurface.js +1 -1
  42. package/lib/module/components/ProfileCompletion/ProfileCompletion.js +1 -1
  43. package/lib/module/components/ProfilePicker/ProfilePicker.js +1 -1
  44. package/lib/module/components/ProgressBar/ProgressBar.js +1 -1
  45. package/lib/module/components/StatusBadge/StatusBadge.js +1 -1
  46. package/lib/module/components/Tabs/Tabs.js +1 -1
  47. package/lib/module/components/Timeline/Timeline.js +1 -1
  48. package/lib/module/components/index.js +1 -1
  49. package/lib/module/hooks/usePressAnimation.js +1 -1
  50. package/lib/typescript/commonjs/components/AppBar/AppBar.d.ts +22 -2
  51. package/lib/typescript/commonjs/components/AppBar/index.d.ts +1 -1
  52. package/lib/typescript/commonjs/components/Avatar/Avatar.d.ts +20 -2
  53. package/lib/typescript/commonjs/components/Avatar/index.d.ts +1 -1
  54. package/lib/typescript/commonjs/components/Badge/Badge.d.ts +5 -0
  55. package/lib/typescript/commonjs/components/Badge/index.d.ts +1 -1
  56. package/lib/typescript/commonjs/components/Banner/Banner.d.ts +3 -1
  57. package/lib/typescript/commonjs/components/BottomSheet/BottomSheet.d.ts +6 -0
  58. package/lib/typescript/commonjs/components/Card/Card.d.ts +3 -0
  59. package/lib/typescript/commonjs/components/Dialog/Dialog.d.ts +6 -0
  60. package/lib/typescript/commonjs/components/Dialog/OverlayActions.d.ts +19 -0
  61. package/lib/typescript/commonjs/components/EmptyState/EmptyState.d.ts +4 -0
  62. package/lib/typescript/commonjs/components/EmptyState/index.d.ts +1 -1
  63. package/lib/typescript/commonjs/components/IconBadge/IconBadge.d.ts +20 -1
  64. package/lib/typescript/commonjs/components/IconBadge/index.d.ts +1 -1
  65. package/lib/typescript/commonjs/components/ListItem/ListItem.d.ts +9 -3
  66. package/lib/typescript/commonjs/components/ListItem/index.d.ts +1 -1
  67. package/lib/typescript/commonjs/components/ListSection/ListSection.d.ts +20 -0
  68. package/lib/typescript/commonjs/components/ListSection/index.d.ts +3 -0
  69. package/lib/typescript/commonjs/components/ProgressBar/ProgressBar.d.ts +2 -0
  70. package/lib/typescript/commonjs/components/StatusBadge/StatusBadge.d.ts +18 -1
  71. package/lib/typescript/commonjs/components/StatusBadge/index.d.ts +1 -1
  72. package/lib/typescript/commonjs/components/index.d.ts +9 -7
  73. package/lib/typescript/commonjs/hooks/usePressAnimation.d.ts +6 -3
  74. package/lib/typescript/module/components/AppBar/AppBar.d.ts +22 -2
  75. package/lib/typescript/module/components/AppBar/index.d.ts +1 -1
  76. package/lib/typescript/module/components/Avatar/Avatar.d.ts +20 -2
  77. package/lib/typescript/module/components/Avatar/index.d.ts +1 -1
  78. package/lib/typescript/module/components/Badge/Badge.d.ts +5 -0
  79. package/lib/typescript/module/components/Badge/index.d.ts +1 -1
  80. package/lib/typescript/module/components/Banner/Banner.d.ts +3 -1
  81. package/lib/typescript/module/components/BottomSheet/BottomSheet.d.ts +6 -0
  82. package/lib/typescript/module/components/Card/Card.d.ts +3 -0
  83. package/lib/typescript/module/components/Dialog/Dialog.d.ts +6 -0
  84. package/lib/typescript/module/components/Dialog/OverlayActions.d.ts +19 -0
  85. package/lib/typescript/module/components/EmptyState/EmptyState.d.ts +4 -0
  86. package/lib/typescript/module/components/EmptyState/index.d.ts +1 -1
  87. package/lib/typescript/module/components/IconBadge/IconBadge.d.ts +20 -1
  88. package/lib/typescript/module/components/IconBadge/index.d.ts +1 -1
  89. package/lib/typescript/module/components/ListItem/ListItem.d.ts +9 -3
  90. package/lib/typescript/module/components/ListItem/index.d.ts +1 -1
  91. package/lib/typescript/module/components/ListSection/ListSection.d.ts +20 -0
  92. package/lib/typescript/module/components/ListSection/index.d.ts +3 -0
  93. package/lib/typescript/module/components/ProgressBar/ProgressBar.d.ts +2 -0
  94. package/lib/typescript/module/components/StatusBadge/StatusBadge.d.ts +18 -1
  95. package/lib/typescript/module/components/StatusBadge/index.d.ts +1 -1
  96. package/lib/typescript/module/components/index.d.ts +9 -7
  97. package/lib/typescript/module/hooks/usePressAnimation.d.ts +6 -3
  98. package/package.json +6 -6
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.ProfileCompletion=exports.DEFAULT_PROFILE_COMPLETION_LABELS=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_index2=require("../AppIcon/index.js"),_index3=require("../Avatar/index.js"),_index4=require("../ProgressRing/index.js"),_index5=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_PROFILE_COMPLETION_LABELS=exports.DEFAULT_PROFILE_COMPLETION_LABELS=Object.freeze({summary:(e,r)=>`${e}, profile ${r}% complete`,avatar:e=>`${e}'s avatar`}),AVATAR_PX={sm:32,md:48,lg:64,xl:80},toneColor=(e,r)=>{switch(r){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;case"info":return e.colors.info;case"neutral":return e.colors["text-muted"];default:return e.colors.primary}},DEFAULT_RING_WIDTH=3,DEFAULT_RING_GAP=1,ProfileCompletion=exports.ProfileCompletion=(0,_react.forwardRef)((e,r)=>{const{progress:t,title:i,subtitle:n,description:a,source:s,ImageComponent:l,size:o="md",avatarTone:c="neutral",avatarBackgroundColor:u,avatarColor:d,ringWidth:m,ringGap:x=DEFAULT_RING_GAP,ringVariant:_="banded",tone:p,ringColor:g,animated:y=!0,showCompleteBadge:b=!0,trailing:f,labels:j,accessibilityLabel:v,style:I,titleStyle:h,subtitleStyle:L,descriptionStyle:R,testID:w}=e;(0,_warnInvalidValue.warnInvalidValue)("ProfileCompletion","size",e.size,["sm","md","lg","xl"]),(0,_warnInvalidValue.warnInvalidValue)("ProfileCompletion","ringVariant",e.ringVariant,["banded","single"]),(0,_warnInvalidValue.warnInvalidValue)("ProfileCompletion","tone",e.tone,["primary","success","warning","danger","info","neutral"]);const C=(0,_index.useTheme)(),P=(0,_react.useMemo)(()=>buildStyles(C),[C]),A=(0,_react.useMemo)(()=>({...DEFAULT_PROFILE_COMPLETION_LABELS,...j}),[j]),T=m??3,E=AVATAR_PX[o]+2*(x+T),V=Math.min(100,Math.max(0,Number.isNaN(t)?0:t)),N=Math.round(V),O=v??A.summary(i,N),D=w??"profile-completion",S=b&&V>=100,M=Math.max(16,Math.round(.3*E)),F=E/2*(1+Math.SQRT1_2)-T/2,q=g??("banded"===_&&null==p?C.colors.success:toneColor(C,p??"primary"));return(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:r,style:[P.root,I],testID:w,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:P.summary,accessible:!0,accessibilityRole:"summary",accessibilityLabel:O,accessibilityValue:{min:0,max:100,now:N},testID:`${D}-summary`,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:{width:E,height:E},children:[(0,_jsxRuntime.jsx)(_index4.ProgressRing,{progress:V/100,size:E,strokeWidth:T,tone:p??"primary",ringColor:g,colorByProgress:"banded"===_&&null==p&&null==g,animated:y,testID:`${D}-ring`,children:(0,_jsxRuntime.jsx)(_index3.Avatar,{name:i,source:s,ImageComponent:l,size:o,tone:c,backgroundColor:u,color:d,accessibilityLabel:A.avatar(i)})}),S?(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[P.badge,{width:M,height:M,borderRadius:C.radius.pill,..._corners.smoothCorners,left:F-M/2,top:F-M/2,backgroundColor:C.colors.surface}],testID:`${D}-complete-badge`,children:(0,_jsxRuntime.jsx)(_index2.AppIcon,{name:"verify",variant:"bold",size:M-2,color:q})}):null]}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:P.body,children:[(0,_jsxRuntime.jsx)(_index5.Text,{variant:"h3",numberOfLines:2,style:h,children:i}),n?(0,_jsxRuntime.jsx)(_index5.Text,{variant:"label",color:"tertiary",numberOfLines:1,style:[P.subtitle,L],children:n}):null,a?(0,_jsxRuntime.jsx)(_index5.Text,{variant:"body",color:"secondary",style:R,children:a}):null]})]}),null!=f?(0,_jsxRuntime.jsx)(_reactNative.View,{style:P.trailing,children:f}):null]})});ProfileCompletion.displayName="ProfileCompletion";const buildStyles=e=>_reactNative.StyleSheet.create({root:{flexDirection:"row",alignItems:"center",columnGap:e.space.md},summary:{flex:1,flexDirection:"row",alignItems:"center",columnGap:e.space.md},body:{flex:1,rowGap:e.space.xxs},badge:{position:"absolute",alignItems:"center",justifyContent:"center"},subtitle:{textTransform:"uppercase",letterSpacing:e["letter-spacing"].wide},trailing:{alignSelf:"flex-start"}});var _default=exports.default=ProfileCompletion;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.ProfileCompletion=exports.DEFAULT_PROFILE_COMPLETION_LABELS=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_index2=require("../AppIcon/index.js"),_index3=require("../Avatar/index.js"),_index4=require("../IconBadge/index.js"),_index5=require("../ProgressRing/index.js"),_index6=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_PROFILE_COMPLETION_LABELS=exports.DEFAULT_PROFILE_COMPLETION_LABELS=Object.freeze({summary:(e,r)=>`${e}, profile ${r}% complete`,avatar:e=>`${e}'s avatar`}),AVATAR_PX={sm:32,md:48,lg:64,xl:80},toneColor=(e,r)=>{switch(r){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;case"info":return e.colors.info;case"neutral":return e.colors["text-muted"];default:return e.colors.primary}},DEFAULT_RING_WIDTH=3,DEFAULT_RING_GAP=1,ProfileCompletion=exports.ProfileCompletion=(0,_react.forwardRef)((e,r)=>{const{progress:t,title:i,subtitle:n,description:a,source:s,ImageComponent:l,size:o="md",avatarTone:c="neutral",avatarBackgroundColor:u,avatarColor:d,ringWidth:m,ringGap:x=DEFAULT_RING_GAP,ringVariant:_="banded",tone:p,ringColor:g,animated:y=!0,showCompleteBadge:f=!0,trailing:b,labels:j,accessibilityLabel:v,style:I,titleStyle:L,subtitleStyle:R,descriptionStyle:h,testID:w}=e;(0,_warnInvalidValue.warnInvalidValue)("ProfileCompletion","size",e.size,["sm","md","lg","xl"]),(0,_warnInvalidValue.warnInvalidValue)("ProfileCompletion","ringVariant",e.ringVariant,["banded","single"]),(0,_warnInvalidValue.warnInvalidValue)("ProfileCompletion","tone",e.tone,["primary","success","warning","danger","info","neutral"]);const P=(0,_index.useTheme)(),A=(0,_react.useMemo)(()=>buildStyles(P),[P]),C=(0,_react.useMemo)(()=>({...DEFAULT_PROFILE_COMPLETION_LABELS,...j}),[j]),T=m??3,E=AVATAR_PX[o]+2*(x+T),V=Math.min(100,Math.max(0,Number.isNaN(t)?0:t)),N=Math.round(V),O=v??C.summary(i,N),D=w??"profile-completion",S=f&&V>=100,M=Math.max(16,Math.round(.3*E)),F=E/2*(1+Math.SQRT1_2)-T/2,q=g??("banded"===_&&null==p?P.colors.success:toneColor(P,p??"primary"));return(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:r,style:[A.root,I],testID:w,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:A.summary,accessible:!0,accessibilityRole:"summary",accessibilityLabel:O,accessibilityValue:{min:0,max:100,now:N},testID:`${D}-summary`,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:{width:E,height:E},children:[(0,_jsxRuntime.jsx)(_index5.ProgressRing,{progress:V/100,size:E,strokeWidth:T,tone:p??"primary",ringColor:g,colorByProgress:"banded"===_&&null==p&&null==g,animated:y,testID:`${D}-ring`,children:(0,_jsxRuntime.jsx)(_index3.Avatar,{name:i,source:s,ImageComponent:l,size:o,tone:c,backgroundColor:u,color:d,accessibilityLabel:C.avatar(i)})}),S?(0,_jsxRuntime.jsx)(_index4.IconBadge,{dimension:M,fill:"surface",icon:(0,_jsxRuntime.jsx)(_index2.AppIcon,{name:"verify",variant:"bold",size:M-2,color:q}),pointerEvents:"none",style:[A.badge,{left:F-M/2,top:F-M/2}],testID:`${D}-complete-badge`}):null]}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:A.body,children:[(0,_jsxRuntime.jsx)(_index6.Text,{variant:"h3",numberOfLines:2,style:L,children:i}),n?(0,_jsxRuntime.jsx)(_index6.Text,{variant:"label",color:"tertiary",numberOfLines:1,style:[A.subtitle,R],children:n}):null,a?(0,_jsxRuntime.jsx)(_index6.Text,{variant:"body",color:"secondary",style:h,children:a}):null]})]}),null!=b?(0,_jsxRuntime.jsx)(_reactNative.View,{style:A.trailing,children:b}):null]})});ProfileCompletion.displayName="ProfileCompletion";const buildStyles=e=>_reactNative.StyleSheet.create({root:{flexDirection:"row",alignItems:"center",columnGap:e.space.md},summary:{flex:1,flexDirection:"row",alignItems:"center",columnGap:e.space.md},body:{flex:1,rowGap:e.space.xxs},badge:{position:"absolute"},subtitle:{textTransform:"uppercase",letterSpacing:e["letter-spacing"].wide},trailing:{alignSelf:"flex-start"}});var _default=exports.default=ProfileCompletion;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.ProfilePicker=exports.DEFAULT_PROFILE_PICKER_LABELS=void 0;var _expoImage=require("expo-image"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_color=require("../../utils/color.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_index3=require("../AppIcon/index.js"),_slotIcon=require("../AppIcon/slotIcon.js"),_Avatar=require("../Avatar/Avatar.js"),_index4=require("../FieldBase/index.js"),_FilePicker=require("../FilePicker/FilePicker.js"),_OptionSheet=require("../OptionSheet/OptionSheet.js"),_index5=require("../Spinner/index.js"),_index6=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_PROFILE_PICKER_LABELS=exports.DEFAULT_PROFILE_PICKER_LABELS=Object.freeze({pick:"Change profile photo",remove:"Remove photo",sheetTitle:"Change photo",errorTooLarge:e=>`The photo is larger than ${e} MB.`,errorWrongType:"That file is not a supported image."}),DEFAULT_ACCEPT=["image/*"],SHEET_ICON_SIZE=20,SOFT_FILL_OPACITY=.14,INITIALS_MAX_FONT_SCALE=1.2,SIZE_PX={sm:72,md:120,lg:160},clamp=(e,r,t)=>Math.min(t,Math.max(r,e)),initialsFromName=e=>{const r=e.trim().split(/\s+/u).filter(Boolean);return 0===r.length?"":1===r.length?r[0].charAt(0).toUpperCase():(r[0].charAt(0)+r[1].charAt(0)).toUpperCase()},hashColor=e=>{let r=0;for(let t=0;t<e.length;t+=1)r=(r<<5)-r+e.charCodeAt(t),r|=0;return _Avatar.AVATAR_COLORS[Math.abs(r)%_Avatar.AVATAR_COLORS.length]},toneFor=(e,r)=>{switch(r){case"success":return{base:e.colors.success,on:e.colors["on-success"]};case"warning":return{base:e.colors.warning,on:e.colors["on-warning"]};case"danger":return{base:e.colors.danger,on:e.colors["on-danger"]};case"info":return{base:e.colors.info,on:e.colors["on-info"]};case"neutral":return{base:e.colors["text-muted"],on:e.colors["on-neutral-strong"]};default:return{base:e.colors.primary,on:e.colors["on-primary"]}}},badgeLookFor=(e,r,t)=>{const i=toneFor(e,r),o=i.base,n=e.colors.bg,s="neutral"===r;let a;switch(t){case"soft":a={fill:s?e.colors["bg-muted"]:(0,_color.blendOf)(o,.14,n,e.colors["bg-subtle"]),ring:n,icon:o};break;case"outline":a={fill:n,ring:s?e.colors.border:o,icon:o};break;default:a={fill:o,ring:n,icon:i.on}}return a},resolveRadius=(e,r)=>"circle"===e?r/2:"rounded"===e?Math.max(6,Math.round(.22*r)):0,REMOVE_VALUE="__profile-picker-remove__",ProfilePicker=exports.ProfilePicker=(0,_react.forwardRef)((e,r)=>{const{value:t,name:i,sources:o,onPick:n,onRemove:s,loading:a=!1,disabled:l=!1,accept:c=DEFAULT_ACCEPT,maxSizeMB:u,size:d="md",shape:_="circle",badgeIcon:m="camera",tone:x,variant:p,avatarTone:g,avatarBackgroundColor:h,avatarColor:b,label:v,required:f=!1,helperText:y,error:j,layout:I="stacked",title:k,subtitle:C,ImageComponent:R,labels:P,haptic:A,onError:S,accessibilityLabel:w,style:E,testID:T}=e;(0,_warnInvalidValue.warnInvalidValue)("ProfilePicker","size",e.size,["sm","md","lg"]),(0,_warnInvalidValue.warnInvalidValue)("ProfilePicker","shape",e.shape,["circle","rounded","square"]),(0,_warnInvalidValue.warnInvalidValue)("ProfilePicker","tone",e.tone,["primary","success","warning","danger","info","neutral"]),(0,_warnInvalidValue.warnInvalidValue)("ProfilePicker","variant",e.variant,["solid","soft","outline"]),(0,_warnInvalidValue.warnInvalidValue)("ProfilePicker","layout",e.layout,["stacked","inline","profile"]);const F=(0,_index.useTheme)(),L=F.settings.components["profile-picker"],O=x??L?.defaultTone??"primary",M=p??L?.defaultVariant??"solid",V=(0,_react.useMemo)(()=>badgeLookFor(F,O,M),[F,O,M]),q=g??L?.defaultAvatarTone,N=(0,_react.useMemo)(()=>{const e=q?(0,_Avatar.avatarToneColors)(F,q):null;return{placeholder:{background:h??e?.background??F.colors["bg-muted"],icon:b??e?.color??F.colors["text-subtle"]},initials:{background:h??e?.background??F.colors[hashColor(i??"")],ink:b??e?.color??F.colors["on-primary"]}}},[F,q,h,b,i]),z=(0,_react.useMemo)(()=>({...DEFAULT_PROFILE_PICKER_LABELS,...P}),[P]),[D,B]=(0,_react.useState)(null),[U,H]=(0,_react.useState)(null),[K,$]=(0,_react.useState)(null),[W,X]=(0,_react.useState)(!1),[Z,G]=(0,_react.useState)(t);t!==Z&&(G(t),B(null));const Q=a||l,Y=D??t??null,J=Y&&Y!==K?Y:null,ee=initialsFromName(i??""),re=j??U??void 0,te=!Q&&(null!==D||Boolean(t)&&Boolean(s)),ie=o.length>0||te,oe=SIZE_PX[d],ne=resolveRadius(_,oe),se=ne*(1-Math.SQRT1_2),ae=clamp(Math.round(.28*oe),24,44),le=se-ae/2,ce=Math.max(0,-le),ue={width:oe,height:oe,borderRadius:ne,..._corners.smoothCorners},de=Math.max(F.text.xs.size,Math.round(.4*oe)),me=(0,_react.useCallback)(e=>{H(e),S?.(e),!1!==A&&(0,_index2.triggerHaptic)("notificationError")},[S,A]),xe=(0,_react.useCallback)(async e=>{let r;try{r=await e.pick()}catch(e){return void me(e instanceof Error?e.message:String(e))}const t=r?.[0];if(!t)return;if("number"==typeof u&&"number"==typeof t.size&&t.size>1024*u*1024)return void me(z.errorTooLarge(u));if(t.type&&!(0,_FilePicker.matchesAccept)(t.type,c))return void me(z.errorWrongType);H(null),B(t.uri);const i=(0,_index2.resolveHaptic)(A,"selection");i&&(0,_index2.triggerHaptic)(i),n?.(t)},[u,c,z,A,n,me]),pe=(0,_react.useCallback)(()=>{Q||(be.current=null,1!==o.length||te?(o.length>0||te)&&X(!0):xe(o[0]))},[Q,o,te,xe]),ge=(0,_react.useCallback)(()=>{B(null),H(null);const e=(0,_index2.resolveHaptic)(A,"selection");e&&(0,_index2.triggerHaptic)(e),s?.()},[A,s]),he=(0,_react.useMemo)(()=>{const e=o.map(e=>({kind:"source",source:e}));return te&&e.push({kind:"remove"}),e},[o,te]),be=(0,_react.useRef)(null),ve=(0,_react.useCallback)(e=>{be.current||(X(!1),"remove"===e.kind?ge():be.current=e.source)},[ge]),fe=(0,_react.useRef)(xe);fe.current=xe;const ye=(0,_react.useCallback)(()=>{const e=be.current;be.current=null,e&&fe.current(e)},[]),je=T??"profile-picker",Ie=w??(ie?z.pick:i),ke=(0,_jsxRuntime.jsx)(_reactNative.View,{style:{width:oe,height:oe,marginBottom:ce,marginRight:ce},children:(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:pe,disabled:Q||!ie,accessibilityRole:ie?"button":"image",accessibilityLabel:Ie,accessibilityHint:(0,_index4.fieldTextAsString)(re),accessibilityState:ie?{disabled:Q,busy:a}:{busy:a},"aria-disabled":ie?Q:void 0,"aria-busy":a,testID:`${je}-button`,style:({pressed:e})=>[{width:oe,height:oe,borderRadius:ne,..._corners.smoothCorners},{opacity:l?.55:e?.85:1}],children:[J?R?(0,_jsxRuntime.jsx)(R,{source:{uri:J},onError:()=>$(J),style:ue,contentFit:"cover",resizeMode:"cover",accessibilityIgnoresInvertColors:!0}):(0,_jsxRuntime.jsx)(_expoImage.Image,{source:{uri:J},onError:()=>$(J),style:ue,contentFit:"cover",accessibilityIgnoresInvertColors:!0}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.fill,ue,{backgroundColor:ee?N.initials.background:N.placeholder.background}],children:ee?(0,_jsxRuntime.jsx)(_index6.Text,{variant:"label",weight:"semibold",align:"center",numberOfLines:1,maxFontSizeMultiplier:1.2,style:{color:N.initials.ink,fontSize:de,lineHeight:Math.round(de*F.leading.body)},children:ee}):(0,_jsxRuntime.jsx)(_index3.AppIcon,{name:"user",size:Math.round(.45*oe),color:N.placeholder.icon})}),a?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.fill,styles.overlay,{borderRadius:ne,..._corners.smoothCorners,backgroundColor:F.colors.scrim}],testID:`${je}-loading`,children:(0,_jsxRuntime.jsx)(_index5.Spinner,{size:oe>=100?"md":"sm",color:F.colors["on-primary"]})}):null,!l&&ie?(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",testID:`${je}-badge`,style:[styles.badge,{width:ae,height:ae,borderRadius:F.radius.pill,..._corners.smoothCorners,right:le,bottom:le,backgroundColor:V.fill,borderColor:V.ring}],children:(0,_slotIcon.renderSlotIcon)(m,{color:V.icon,size:Math.round(.55*ae),disabled:!1})}):null]})}),Ce="stacked"!==I?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.meta,"profile"===I?styles.metaCentred:null],children:[k?(0,_jsxRuntime.jsx)(_index6.Text,{variant:"body",weight:"semibold",style:[styles.title,"profile"===I?styles.textCentred:null],children:k}):null,C?(0,_jsxRuntime.jsx)(_index6.Text,{variant:"bodySmall",color:"secondary",style:[styles.subtitle,"profile"===I?styles.textCentred:null,{marginTop:F.space.xxs}],children:C}):null,(0,_jsxRuntime.jsx)(_index4.FieldMessage,{text:re??y,error:(0,_index4.hasFieldText)(re)})]}):(0,_jsxRuntime.jsx)(_index4.FieldMessage,{text:re??y,error:(0,_index4.hasFieldText)(re)});return(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:r,style:E,testID:T,children:[v?(0,_jsxRuntime.jsx)(_index4.FieldLabel,{required:f,children:v}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:"inline"===I?[styles.row,{columnGap:F.space.md}]:["profile"===I?styles.columnCentred:styles.column,{rowGap:F.space.xs}],children:[ke,Ce]}),(0,_jsxRuntime.jsx)(_OptionSheet.OptionSheet,{visible:W,haptic:A,onClose:()=>X(!1),onAfterClose:ye,title:z.sheetTitle,options:he,getOptionLabel:e=>"remove"===e.kind?z.remove:e.source.label,getOptionValue:e=>"remove"===e.kind?REMOVE_VALUE:e.source.key,destructiveOf:e=>"remove"===e.kind,getOptionDescription:e=>"remove"===e.kind?void 0:e.source.description,getOptionIcon:e=>"remove"===e.kind?(0,_jsxRuntime.jsx)(_index3.AppIcon,{name:"trash",size:20,color:F.colors["danger-text"]}):e.source.icon,onChange:(e,r)=>ve(r)})]})});ProfilePicker.displayName="ProfilePicker";const styles=_reactNative.StyleSheet.create({fill:{alignItems:"center",justifyContent:"center",overflow:"hidden"},overlay:{..._reactNative.StyleSheet.absoluteFill},badge:{position:"absolute",alignItems:"center",justifyContent:"center",borderWidth:2},row:{flexDirection:"row",alignItems:"center"},column:{alignItems:"flex-start"},columnCentred:{alignItems:"center"},meta:{flexShrink:1},metaCentred:{alignItems:"center"},title:{includeFontPadding:!1},subtitle:{includeFontPadding:!1},textCentred:{textAlign:"center"}});var _default=exports.default=ProfilePicker;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.ProfilePicker=exports.DEFAULT_PROFILE_PICKER_LABELS=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_color=require("../../utils/color.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_index3=require("../AppIcon/index.js"),_slotIcon=require("../AppIcon/slotIcon.js"),_index4=require("../Avatar/index.js"),_index5=require("../FieldBase/index.js"),_FilePicker=require("../FilePicker/FilePicker.js"),_OptionSheet=require("../OptionSheet/OptionSheet.js"),_index6=require("../Spinner/index.js"),_index7=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_PROFILE_PICKER_LABELS=exports.DEFAULT_PROFILE_PICKER_LABELS=Object.freeze({pick:"Change profile photo",remove:"Remove photo",sheetTitle:"Change photo",errorTooLarge:e=>`The photo is larger than ${e} MB.`,errorWrongType:"That file is not a supported image."}),DEFAULT_ACCEPT=["image/*"],SHEET_ICON_SIZE=20,SOFT_FILL_OPACITY=.14,SIZE_PX={sm:72,md:120,lg:160},clamp=(e,r,t)=>Math.min(t,Math.max(r,e)),toneFor=(e,r)=>{switch(r){case"success":return{base:e.colors.success,on:e.colors["on-success"]};case"warning":return{base:e.colors.warning,on:e.colors["on-warning"]};case"danger":return{base:e.colors.danger,on:e.colors["on-danger"]};case"info":return{base:e.colors.info,on:e.colors["on-info"]};case"neutral":return{base:e.colors["text-muted"],on:e.colors["on-neutral-strong"]};default:return{base:e.colors.primary,on:e.colors["on-primary"]}}},badgeLookFor=(e,r,t)=>{const i=toneFor(e,r),n=i.base,o=e.colors.bg,s="neutral"===r;let a;switch(t){case"soft":a={fill:s?e.colors["bg-muted"]:(0,_color.blendOf)(n,.14,o,e.colors["bg-subtle"]),ring:o,icon:n};break;case"outline":a={fill:o,ring:s?e.colors.border:n,icon:n};break;default:a={fill:n,ring:o,icon:i.on}}return a},resolveRadius=(e,r)=>"circle"===e?r/2:"rounded"===e?Math.max(6,Math.round(.22*r)):0,REMOVE_VALUE="__profile-picker-remove__",ProfilePicker=exports.ProfilePicker=(0,_react.forwardRef)((e,r)=>{const{value:t,name:i,sources:n,onPick:o,onRemove:s,loading:a=!1,disabled:l=!1,accept:c=DEFAULT_ACCEPT,maxSizeMB:u,size:d="md",shape:_="circle",badgeIcon:m="camera",tone:x,variant:p,avatarTone:g,avatarBackgroundColor:h,avatarColor:b,label:v,required:f=!1,helperText:y,error:j,layout:k="stacked",title:I,subtitle:P,ImageComponent:C,labels:R,haptic:E,onError:w,accessibilityLabel:S,style:T,testID:F}=e;(0,_warnInvalidValue.warnInvalidValue)("ProfilePicker","size",e.size,["sm","md","lg"]),(0,_warnInvalidValue.warnInvalidValue)("ProfilePicker","shape",e.shape,["circle","rounded","square"]),(0,_warnInvalidValue.warnInvalidValue)("ProfilePicker","tone",e.tone,["primary","success","warning","danger","info","neutral"]),(0,_warnInvalidValue.warnInvalidValue)("ProfilePicker","variant",e.variant,["solid","soft","outline"]),(0,_warnInvalidValue.warnInvalidValue)("ProfilePicker","layout",e.layout,["stacked","inline","profile"]);const L=(0,_index.useTheme)(),A=L.settings.components["profile-picker"],V=x??A?.defaultTone??"primary",O=p??A?.defaultVariant??"solid",q=(0,_react.useMemo)(()=>badgeLookFor(L,V,O),[L,V,O]),M=g??A?.defaultAvatarTone,D=(0,_react.useMemo)(()=>({...DEFAULT_PROFILE_PICKER_LABELS,...R}),[R]),[N,B]=(0,_react.useState)(null),[z,H]=(0,_react.useState)(null),[U,K]=(0,_react.useState)(!1),[$,W]=(0,_react.useState)(t);t!==$&&(W(t),B(null));const Z=a||l,G=N??t??null,X=(0,_react.useMemo)(()=>G?{uri:G}:void 0,[G]),Q=j??z??void 0,Y=!Z&&(null!==N||Boolean(t)&&Boolean(s)),J=n.length>0||Y,ee=SIZE_PX[d],re=resolveRadius(_,ee),te=re*(1-Math.SQRT1_2),ie=clamp(Math.round(.28*ee),24,44),ne=te-ie/2,oe=Math.max(0,-ne),se=(0,_react.useCallback)(e=>{H(e),w?.(e),!1!==E&&(0,_index2.triggerHaptic)("notificationError")},[w,E]),ae=(0,_react.useCallback)(async e=>{let r;try{r=await e.pick()}catch(e){return void se(e instanceof Error?e.message:String(e))}const t=r?.[0];if(!t)return;if("number"==typeof u&&"number"==typeof t.size&&t.size>1024*u*1024)return void se(D.errorTooLarge(u));if(t.type&&!(0,_FilePicker.matchesAccept)(t.type,c))return void se(D.errorWrongType);H(null),B(t.uri);const i=(0,_index2.resolveHaptic)(E,"selection");i&&(0,_index2.triggerHaptic)(i),o?.(t)},[u,c,D,E,o,se]),le=(0,_react.useCallback)(()=>{Z||(de.current=null,1!==n.length||Y?(n.length>0||Y)&&K(!0):ae(n[0]))},[Z,n,Y,ae]),ce=(0,_react.useCallback)(()=>{B(null),H(null);const e=(0,_index2.resolveHaptic)(E,"selection");e&&(0,_index2.triggerHaptic)(e),s?.()},[E,s]),ue=(0,_react.useMemo)(()=>{const e=n.map(e=>({kind:"source",source:e}));return Y&&e.push({kind:"remove"}),e},[n,Y]),de=(0,_react.useRef)(null),me=(0,_react.useCallback)(e=>{de.current||(K(!1),"remove"===e.kind?ce():de.current=e.source)},[ce]),xe=(0,_react.useRef)(ae);xe.current=ae;const pe=(0,_react.useCallback)(()=>{const e=de.current;de.current=null,e&&xe.current(e)},[]),ge=F??"profile-picker",he=S??(J?D.pick:i),be=(0,_jsxRuntime.jsx)(_reactNative.View,{style:{width:ee,height:ee,marginBottom:oe,marginRight:oe},children:(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:le,disabled:Z||!J,accessibilityRole:J?"button":"image",accessibilityLabel:he,accessibilityHint:(0,_index5.fieldTextAsString)(Q),accessibilityState:J?{disabled:Z,busy:a}:{busy:a},"aria-disabled":J?Z:void 0,"aria-busy":a,testID:`${ge}-button`,style:({pressed:e})=>[{width:ee,height:ee,borderRadius:re,..._corners.smoothCorners},{opacity:l?.55:e?.85:1}],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{importantForAccessibility:"no-hide-descendants",accessibilityElementsHidden:!0,pointerEvents:"none",children:(0,_jsxRuntime.jsx)(_index4.Avatar,{dimension:ee,shape:_,name:i||void 0,source:X,ImageComponent:C,tone:M,backgroundColor:h,color:b,placeholderIcon:"user"})}),a?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.fill,styles.overlay,{borderRadius:re,..._corners.smoothCorners,backgroundColor:L.colors.scrim}],testID:`${ge}-loading`,children:(0,_jsxRuntime.jsx)(_index6.Spinner,{size:ee>=100?"md":"sm",color:L.colors["on-primary"]})}):null,!l&&J?(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",testID:`${ge}-badge`,style:[styles.badge,{width:ie,height:ie,borderRadius:L.radius.pill,..._corners.smoothCorners,right:ne,bottom:ne,backgroundColor:q.fill,borderColor:q.ring}],children:(0,_slotIcon.renderSlotIcon)(m,{color:q.icon,size:Math.round(.55*ie),disabled:!1})}):null]})}),ve="stacked"!==k?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.meta,"profile"===k?styles.metaCentred:null],children:[I?(0,_jsxRuntime.jsx)(_index7.Text,{variant:"body",weight:"semibold",style:[styles.title,"profile"===k?styles.textCentred:null],children:I}):null,P?(0,_jsxRuntime.jsx)(_index7.Text,{variant:"bodySmall",color:"secondary",style:[styles.subtitle,"profile"===k?styles.textCentred:null,{marginTop:L.space.xxs}],children:P}):null,(0,_jsxRuntime.jsx)(_index5.FieldMessage,{text:Q??y,error:(0,_index5.hasFieldText)(Q)})]}):(0,_jsxRuntime.jsx)(_index5.FieldMessage,{text:Q??y,error:(0,_index5.hasFieldText)(Q)});return(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:r,style:T,testID:F,children:[v?(0,_jsxRuntime.jsx)(_index5.FieldLabel,{required:f,children:v}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:"inline"===k?[styles.row,{columnGap:L.space.md}]:["profile"===k?styles.columnCentred:styles.column,{rowGap:L.space.xs}],children:[be,ve]}),(0,_jsxRuntime.jsx)(_OptionSheet.OptionSheet,{visible:U,haptic:E,onClose:()=>K(!1),onAfterClose:pe,title:D.sheetTitle,options:ue,getOptionLabel:e=>"remove"===e.kind?D.remove:e.source.label,getOptionValue:e=>"remove"===e.kind?REMOVE_VALUE:e.source.key,destructiveOf:e=>"remove"===e.kind,getOptionDescription:e=>"remove"===e.kind?void 0:e.source.description,getOptionIcon:e=>"remove"===e.kind?(0,_jsxRuntime.jsx)(_index3.AppIcon,{name:"trash",size:20,color:L.colors["danger-text"]}):e.source.icon,onChange:(e,r)=>me(r)})]})});ProfilePicker.displayName="ProfilePicker";const styles=_reactNative.StyleSheet.create({fill:{alignItems:"center",justifyContent:"center",overflow:"hidden"},overlay:{..._reactNative.StyleSheet.absoluteFill},badge:{position:"absolute",alignItems:"center",justifyContent:"center",borderWidth:2},row:{flexDirection:"row",alignItems:"center"},column:{alignItems:"flex-start"},columnCentred:{alignItems:"center"},meta:{flexShrink:1},metaCentred:{alignItems:"center"},title:{includeFontPadding:!1},subtitle:{includeFontPadding:!1},textCentred:{textAlign:"center"}});var _default=exports.default=ProfilePicker;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.ProgressBar=exports.DEFAULT_PROGRESS_BAR_LABELS=void 0;var _react=require("react"),_reactNative=require("react-native"),_useReducedMotion=require("../../hooks/useReducedMotion.js"),_index=require("../../theme/index.js"),_color=require("../../utils/color.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_index2=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_PROGRESS_BAR_LABELS=exports.DEFAULT_PROGRESS_BAR_LABELS=Object.freeze({loading:"Loading"}),toneColor=(e,t)=>{switch(t){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;case"info":return e.colors.info;case"neutral":return e.colors["text-muted"];default:return e.colors.primary}},DETERMINATE_ANIMATION_DURATION=400,INDETERMINATE_LOOP_DURATION=1500,INDETERMINATE_WIDTH="30%",GLOW_LOCATIONS=[0,.35,.5,.65,1],glowOf=e=>{const t=(0,_color.tintOf)(e,0,"transparent"),r=(0,_color.tintOf)(e,.6,e);return{colors:[t,r,e,r,t],locations:GLOW_LOCATIONS,start:{x:0,y:.5},end:{x:1,y:.5}}},clampProgress=e=>"number"!=typeof e||Number.isNaN(e)||e<0?0:e>1?1:e,ProgressBar=exports.ProgressBar=(0,_react.forwardRef)((e,t)=>{const r=(0,_index.useTheme)(),a=(0,_useReducedMotion.useReducedMotion)(),{progress:i,label:s,showPercent:n=!1,indeterminate:o,height:l=6,radius:c,tone:u="primary",trackColor:d,barColor:_,gradient:m,segments:g,animated:x=!0,style:p,containerStyle:R,barStyle:y,accessibilityLabel:h,labels:v,testID:f}=e;(0,_warnInvalidValue.warnInvalidValue)("ProgressBar","tone",e.tone,["primary","success","warning","danger","info","neutral"]);const b=(0,_react.useMemo)(()=>({...DEFAULT_PROGRESS_BAR_LABELS,...v}),[v]),N=o??"number"!=typeof i,w=clampProgress(i),j=(0,_react.useRef)((0,_index.createAnimatedValue)(w)).current,A=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,E=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,S=(0,_react.useRef)(0),O=(0,_react.useMemo)(()=>buildStyles(r),[r]),L=c??r.radius.pill,V=d??r.colors["surface-disabled"],B=_??toneColor(r,u),T=(0,_react.useMemo)(()=>m?"string"==typeof m?r.settings.gradients[m]??null:m:null,[m,r.settings.gradients]),I=(0,_react.useMemo)(()=>glowOf(B),[B]),P=Array.isArray(g)&&g.length>0;(0,_react.useEffect)(()=>{N||(x?_reactNative.Animated.timing(j,{toValue:w,duration:400,easing:_reactNative.Easing.bezier(...r.motion.ease["in-out"]),useNativeDriver:!1}).start():j.setValue(w))},[x,w,j,N,r]),(0,_react.useEffect)(()=>{if(!N)return;(0,_index.setNativeValue)(A,0);const e=_reactNative.Animated.loop(_reactNative.Animated.timing(A,{toValue:1,duration:1500,easing:_reactNative.Easing.inOut(_reactNative.Easing.ease),useNativeDriver:!0}));return e.start(),()=>{e.stop()}},[N,A]);const D=j.interpolate({inputRange:[0,1],outputRange:["0%","100%"]}),M=A.interpolate({inputRange:[0,1],outputRange:[-1,1]}),C=A.interpolate({inputRange:[0,.5,1],outputRange:[.4,1,.4]}),q=n&&!N&&!P,G=null!=s||q,k=h??("string"==typeof s?s:void 0),F=(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,accessibilityRole:"progressbar",accessibilityLabel:k,accessibilityValue:N?{text:b.loading}:{min:0,max:100,now:Math.round(100*w)},testID:f,onLayout:e=>{const t=e.nativeEvent.layout.width;S.current=t,(0,_index.setNativeValue)(E,t)},style:[O.track,{height:l,borderRadius:L,..._corners.smoothCorners,backgroundColor:V},p,R],children:P?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[O.segments,{height:l}],children:(g??[]).map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.View,{style:{width:100*clampProgress(e.value)+"%",height:l,backgroundColor:e.color??toneColor(r,e.tone??"primary")}},t))}):N?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[O.indeterminateBar,{height:l,width:a?"100%":"30%",opacity:a?C:1,transform:a?[]:[{translateX:_reactNative.Animated.multiply(M,E)}]},y],children:(0,_jsxRuntime.jsx)(_index.Gradient,{gradient:I,style:_reactNative.StyleSheet.absoluteFill})}):(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[O.determinateBar,{height:l,borderRadius:L,..._corners.smoothCorners,backgroundColor:T?"transparent":B,width:D,overflow:T?"hidden":void 0},y],children:T?(0,_jsxRuntime.jsx)(_index.Gradient,{gradient:T,style:_reactNative.StyleSheet.absoluteFill}):null})});return G?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:O.wrapper,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[O.labelRow,{marginBottom:r.space.xs}],children:["string"==typeof s||"number"==typeof s?(0,_jsxRuntime.jsx)(_index2.Text,{variant:"label",color:"primary",style:O.label,children:s}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:O.label,children:s}),q?(0,_jsxRuntime.jsx)(_index2.Text,{variant:"label",color:"secondary",accessible:!1,importantForAccessibility:"no",children:`${Math.round(100*w)}%`}):null]}),F]}):F});ProgressBar.displayName="ProgressBar";const buildStyles=e=>_reactNative.StyleSheet.create({wrapper:{width:"100%"},labelRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",columnGap:e.space.sm},label:{flexShrink:1},track:{width:"100%",overflow:"hidden"},determinateBar:{position:"absolute",left:0,top:0},indeterminateBar:{position:"absolute",left:0,top:0},segments:{flexDirection:"row",width:"100%"}});var _default=exports.default=ProgressBar;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.ProgressBar=exports.DEFAULT_PROGRESS_BAR_LABELS=void 0;var _react=require("react"),_reactNative=require("react-native"),_useReducedMotion=require("../../hooks/useReducedMotion.js"),_index=require("../../theme/index.js"),_color=require("../../utils/color.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_index2=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_PROGRESS_BAR_LABELS=exports.DEFAULT_PROGRESS_BAR_LABELS=Object.freeze({loading:"Loading"}),toneColor=(e,t)=>{switch(t){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;case"info":return e.colors.info;case"neutral":return e.colors["text-muted"];default:return e.colors.primary}},DETERMINATE_ANIMATION_DURATION=400,INDETERMINATE_LOOP_DURATION=1500,INDETERMINATE_WIDTH="30%",GLOW_LOCATIONS=[0,.35,.5,.65,1],glowOf=e=>{const t=(0,_color.tintOf)(e,0,"transparent"),r=(0,_color.tintOf)(e,.6,e);return{colors:[t,r,e,r,t],locations:GLOW_LOCATIONS,start:{x:0,y:.5},end:{x:1,y:.5}}},clampProgress=e=>"number"!=typeof e||Number.isNaN(e)||e<0?0:e>1?1:e,ProgressBar=exports.ProgressBar=(0,_react.forwardRef)((e,t)=>{const r=(0,_index.useTheme)(),a=(0,_useReducedMotion.useReducedMotion)(),{progress:i,label:s,showPercent:n=!1,valueLabel:o,indeterminate:l,height:c=6,radius:u,tone:d="primary",trackColor:_,barColor:m,gradient:x,segments:g,animated:p=!0,style:y,containerStyle:R,barStyle:b,accessibilityLabel:h,labels:v,testID:f}=e;(0,_warnInvalidValue.warnInvalidValue)("ProgressBar","tone",e.tone,["primary","success","warning","danger","info","neutral"]);const N=(0,_react.useMemo)(()=>({...DEFAULT_PROGRESS_BAR_LABELS,...v}),[v]),j=l??"number"!=typeof i,w=clampProgress(i),A=(0,_react.useRef)((0,_index.createAnimatedValue)(w)).current,E=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,S=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,L=(0,_react.useRef)(0),O=(0,_react.useMemo)(()=>buildStyles(r),[r]),T=u??r.radius.pill,V=_??r.colors["surface-disabled"],B=m??toneColor(r,d),I=(0,_react.useMemo)(()=>x?"string"==typeof x?r.settings.gradients[x]??null:x:null,[x,r.settings.gradients]),P=(0,_react.useMemo)(()=>glowOf(B),[B]),D=Array.isArray(g)&&g.length>0;(0,_react.useEffect)(()=>{j||(p?_reactNative.Animated.timing(A,{toValue:w,duration:400,easing:_reactNative.Easing.bezier(...r.motion.ease["in-out"]),useNativeDriver:!1}).start():A.setValue(w))},[p,w,A,j,r]),(0,_react.useEffect)(()=>{if(!j)return;(0,_index.setNativeValue)(E,0);const e=_reactNative.Animated.loop(_reactNative.Animated.timing(E,{toValue:1,duration:1500,easing:_reactNative.Easing.inOut(_reactNative.Easing.ease),useNativeDriver:!0}));return e.start(),()=>{e.stop()}},[j,E]);const M=A.interpolate({inputRange:[0,1],outputRange:["0%","100%"]}),C=E.interpolate({inputRange:[0,1],outputRange:[-1,1]}),q=E.interpolate({inputRange:[0,.5,1],outputRange:[.4,1,.4]}),G=n&&!j&&!D,k=null!=s||G||null!=o,F=h??("string"==typeof s?s:void 0),U=(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,accessibilityRole:"progressbar",accessibilityLabel:F,accessibilityValue:j?{text:N.loading}:{min:0,max:100,now:Math.round(100*w)},testID:f,onLayout:e=>{const t=e.nativeEvent.layout.width;L.current=t,(0,_index.setNativeValue)(S,t)},style:[O.track,{height:c,borderRadius:T,..._corners.smoothCorners,backgroundColor:V},y,R],children:D?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[O.segments,{height:c}],children:(g??[]).map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.View,{style:{width:100*clampProgress(e.value)+"%",height:c,backgroundColor:e.color??toneColor(r,e.tone??"primary")}},t))}):j?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[O.indeterminateBar,{height:c,width:a?"100%":"30%",opacity:a?q:1,transform:a?[]:[{translateX:_reactNative.Animated.multiply(C,S)}]},b],children:(0,_jsxRuntime.jsx)(_index.Gradient,{gradient:P,style:_reactNative.StyleSheet.absoluteFill})}):(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[O.determinateBar,{height:c,borderRadius:T,..._corners.smoothCorners,backgroundColor:I?"transparent":B,width:M,overflow:I?"hidden":void 0},b],children:I?(0,_jsxRuntime.jsx)(_index.Gradient,{gradient:I,style:_reactNative.StyleSheet.absoluteFill}):null})});return k?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:O.wrapper,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[O.labelRow,{marginBottom:r.space.xs}],children:["string"==typeof s||"number"==typeof s?(0,_jsxRuntime.jsx)(_index2.Text,{variant:"label",color:"primary",style:O.label,children:s}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:O.label,children:s}),null!=o?"string"==typeof o||"number"==typeof o?(0,_jsxRuntime.jsx)(_index2.Text,{variant:"label",color:"secondary",accessible:!1,importantForAccessibility:"no",children:o}):o:G?(0,_jsxRuntime.jsx)(_index2.Text,{variant:"label",color:"secondary",accessible:!1,importantForAccessibility:"no",children:`${Math.round(100*w)}%`}):null]}),U]}):U});ProgressBar.displayName="ProgressBar";const buildStyles=e=>_reactNative.StyleSheet.create({wrapper:{width:"100%"},labelRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",columnGap:e.space.sm},label:{flexShrink:1},track:{width:"100%",overflow:"hidden"},determinateBar:{position:"absolute",left:0,top:0},indeterminateBar:{position:"absolute",left:0,top:0},segments:{flexDirection:"row",width:"100%"}});var _default=exports.default=ProgressBar;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.StatusBadge=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_toneInk=require("../../theme/toneInk.js"),_color=require("../../utils/color.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_index2=require("../Skeleton/index.js"),_index3=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const sizeMap={sm:{height:22,paddingX:"sm",dot:5,gap:"xs"},md:{height:24,paddingX:"md",dot:6,gap:"xs"}},sizeFor=(e,t)=>{const r=sizeMap[t];return{height:r.height,paddingH:e.space[r.paddingX],dot:r.dot,gap:e.space[r.gap]}},SOFT_FILL_OPACITY=.14,SOFT_BORDER_OPACITY=.4,BORDER_WIDTH=1,toneFor=(e,t)=>{const{colors:r}=e;switch(t){case"success":return{base:r.success,on:r["on-success"],ink:r["success-text"]};case"warning":return{base:r.warning,on:r["on-warning"],ink:r["warning-text"]};case"danger":return{base:r.danger,on:r["on-danger"],ink:r["danger-text"]};case"info":return{base:r.info,on:r["on-info"],ink:r["info-text"]};case"primary":return{base:r.primary,on:r["on-primary"],ink:r["primary-text"]};default:return{base:r["text-muted"],on:r["on-neutral-strong"],ink:r["text-muted"]}}},isHex=e=>"string"==typeof e&&/^#[0-9a-f]{6}$/i.test(e),paletteFor=(e,t,r,a)=>{const n=isHex(a),{base:s,on:i,ink:o}=n?{base:a,on:e.colors["text-inverse"],ink:(0,_toneInk.deriveToneInk)(a,[e.colors.bg,e.colors["bg-subtle"],e.colors["bg-muted"]],e.mode)}:toneFor(e,t),l=!n&&"neutral"===t,d=l?e.colors["bg-muted"]:(0,_color.tintOf)(s,.14,e.colors["bg-subtle"]),u=l?e.colors.border:(0,_color.tintOf)(s,.4,s);switch(r){case"solid":return{fill:s,border:s,text:i,dot:i};case"outline":return{fill:"transparent",border:l?u:s,text:o,dot:s};case"flat":return{fill:d,border:"transparent",text:o,dot:s};case"ghost":return{fill:"transparent",border:"transparent",text:o,dot:s};default:return{fill:d,border:u,text:o,dot:s}}},StatusBadge=exports.StatusBadge=(0,_react.forwardRef)((e,t)=>{const{label:r,tone:a="neutral",variant:n="soft",size:s="md",dot:i=!1,color:o,loading:l=!1,accessibilityLabel:d,style:u,textStyle:c,testID:g}=e;(0,_warnInvalidValue.warnInvalidValue)("StatusBadge","tone",e.tone,["success","warning","danger","info","primary","neutral"]),(0,_warnInvalidValue.warnInvalidValue)("StatusBadge","variant",e.variant,["solid","soft","outline","ghost","flat"]),(0,_warnInvalidValue.warnInvalidValue)("StatusBadge","size",e.size,["sm","md"]);const x=(0,_index.useTheme)(),b=sizeFor(x,s),m=(0,_react.useMemo)(()=>paletteFor(x,a,n,o),[x,a,n,o]);return l?(0,_jsxRuntime.jsx)(StatusBadgeSkeleton,{...e}):(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:t,accessible:!0,accessibilityRole:"text",accessibilityLabel:d??r,testID:g,style:[styles.base,{minHeight:b.height,paddingHorizontal:b.paddingH,borderRadius:x.radius.pill,..._corners.smoothCorners,backgroundColor:m.fill,borderColor:m.border,borderWidth:1},u],children:[i?(0,_jsxRuntime.jsx)(_reactNative.View,{testID:"status-badge-dot",style:{width:b.dot,height:b.dot,borderRadius:b.dot/2,marginRight:b.gap,backgroundColor:m.dot}}):null,(0,_jsxRuntime.jsx)(_index3.Text,{variant:"sm"===s?"caption":"bodySmall",weight:"semibold",style:[styles.label,{color:m.text},c],numberOfLines:1,children:r})]})});StatusBadge.displayName="StatusBadge";const StatusBadgeSkeleton=({label:e,size:t="md",dot:r,style:a})=>{const n=(0,_index.useTheme)(),s=sizeFor(n,t),i=Math.max(32,Math.min(120,6.5*(e??"").length))+2*s.paddingH+(r?s.dot+s.gap:0);return(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:i,height:s.height,radius:s.height/2,style:[styles.skeleton,a]})};StatusBadgeSkeleton.displayName="StatusBadgeSkeleton",StatusBadge.Skeleton=StatusBadgeSkeleton;const styles=_reactNative.StyleSheet.create({base:{alignSelf:"flex-start",flexDirection:"row",alignItems:"center",justifyContent:"center"},label:{textAlign:"center",includeFontPadding:!1,textAlignVertical:"center"},skeleton:{alignSelf:"flex-start"}});var _default=exports.default=StatusBadge;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.StatusBadge=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_toneInk=require("../../theme/toneInk.js"),_color=require("../../utils/color.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_index2=require("../Skeleton/index.js"),_index3=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const sizeMap={sm:{height:22,paddingX:"sm",dot:5,gap:"xs"},md:{height:24,paddingX:"md",dot:6,gap:"xs"}},sizeFor=(e,t)=>{const a=sizeMap[t];return{height:a.height,paddingH:e.space[a.paddingX],dot:a.dot,gap:e.space[a.gap]}},SOFT_FILL_OPACITY=.14,SOFT_BORDER_OPACITY=.4,BORDER_WIDTH=1,toneFor=(e,t)=>{const{colors:a}=e;switch(t){case"success":return{base:a.success,on:a["on-success"],ink:a["success-text"],soft:a["success-soft"]};case"warning":return{base:a.warning,on:a["on-warning"],ink:a["warning-text"],soft:a["warning-soft"]};case"danger":return{base:a.danger,on:a["on-danger"],ink:a["danger-text"],soft:a["danger-soft"]};case"info":return{base:a.info,on:a["on-info"],ink:a["info-text"],soft:a["info-soft"]};case"primary":return{base:a.primary,on:a["on-primary"],ink:a["primary-text"],soft:a["primary-soft"]};default:return{base:a["text-muted"],on:a["on-neutral-strong"],ink:a["text-muted"],soft:a.border}}},isHex=e=>"string"==typeof e&&/^#[0-9a-f]{6}$/i.test(e),paletteFor=(e,t,a,r)=>{const n=isHex(r),{base:s,on:i,ink:o,soft:l}=n?{base:r,on:e.colors["text-inverse"],ink:(0,_toneInk.deriveToneInk)(r,[e.colors.bg,e.colors["bg-subtle"],e.colors["bg-muted"]],e.mode),soft:(0,_color.tintOf)(r,.14,e.colors["bg-subtle"])}:toneFor(e,t),d=!n&&"neutral"===t,u=d?e.colors["bg-muted"]:(0,_color.tintOf)(s,.14,e.colors["bg-subtle"]),c=d?e.colors.border:(0,_color.tintOf)(s,.4,s);switch(a){case"solid":return{fill:s,border:s,text:i,dot:i};case"outline":return{fill:"transparent",border:d?c:s,text:o,dot:s};case"flat":return{fill:u,border:"transparent",text:o,dot:s};case"ghost":return{fill:"transparent",border:"transparent",text:o,dot:s};case"filled":return{fill:l,border:"transparent",text:o,dot:s};default:return{fill:u,border:c,text:o,dot:s}}},StatusBadge=exports.StatusBadge=(0,_react.forwardRef)((e,t)=>{const{label:a,tone:r="neutral",variant:n="soft",size:s="md",ink:i="tone",weight:o="semibold",padding:l="default",dot:d=!1,color:u,loading:c=!1,accessibilityLabel:g,style:f,textStyle:x,testID:b}=e;(0,_warnInvalidValue.warnInvalidValue)("StatusBadge","tone",e.tone,["success","warning","danger","info","primary","neutral"]),(0,_warnInvalidValue.warnInvalidValue)("StatusBadge","variant",e.variant,["solid","soft","outline","ghost","flat","filled"]),(0,_warnInvalidValue.warnInvalidValue)("StatusBadge","size",e.size,["sm","md"]),(0,_warnInvalidValue.warnInvalidValue)("StatusBadge","ink",e.ink,["tone","primary"]),(0,_warnInvalidValue.warnInvalidValue)("StatusBadge","weight",e.weight,["semibold","bold"]),(0,_warnInvalidValue.warnInvalidValue)("StatusBadge","padding",e.padding,["default","sm","md"]);const p=(0,_index.useTheme)(),m=sizeFor(p,s),_=(0,_react.useMemo)(()=>paletteFor(p,r,n,u),[p,r,n,u]),h="primary"===i&&"solid"!==n?p.colors["text-body"]:_.text,S="default"===l?{minHeight:m.height,paddingHorizontal:m.paddingH}:{paddingHorizontal:p.space[l],paddingVertical:p.space.xs},w="filled"===n?0:1;return c?(0,_jsxRuntime.jsx)(StatusBadgeSkeleton,{...e}):(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:t,accessible:!0,accessibilityRole:"text",accessibilityLabel:g??a,testID:b,style:[styles.base,{...S,borderRadius:p.radius.pill,..._corners.smoothCorners,backgroundColor:_.fill,borderColor:_.border,borderWidth:w},f],children:[d?(0,_jsxRuntime.jsx)(_reactNative.View,{testID:"status-badge-dot",style:{width:m.dot,height:m.dot,borderRadius:m.dot/2,marginRight:m.gap,backgroundColor:_.dot}}):null,(0,_jsxRuntime.jsx)(_index3.Text,{variant:"sm"===s?"caption":"bodySmall",weight:o,style:[styles.label,{color:h},x],numberOfLines:1,children:a})]})});StatusBadge.displayName="StatusBadge";const StatusBadgeSkeleton=({label:e,size:t="md",variant:a="soft",padding:r="default",dot:n,style:s})=>{const i=(0,_index.useTheme)(),o=sizeFor(i,t),l=Math.max(32,Math.min(120,6.5*(e??"").length))+2*("default"===r?o.paddingH:i.space[r])+(n?o.dot+o.gap:0),d="default"===r?o.height:Math.round(i.text["sm"===t?"xs":"sm"].size*i.leading.body)+2*i.space.xs+2*("filled"===a?0:1);return(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:l,height:d,radius:d/2,style:[styles.skeleton,s]})};StatusBadgeSkeleton.displayName="StatusBadgeSkeleton",StatusBadge.Skeleton=StatusBadgeSkeleton;const styles=_reactNative.StyleSheet.create({base:{alignSelf:"flex-start",flexDirection:"row",alignItems:"center",justifyContent:"center"},label:{textAlign:"center",includeFontPadding:!1,textAlignVertical:"center"},skeleton:{alignSelf:"flex-start"}});var _default=exports.default=StatusBadge;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Tabs=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_slotIcon=require("../AppIcon/slotIcon.js"),_SquircleFill=require("../SquircleFill/SquircleFill.js"),_index3=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const Tabs=exports.Tabs=(0,_react.forwardRef)((e,t)=>{const{tabs:i,activeKey:a,onChange:r,variant:n="underline",radius:s,size:l="md",scrollable:o=!1,align:d="left",style:c,tabStyle:u,tabLabelStyle:m,tabIconStyle:b,tabBadgeStyle:p,dividerStyle:_,indicatorStyle:x,progress:g,pages:h,haptic:v,accessibilityLabel:f,testID:y}=e;(0,_warnInvalidValue.warnInvalidValue)("Tabs","variant",e.variant,["underline","pills","segmented"]),(0,_warnInvalidValue.warnInvalidValue)("Tabs","size",e.size,["sm","md","lg"]),(0,_warnInvalidValue.warnInvalidValue)("Tabs","align",e.align,["left","center"]);const j=(0,_index.useTheme)(),w=(0,_react.useMemo)(()=>buildStyles(j),[j]),R=j.components.tabs,S=(0,_react.useMemo)(()=>(0,_index.resolveTabsSize)(j,l),[j,l]),I=o?S["scrollable-padding-x"]:S["padding-x"],V=S["padding-y"],k=S.text,N=j.space[R["icon-gap"]],T=S.icon,C=R["underline-height"],q=j.space[R["pill-inset"]],z=R["disabled-opacity"],L=j.space[R["badge-gap"]],E="segmented"===n,F=(0,_react.useMemo)(()=>(0,_index.resolveSegmentedControlSize)(j,l),[j,l]),M=j.space[R["track-padding"]],A="number"==typeof s?s:s?j.radius[s]:void 0,D=A??j.radius.md,H=void 0===A?j.radius.sm:Math.max(A-M,0),P=A??j.radius.pill,B=A??j.radius.none,O=j.colors["bg-muted"],W=(0,_SquircleFill.useSquircle)(E,D),[$,U]=(0,_react.useState)({}),K=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,X=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,[G,J]=(0,_react.useState)(0),Q=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,Y=(0,_react.useRef)(null),Z=(0,_react.useRef)(0),ee=$[a],te=Math.max(0,i.findIndex(e=>e.key===a)),ie=(0,_react.useMemo)(()=>h&&G>0?Q.interpolate({inputRange:[0,G],outputRange:[0,1]}):void 0,[h,G,Q])??g,ae=i.every(e=>void 0!==$[e.key]),re=void 0!==ie&&ae&&i.length>1,ne=(0,_react.useMemo)(()=>re&&ie?ie.interpolate({inputRange:i.map((e,t)=>t),outputRange:i.map(e=>$[e.key].x),extrapolate:"clamp"}):null,[re,ie,i,$]),se=(0,_react.useMemo)(()=>re&&ie?ie.interpolate({inputRange:i.map((e,t)=>t),outputRange:i.map(e=>$[e.key].width),extrapolate:"clamp"}):null,[re,ie,i,$]),le=(0,_react.useRef)(null);(0,_react.useEffect)(()=>{if(!ee)return;if(re)return;const e=null!==le.current&&le.current!==a;if(le.current=a,!e)return K.setValue(ee.x),void X.setValue(ee.width);const t=j.motion.spring.snappy,i=_reactNative.Animated.parallel([_reactNative.Animated.spring(K,{toValue:ee.x,damping:t.damping,stiffness:t.stiffness,mass:t.mass,overshootClamping:!0,useNativeDriver:!1}),_reactNative.Animated.spring(X,{toValue:ee.width,damping:t.damping,stiffness:t.stiffness,mass:t.mass,overshootClamping:!0,useNativeDriver:!1})]);return i.start(),()=>i.stop()},[ee,a,K,X,j.motion.spring.snappy,re]),(0,_react.useEffect)(()=>{h&&0!==G&&Z.current!==te&&(Z.current=te,Y.current?.scrollTo({x:te*G,animated:!0}))},[h,G,te]);const oe=h?.length;(0,_react.useEffect)(()=>{__DEV__&&void 0!==oe&&oe!==i.length&&_mobileCore.Logger.warn(`[@webority/mobile-ui] Tabs pages has ${oe} entries for ${i.length} tabs; each tab needs one page.`)},[oe,i.length]);const de=(0,_react.useCallback)(e=>t=>{const{x:i,width:a}=t.nativeEvent.layout;U(t=>{const r=t[e];return r&&r.x===i&&r.width===a?t:{...t,[e]:{x:i,width:a}}})},[]),ce=(0,_react.useCallback)(e=>{if(e.disabled)return;if(e.key===a)return;const t=(0,_index2.resolveHaptic)(v,"selection");t&&(0,_index2.triggerHaptic)(t),r(e.key)},[a,r,v]),ue="pills"===n,me=(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[E?w.indicatorThumb:ue?w.indicatorPill:w.indicatorUnderline,E?null:ue?{top:q,bottom:q}:{height:C},{width:se??X,transform:[{translateX:ne??K}],backgroundColor:E?j.colors.surface:ue?j.colors["primary-soft"]:j.colors.primary,borderRadius:E?H:ue?P:B,..._corners.smoothCorners},x]}),renderTabs=()=>i.map(e=>{const t=e.key===a,i=!0===e.disabled,r=t?j.colors.primary:j.colors["text-subtle"],n=(0,_slotIcon.renderSlotIcon)(e.icon,{color:r,size:T,focused:t,disabled:i});return(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:()=>ce(e),onLayout:de(e.key),disabled:i,accessibilityRole:"tab",accessibilityLabel:e.label,accessibilityState:{selected:t,disabled:i},"aria-selected":t,"aria-disabled":i,android_ripple:E?void 0:{color:j.colors["surface-pressed"],borderless:!1},style:({pressed:e})=>[w.tab,o?null:w.tabFlex,E?{paddingHorizontal:F["padding-x"],height:F.height-2*M}:{paddingHorizontal:I,paddingVertical:V},{opacity:i?z:e&&E&&!t?.7:1,backgroundColor:e&&!E?j.colors["surface-pressed"]:"transparent"},u],children:[n?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[w.tabIcon,{marginRight:N},b],children:n}):null,(0,_jsxRuntime.jsx)(_index3.Text,{variant:"label",weight:t?"semibold":"medium",color:t?"brand":"tertiary",style:[w.tabLabel,{fontSize:E?F.text:k},m],numberOfLines:1,children:e.label}),void 0!==e.badge&&null!==e.badge?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[w.tabBadge,{marginLeft:L,backgroundColor:j.colors["primary-soft"],borderRadius:j.radius.pill,..._corners.smoothCorners,paddingHorizontal:j.space.xs},p],children:(0,_jsxRuntime.jsx)(_index3.Text,{variant:"caption",weight:"semibold",color:"brand",numberOfLines:1,children:String(e.badge)})}):null]},e.key)}),be={flexDirection:"row",alignItems:"stretch",justifyContent:o?"flex-start":"center"===d?"center":"flex-start",position:"relative",overflow:"hidden"},pe=E?(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[me,renderTabs()]}):(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[renderTabs(),me]}),xe=(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:t,style:[w.container,{borderBottomColor:j.colors["border-subtle"],borderBottomWidth:"underline"===n?_reactNative.StyleSheet.hairlineWidth:0},"underline"===n?_:null,E?{padding:M,borderRadius:D,..._corners.smoothCorners,backgroundColor:W.active?"transparent":O}:null,c],onLayout:W.onLayout,accessibilityRole:"tablist",accessibilityLabel:f,testID:y,children:[W.active&&W.size?(0,_jsxRuntime.jsx)(_SquircleFill.SquircleFill,{width:W.size.width,height:W.size.height,radius:D,fill:O}):null,o?(0,_jsxRuntime.jsx)(_reactNative.ScrollView,{horizontal:!0,showsHorizontalScrollIndicator:!1,contentContainerStyle:[be],keyboardShouldPersistTaps:"handled",children:pe}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:be,children:pe})]});return h?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:w.root,children:[xe,(0,_jsxRuntime.jsx)(_reactNative.Animated.ScrollView,{ref:Y,horizontal:!0,pagingEnabled:!0,showsHorizontalScrollIndicator:!1,scrollEventThrottle:16,onLayout:e=>J(Math.round(e.nativeEvent.layout.width)),onScroll:_reactNative.Animated.event([{nativeEvent:{contentOffset:{x:Q}}}],{useNativeDriver:!1}),onMomentumScrollEnd:e=>{if(0===G)return;const t=Math.round(e.nativeEvent.contentOffset.x/G),n=i[t];n?.disabled?Y.current?.scrollTo({x:te*G,animated:!0}):(Z.current=t,n&&n.key!==a&&r(n.key))},style:w.pager,testID:y?`${y}-pages`:void 0,children:i.map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.View,{style:{width:G},accessibilityElementsHidden:t!==te,importantForAccessibility:t===te?"auto":"no-hide-descendants",children:h[t]},e.key))})]}):xe});Tabs.displayName="Tabs";const buildStyles=e=>_reactNative.StyleSheet.create({root:{flex:1},pager:{flex:1},container:{width:"100%",position:"relative"},tab:{flexDirection:"row",alignItems:"center",justifyContent:"center"},tabFlex:{flex:1},tabIcon:{},tabLabel:{includeFontPadding:!1,flexShrink:1},tabBadge:{minWidth:18,alignItems:"center",justifyContent:"center"},indicatorUnderline:{position:"absolute",left:0,bottom:0},indicatorPill:{position:"absolute",left:0,zIndex:-1},indicatorThumb:{position:"absolute",left:0,top:0,bottom:0}});var _default=exports.default=Tabs;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Tabs=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_slotIcon=require("../AppIcon/slotIcon.js"),_index3=require("../Badge/index.js"),_SquircleFill=require("../SquircleFill/SquircleFill.js"),_index4=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const Tabs=exports.Tabs=(0,_react.forwardRef)((e,t)=>{const{tabs:i,activeKey:a,onChange:r,variant:n="underline",radius:s,size:l="md",scrollable:o=!1,align:d="left",style:c,tabStyle:u,tabLabelStyle:m,tabIconStyle:b,tabBadgeStyle:p,dividerStyle:_,indicatorStyle:x,progress:g,pages:h,haptic:v,accessibilityLabel:f,testID:y}=e;(0,_warnInvalidValue.warnInvalidValue)("Tabs","variant",e.variant,["underline","pills","segmented"]),(0,_warnInvalidValue.warnInvalidValue)("Tabs","size",e.size,["sm","md","lg"]),(0,_warnInvalidValue.warnInvalidValue)("Tabs","align",e.align,["left","center"]);const j=(0,_index.useTheme)(),w=(0,_react.useMemo)(()=>buildStyles(j),[j]),S=j.components.tabs,R=(0,_react.useMemo)(()=>(0,_index.resolveTabsSize)(j,l),[j,l]),I=o?R["scrollable-padding-x"]:R["padding-x"],V=R["padding-y"],k=R.text,N=j.space[S["icon-gap"]],T=R.icon,q=S["underline-height"],z=j.space[S["pill-inset"]],C=S["disabled-opacity"],E=j.space[S["badge-gap"]],L="segmented"===n,F=(0,_react.useMemo)(()=>(0,_index.resolveSegmentedControlSize)(j,l),[j,l]),M=j.space[S["track-padding"]],A="number"==typeof s?s:s?j.radius[s]:void 0,D=A??j.radius.md,H=void 0===A?j.radius.sm:Math.max(A-M,0),B=A??j.radius.pill,P=A??j.radius.none,O=j.colors["bg-muted"],W=(0,_SquircleFill.useSquircle)(L,D),[$,U]=(0,_react.useState)({}),K=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,X=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,[G,J]=(0,_react.useState)(0),Q=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,Y=(0,_react.useRef)(null),Z=(0,_react.useRef)(0),ee=$[a],te=Math.max(0,i.findIndex(e=>e.key===a)),ie=(0,_react.useMemo)(()=>h&&G>0?Q.interpolate({inputRange:[0,G],outputRange:[0,1]}):void 0,[h,G,Q])??g,ae=i.every(e=>void 0!==$[e.key]),re=void 0!==ie&&ae&&i.length>1,ne=(0,_react.useMemo)(()=>re&&ie?ie.interpolate({inputRange:i.map((e,t)=>t),outputRange:i.map(e=>$[e.key].x),extrapolate:"clamp"}):null,[re,ie,i,$]),se=(0,_react.useMemo)(()=>re&&ie?ie.interpolate({inputRange:i.map((e,t)=>t),outputRange:i.map(e=>$[e.key].width),extrapolate:"clamp"}):null,[re,ie,i,$]),le=(0,_react.useRef)(null);(0,_react.useEffect)(()=>{if(!ee)return;if(re)return;const e=null!==le.current&&le.current!==a;if(le.current=a,!e)return K.setValue(ee.x),void X.setValue(ee.width);const t=j.motion.spring.snappy,i=_reactNative.Animated.parallel([_reactNative.Animated.spring(K,{toValue:ee.x,damping:t.damping,stiffness:t.stiffness,mass:t.mass,overshootClamping:!0,useNativeDriver:!1}),_reactNative.Animated.spring(X,{toValue:ee.width,damping:t.damping,stiffness:t.stiffness,mass:t.mass,overshootClamping:!0,useNativeDriver:!1})]);return i.start(),()=>i.stop()},[ee,a,K,X,j.motion.spring.snappy,re]),(0,_react.useEffect)(()=>{h&&0!==G&&Z.current!==te&&(Z.current=te,Y.current?.scrollTo({x:te*G,animated:!0}))},[h,G,te]);const oe=h?.length;(0,_react.useEffect)(()=>{__DEV__&&void 0!==oe&&oe!==i.length&&_mobileCore.Logger.warn(`[@webority/mobile-ui] Tabs pages has ${oe} entries for ${i.length} tabs; each tab needs one page.`)},[oe,i.length]);const de=(0,_react.useCallback)(e=>t=>{const{x:i,width:a}=t.nativeEvent.layout;U(t=>{const r=t[e];return r&&r.x===i&&r.width===a?t:{...t,[e]:{x:i,width:a}}})},[]),ce=(0,_react.useCallback)(e=>{if(e.disabled)return;if(e.key===a)return;const t=(0,_index2.resolveHaptic)(v,"selection");t&&(0,_index2.triggerHaptic)(t),r(e.key)},[a,r,v]),ue="pills"===n,me=(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[L?w.indicatorThumb:ue?w.indicatorPill:w.indicatorUnderline,L?null:ue?{top:z,bottom:z}:{height:q},{width:se??X,transform:[{translateX:ne??K}],backgroundColor:L?j.colors.surface:ue?j.colors["primary-soft"]:j.colors.primary,borderRadius:L?H:ue?B:P,..._corners.smoothCorners},x]}),renderTabs=()=>i.map(e=>{const t=e.key===a,i=!0===e.disabled,r=t?j.colors.primary:j.colors["text-subtle"],n=(0,_slotIcon.renderSlotIcon)(e.icon,{color:r,size:T,focused:t,disabled:i});return(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:()=>ce(e),onLayout:de(e.key),disabled:i,accessibilityRole:"tab",accessibilityLabel:e.label,accessibilityState:{selected:t,disabled:i},"aria-selected":t,"aria-disabled":i,android_ripple:L?void 0:{color:j.colors["surface-pressed"],borderless:!1},style:({pressed:e})=>[w.tab,o?null:w.tabFlex,L?{paddingHorizontal:F["padding-x"],height:F.height-2*M}:{paddingHorizontal:I,paddingVertical:V},{opacity:i?C:e&&L&&!t?.7:1,backgroundColor:e&&!L?j.colors["surface-pressed"]:"transparent"},u],children:[n?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[w.tabIcon,{marginRight:N},b],children:n}):null,(0,_jsxRuntime.jsx)(_index4.Text,{variant:"label",weight:t?"semibold":"medium",color:t?"brand":"tertiary",style:[w.tabLabel,{fontSize:L?F.text:k},m],numberOfLines:1,children:e.label}),void 0!==e.badge&&null!==e.badge?(0,_jsxRuntime.jsx)(_index3.Badge,{value:String(e.badge),tone:"primary",fill:"soft",accessible:!1,style:{marginLeft:E},badgeStyle:[w.tabBadge,p]}):null]},e.key)}),be={flexDirection:"row",alignItems:"stretch",justifyContent:o?"flex-start":"center"===d?"center":"flex-start",position:"relative",overflow:"hidden"},pe=L?(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[me,renderTabs()]}):(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[renderTabs(),me]}),xe=(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:t,style:[w.container,{borderBottomColor:j.colors["border-subtle"],borderBottomWidth:"underline"===n?_reactNative.StyleSheet.hairlineWidth:0},"underline"===n?_:null,L?{padding:M,borderRadius:D,..._corners.smoothCorners,backgroundColor:W.active?"transparent":O}:null,c],onLayout:W.onLayout,accessibilityRole:"tablist",accessibilityLabel:f,testID:y,children:[W.active&&W.size?(0,_jsxRuntime.jsx)(_SquircleFill.SquircleFill,{width:W.size.width,height:W.size.height,radius:D,fill:O}):null,o?(0,_jsxRuntime.jsx)(_reactNative.ScrollView,{horizontal:!0,showsHorizontalScrollIndicator:!1,contentContainerStyle:[be],keyboardShouldPersistTaps:"handled",children:pe}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:be,children:pe})]});return h?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:w.root,children:[xe,(0,_jsxRuntime.jsx)(_reactNative.Animated.ScrollView,{ref:Y,horizontal:!0,pagingEnabled:!0,showsHorizontalScrollIndicator:!1,scrollEventThrottle:16,onLayout:e=>J(Math.round(e.nativeEvent.layout.width)),onScroll:_reactNative.Animated.event([{nativeEvent:{contentOffset:{x:Q}}}],{useNativeDriver:!1}),onMomentumScrollEnd:e=>{if(0===G)return;const t=Math.round(e.nativeEvent.contentOffset.x/G),n=i[t];n?.disabled?Y.current?.scrollTo({x:te*G,animated:!0}):(Z.current=t,n&&n.key!==a&&r(n.key))},style:w.pager,testID:y?`${y}-pages`:void 0,children:i.map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.View,{style:{width:G},accessibilityElementsHidden:t!==te,importantForAccessibility:t===te?"auto":"no-hide-descendants",children:h[t]},e.key))})]}):xe});Tabs.displayName="Tabs";const buildStyles=e=>_reactNative.StyleSheet.create({root:{flex:1},pager:{flex:1},container:{width:"100%",position:"relative"},tab:{flexDirection:"row",alignItems:"center",justifyContent:"center"},tabFlex:{flex:1},tabIcon:{},tabLabel:{includeFontPadding:!1,flexShrink:1},tabBadge:{minWidth:18,minHeight:0},indicatorUnderline:{position:"absolute",left:0,bottom:0},indicatorPill:{position:"absolute",left:0,zIndex:-1},indicatorThumb:{position:"absolute",left:0,top:0,bottom:0}});var _default=exports.default=Tabs;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Timeline=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_color=require("../../utils/color.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_index2=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const DOT=12,HALO=6,RAIL=2,GUTTER=28,DISC=24,HALO_OPACITY=.16,STATUS_VALUES=["upcoming","current","done","onHold","rejected","cancelled","skipped"],Timeline=({items:e,variant:t="feed",orientation:r="vertical",style:i,testID:n})=>{const s=(0,_index.useTheme)(),l=s.space.xs,a=(0,_react.useMemo)(()=>buildStyles(s),[s]),o="horizontal"===r,c=s.colors.border;(0,_warnInvalidValue.warnInvalidValue)("Timeline","variant",t,["feed","progress"]),(0,_warnInvalidValue.warnInvalidValue)("Timeline","orientation",r,["vertical","horizontal"]);const[d,u]=(0,_react.useState)(0),x=(0,_react.useCallback)(e=>{const{width:t}=e.nativeEvent.layout;u(e=>e===t?e:t)},[]),m=o&&d>0&&e.length>0?d/e.length:0,renderDisc=(e,t)=>e.icon?(0,_jsxRuntime.jsx)(_reactNative.View,{style:a.disc,children:e.icon}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[a.disc,{backgroundColor:(0,_color.tintOf)(t,.16,s.colors["bg-muted"])}],children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[a.dot,{backgroundColor:t}]})}),renderText=(e,t)=>(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_index2.Text,{variant:o?"bodySmall":"body",weight:"semibold",style:[{color:"upcoming"===t?s.colors["text-muted"]:s.colors["text-body"]},o?a.centred:null],children:e.title}),e.meta?(0,_jsxRuntime.jsx)(_index2.Text,{variant:"caption",style:[{color:s.colors["text-subtle"]},o?a.centred:null],children:e.meta}):null,e.description?(0,_jsxRuntime.jsx)(_index2.Text,{variant:"bodySmall",style:[{color:s.colors["text-muted"]},o?a.centred:null],children:e.description}):null,e.children]}),_=e.map((r,i)=>{(0,_warnInvalidValue.warnInvalidValue)("Timeline","status",r.status,STATUS_VALUES);const n=r.status??("feed"===t?"done":"upcoming"),d=r.color??(e=>{switch(e){case"done":return s.colors.success;case"current":return s.colors.warning;case"onHold":return s.colors.info;case"rejected":return s.colors.danger;case"cancelled":case"skipped":return s.colors["text-subtle"];default:return s.colors["text-disabled"]}})(n),u=0===i,x=i===e.length-1,_=r.key??`${r.title}-${i}`;return o?(0,_jsxRuntime.jsxs)(_reactNative.View,{testID:r.testID,style:[a.hColumn,m>0?{width:m,flex:0}:null],children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:a.hDotRow,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[a.hSegment,{marginRight:l,backgroundColor:u?"transparent":c}]}),renderDisc(r,d),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[a.hSegment,{marginLeft:l,backgroundColor:x?"transparent":c}]})]}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:a.hBody,children:renderText(r,n)})]},_):(0,_jsxRuntime.jsxs)(_reactNative.View,{testID:r.testID,style:a.row,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:a.gutter,children:[renderDisc(r,d),x?null:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[a.rail,{backgroundColor:c}]})]}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[a.body,{paddingBottom:x?0:s.space.lg}],children:renderText(r,n)})]},_)});return(0,_jsxRuntime.jsx)(_reactNative.View,{style:[o?a.hRow:null,i],onLayout:o?x:void 0,testID:n,children:_})};exports.Timeline=Timeline;const buildStyles=e=>_reactNative.StyleSheet.create({row:{flexDirection:"row"},gutter:{width:Math.max(28,28),alignItems:"center"},disc:{width:24,height:24,borderRadius:e.radius.pill,..._corners.smoothCorners,alignItems:"center",justifyContent:"center"},dot:{width:12,height:12,borderRadius:e.radius.pill,..._corners.smoothCorners},rail:{width:2,flex:1,marginTop:e.space.xs,borderRadius:e.radius.pill,..._corners.smoothCorners},body:{flex:1,gap:e.space.xxs,paddingLeft:e.space.sm},hRow:{flexDirection:"row",alignItems:"flex-start"},hColumn:{flex:1,minWidth:0,alignItems:"center"},hDotRow:{alignSelf:"stretch",flexDirection:"row",alignItems:"center"},hSegment:{flex:1,height:2,borderRadius:e.radius.pill,..._corners.smoothCorners},hBody:{alignSelf:"stretch",alignItems:"center",paddingHorizontal:e.space.xs,marginTop:e.space.sm,gap:e.space.xxs},centred:{textAlign:"center"}});var _default=exports.default=Timeline;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Timeline=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_index2=require("../IconBadge/index.js"),_index3=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const DOT=12,HALO=6,RAIL=2,GUTTER=28,DISC=24,STATUS_VALUES=["upcoming","current","done","onHold","rejected","cancelled","skipped"],Timeline=({items:e,variant:t="feed",orientation:r="vertical",style:i,testID:n})=>{const s=(0,_index.useTheme)(),l=s.space.xs,a=(0,_react.useMemo)(()=>buildStyles(s),[s]),o="horizontal"===r,c=s.colors.border;(0,_warnInvalidValue.warnInvalidValue)("Timeline","variant",t,["feed","progress"]),(0,_warnInvalidValue.warnInvalidValue)("Timeline","orientation",r,["vertical","horizontal"]);const[d,u]=(0,_react.useState)(0),x=(0,_react.useCallback)(e=>{const{width:t}=e.nativeEvent.layout;u(e=>e===t?e:t)},[]),m=o&&d>0&&e.length>0?d/e.length:0,renderDisc=(e,t)=>e.icon?(0,_jsxRuntime.jsx)(_reactNative.View,{style:a.disc,children:e.icon}):(0,_jsxRuntime.jsx)(_index2.IconBadge,{dimension:24,color:t,fill:"halo",icon:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[a.dot,{backgroundColor:t}]})}),renderText=(e,t)=>(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_index3.Text,{variant:o?"bodySmall":"body",weight:"semibold",style:[{color:"upcoming"===t?s.colors["text-muted"]:s.colors["text-body"]},o?a.centred:null],children:e.title}),e.meta?(0,_jsxRuntime.jsx)(_index3.Text,{variant:"caption",style:[{color:s.colors["text-subtle"]},o?a.centred:null],children:e.meta}):null,e.description?(0,_jsxRuntime.jsx)(_index3.Text,{variant:"bodySmall",style:[{color:s.colors["text-muted"]},o?a.centred:null],children:e.description}):null,e.children]}),_=e.map((r,i)=>{(0,_warnInvalidValue.warnInvalidValue)("Timeline","status",r.status,STATUS_VALUES);const n=r.status??("feed"===t?"done":"upcoming"),d=r.color??(e=>{switch(e){case"done":return s.colors.success;case"current":return s.colors.warning;case"onHold":return s.colors.info;case"rejected":return s.colors.danger;case"cancelled":case"skipped":return s.colors["text-subtle"];default:return s.colors["text-disabled"]}})(n),u=0===i,x=i===e.length-1,_=r.key??`${r.title}-${i}`;return o?(0,_jsxRuntime.jsxs)(_reactNative.View,{testID:r.testID,style:[a.hColumn,m>0?{width:m,flex:0}:null],children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:a.hDotRow,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[a.hSegment,{marginRight:l,backgroundColor:u?"transparent":c}]}),renderDisc(r,d),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[a.hSegment,{marginLeft:l,backgroundColor:x?"transparent":c}]})]}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:a.hBody,children:renderText(r,n)})]},_):(0,_jsxRuntime.jsxs)(_reactNative.View,{testID:r.testID,style:a.row,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:a.gutter,children:[renderDisc(r,d),x?null:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[a.rail,{backgroundColor:c}]})]}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[a.body,{paddingBottom:x?0:s.space.lg}],children:renderText(r,n)})]},_)});return(0,_jsxRuntime.jsx)(_reactNative.View,{style:[o?a.hRow:null,i],onLayout:o?x:void 0,testID:n,children:_})};exports.Timeline=Timeline;const buildStyles=e=>_reactNative.StyleSheet.create({row:{flexDirection:"row"},gutter:{width:Math.max(28,28),alignItems:"center"},disc:{width:24,height:24,borderRadius:e.radius.pill,..._corners.smoothCorners,alignItems:"center",justifyContent:"center"},dot:{width:12,height:12,borderRadius:e.radius.pill,..._corners.smoothCorners},rail:{width:2,flex:1,marginTop:e.space.xs,borderRadius:e.radius.pill,..._corners.smoothCorners},body:{flex:1,gap:e.space.xxs,paddingLeft:e.space.sm},hRow:{flexDirection:"row",alignItems:"flex-start"},hColumn:{flex:1,minWidth:0,alignItems:"center"},hDotRow:{alignSelf:"stretch",flexDirection:"row",alignItems:"center"},hSegment:{flex:1,height:2,borderRadius:e.radius.pill,..._corners.smoothCorners},hBody:{alignSelf:"stretch",alignItems:"center",paddingHorizontal:e.space.xs,marginTop:e.space.sm,gap:e.space.xxs},centred:{textAlign:"center"}});var _default=exports.default=Timeline;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ALL_CALLING_CODES",{enumerable:!0,get:function(){return _index61.ALL_CALLING_CODES}}),Object.defineProperty(exports,"Accordion",{enumerable:!0,get:function(){return _index.Accordion}}),Object.defineProperty(exports,"AccordionGroup",{enumerable:!0,get:function(){return _index.AccordionGroup}}),Object.defineProperty(exports,"AmountSlider",{enumerable:!0,get:function(){return _index2.AmountSlider}}),Object.defineProperty(exports,"AnimatePresence",{enumerable:!0,get:function(){return _index3.AnimatePresence}}),Object.defineProperty(exports,"AppBar",{enumerable:!0,get:function(){return _index4.AppBar}}),Object.defineProperty(exports,"AppLockOverlay",{enumerable:!0,get:function(){return _index5.AppLockOverlay}}),Object.defineProperty(exports,"AsyncBlock",{enumerable:!0,get:function(){return _index6.AsyncBlock}}),Object.defineProperty(exports,"AuthedImage",{enumerable:!0,get:function(){return _index7.AuthedImage}}),Object.defineProperty(exports,"Autocomplete",{enumerable:!0,get:function(){return _index8.Autocomplete}}),Object.defineProperty(exports,"Avatar",{enumerable:!0,get:function(){return _index9.Avatar}}),Object.defineProperty(exports,"AvatarGroup",{enumerable:!0,get:function(){return _index9.AvatarGroup}}),Object.defineProperty(exports,"Badge",{enumerable:!0,get:function(){return _index0.Badge}}),Object.defineProperty(exports,"Banner",{enumerable:!0,get:function(){return _index1.Banner}}),Object.defineProperty(exports,"BarChart",{enumerable:!0,get:function(){return _index10.BarChart}}),Object.defineProperty(exports,"BottomNavigation",{enumerable:!0,get:function(){return _index11.BottomNavigation}}),Object.defineProperty(exports,"BottomSheet",{enumerable:!0,get:function(){return _index12.BottomSheet}}),Object.defineProperty(exports,"Box",{enumerable:!0,get:function(){return _index13.Box}}),Object.defineProperty(exports,"Button",{enumerable:!0,get:function(){return _index14.Button}}),Object.defineProperty(exports,"Calendar",{enumerable:!0,get:function(){return _index15.Calendar}}),Object.defineProperty(exports,"Card",{enumerable:!0,get:function(){return _index16.Card}}),Object.defineProperty(exports,"Carousel",{enumerable:!0,get:function(){return _index17.Carousel}}),Object.defineProperty(exports,"Checkbox",{enumerable:!0,get:function(){return _index18.Checkbox}}),Object.defineProperty(exports,"Chip",{enumerable:!0,get:function(){return _index19.Chip}}),Object.defineProperty(exports,"ChoiceGroup",{enumerable:!0,get:function(){return _index20.ChoiceGroup}}),Object.defineProperty(exports,"Composer",{enumerable:!0,get:function(){return _index21.Composer}}),Object.defineProperty(exports,"Confetti",{enumerable:!0,get:function(){return _index22.Confetti}}),Object.defineProperty(exports,"ConfirmHost",{enumerable:!0,get:function(){return _index23.ConfirmHost}}),Object.defineProperty(exports,"DEFAULT_AMOUNT_SLIDER_LABELS",{enumerable:!0,get:function(){return _index2.DEFAULT_AMOUNT_SLIDER_LABELS}}),Object.defineProperty(exports,"DEFAULT_APP_BAR_LABELS",{enumerable:!0,get:function(){return _index4.DEFAULT_APP_BAR_LABELS}}),Object.defineProperty(exports,"DEFAULT_APP_LOCK_OVERLAY_LABELS",{enumerable:!0,get:function(){return _index5.DEFAULT_APP_LOCK_OVERLAY_LABELS}}),Object.defineProperty(exports,"DEFAULT_ASYNC_BLOCK_LABELS",{enumerable:!0,get:function(){return _index6.DEFAULT_ASYNC_BLOCK_LABELS}}),Object.defineProperty(exports,"DEFAULT_AUTOCOMPLETE_LABELS",{enumerable:!0,get:function(){return _index8.DEFAULT_AUTOCOMPLETE_LABELS}}),Object.defineProperty(exports,"DEFAULT_AVATAR_LABELS",{enumerable:!0,get:function(){return _index9.DEFAULT_AVATAR_LABELS}}),Object.defineProperty(exports,"DEFAULT_BADGE_LABELS",{enumerable:!0,get:function(){return _index0.DEFAULT_BADGE_LABELS}}),Object.defineProperty(exports,"DEFAULT_BANNER_LABELS",{enumerable:!0,get:function(){return _index1.DEFAULT_BANNER_LABELS}}),Object.defineProperty(exports,"DEFAULT_BOTTOM_NAVIGATION_LABELS",{enumerable:!0,get:function(){return _index11.DEFAULT_BOTTOM_NAVIGATION_LABELS}}),Object.defineProperty(exports,"DEFAULT_BOTTOM_SHEET_LABELS",{enumerable:!0,get:function(){return _index12.DEFAULT_BOTTOM_SHEET_LABELS}}),Object.defineProperty(exports,"DEFAULT_CALENDAR_LABELS",{enumerable:!0,get:function(){return _index15.DEFAULT_CALENDAR_LABELS}}),Object.defineProperty(exports,"DEFAULT_CALLING_CODES",{enumerable:!0,get:function(){return _index61.DEFAULT_CALLING_CODES}}),Object.defineProperty(exports,"DEFAULT_CARD_LABELS",{enumerable:!0,get:function(){return _index16.DEFAULT_CARD_LABELS}}),Object.defineProperty(exports,"DEFAULT_CAROUSEL_LABELS",{enumerable:!0,get:function(){return _index17.DEFAULT_CAROUSEL_LABELS}}),Object.defineProperty(exports,"DEFAULT_COMPOSER_LABELS",{enumerable:!0,get:function(){return _index21.DEFAULT_COMPOSER_LABELS}}),Object.defineProperty(exports,"DEFAULT_DATE_PICKER_LABELS",{enumerable:!0,get:function(){return _index24.DEFAULT_DATE_PICKER_LABELS}}),Object.defineProperty(exports,"DEFAULT_DATE_RANGE_PICKER_LABELS",{enumerable:!0,get:function(){return _index25.DEFAULT_DATE_RANGE_PICKER_LABELS}}),Object.defineProperty(exports,"DEFAULT_DATE_SEPARATOR_LABELS",{enumerable:!0,get:function(){return _index26.DEFAULT_DATE_SEPARATOR_LABELS}}),Object.defineProperty(exports,"DEFAULT_DECIMAL_INPUT_LABELS",{enumerable:!0,get:function(){return _index27.DEFAULT_DECIMAL_INPUT_LABELS}}),Object.defineProperty(exports,"DEFAULT_DRAWER_LABELS",{enumerable:!0,get:function(){return _index31.DEFAULT_DRAWER_LABELS}}),Object.defineProperty(exports,"DEFAULT_ERROR_BOUNDARY_LABELS",{enumerable:!0,get:function(){return _index33.DEFAULT_ERROR_BOUNDARY_LABELS}}),Object.defineProperty(exports,"DEFAULT_FILE_PICKER_LABELS",{enumerable:!0,get:function(){return _index34.DEFAULT_FILE_PICKER_LABELS}}),Object.defineProperty(exports,"DEFAULT_FLOATING_ACTION_BUTTON_GROUP_LABELS",{enumerable:!0,get:function(){return _index37.DEFAULT_FLOATING_ACTION_BUTTON_GROUP_LABELS}}),Object.defineProperty(exports,"DEFAULT_FORCE_UPDATE_DIALOG_LABELS",{enumerable:!0,get:function(){return _index38.DEFAULT_FORCE_UPDATE_DIALOG_LABELS}}),Object.defineProperty(exports,"DEFAULT_FORM_FIELD_LABELS",{enumerable:!0,get:function(){return _index39.DEFAULT_FORM_FIELD_LABELS}}),Object.defineProperty(exports,"DEFAULT_IMAGE_GALLERY_LABELS",{enumerable:!0,get:function(){return _index42.DEFAULT_IMAGE_GALLERY_LABELS}}),Object.defineProperty(exports,"DEFAULT_INLINE_SELECT_LABELS",{enumerable:!0,get:function(){return _index43.DEFAULT_INLINE_SELECT_LABELS}}),Object.defineProperty(exports,"DEFAULT_INPUT_LABELS",{enumerable:!0,get:function(){return _index44.DEFAULT_INPUT_LABELS}}),Object.defineProperty(exports,"DEFAULT_KEYBOARD_TOOLBAR_LABELS",{enumerable:!0,get:function(){return _index46.DEFAULT_KEYBOARD_TOOLBAR_LABELS}}),Object.defineProperty(exports,"DEFAULT_LOADER_OVERLAY_LABELS",{enumerable:!0,get:function(){return _index48.DEFAULT_LOADER_OVERLAY_LABELS}}),Object.defineProperty(exports,"DEFAULT_MENU_LABELS",{enumerable:!0,get:function(){return _index50.DEFAULT_MENU_LABELS}}),Object.defineProperty(exports,"DEFAULT_MESSAGE_BUBBLE_LABELS",{enumerable:!0,get:function(){return _index51.DEFAULT_MESSAGE_BUBBLE_LABELS}}),Object.defineProperty(exports,"DEFAULT_MESSAGE_LIST_LABELS",{enumerable:!0,get:function(){return _index52.DEFAULT_MESSAGE_LIST_LABELS}}),Object.defineProperty(exports,"DEFAULT_MODAL_LABELS",{enumerable:!0,get:function(){return _index53.DEFAULT_MODAL_LABELS}}),Object.defineProperty(exports,"DEFAULT_NUMBER_INPUT_LABELS",{enumerable:!0,get:function(){return _index55.DEFAULT_NUMBER_INPUT_LABELS}}),Object.defineProperty(exports,"DEFAULT_ONBOARDING_PAGER_LABELS",{enumerable:!0,get:function(){return _index56.DEFAULT_ONBOARDING_PAGER_LABELS}}),Object.defineProperty(exports,"DEFAULT_OPTION_SHEET_LABELS",{enumerable:!0,get:function(){return _index57.DEFAULT_OPTION_SHEET_LABELS}}),Object.defineProperty(exports,"DEFAULT_OTP_INPUT_LABELS",{enumerable:!0,get:function(){return _index58.DEFAULT_OTP_INPUT_LABELS}}),Object.defineProperty(exports,"DEFAULT_PAGED_LIST_FOOTER_LABELS",{enumerable:!0,get:function(){return _index59.DEFAULT_PAGED_LIST_FOOTER_LABELS}}),Object.defineProperty(exports,"DEFAULT_PERMISSION_PROMPT_LABELS",{enumerable:!0,get:function(){return _index60.DEFAULT_PERMISSION_PROMPT_LABELS}}),Object.defineProperty(exports,"DEFAULT_PHONE_NUMBER_INPUT_LABELS",{enumerable:!0,get:function(){return _index61.DEFAULT_PHONE_NUMBER_INPUT_LABELS}}),Object.defineProperty(exports,"DEFAULT_PICKER_TRIGGER_LABELS",{enumerable:!0,get:function(){return _index62.DEFAULT_PICKER_TRIGGER_LABELS}}),Object.defineProperty(exports,"DEFAULT_PROFILE_COMPLETION_LABELS",{enumerable:!0,get:function(){return _index63.DEFAULT_PROFILE_COMPLETION_LABELS}}),Object.defineProperty(exports,"DEFAULT_PROFILE_PICKER_LABELS",{enumerable:!0,get:function(){return _index64.DEFAULT_PROFILE_PICKER_LABELS}}),Object.defineProperty(exports,"DEFAULT_PROGRESS_BAR_LABELS",{enumerable:!0,get:function(){return _index65.DEFAULT_PROGRESS_BAR_LABELS}}),Object.defineProperty(exports,"DEFAULT_RATING_LABELS",{enumerable:!0,get:function(){return _index68.DEFAULT_RATING_LABELS}}),Object.defineProperty(exports,"DEFAULT_REPEATER_LABELS",{enumerable:!0,get:function(){return _index69.DEFAULT_REPEATER_LABELS}}),Object.defineProperty(exports,"DEFAULT_RICH_TEXT_EDITOR_LABELS",{enumerable:!0,get:function(){return _index70.DEFAULT_RICH_TEXT_EDITOR_LABELS}}),Object.defineProperty(exports,"DEFAULT_SCANNER_OVERLAY_LABELS",{enumerable:!0,get:function(){return _index71.DEFAULT_SCANNER_OVERLAY_LABELS}}),Object.defineProperty(exports,"DEFAULT_SEARCH_BAR_LABELS",{enumerable:!0,get:function(){return _index73.DEFAULT_SEARCH_BAR_LABELS}}),Object.defineProperty(exports,"DEFAULT_SECTION_HEADER_LABELS",{enumerable:!0,get:function(){return _index74.DEFAULT_SECTION_HEADER_LABELS}}),Object.defineProperty(exports,"DEFAULT_SELECT_LABELS",{enumerable:!0,get:function(){return _index76.DEFAULT_SELECT_LABELS}}),Object.defineProperty(exports,"DEFAULT_SIGNATURE_PAD_LABELS",{enumerable:!0,get:function(){return _index77.DEFAULT_SIGNATURE_PAD_LABELS}}),Object.defineProperty(exports,"DEFAULT_SKELETON_LABELS",{enumerable:!0,get:function(){return _index78.DEFAULT_SKELETON_LABELS}}),Object.defineProperty(exports,"DEFAULT_SLIDER_FIELD_LABELS",{enumerable:!0,get:function(){return _index80.DEFAULT_SLIDER_FIELD_LABELS}}),Object.defineProperty(exports,"DEFAULT_SLIDE_TO_CONFIRM_LABELS",{enumerable:!0,get:function(){return _index81.DEFAULT_SLIDE_TO_CONFIRM_LABELS}}),Object.defineProperty(exports,"DEFAULT_SORTABLE_LIST_LABELS",{enumerable:!0,get:function(){return _index82.DEFAULT_SORTABLE_LIST_LABELS}}),Object.defineProperty(exports,"DEFAULT_SPARKLINE_LABELS",{enumerable:!0,get:function(){return _index83.DEFAULT_SPARKLINE_LABELS}}),Object.defineProperty(exports,"DEFAULT_SPINNER_LABELS",{enumerable:!0,get:function(){return _index84.DEFAULT_SPINNER_LABELS}}),Object.defineProperty(exports,"DEFAULT_TIME_PICKER_LABELS",{enumerable:!0,get:function(){return _index95.DEFAULT_TIME_PICKER_LABELS}}),Object.defineProperty(exports,"DEFAULT_TOAST_LABELS",{enumerable:!0,get:function(){return _index96.DEFAULT_TOAST_LABELS}}),Object.defineProperty(exports,"DEFAULT_TOOLTIP_LABELS",{enumerable:!0,get:function(){return _index97.DEFAULT_TOOLTIP_LABELS}}),Object.defineProperty(exports,"DEFAULT_TOUR_LABELS",{enumerable:!0,get:function(){return _index98.DEFAULT_TOUR_LABELS}}),Object.defineProperty(exports,"DEFAULT_TYPING_INDICATOR_LABELS",{enumerable:!0,get:function(){return _index99.DEFAULT_TYPING_INDICATOR_LABELS}}),Object.defineProperty(exports,"DEFAULT_WHEEL_PICKER_LABELS",{enumerable:!0,get:function(){return _index100.DEFAULT_WHEEL_PICKER_LABELS}}),Object.defineProperty(exports,"DatePicker",{enumerable:!0,get:function(){return _index24.DatePicker}}),Object.defineProperty(exports,"DateRangePicker",{enumerable:!0,get:function(){return _index25.DateRangePicker}}),Object.defineProperty(exports,"DateSeparator",{enumerable:!0,get:function(){return _index26.DateSeparator}}),Object.defineProperty(exports,"DecimalInput",{enumerable:!0,get:function(){return _index27.DecimalInput}}),Object.defineProperty(exports,"Descriptions",{enumerable:!0,get:function(){return _index28.Descriptions}}),Object.defineProperty(exports,"Dialog",{enumerable:!0,get:function(){return _index29.Dialog}}),Object.defineProperty(exports,"Divider",{enumerable:!0,get:function(){return _index30.Divider}}),Object.defineProperty(exports,"Drawer",{enumerable:!0,get:function(){return _index31.Drawer}}),Object.defineProperty(exports,"EmptyState",{enumerable:!0,get:function(){return _index32.EmptyState}}),Object.defineProperty(exports,"ErrorBoundary",{enumerable:!0,get:function(){return _index33.ErrorBoundary}}),Object.defineProperty(exports,"FilePicker",{enumerable:!0,get:function(){return _index34.FilePicker}}),Object.defineProperty(exports,"FileViewer",{enumerable:!0,get:function(){return _index35.FileViewer}}),Object.defineProperty(exports,"FilterChipRow",{enumerable:!0,get:function(){return _index36.FilterChipRow}}),Object.defineProperty(exports,"FloatingActionButton",{enumerable:!0,get:function(){return _index37.FloatingActionButton}}),Object.defineProperty(exports,"FloatingActionButtonGroup",{enumerable:!0,get:function(){return _index37.FloatingActionButtonGroup}}),Object.defineProperty(exports,"ForceUpdateDialog",{enumerable:!0,get:function(){return _index38.ForceUpdateDialog}}),Object.defineProperty(exports,"FormField",{enumerable:!0,get:function(){return _index39.FormField}}),Object.defineProperty(exports,"IconBadge",{enumerable:!0,get:function(){return _index40.IconBadge}}),Object.defineProperty(exports,"IconButton",{enumerable:!0,get:function(){return _index41.IconButton}}),Object.defineProperty(exports,"ImageGallery",{enumerable:!0,get:function(){return _index42.ImageGallery}}),Object.defineProperty(exports,"InlineSelect",{enumerable:!0,get:function(){return _index43.InlineSelect}}),Object.defineProperty(exports,"Input",{enumerable:!0,get:function(){return _index44.Input}}),Object.defineProperty(exports,"KeyboardAwareScrollView",{enumerable:!0,get:function(){return _index45.KeyboardAwareScrollView}}),Object.defineProperty(exports,"KeyboardToolbar",{enumerable:!0,get:function(){return _index46.KeyboardToolbar}}),Object.defineProperty(exports,"ListItem",{enumerable:!0,get:function(){return _index47.ListItem}}),Object.defineProperty(exports,"LoaderOverlay",{enumerable:!0,get:function(){return _index48.LoaderOverlay}}),Object.defineProperty(exports,"MODAL_DISMISS_GRACE_MS",{enumerable:!0,get:function(){return _index53.MODAL_DISMISS_GRACE_MS}}),Object.defineProperty(exports,"Markdown",{enumerable:!0,get:function(){return _index49.Markdown}}),Object.defineProperty(exports,"Menu",{enumerable:!0,get:function(){return _index50.Menu}}),Object.defineProperty(exports,"MessageBubble",{enumerable:!0,get:function(){return _index51.MessageBubble}}),Object.defineProperty(exports,"MessageList",{enumerable:!0,get:function(){return _index52.MessageList}}),Object.defineProperty(exports,"Modal",{enumerable:!0,get:function(){return _index53.Modal}}),Object.defineProperty(exports,"Notation",{enumerable:!0,get:function(){return _index54.Notation}}),Object.defineProperty(exports,"NumberInput",{enumerable:!0,get:function(){return _index55.NumberInput}}),Object.defineProperty(exports,"OTPInput",{enumerable:!0,get:function(){return _index58.OTPInput}}),Object.defineProperty(exports,"OnboardingPager",{enumerable:!0,get:function(){return _index56.OnboardingPager}}),Object.defineProperty(exports,"OptionSheet",{enumerable:!0,get:function(){return _index57.OptionSheet}}),Object.defineProperty(exports,"PagedListFooter",{enumerable:!0,get:function(){return _index59.PagedListFooter}}),Object.defineProperty(exports,"PermissionPrompt",{enumerable:!0,get:function(){return _index60.PermissionPrompt}}),Object.defineProperty(exports,"PhoneNumberInput",{enumerable:!0,get:function(){return _index61.PhoneNumberInput}}),Object.defineProperty(exports,"PickerTrigger",{enumerable:!0,get:function(){return _index62.PickerTrigger}}),Object.defineProperty(exports,"ProfileCompletion",{enumerable:!0,get:function(){return _index63.ProfileCompletion}}),Object.defineProperty(exports,"ProfilePicker",{enumerable:!0,get:function(){return _index64.ProfilePicker}}),Object.defineProperty(exports,"ProgressBar",{enumerable:!0,get:function(){return _index65.ProgressBar}}),Object.defineProperty(exports,"ProgressRing",{enumerable:!0,get:function(){return _index66.ProgressRing}}),Object.defineProperty(exports,"Radio",{enumerable:!0,get:function(){return _index67.Radio}}),Object.defineProperty(exports,"RadioDot",{enumerable:!0,get:function(){return _index67.RadioDot}}),Object.defineProperty(exports,"RadioGroup",{enumerable:!0,get:function(){return _index67.RadioGroup}}),Object.defineProperty(exports,"Rating",{enumerable:!0,get:function(){return _index68.Rating}}),Object.defineProperty(exports,"Repeater",{enumerable:!0,get:function(){return _index69.Repeater}}),Object.defineProperty(exports,"RichTextEditor",{enumerable:!0,get:function(){return _index70.RichTextEditor}}),Object.defineProperty(exports,"Row",{enumerable:!0,get:function(){return _index13.Row}}),Object.defineProperty(exports,"ScannerOverlay",{enumerable:!0,get:function(){return _index71.ScannerOverlay}}),Object.defineProperty(exports,"Screen",{enumerable:!0,get:function(){return _index72.Screen}}),Object.defineProperty(exports,"SearchBar",{enumerable:!0,get:function(){return _index73.SearchBar}}),Object.defineProperty(exports,"SectionHeader",{enumerable:!0,get:function(){return _index74.SectionHeader}}),Object.defineProperty(exports,"SegmentedControl",{enumerable:!0,get:function(){return _index75.SegmentedControl}}),Object.defineProperty(exports,"Select",{enumerable:!0,get:function(){return _index76.Select}}),Object.defineProperty(exports,"SignaturePad",{enumerable:!0,get:function(){return _index77.SignaturePad}}),Object.defineProperty(exports,"Skeleton",{enumerable:!0,get:function(){return _index78.Skeleton}}),Object.defineProperty(exports,"SkeletonCircle",{enumerable:!0,get:function(){return _index78.SkeletonCircle}}),Object.defineProperty(exports,"SkeletonClockProvider",{enumerable:!0,get:function(){return _index78.SkeletonClockProvider}}),Object.defineProperty(exports,"SkeletonContent",{enumerable:!0,get:function(){return _index78.SkeletonContent}}),Object.defineProperty(exports,"SkeletonList",{enumerable:!0,get:function(){return _index78.SkeletonList}}),Object.defineProperty(exports,"SkeletonProvider",{enumerable:!0,get:function(){return _index78.SkeletonProvider}}),Object.defineProperty(exports,"SkeletonSkip",{enumerable:!0,get:function(){return _index78.SkeletonSkip}}),Object.defineProperty(exports,"SkeletonText",{enumerable:!0,get:function(){return _index78.SkeletonText}}),Object.defineProperty(exports,"SlideToConfirm",{enumerable:!0,get:function(){return _index81.SlideToConfirm}}),Object.defineProperty(exports,"Slider",{enumerable:!0,get:function(){return _index79.Slider}}),Object.defineProperty(exports,"SliderField",{enumerable:!0,get:function(){return _index80.SliderField}}),Object.defineProperty(exports,"SortableList",{enumerable:!0,get:function(){return _index82.SortableList}}),Object.defineProperty(exports,"Spacer",{enumerable:!0,get:function(){return _index13.Spacer}}),Object.defineProperty(exports,"Sparkline",{enumerable:!0,get:function(){return _index83.Sparkline}}),Object.defineProperty(exports,"Spinner",{enumerable:!0,get:function(){return _index84.Spinner}}),Object.defineProperty(exports,"SquircleView",{enumerable:!0,get:function(){return _index85.SquircleView}}),Object.defineProperty(exports,"Stack",{enumerable:!0,get:function(){return _index13.Stack}}),Object.defineProperty(exports,"StatTile",{enumerable:!0,get:function(){return _index86.StatTile}}),Object.defineProperty(exports,"StatusBadge",{enumerable:!0,get:function(){return _index87.StatusBadge}}),Object.defineProperty(exports,"Stepper",{enumerable:!0,get:function(){return _index88.Stepper}}),Object.defineProperty(exports,"Swipeable",{enumerable:!0,get:function(){return _index89.Swipeable}}),Object.defineProperty(exports,"Switch",{enumerable:!0,get:function(){return _index90.Switch}}),Object.defineProperty(exports,"Tabs",{enumerable:!0,get:function(){return _index91.Tabs}}),Object.defineProperty(exports,"TagInput",{enumerable:!0,get:function(){return _index92.TagInput}}),Object.defineProperty(exports,"Text",{enumerable:!0,get:function(){return _index93.Text}}),Object.defineProperty(exports,"TimePicker",{enumerable:!0,get:function(){return _index95.TimePicker}}),Object.defineProperty(exports,"Timeline",{enumerable:!0,get:function(){return _index94.Timeline}}),Object.defineProperty(exports,"Toast",{enumerable:!0,get:function(){return _index96.Toast}}),Object.defineProperty(exports,"ToastHost",{enumerable:!0,get:function(){return _index96.ToastHost}}),Object.defineProperty(exports,"ToastProvider",{enumerable:!0,get:function(){return _index96.ToastProvider}}),Object.defineProperty(exports,"Tooltip",{enumerable:!0,get:function(){return _index97.Tooltip}}),Object.defineProperty(exports,"Tour",{enumerable:!0,get:function(){return _index98.Tour}}),Object.defineProperty(exports,"TypingIndicator",{enumerable:!0,get:function(){return _index99.TypingIndicator}}),Object.defineProperty(exports,"WheelPicker",{enumerable:!0,get:function(){return _index100.WheelPicker}}),Object.defineProperty(exports,"ZoomableImage",{enumerable:!0,get:function(){return _index101.ZoomableImage}}),Object.defineProperty(exports,"applyMarkdownAction",{enumerable:!0,get:function(){return _index70.applyMarkdownAction}}),Object.defineProperty(exports,"authedImageCacheStats",{enumerable:!0,get:function(){return _index7.authedImageCacheStats}}),Object.defineProperty(exports,"avatarToneColors",{enumerable:!0,get:function(){return _index9.avatarToneColors}}),Object.defineProperty(exports,"buttonLabelInk",{enumerable:!0,get:function(){return _index14.buttonLabelInk}}),Object.defineProperty(exports,"cleanDecimalText",{enumerable:!0,get:function(){return _index27.cleanDecimalText}}),Object.defineProperty(exports,"clearAuthedImageCache",{enumerable:!0,get:function(){return _index7.clearAuthedImageCache}}),Object.defineProperty(exports,"confirm",{enumerable:!0,get:function(){return _index23.confirm}}),Object.defineProperty(exports,"dayLabel",{enumerable:!0,get:function(){return _index26.dayLabel}}),Object.defineProperty(exports,"defineStatusMap",{enumerable:!0,get:function(){return _statusMap.defineStatusMap}}),Object.defineProperty(exports,"formatE164",{enumerable:!0,get:function(){return _index61.formatE164}}),Object.defineProperty(exports,"formatFileSize",{enumerable:!0,get:function(){return _index34.formatFileSize}}),Object.defineProperty(exports,"getAuthedImageCacheLimit",{enumerable:!0,get:function(){return _index7.getAuthedImageCacheLimit}}),Object.defineProperty(exports,"isUnclearDecimalComma",{enumerable:!0,get:function(){return _index27.isUnclearDecimalComma}}),Object.defineProperty(exports,"loader",{enumerable:!0,get:function(){return _index48.loader}}),Object.defineProperty(exports,"parseDecimalText",{enumerable:!0,get:function(){return _index27.parseDecimalText}}),Object.defineProperty(exports,"parseE164",{enumerable:!0,get:function(){return _index61.parseE164}}),Object.defineProperty(exports,"parseNotation",{enumerable:!0,get:function(){return _index54.parseNotation}}),Object.defineProperty(exports,"pointDecimalText",{enumerable:!0,get:function(){return _index27.pointDecimalText}}),Object.defineProperty(exports,"setAuthedImageCacheLimit",{enumerable:!0,get:function(){return _index7.setAuthedImageCacheLimit}}),Object.defineProperty(exports,"sym",{enumerable:!0,get:function(){return _index54.sym}}),Object.defineProperty(exports,"toast",{enumerable:!0,get:function(){return _index96.toast}}),Object.defineProperty(exports,"useBottomSheet",{enumerable:!0,get:function(){return _index12.useBottomSheet}}),Object.defineProperty(exports,"useErrorHandler",{enumerable:!0,get:function(){return _index33.useErrorHandler}}),Object.defineProperty(exports,"useLoader",{enumerable:!0,get:function(){return _index48.useLoader}}),Object.defineProperty(exports,"usePermissionPrompt",{enumerable:!0,get:function(){return _index60.usePermissionPrompt}}),Object.defineProperty(exports,"useRecentSearches",{enumerable:!0,get:function(){return _index73.useRecentSearches}}),Object.defineProperty(exports,"useSkeletonClock",{enumerable:!0,get:function(){return _index78.useSkeletonClock}}),Object.defineProperty(exports,"useSkeletonDefaults",{enumerable:!0,get:function(){return _index78.useSkeletonDefaults}}),Object.defineProperty(exports,"useToast",{enumerable:!0,get:function(){return _index96.useToast}}),Object.defineProperty(exports,"withErrorBoundary",{enumerable:!0,get:function(){return _index33.withErrorBoundary}});var _index=require("./Accordion/index.js"),_index2=require("./AmountSlider/index.js"),_index3=require("./AnimatePresence/index.js"),_index4=require("./AppBar/index.js"),_index5=require("./AppLockOverlay/index.js"),_index6=require("./AsyncBlock/index.js"),_index7=require("./AuthedImage/index.js"),_index8=require("./Autocomplete/index.js"),_index9=require("./Avatar/index.js"),_index0=require("./Badge/index.js"),_index1=require("./Banner/index.js"),_index10=require("./BarChart/index.js"),_index11=require("./BottomNavigation/index.js"),_index12=require("./BottomSheet/index.js"),_index13=require("./Box/index.js"),_index14=require("./Button/index.js"),_index15=require("./Calendar/index.js"),_index16=require("./Card/index.js"),_index17=require("./Carousel/index.js"),_index18=require("./Checkbox/index.js"),_index19=require("./Chip/index.js"),_index20=require("./ChoiceGroup/index.js"),_index21=require("./Composer/index.js"),_index22=require("./Confetti/index.js"),_index23=require("./Confirm/index.js"),_index24=require("./DatePicker/index.js"),_index25=require("./DateRangePicker/index.js"),_index26=require("./DateSeparator/index.js"),_index27=require("./DecimalInput/index.js"),_index28=require("./Descriptions/index.js"),_index29=require("./Dialog/index.js"),_index30=require("./Divider/index.js"),_index31=require("./Drawer/index.js"),_index32=require("./EmptyState/index.js"),_index33=require("./ErrorBoundary/index.js"),_index34=require("./FilePicker/index.js"),_index35=require("./FileViewer/index.js"),_index36=require("./FilterChipRow/index.js"),_index37=require("./FloatingActionButton/index.js"),_index38=require("./ForceUpdateDialog/index.js"),_index39=require("./FormField/index.js"),_index40=require("./IconBadge/index.js"),_index41=require("./IconButton/index.js"),_index42=require("./ImageGallery/index.js"),_index43=require("./InlineSelect/index.js"),_index44=require("./Input/index.js"),_index45=require("./KeyboardAwareScrollView/index.js"),_index46=require("./KeyboardToolbar/index.js"),_index47=require("./ListItem/index.js"),_index48=require("./LoaderOverlay/index.js"),_index49=require("./Markdown/index.js"),_index50=require("./Menu/index.js"),_index51=require("./MessageBubble/index.js"),_index52=require("./MessageList/index.js"),_index53=require("./Modal/index.js"),_index54=require("./Notation/index.js"),_index55=require("./NumberInput/index.js"),_index56=require("./OnboardingPager/index.js"),_index57=require("./OptionSheet/index.js"),_index58=require("./OTPInput/index.js"),_index59=require("./PagedListFooter/index.js"),_index60=require("./PermissionPrompt/index.js"),_index61=require("./PhoneNumberInput/index.js"),_index62=require("./PickerTrigger/index.js"),_index63=require("./ProfileCompletion/index.js"),_index64=require("./ProfilePicker/index.js"),_index65=require("./ProgressBar/index.js"),_index66=require("./ProgressRing/index.js"),_index67=require("./Radio/index.js"),_index68=require("./Rating/index.js"),_index69=require("./Repeater/index.js"),_index70=require("./RichTextEditor/index.js"),_index71=require("./ScannerOverlay/index.js"),_index72=require("./Screen/index.js"),_index73=require("./SearchBar/index.js"),_index74=require("./SectionHeader/index.js"),_index75=require("./SegmentedControl/index.js"),_index76=require("./Select/index.js"),_index77=require("./SignaturePad/index.js"),_index78=require("./Skeleton/index.js"),_index79=require("./Slider/index.js"),_index80=require("./SliderField/index.js"),_index81=require("./SlideToConfirm/index.js"),_index82=require("./SortableList/index.js"),_index83=require("./Sparkline/index.js"),_index84=require("./Spinner/index.js"),_index85=require("./SquircleView/index.js"),_index86=require("./StatTile/index.js"),_index87=require("./StatusBadge/index.js"),_statusMap=require("./StatusBadge/statusMap.js"),_index88=require("./Stepper/index.js"),_index89=require("./Swipeable/index.js"),_index90=require("./Switch/index.js"),_index91=require("./Tabs/index.js"),_index92=require("./TagInput/index.js"),_index93=require("./Text/index.js"),_index94=require("./Timeline/index.js"),_index95=require("./TimePicker/index.js"),_index96=require("./Toast/index.js"),_index97=require("./Tooltip/index.js"),_index98=require("./Tour/index.js"),_index99=require("./TypingIndicator/index.js"),_index100=require("./WheelPicker/index.js"),_index101=require("./ZoomableImage/index.js");
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ALL_CALLING_CODES",{enumerable:!0,get:function(){return _index62.ALL_CALLING_CODES}}),Object.defineProperty(exports,"Accordion",{enumerable:!0,get:function(){return _index.Accordion}}),Object.defineProperty(exports,"AccordionGroup",{enumerable:!0,get:function(){return _index.AccordionGroup}}),Object.defineProperty(exports,"AmountSlider",{enumerable:!0,get:function(){return _index2.AmountSlider}}),Object.defineProperty(exports,"AnimatePresence",{enumerable:!0,get:function(){return _index3.AnimatePresence}}),Object.defineProperty(exports,"AppBar",{enumerable:!0,get:function(){return _index4.AppBar}}),Object.defineProperty(exports,"AppLockOverlay",{enumerable:!0,get:function(){return _index5.AppLockOverlay}}),Object.defineProperty(exports,"AsyncBlock",{enumerable:!0,get:function(){return _index6.AsyncBlock}}),Object.defineProperty(exports,"AuthedImage",{enumerable:!0,get:function(){return _index7.AuthedImage}}),Object.defineProperty(exports,"Autocomplete",{enumerable:!0,get:function(){return _index8.Autocomplete}}),Object.defineProperty(exports,"Avatar",{enumerable:!0,get:function(){return _index9.Avatar}}),Object.defineProperty(exports,"AvatarGroup",{enumerable:!0,get:function(){return _index9.AvatarGroup}}),Object.defineProperty(exports,"Badge",{enumerable:!0,get:function(){return _index0.Badge}}),Object.defineProperty(exports,"Banner",{enumerable:!0,get:function(){return _index1.Banner}}),Object.defineProperty(exports,"BarChart",{enumerable:!0,get:function(){return _index10.BarChart}}),Object.defineProperty(exports,"BottomNavigation",{enumerable:!0,get:function(){return _index11.BottomNavigation}}),Object.defineProperty(exports,"BottomSheet",{enumerable:!0,get:function(){return _index12.BottomSheet}}),Object.defineProperty(exports,"Box",{enumerable:!0,get:function(){return _index13.Box}}),Object.defineProperty(exports,"Button",{enumerable:!0,get:function(){return _index14.Button}}),Object.defineProperty(exports,"Calendar",{enumerable:!0,get:function(){return _index15.Calendar}}),Object.defineProperty(exports,"Card",{enumerable:!0,get:function(){return _index16.Card}}),Object.defineProperty(exports,"Carousel",{enumerable:!0,get:function(){return _index17.Carousel}}),Object.defineProperty(exports,"Checkbox",{enumerable:!0,get:function(){return _index18.Checkbox}}),Object.defineProperty(exports,"Chip",{enumerable:!0,get:function(){return _index19.Chip}}),Object.defineProperty(exports,"ChoiceGroup",{enumerable:!0,get:function(){return _index20.ChoiceGroup}}),Object.defineProperty(exports,"Composer",{enumerable:!0,get:function(){return _index21.Composer}}),Object.defineProperty(exports,"Confetti",{enumerable:!0,get:function(){return _index22.Confetti}}),Object.defineProperty(exports,"ConfirmHost",{enumerable:!0,get:function(){return _index23.ConfirmHost}}),Object.defineProperty(exports,"DEFAULT_AMOUNT_SLIDER_LABELS",{enumerable:!0,get:function(){return _index2.DEFAULT_AMOUNT_SLIDER_LABELS}}),Object.defineProperty(exports,"DEFAULT_APP_BAR_LABELS",{enumerable:!0,get:function(){return _index4.DEFAULT_APP_BAR_LABELS}}),Object.defineProperty(exports,"DEFAULT_APP_LOCK_OVERLAY_LABELS",{enumerable:!0,get:function(){return _index5.DEFAULT_APP_LOCK_OVERLAY_LABELS}}),Object.defineProperty(exports,"DEFAULT_ASYNC_BLOCK_LABELS",{enumerable:!0,get:function(){return _index6.DEFAULT_ASYNC_BLOCK_LABELS}}),Object.defineProperty(exports,"DEFAULT_AUTOCOMPLETE_LABELS",{enumerable:!0,get:function(){return _index8.DEFAULT_AUTOCOMPLETE_LABELS}}),Object.defineProperty(exports,"DEFAULT_AVATAR_LABELS",{enumerable:!0,get:function(){return _index9.DEFAULT_AVATAR_LABELS}}),Object.defineProperty(exports,"DEFAULT_BADGE_LABELS",{enumerable:!0,get:function(){return _index0.DEFAULT_BADGE_LABELS}}),Object.defineProperty(exports,"DEFAULT_BANNER_LABELS",{enumerable:!0,get:function(){return _index1.DEFAULT_BANNER_LABELS}}),Object.defineProperty(exports,"DEFAULT_BOTTOM_NAVIGATION_LABELS",{enumerable:!0,get:function(){return _index11.DEFAULT_BOTTOM_NAVIGATION_LABELS}}),Object.defineProperty(exports,"DEFAULT_BOTTOM_SHEET_LABELS",{enumerable:!0,get:function(){return _index12.DEFAULT_BOTTOM_SHEET_LABELS}}),Object.defineProperty(exports,"DEFAULT_CALENDAR_LABELS",{enumerable:!0,get:function(){return _index15.DEFAULT_CALENDAR_LABELS}}),Object.defineProperty(exports,"DEFAULT_CALLING_CODES",{enumerable:!0,get:function(){return _index62.DEFAULT_CALLING_CODES}}),Object.defineProperty(exports,"DEFAULT_CARD_LABELS",{enumerable:!0,get:function(){return _index16.DEFAULT_CARD_LABELS}}),Object.defineProperty(exports,"DEFAULT_CAROUSEL_LABELS",{enumerable:!0,get:function(){return _index17.DEFAULT_CAROUSEL_LABELS}}),Object.defineProperty(exports,"DEFAULT_COMPOSER_LABELS",{enumerable:!0,get:function(){return _index21.DEFAULT_COMPOSER_LABELS}}),Object.defineProperty(exports,"DEFAULT_DATE_PICKER_LABELS",{enumerable:!0,get:function(){return _index24.DEFAULT_DATE_PICKER_LABELS}}),Object.defineProperty(exports,"DEFAULT_DATE_RANGE_PICKER_LABELS",{enumerable:!0,get:function(){return _index25.DEFAULT_DATE_RANGE_PICKER_LABELS}}),Object.defineProperty(exports,"DEFAULT_DATE_SEPARATOR_LABELS",{enumerable:!0,get:function(){return _index26.DEFAULT_DATE_SEPARATOR_LABELS}}),Object.defineProperty(exports,"DEFAULT_DECIMAL_INPUT_LABELS",{enumerable:!0,get:function(){return _index27.DEFAULT_DECIMAL_INPUT_LABELS}}),Object.defineProperty(exports,"DEFAULT_DRAWER_LABELS",{enumerable:!0,get:function(){return _index31.DEFAULT_DRAWER_LABELS}}),Object.defineProperty(exports,"DEFAULT_ERROR_BOUNDARY_LABELS",{enumerable:!0,get:function(){return _index33.DEFAULT_ERROR_BOUNDARY_LABELS}}),Object.defineProperty(exports,"DEFAULT_FILE_PICKER_LABELS",{enumerable:!0,get:function(){return _index34.DEFAULT_FILE_PICKER_LABELS}}),Object.defineProperty(exports,"DEFAULT_FLOATING_ACTION_BUTTON_GROUP_LABELS",{enumerable:!0,get:function(){return _index37.DEFAULT_FLOATING_ACTION_BUTTON_GROUP_LABELS}}),Object.defineProperty(exports,"DEFAULT_FORCE_UPDATE_DIALOG_LABELS",{enumerable:!0,get:function(){return _index38.DEFAULT_FORCE_UPDATE_DIALOG_LABELS}}),Object.defineProperty(exports,"DEFAULT_FORM_FIELD_LABELS",{enumerable:!0,get:function(){return _index39.DEFAULT_FORM_FIELD_LABELS}}),Object.defineProperty(exports,"DEFAULT_IMAGE_GALLERY_LABELS",{enumerable:!0,get:function(){return _index42.DEFAULT_IMAGE_GALLERY_LABELS}}),Object.defineProperty(exports,"DEFAULT_INLINE_SELECT_LABELS",{enumerable:!0,get:function(){return _index43.DEFAULT_INLINE_SELECT_LABELS}}),Object.defineProperty(exports,"DEFAULT_INPUT_LABELS",{enumerable:!0,get:function(){return _index44.DEFAULT_INPUT_LABELS}}),Object.defineProperty(exports,"DEFAULT_KEYBOARD_TOOLBAR_LABELS",{enumerable:!0,get:function(){return _index46.DEFAULT_KEYBOARD_TOOLBAR_LABELS}}),Object.defineProperty(exports,"DEFAULT_LOADER_OVERLAY_LABELS",{enumerable:!0,get:function(){return _index49.DEFAULT_LOADER_OVERLAY_LABELS}}),Object.defineProperty(exports,"DEFAULT_MENU_LABELS",{enumerable:!0,get:function(){return _index51.DEFAULT_MENU_LABELS}}),Object.defineProperty(exports,"DEFAULT_MESSAGE_BUBBLE_LABELS",{enumerable:!0,get:function(){return _index52.DEFAULT_MESSAGE_BUBBLE_LABELS}}),Object.defineProperty(exports,"DEFAULT_MESSAGE_LIST_LABELS",{enumerable:!0,get:function(){return _index53.DEFAULT_MESSAGE_LIST_LABELS}}),Object.defineProperty(exports,"DEFAULT_MODAL_LABELS",{enumerable:!0,get:function(){return _index54.DEFAULT_MODAL_LABELS}}),Object.defineProperty(exports,"DEFAULT_NUMBER_INPUT_LABELS",{enumerable:!0,get:function(){return _index56.DEFAULT_NUMBER_INPUT_LABELS}}),Object.defineProperty(exports,"DEFAULT_ONBOARDING_PAGER_LABELS",{enumerable:!0,get:function(){return _index57.DEFAULT_ONBOARDING_PAGER_LABELS}}),Object.defineProperty(exports,"DEFAULT_OPTION_SHEET_LABELS",{enumerable:!0,get:function(){return _index58.DEFAULT_OPTION_SHEET_LABELS}}),Object.defineProperty(exports,"DEFAULT_OTP_INPUT_LABELS",{enumerable:!0,get:function(){return _index59.DEFAULT_OTP_INPUT_LABELS}}),Object.defineProperty(exports,"DEFAULT_PAGED_LIST_FOOTER_LABELS",{enumerable:!0,get:function(){return _index60.DEFAULT_PAGED_LIST_FOOTER_LABELS}}),Object.defineProperty(exports,"DEFAULT_PERMISSION_PROMPT_LABELS",{enumerable:!0,get:function(){return _index61.DEFAULT_PERMISSION_PROMPT_LABELS}}),Object.defineProperty(exports,"DEFAULT_PHONE_NUMBER_INPUT_LABELS",{enumerable:!0,get:function(){return _index62.DEFAULT_PHONE_NUMBER_INPUT_LABELS}}),Object.defineProperty(exports,"DEFAULT_PICKER_TRIGGER_LABELS",{enumerable:!0,get:function(){return _index63.DEFAULT_PICKER_TRIGGER_LABELS}}),Object.defineProperty(exports,"DEFAULT_PROFILE_COMPLETION_LABELS",{enumerable:!0,get:function(){return _index64.DEFAULT_PROFILE_COMPLETION_LABELS}}),Object.defineProperty(exports,"DEFAULT_PROFILE_PICKER_LABELS",{enumerable:!0,get:function(){return _index65.DEFAULT_PROFILE_PICKER_LABELS}}),Object.defineProperty(exports,"DEFAULT_PROGRESS_BAR_LABELS",{enumerable:!0,get:function(){return _index66.DEFAULT_PROGRESS_BAR_LABELS}}),Object.defineProperty(exports,"DEFAULT_RATING_LABELS",{enumerable:!0,get:function(){return _index69.DEFAULT_RATING_LABELS}}),Object.defineProperty(exports,"DEFAULT_REPEATER_LABELS",{enumerable:!0,get:function(){return _index70.DEFAULT_REPEATER_LABELS}}),Object.defineProperty(exports,"DEFAULT_RICH_TEXT_EDITOR_LABELS",{enumerable:!0,get:function(){return _index71.DEFAULT_RICH_TEXT_EDITOR_LABELS}}),Object.defineProperty(exports,"DEFAULT_SCANNER_OVERLAY_LABELS",{enumerable:!0,get:function(){return _index72.DEFAULT_SCANNER_OVERLAY_LABELS}}),Object.defineProperty(exports,"DEFAULT_SEARCH_BAR_LABELS",{enumerable:!0,get:function(){return _index74.DEFAULT_SEARCH_BAR_LABELS}}),Object.defineProperty(exports,"DEFAULT_SECTION_HEADER_LABELS",{enumerable:!0,get:function(){return _index75.DEFAULT_SECTION_HEADER_LABELS}}),Object.defineProperty(exports,"DEFAULT_SELECT_LABELS",{enumerable:!0,get:function(){return _index77.DEFAULT_SELECT_LABELS}}),Object.defineProperty(exports,"DEFAULT_SIGNATURE_PAD_LABELS",{enumerable:!0,get:function(){return _index78.DEFAULT_SIGNATURE_PAD_LABELS}}),Object.defineProperty(exports,"DEFAULT_SKELETON_LABELS",{enumerable:!0,get:function(){return _index79.DEFAULT_SKELETON_LABELS}}),Object.defineProperty(exports,"DEFAULT_SLIDER_FIELD_LABELS",{enumerable:!0,get:function(){return _index81.DEFAULT_SLIDER_FIELD_LABELS}}),Object.defineProperty(exports,"DEFAULT_SLIDE_TO_CONFIRM_LABELS",{enumerable:!0,get:function(){return _index82.DEFAULT_SLIDE_TO_CONFIRM_LABELS}}),Object.defineProperty(exports,"DEFAULT_SORTABLE_LIST_LABELS",{enumerable:!0,get:function(){return _index83.DEFAULT_SORTABLE_LIST_LABELS}}),Object.defineProperty(exports,"DEFAULT_SPARKLINE_LABELS",{enumerable:!0,get:function(){return _index84.DEFAULT_SPARKLINE_LABELS}}),Object.defineProperty(exports,"DEFAULT_SPINNER_LABELS",{enumerable:!0,get:function(){return _index85.DEFAULT_SPINNER_LABELS}}),Object.defineProperty(exports,"DEFAULT_TIME_PICKER_LABELS",{enumerable:!0,get:function(){return _index96.DEFAULT_TIME_PICKER_LABELS}}),Object.defineProperty(exports,"DEFAULT_TOAST_LABELS",{enumerable:!0,get:function(){return _index97.DEFAULT_TOAST_LABELS}}),Object.defineProperty(exports,"DEFAULT_TOOLTIP_LABELS",{enumerable:!0,get:function(){return _index98.DEFAULT_TOOLTIP_LABELS}}),Object.defineProperty(exports,"DEFAULT_TOUR_LABELS",{enumerable:!0,get:function(){return _index99.DEFAULT_TOUR_LABELS}}),Object.defineProperty(exports,"DEFAULT_TYPING_INDICATOR_LABELS",{enumerable:!0,get:function(){return _index100.DEFAULT_TYPING_INDICATOR_LABELS}}),Object.defineProperty(exports,"DEFAULT_WHEEL_PICKER_LABELS",{enumerable:!0,get:function(){return _index101.DEFAULT_WHEEL_PICKER_LABELS}}),Object.defineProperty(exports,"DatePicker",{enumerable:!0,get:function(){return _index24.DatePicker}}),Object.defineProperty(exports,"DateRangePicker",{enumerable:!0,get:function(){return _index25.DateRangePicker}}),Object.defineProperty(exports,"DateSeparator",{enumerable:!0,get:function(){return _index26.DateSeparator}}),Object.defineProperty(exports,"DecimalInput",{enumerable:!0,get:function(){return _index27.DecimalInput}}),Object.defineProperty(exports,"Descriptions",{enumerable:!0,get:function(){return _index28.Descriptions}}),Object.defineProperty(exports,"Dialog",{enumerable:!0,get:function(){return _index29.Dialog}}),Object.defineProperty(exports,"Divider",{enumerable:!0,get:function(){return _index30.Divider}}),Object.defineProperty(exports,"Drawer",{enumerable:!0,get:function(){return _index31.Drawer}}),Object.defineProperty(exports,"EmptyState",{enumerable:!0,get:function(){return _index32.EmptyState}}),Object.defineProperty(exports,"ErrorBoundary",{enumerable:!0,get:function(){return _index33.ErrorBoundary}}),Object.defineProperty(exports,"FilePicker",{enumerable:!0,get:function(){return _index34.FilePicker}}),Object.defineProperty(exports,"FileViewer",{enumerable:!0,get:function(){return _index35.FileViewer}}),Object.defineProperty(exports,"FilterChipRow",{enumerable:!0,get:function(){return _index36.FilterChipRow}}),Object.defineProperty(exports,"FloatingActionButton",{enumerable:!0,get:function(){return _index37.FloatingActionButton}}),Object.defineProperty(exports,"FloatingActionButtonGroup",{enumerable:!0,get:function(){return _index37.FloatingActionButtonGroup}}),Object.defineProperty(exports,"ForceUpdateDialog",{enumerable:!0,get:function(){return _index38.ForceUpdateDialog}}),Object.defineProperty(exports,"FormField",{enumerable:!0,get:function(){return _index39.FormField}}),Object.defineProperty(exports,"IconBadge",{enumerable:!0,get:function(){return _index40.IconBadge}}),Object.defineProperty(exports,"IconButton",{enumerable:!0,get:function(){return _index41.IconButton}}),Object.defineProperty(exports,"ImageGallery",{enumerable:!0,get:function(){return _index42.ImageGallery}}),Object.defineProperty(exports,"InlineSelect",{enumerable:!0,get:function(){return _index43.InlineSelect}}),Object.defineProperty(exports,"Input",{enumerable:!0,get:function(){return _index44.Input}}),Object.defineProperty(exports,"KeyboardAwareScrollView",{enumerable:!0,get:function(){return _index45.KeyboardAwareScrollView}}),Object.defineProperty(exports,"KeyboardToolbar",{enumerable:!0,get:function(){return _index46.KeyboardToolbar}}),Object.defineProperty(exports,"ListItem",{enumerable:!0,get:function(){return _index47.ListItem}}),Object.defineProperty(exports,"ListSection",{enumerable:!0,get:function(){return _index48.ListSection}}),Object.defineProperty(exports,"LoaderOverlay",{enumerable:!0,get:function(){return _index49.LoaderOverlay}}),Object.defineProperty(exports,"MODAL_DISMISS_GRACE_MS",{enumerable:!0,get:function(){return _index54.MODAL_DISMISS_GRACE_MS}}),Object.defineProperty(exports,"Markdown",{enumerable:!0,get:function(){return _index50.Markdown}}),Object.defineProperty(exports,"Menu",{enumerable:!0,get:function(){return _index51.Menu}}),Object.defineProperty(exports,"MessageBubble",{enumerable:!0,get:function(){return _index52.MessageBubble}}),Object.defineProperty(exports,"MessageList",{enumerable:!0,get:function(){return _index53.MessageList}}),Object.defineProperty(exports,"Modal",{enumerable:!0,get:function(){return _index54.Modal}}),Object.defineProperty(exports,"Notation",{enumerable:!0,get:function(){return _index55.Notation}}),Object.defineProperty(exports,"NumberInput",{enumerable:!0,get:function(){return _index56.NumberInput}}),Object.defineProperty(exports,"OTPInput",{enumerable:!0,get:function(){return _index59.OTPInput}}),Object.defineProperty(exports,"OnboardingPager",{enumerable:!0,get:function(){return _index57.OnboardingPager}}),Object.defineProperty(exports,"OptionSheet",{enumerable:!0,get:function(){return _index58.OptionSheet}}),Object.defineProperty(exports,"PagedListFooter",{enumerable:!0,get:function(){return _index60.PagedListFooter}}),Object.defineProperty(exports,"PermissionPrompt",{enumerable:!0,get:function(){return _index61.PermissionPrompt}}),Object.defineProperty(exports,"PhoneNumberInput",{enumerable:!0,get:function(){return _index62.PhoneNumberInput}}),Object.defineProperty(exports,"PickerTrigger",{enumerable:!0,get:function(){return _index63.PickerTrigger}}),Object.defineProperty(exports,"ProfileCompletion",{enumerable:!0,get:function(){return _index64.ProfileCompletion}}),Object.defineProperty(exports,"ProfilePicker",{enumerable:!0,get:function(){return _index65.ProfilePicker}}),Object.defineProperty(exports,"ProgressBar",{enumerable:!0,get:function(){return _index66.ProgressBar}}),Object.defineProperty(exports,"ProgressRing",{enumerable:!0,get:function(){return _index67.ProgressRing}}),Object.defineProperty(exports,"Radio",{enumerable:!0,get:function(){return _index68.Radio}}),Object.defineProperty(exports,"RadioDot",{enumerable:!0,get:function(){return _index68.RadioDot}}),Object.defineProperty(exports,"RadioGroup",{enumerable:!0,get:function(){return _index68.RadioGroup}}),Object.defineProperty(exports,"Rating",{enumerable:!0,get:function(){return _index69.Rating}}),Object.defineProperty(exports,"Repeater",{enumerable:!0,get:function(){return _index70.Repeater}}),Object.defineProperty(exports,"RichTextEditor",{enumerable:!0,get:function(){return _index71.RichTextEditor}}),Object.defineProperty(exports,"Row",{enumerable:!0,get:function(){return _index13.Row}}),Object.defineProperty(exports,"ScannerOverlay",{enumerable:!0,get:function(){return _index72.ScannerOverlay}}),Object.defineProperty(exports,"Screen",{enumerable:!0,get:function(){return _index73.Screen}}),Object.defineProperty(exports,"SearchBar",{enumerable:!0,get:function(){return _index74.SearchBar}}),Object.defineProperty(exports,"SectionHeader",{enumerable:!0,get:function(){return _index75.SectionHeader}}),Object.defineProperty(exports,"SegmentedControl",{enumerable:!0,get:function(){return _index76.SegmentedControl}}),Object.defineProperty(exports,"Select",{enumerable:!0,get:function(){return _index77.Select}}),Object.defineProperty(exports,"SignaturePad",{enumerable:!0,get:function(){return _index78.SignaturePad}}),Object.defineProperty(exports,"Skeleton",{enumerable:!0,get:function(){return _index79.Skeleton}}),Object.defineProperty(exports,"SkeletonCircle",{enumerable:!0,get:function(){return _index79.SkeletonCircle}}),Object.defineProperty(exports,"SkeletonClockProvider",{enumerable:!0,get:function(){return _index79.SkeletonClockProvider}}),Object.defineProperty(exports,"SkeletonContent",{enumerable:!0,get:function(){return _index79.SkeletonContent}}),Object.defineProperty(exports,"SkeletonList",{enumerable:!0,get:function(){return _index79.SkeletonList}}),Object.defineProperty(exports,"SkeletonProvider",{enumerable:!0,get:function(){return _index79.SkeletonProvider}}),Object.defineProperty(exports,"SkeletonSkip",{enumerable:!0,get:function(){return _index79.SkeletonSkip}}),Object.defineProperty(exports,"SkeletonText",{enumerable:!0,get:function(){return _index79.SkeletonText}}),Object.defineProperty(exports,"SlideToConfirm",{enumerable:!0,get:function(){return _index82.SlideToConfirm}}),Object.defineProperty(exports,"Slider",{enumerable:!0,get:function(){return _index80.Slider}}),Object.defineProperty(exports,"SliderField",{enumerable:!0,get:function(){return _index81.SliderField}}),Object.defineProperty(exports,"SortableList",{enumerable:!0,get:function(){return _index83.SortableList}}),Object.defineProperty(exports,"Spacer",{enumerable:!0,get:function(){return _index13.Spacer}}),Object.defineProperty(exports,"Sparkline",{enumerable:!0,get:function(){return _index84.Sparkline}}),Object.defineProperty(exports,"Spinner",{enumerable:!0,get:function(){return _index85.Spinner}}),Object.defineProperty(exports,"SquircleView",{enumerable:!0,get:function(){return _index86.SquircleView}}),Object.defineProperty(exports,"Stack",{enumerable:!0,get:function(){return _index13.Stack}}),Object.defineProperty(exports,"StatTile",{enumerable:!0,get:function(){return _index87.StatTile}}),Object.defineProperty(exports,"StatusBadge",{enumerable:!0,get:function(){return _index88.StatusBadge}}),Object.defineProperty(exports,"Stepper",{enumerable:!0,get:function(){return _index89.Stepper}}),Object.defineProperty(exports,"Swipeable",{enumerable:!0,get:function(){return _index90.Swipeable}}),Object.defineProperty(exports,"Switch",{enumerable:!0,get:function(){return _index91.Switch}}),Object.defineProperty(exports,"Tabs",{enumerable:!0,get:function(){return _index92.Tabs}}),Object.defineProperty(exports,"TagInput",{enumerable:!0,get:function(){return _index93.TagInput}}),Object.defineProperty(exports,"Text",{enumerable:!0,get:function(){return _index94.Text}}),Object.defineProperty(exports,"TimePicker",{enumerable:!0,get:function(){return _index96.TimePicker}}),Object.defineProperty(exports,"Timeline",{enumerable:!0,get:function(){return _index95.Timeline}}),Object.defineProperty(exports,"Toast",{enumerable:!0,get:function(){return _index97.Toast}}),Object.defineProperty(exports,"ToastHost",{enumerable:!0,get:function(){return _index97.ToastHost}}),Object.defineProperty(exports,"ToastProvider",{enumerable:!0,get:function(){return _index97.ToastProvider}}),Object.defineProperty(exports,"Tooltip",{enumerable:!0,get:function(){return _index98.Tooltip}}),Object.defineProperty(exports,"Tour",{enumerable:!0,get:function(){return _index99.Tour}}),Object.defineProperty(exports,"TypingIndicator",{enumerable:!0,get:function(){return _index100.TypingIndicator}}),Object.defineProperty(exports,"WheelPicker",{enumerable:!0,get:function(){return _index101.WheelPicker}}),Object.defineProperty(exports,"ZoomableImage",{enumerable:!0,get:function(){return _index102.ZoomableImage}}),Object.defineProperty(exports,"applyMarkdownAction",{enumerable:!0,get:function(){return _index71.applyMarkdownAction}}),Object.defineProperty(exports,"authedImageCacheStats",{enumerable:!0,get:function(){return _index7.authedImageCacheStats}}),Object.defineProperty(exports,"avatarToneColors",{enumerable:!0,get:function(){return _index9.avatarToneColors}}),Object.defineProperty(exports,"buttonLabelInk",{enumerable:!0,get:function(){return _index14.buttonLabelInk}}),Object.defineProperty(exports,"cleanDecimalText",{enumerable:!0,get:function(){return _index27.cleanDecimalText}}),Object.defineProperty(exports,"clearAuthedImageCache",{enumerable:!0,get:function(){return _index7.clearAuthedImageCache}}),Object.defineProperty(exports,"confirm",{enumerable:!0,get:function(){return _index23.confirm}}),Object.defineProperty(exports,"dayLabel",{enumerable:!0,get:function(){return _index26.dayLabel}}),Object.defineProperty(exports,"defineStatusMap",{enumerable:!0,get:function(){return _statusMap.defineStatusMap}}),Object.defineProperty(exports,"formatE164",{enumerable:!0,get:function(){return _index62.formatE164}}),Object.defineProperty(exports,"formatFileSize",{enumerable:!0,get:function(){return _index34.formatFileSize}}),Object.defineProperty(exports,"getAuthedImageCacheLimit",{enumerable:!0,get:function(){return _index7.getAuthedImageCacheLimit}}),Object.defineProperty(exports,"isUnclearDecimalComma",{enumerable:!0,get:function(){return _index27.isUnclearDecimalComma}}),Object.defineProperty(exports,"loader",{enumerable:!0,get:function(){return _index49.loader}}),Object.defineProperty(exports,"parseDecimalText",{enumerable:!0,get:function(){return _index27.parseDecimalText}}),Object.defineProperty(exports,"parseE164",{enumerable:!0,get:function(){return _index62.parseE164}}),Object.defineProperty(exports,"parseNotation",{enumerable:!0,get:function(){return _index55.parseNotation}}),Object.defineProperty(exports,"pointDecimalText",{enumerable:!0,get:function(){return _index27.pointDecimalText}}),Object.defineProperty(exports,"setAuthedImageCacheLimit",{enumerable:!0,get:function(){return _index7.setAuthedImageCacheLimit}}),Object.defineProperty(exports,"sym",{enumerable:!0,get:function(){return _index55.sym}}),Object.defineProperty(exports,"toast",{enumerable:!0,get:function(){return _index97.toast}}),Object.defineProperty(exports,"useBottomSheet",{enumerable:!0,get:function(){return _index12.useBottomSheet}}),Object.defineProperty(exports,"useErrorHandler",{enumerable:!0,get:function(){return _index33.useErrorHandler}}),Object.defineProperty(exports,"useLoader",{enumerable:!0,get:function(){return _index49.useLoader}}),Object.defineProperty(exports,"usePermissionPrompt",{enumerable:!0,get:function(){return _index61.usePermissionPrompt}}),Object.defineProperty(exports,"useRecentSearches",{enumerable:!0,get:function(){return _index74.useRecentSearches}}),Object.defineProperty(exports,"useSkeletonClock",{enumerable:!0,get:function(){return _index79.useSkeletonClock}}),Object.defineProperty(exports,"useSkeletonDefaults",{enumerable:!0,get:function(){return _index79.useSkeletonDefaults}}),Object.defineProperty(exports,"useToast",{enumerable:!0,get:function(){return _index97.useToast}}),Object.defineProperty(exports,"withErrorBoundary",{enumerable:!0,get:function(){return _index33.withErrorBoundary}});var _index=require("./Accordion/index.js"),_index2=require("./AmountSlider/index.js"),_index3=require("./AnimatePresence/index.js"),_index4=require("./AppBar/index.js"),_index5=require("./AppLockOverlay/index.js"),_index6=require("./AsyncBlock/index.js"),_index7=require("./AuthedImage/index.js"),_index8=require("./Autocomplete/index.js"),_index9=require("./Avatar/index.js"),_index0=require("./Badge/index.js"),_index1=require("./Banner/index.js"),_index10=require("./BarChart/index.js"),_index11=require("./BottomNavigation/index.js"),_index12=require("./BottomSheet/index.js"),_index13=require("./Box/index.js"),_index14=require("./Button/index.js"),_index15=require("./Calendar/index.js"),_index16=require("./Card/index.js"),_index17=require("./Carousel/index.js"),_index18=require("./Checkbox/index.js"),_index19=require("./Chip/index.js"),_index20=require("./ChoiceGroup/index.js"),_index21=require("./Composer/index.js"),_index22=require("./Confetti/index.js"),_index23=require("./Confirm/index.js"),_index24=require("./DatePicker/index.js"),_index25=require("./DateRangePicker/index.js"),_index26=require("./DateSeparator/index.js"),_index27=require("./DecimalInput/index.js"),_index28=require("./Descriptions/index.js"),_index29=require("./Dialog/index.js"),_index30=require("./Divider/index.js"),_index31=require("./Drawer/index.js"),_index32=require("./EmptyState/index.js"),_index33=require("./ErrorBoundary/index.js"),_index34=require("./FilePicker/index.js"),_index35=require("./FileViewer/index.js"),_index36=require("./FilterChipRow/index.js"),_index37=require("./FloatingActionButton/index.js"),_index38=require("./ForceUpdateDialog/index.js"),_index39=require("./FormField/index.js"),_index40=require("./IconBadge/index.js"),_index41=require("./IconButton/index.js"),_index42=require("./ImageGallery/index.js"),_index43=require("./InlineSelect/index.js"),_index44=require("./Input/index.js"),_index45=require("./KeyboardAwareScrollView/index.js"),_index46=require("./KeyboardToolbar/index.js"),_index47=require("./ListItem/index.js"),_index48=require("./ListSection/index.js"),_index49=require("./LoaderOverlay/index.js"),_index50=require("./Markdown/index.js"),_index51=require("./Menu/index.js"),_index52=require("./MessageBubble/index.js"),_index53=require("./MessageList/index.js"),_index54=require("./Modal/index.js"),_index55=require("./Notation/index.js"),_index56=require("./NumberInput/index.js"),_index57=require("./OnboardingPager/index.js"),_index58=require("./OptionSheet/index.js"),_index59=require("./OTPInput/index.js"),_index60=require("./PagedListFooter/index.js"),_index61=require("./PermissionPrompt/index.js"),_index62=require("./PhoneNumberInput/index.js"),_index63=require("./PickerTrigger/index.js"),_index64=require("./ProfileCompletion/index.js"),_index65=require("./ProfilePicker/index.js"),_index66=require("./ProgressBar/index.js"),_index67=require("./ProgressRing/index.js"),_index68=require("./Radio/index.js"),_index69=require("./Rating/index.js"),_index70=require("./Repeater/index.js"),_index71=require("./RichTextEditor/index.js"),_index72=require("./ScannerOverlay/index.js"),_index73=require("./Screen/index.js"),_index74=require("./SearchBar/index.js"),_index75=require("./SectionHeader/index.js"),_index76=require("./SegmentedControl/index.js"),_index77=require("./Select/index.js"),_index78=require("./SignaturePad/index.js"),_index79=require("./Skeleton/index.js"),_index80=require("./Slider/index.js"),_index81=require("./SliderField/index.js"),_index82=require("./SlideToConfirm/index.js"),_index83=require("./SortableList/index.js"),_index84=require("./Sparkline/index.js"),_index85=require("./Spinner/index.js"),_index86=require("./SquircleView/index.js"),_index87=require("./StatTile/index.js"),_index88=require("./StatusBadge/index.js"),_statusMap=require("./StatusBadge/statusMap.js"),_index89=require("./Stepper/index.js"),_index90=require("./Swipeable/index.js"),_index91=require("./Switch/index.js"),_index92=require("./Tabs/index.js"),_index93=require("./TagInput/index.js"),_index94=require("./Text/index.js"),_index95=require("./Timeline/index.js"),_index96=require("./TimePicker/index.js"),_index97=require("./Toast/index.js"),_index98=require("./Tooltip/index.js"),_index99=require("./Tour/index.js"),_index100=require("./TypingIndicator/index.js"),_index101=require("./WheelPicker/index.js"),_index102=require("./ZoomableImage/index.js");
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.usePressAnimation=exports.PRESS_ANIMATION_PRESETS=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../theme/index.js"),_animatedValue=require("../theme/animatedValue.js"),_usePresenceMotion=require("./usePresenceMotion.js");const PRESS_ANIMATION_PRESETS=exports.PRESS_ANIMATION_PRESETS=["scale","bounce","fade","sink","pulse"],FADE_TO=.6,SINK_BY=2,PULSE_TO=1.05,DEFAULT_SCALE_TO={scale:.97,bounce:.92,fade:1,sink:1,pulse:1},usePressAnimation=({preset:e="scale",scaleTo:a,pressDuration:t,enabled:s=!0}={})=>{const r=(0,_index.useTheme)(),i=(0,_usePresenceMotion.usePresenceMotion)(),n=(0,_react.useRef)((0,_animatedValue.createAnimatedValue)(1)).current,c=(0,_react.useRef)((0,_animatedValue.createAnimatedValue)(1)).current,u=(0,_react.useRef)((0,_animatedValue.createAnimatedValue)(0)).current,o=i.reduced?"fade":e,l=a??DEFAULT_SCALE_TO[o],_=t??i.duration("fast"),m=(0,_react.useCallback)((e,a,t)=>_reactNative.Animated.timing(e,{toValue:a,duration:_,easing:_reactNative.Easing.bezier(...t),useNativeDriver:!0}),[_]),d=(0,_react.useCallback)((e,a,t)=>_reactNative.Animated.spring(e,{toValue:a,damping:r.motion.spring[t].damping,stiffness:r.motion.spring[t].stiffness,mass:r.motion.spring[t].mass,useNativeDriver:!0}),[r]),p=(0,_react.useCallback)(()=>{if(s)switch(o){case"scale":case"bounce":m(n,l,r.motion.ease["in-out"]).start();break;case"fade":m(c,.6,r.motion.ease["in-out"]).start();break;case"sink":m(u,2,r.motion.ease["in-out"]).start()}},[s,o,l,n,c,u,r,m]),A=(0,_react.useCallback)(()=>{if(s)switch(o){case"scale":d(n,1,"snappy").start();break;case"bounce":d(n,1,"bouncy").start();break;case"fade":m(c,1,r.motion.ease.decelerate).start();break;case"sink":d(u,0,"snappy").start()}},[s,o,n,c,u,r,m,d]),b=(0,_react.useCallback)(()=>{s&&"pulse"===o&&_reactNative.Animated.sequence([_reactNative.Animated.timing(n,{toValue:1.05,duration:r.motion.duration.instant,easing:_reactNative.Easing.bezier(...r.motion.ease.accelerate),useNativeDriver:!0}),d(n,1,"snappy")]).start()},[s,o,n,r,d]),f=(0,_react.useMemo)(()=>({transform:[{scale:n},{translateY:u}],opacity:c}),[n,u,c]);return{scale:n,opacity:c,translateY:u,style:f,pressIn:p,pressOut:A,press:b}};exports.usePressAnimation=usePressAnimation;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.usePressAnimation=exports.PRESS_ANIMATION_PRESETS=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../theme/index.js"),_animatedValue=require("../theme/animatedValue.js"),_usePresenceMotion=require("./usePresenceMotion.js");const PRESS_ANIMATION_PRESETS=exports.PRESS_ANIMATION_PRESETS=["scale","bounce","fade","sink","pulse","dim"],FADE_TO=.6,DIM_TO=.7,SINK_BY=2,PULSE_TO=1.05,DEFAULT_SCALE_TO={scale:.97,bounce:.92,fade:1,sink:1,pulse:1,dim:1},usePressAnimation=({preset:e="scale",scaleTo:a,pressDuration:t,enabled:s=!0}={})=>{const i=(0,_index.useTheme)(),r=(0,_usePresenceMotion.usePresenceMotion)(),n=(0,_react.useRef)((0,_animatedValue.createAnimatedValue)(1)).current,c=(0,_react.useRef)((0,_animatedValue.createAnimatedValue)(1)).current,u=(0,_react.useRef)((0,_animatedValue.createAnimatedValue)(0)).current,o=r.reduced?"dim"===e?"dim":"fade":e,_=a??DEFAULT_SCALE_TO[o],l=t??r.duration("fast"),m=(0,_react.useCallback)((e,a,t)=>_reactNative.Animated.timing(e,{toValue:a,duration:l,easing:_reactNative.Easing.bezier(...t),useNativeDriver:!0}),[l]),d=(0,_react.useCallback)((e,a,t)=>_reactNative.Animated.spring(e,{toValue:a,damping:i.motion.spring[t].damping,stiffness:i.motion.spring[t].stiffness,mass:i.motion.spring[t].mass,useNativeDriver:!0}),[i]),p=(0,_react.useCallback)(()=>{if(s)switch(o){case"scale":case"bounce":m(n,_,i.motion.ease["in-out"]).start();break;case"fade":m(c,.6,i.motion.ease["in-out"]).start();break;case"dim":(0,_index.setNativeValue)(c,.7);break;case"sink":m(u,2,i.motion.ease["in-out"]).start()}},[s,o,_,n,c,u,i,m]),A=(0,_react.useCallback)(()=>{if(s)switch(o){case"scale":d(n,1,"snappy").start();break;case"bounce":d(n,1,"bouncy").start();break;case"fade":m(c,1,i.motion.ease.decelerate).start();break;case"dim":(0,_index.setNativeValue)(c,1);break;case"sink":d(u,0,"snappy").start()}},[s,o,n,c,u,i,m,d]),b=(0,_react.useCallback)(()=>{s&&"pulse"===o&&_reactNative.Animated.sequence([_reactNative.Animated.timing(n,{toValue:1.05,duration:i.motion.duration.instant,easing:_reactNative.Easing.bezier(...i.motion.ease.accelerate),useNativeDriver:!0}),d(n,1,"snappy")]).start()},[s,o,n,i,d]),v=(0,_react.useMemo)(()=>({transform:[{scale:n},{translateY:u}],opacity:c}),[n,u,c]);return{scale:n,opacity:c,translateY:u,style:v,pressIn:p,pressOut:A,press:b}};exports.usePressAnimation=usePressAnimation;
@@ -1 +1 @@
1
- "use strict";import{forwardRef,useMemo}from"react";import{Animated,Pressable,StyleSheet,View}from"react-native";import{useSafeAreaInsets}from"react-native-safe-area-context";import{usePressAnimation}from"../../hooks/usePressAnimation.js";import{useTheme}from"../../theme/index.js";import{smoothCorners}from"../../utils/corners.js";import{resolveHaptic,triggerHaptic}from"../../utils/hapticUtils.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{AppIcon}from"../AppIcon/AppIcon.js";import{Text as ThemedText}from"../Text/Text.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const ACTION_BUTTON_SIZE=44,DOT_OFFSET=10,DOT_SIZE=8,BADGE_OFFSET=4;export const DEFAULT_APP_BAR_LABELS=Object.freeze({back:"Back"});const variantSize=(e,t)=>{switch(t){case"compact":return{height:44,titleSize:e.text.lg.size,titleWeight:"semibold",alignBottom:!1,subtitleLines:1};case"large":return{height:96,titleSize:e.text["2xl"].size,titleWeight:"bold",alignBottom:!0,subtitleLines:2};default:return{height:56,titleSize:e.text.lg.size,titleWeight:"semibold",alignBottom:!1,subtitleLines:1}}},ActionButton=({action:e,side:t,badgeStyle:i,haptic:n,flush:l})=>{const o=useTheme(),{style:s,pressIn:r,pressOut:a}=usePressAnimation({enabled:!0}),c=useMemo(()=>buildActionStyles(o),[o]),d=e.badge,u=void 0!==d&&0!==d,p=void 0!==e.label;return _jsx(Animated.View,{style:s,children:_jsxs(Pressable,{onPress:()=>{const t=resolveHaptic(n,"selection");t&&triggerHaptic(t),e.onPress()},onPressIn:r,onPressOut:a,accessibilityRole:"button",accessibilityLabel:e.accessibilityLabel??e.label,testID:e.testID,android_ripple:{color:o.colors["surface-pressed"],borderless:!p},style:({pressed:e})=>[p?c.textButton:c.actionButton,l?null:"left"===t?c.actionLeft:c.actionRight,e&&!p?c.actionPressed:null,e&&p?c.textPressed:null],children:[p?_jsx(ThemedText,{variant:"body",weight:"semibold",color:"link",numberOfLines:1,children:e.label}):_jsx(View,{style:c.iconWrap,children:e.icon}),u?_jsx(View,{style:[c.badge,i],pointerEvents:"none",children:_jsx(ThemedText,{variant:"caption",weight:"semibold",numberOfLines:1,style:c.badgeText,children:String(d)})}):null,e.dot?_jsx(View,{testID:e.testID?`${e.testID}-dot`:"appbar-action-dot",style:c.dot,pointerEvents:"none"}):null]})})},COLLAPSE_RANGE=60,LARGE_TITLE_SCALE_END=.71,AppBar=forwardRef((e,t)=>{const{title:i,subtitle:n,titleAlignment:l="left",leftAction:o,rightActions:s,leading:r,trailing:a,onBack:c,gutter:d,titleVariant:u,titleOffset:p,height:m,divider:g,variant:h="default",transparent:x=!1,scrollY:b,style:f,containerStyle:y,titleStyle:A,subtitleStyle:S,badgeStyle:j,haptic:_,labels:w,testID:B}=e;warnInvalidValue("AppBar","variant",e.variant,["default","large","compact"]),warnInvalidValue("AppBar","titleAlignment",e.titleAlignment,["left","center"]);const T=useMemo(()=>({...DEFAULT_APP_BAR_LABELS,...w}),[w]),I=useTheme(),v=useSafeAreaInsets(),L=useMemo(()=>variantSize(I,h),[I,h]),C=useMemo(()=>buildStyles(I),[I]),R="large"===h&&void 0!==b,V=o??(c?{icon:_jsx(AppIcon,{name:"arrow-left",size:24,color:I.colors["text-body"]}),onPress:c,accessibilityLabel:T.back}:void 0),z=a?void 0:s?.[s.length-1],opticalInset=e=>void 0===e?0:void 0!==e.label?I.space.sm:Math.max(10,0),O=void 0===d?null:{paddingLeft:Math.max(d-opticalInset(V),0),paddingRight:Math.max(d-opticalInset(z),0)},P=void 0!==p,E=Boolean(V)||Boolean(r),W=g??!x,D=StyleSheet.hairlineWidth,H=useMemo(()=>{if(!b)return null;const e={inputRange:[0,60],extrapolate:"clamp"};return{titleScale:b.interpolate({...e,outputRange:[1,.71]}),titleTranslateY:b.interpolate({...e,outputRange:[0,-20]}),titleTranslateX:b.interpolate({...e,outputRange:"center"===l?[0,0]:[0,8]}),subtitleOpacity:b.interpolate({inputRange:[0,30],outputRange:[1,0],extrapolate:"clamp"}),barHeight:b.interpolate({...e,outputRange:[96,56]}),borderOpacity:b.interpolate({...e,outputRange:[0,1]})}},[b,l]),k=R&&H?{transform:[{translateX:H.titleTranslateX},{translateY:H.titleTranslateY},{scale:H.titleScale}]}:null,M=i?u?_jsx(Animated.View,{style:k,children:_jsx(ThemedText,{variant:u,align:"center"===l?"center":"left",accessibilityRole:"header",numberOfLines:1,style:[C.titleVariant,A],children:i})}):_jsx(Animated.Text,{accessibilityRole:"header",style:[C.title,{fontSize:L.titleSize,fontWeight:I.weight[L.titleWeight],textAlign:"center"===l?"center":"left"},k,A],numberOfLines:1,children:i}):null,N=n?_jsx(Animated.Text,{style:[C.subtitle,{textAlign:"center"===l?"center":"left"},R&&H?{opacity:H.subtitleOpacity}:null,S],numberOfLines:L.subtitleLines,children:n}):null,F=_jsxs(View,{style:[C.titleColumn,"center"===l?C.titleColumnCenter:null,L.alignBottom?C.titleColumnBottom:null],children:[M,N]}),U=R?Animated.View:View,Y=R&&H?{height:Animated.add(H.barHeight,new Animated.Value(v.top))}:{height:(m??L.height)+v.top};return _jsxs(U,{ref:t,testID:B,style:[C.root,{paddingTop:v.top,backgroundColor:x?"transparent":I.colors.surface},Y,!R&&W?{borderBottomWidth:D,borderBottomColor:I.colors.border}:null,f,y],children:[R&&H&&W?_jsx(Animated.View,{pointerEvents:"none",style:[C.animatedBorder,{backgroundColor:I.colors.border,opacity:H.borderOpacity}]}):null,_jsxs(View,{style:[C.row,L.alignBottom?C.rowAlignBottom:null,O,{flex:1}],children:[_jsxs(View,{style:[C.sideSlot,P?C.sideSlotCompact:null],children:[V?_jsx(ActionButton,{action:V,side:"left",haptic:_,flush:P}):null,null!=r&&!1!==r?_jsx(View,{style:C.slotNode,children:r}):null]}),_jsx(View,{pointerEvents:"none",style:[C.center,"center"===l?C.centerAligned:C.centerLeft,P?{paddingLeft:E?p:I.space.none,paddingRight:I.space.none}:null],children:F}),_jsxs(View,{style:[C.sideSlot,C.sideSlotRight,P?C.sideSlotCompact:null],children:[s?.map((e,t)=>_jsx(ActionButton,{action:e,side:"right",badgeStyle:j,haptic:_,flush:P},`appbar-right-${t}`)),null!=a&&!1!==a?_jsx(View,{style:C.slotNode,children:a}):null]})]})]})});AppBar.displayName="AppBar";const buildStyles=e=>StyleSheet.create({root:{width:"100%"},row:{flexDirection:"row",alignItems:"center",paddingHorizontal:e.space.xs},rowAlignBottom:{alignItems:"flex-end",paddingBottom:e.space.sm},sideSlot:{flexDirection:"row",alignItems:"center",minWidth:48},sideSlotRight:{justifyContent:"flex-end"},sideSlotCompact:{minWidth:0},slotNode:{flexDirection:"row",alignItems:"center"},center:{flex:1,minWidth:0,paddingHorizontal:e.space.xs},centerAligned:{alignItems:"center"},centerLeft:{alignItems:"flex-start"},titleColumn:{flexDirection:"column",maxWidth:"100%"},titleColumnCenter:{alignItems:"center"},titleColumnBottom:{justifyContent:"flex-end"},title:{color:e.colors["text-body"]},titleVariant:{includeFontPadding:!1,textAlignVertical:"center"},subtitle:{marginTop:e.space.xxs,color:e.colors["text-subtle"],fontSize:e.text.sm.size,fontWeight:e.weight.normal},animatedBorder:{position:"absolute",left:0,right:0,bottom:0,height:StyleSheet.hairlineWidth}}),buildActionStyles=e=>StyleSheet.create({actionButton:{width:44,height:44,borderRadius:e.radius.pill,...smoothCorners,alignItems:"center",justifyContent:"center"},actionLeft:{marginRight:e.space.xs},actionRight:{marginLeft:e.space.xs},actionPressed:{backgroundColor:e.colors["surface-pressed"]},textButton:{minWidth:44,minHeight:44,paddingHorizontal:e.space.sm,alignItems:"center",justifyContent:"center"},textPressed:{opacity:.6},dot:{position:"absolute",top:10,right:10,width:8,height:8,borderRadius:e.radius.pill,backgroundColor:e.colors.danger},iconWrap:{alignItems:"center",justifyContent:"center"},badge:{position:"absolute",top:4,right:4,minWidth:16,height:16,paddingHorizontal:e.space.xs,borderRadius:e.radius.pill,...smoothCorners,backgroundColor:e.colors.danger,alignItems:"center",justifyContent:"center"},badgeText:{color:e.colors["on-danger"],fontSize:e.text.xs.size,fontWeight:e.weight.semibold,lineHeight:13}});export{AppBar};export default AppBar;
1
+ "use strict";import{Fragment,forwardRef,useMemo}from"react";import{Animated,Pressable,StyleSheet,View}from"react-native";import{useSafeAreaInsets}from"react-native-safe-area-context";import{usePressAnimation}from"../../hooks/usePressAnimation.js";import{useTheme}from"../../theme/index.js";import{smoothCorners}from"../../utils/corners.js";import{resolveHaptic,triggerHaptic}from"../../utils/hapticUtils.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{AppIcon}from"../AppIcon/AppIcon.js";import{Menu}from"../Menu/index.js";import{Text as ThemedText}from"../Text/Text.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const ACTION_BUTTON_SIZE=44,DOT_OFFSET=10,DOT_SIZE=8,BADGE_OFFSET=4;export const DEFAULT_APP_BAR_LABELS=Object.freeze({back:"Back"});const variantSize=(e,t)=>{switch(t){case"compact":return{height:44,titleSize:e.text.lg.size,titleWeight:"semibold",alignBottom:!1,subtitleLines:1};case"large":return{height:96,titleSize:e.text["2xl"].size,titleWeight:"bold",alignBottom:!0,subtitleLines:2};default:return{height:56,titleSize:e.text.lg.size,titleWeight:"semibold",alignBottom:!1,subtitleLines:1}}},ActionButton=forwardRef(({action:e,side:t,badgeStyle:i,haptic:n,flush:l,onPress:o},s)=>{const r=useTheme(),{style:a,pressIn:c,pressOut:d}=usePressAnimation({enabled:!0}),u=useMemo(()=>buildActionStyles(r),[r]),m=e.badge,p=void 0!==m&&0!==m,g=void 0!==e.label;return _jsx(Animated.View,{style:a,children:_jsxs(Pressable,{ref:s,onPress:t=>{const i=resolveHaptic(n,"selection");i&&triggerHaptic(i),"onPress"in e&&e.onPress(),o?.(t)},onPressIn:c,onPressOut:d,accessibilityRole:"button",accessibilityLabel:e.accessibilityLabel??e.label,testID:e.testID,android_ripple:{color:r.colors["surface-pressed"],borderless:!g},style:({pressed:e})=>[g?u.textButton:u.actionButton,l?null:"left"===t?u.actionLeft:u.actionRight,e&&!g?u.actionPressed:null,e&&g?u.textPressed:null],children:[g?_jsx(ThemedText,{variant:"body",weight:"semibold",color:"link",numberOfLines:1,children:e.label}):_jsx(View,{style:u.iconWrap,children:e.icon}),p?_jsx(View,{style:[u.badge,i],pointerEvents:"none",children:_jsx(ThemedText,{variant:"caption",weight:"semibold",numberOfLines:1,style:u.badgeText,children:String(m)})}):null,e.dot?_jsx(View,{testID:e.testID?`${e.testID}-dot`:"appbar-action-dot",style:u.dot,pointerEvents:"none"}):null]})})}),COLLAPSE_RANGE=60,LARGE_TITLE_SCALE_END=.71,AppBar=forwardRef((e,t)=>{const{title:i,subtitle:n,titleAlignment:l="left",leftAction:o,rightActions:s,leading:r,trailing:a,onBack:c,gutter:d,titleVariant:u,titleOffset:m,height:p,divider:g,variant:h="default",transparent:x=!1,scrollY:f,style:b,containerStyle:y,titleStyle:A,subtitleStyle:S,badgeStyle:j,haptic:_,labels:w,testID:B}=e;warnInvalidValue("AppBar","variant",e.variant,["default","large","compact"]),warnInvalidValue("AppBar","titleAlignment",e.titleAlignment,["left","center"]);const T=useMemo(()=>({...DEFAULT_APP_BAR_LABELS,...w}),[w]),I=useTheme(),v=useSafeAreaInsets(),L=useMemo(()=>variantSize(I,h),[I,h]),C=useMemo(()=>buildStyles(I),[I]),R="large"===h&&void 0!==f,V=o??(c?{icon:_jsx(AppIcon,{name:"arrow-left",size:24,color:I.colors["text-body"]}),onPress:c,accessibilityLabel:T.back}:void 0),P=a?void 0:s?.[s.length-1],opticalInset=e=>void 0===e?0:void 0!==e.label?I.space.sm:Math.max(10,0),z=void 0===d?null:{paddingLeft:Math.max(d-opticalInset(V),0),paddingRight:Math.max(d-opticalInset(P),0)},O=void 0!==m,E=Boolean(V)||Boolean(r),W=g??!x,D=StyleSheet.hairlineWidth,H=useMemo(()=>{if(!f)return null;const e={inputRange:[0,60],extrapolate:"clamp"};return{titleScale:f.interpolate({...e,outputRange:[1,.71]}),titleTranslateY:f.interpolate({...e,outputRange:[0,-20]}),titleTranslateX:f.interpolate({...e,outputRange:"center"===l?[0,0]:[0,8]}),subtitleOpacity:f.interpolate({inputRange:[0,30],outputRange:[1,0],extrapolate:"clamp"}),barHeight:f.interpolate({...e,outputRange:[96,56]}),borderOpacity:f.interpolate({...e,outputRange:[0,1]})}},[f,l]),M=R&&H?{transform:[{translateX:H.titleTranslateX},{translateY:H.titleTranslateY},{scale:H.titleScale}]}:null,k=i?u?_jsx(Animated.View,{style:M,children:_jsx(ThemedText,{variant:u,align:"center"===l?"center":"left",accessibilityRole:"header",numberOfLines:1,style:[C.titleVariant,A],children:i})}):_jsx(Animated.Text,{accessibilityRole:"header",style:[C.title,{fontSize:L.titleSize,fontWeight:I.weight[L.titleWeight],textAlign:"center"===l?"center":"left"},M,A],numberOfLines:1,children:i}):null,F=n?_jsx(Animated.Text,{style:[C.subtitle,{textAlign:"center"===l?"center":"left"},R&&H?{opacity:H.subtitleOpacity}:null,S],numberOfLines:L.subtitleLines,children:n}):null,N=_jsxs(View,{style:[C.titleColumn,"center"===l?C.titleColumnCenter:null,L.alignBottom?C.titleColumnBottom:null],children:[k,F]}),U=R?Animated.View:View,Y=R&&H?{height:Animated.add(H.barHeight,new Animated.Value(v.top))}:{height:(p??L.height)+v.top};return _jsxs(U,{ref:t,testID:B,style:[C.root,{paddingTop:v.top,backgroundColor:x?"transparent":I.colors.surface},Y,!R&&W?{borderBottomWidth:D,borderBottomColor:I.colors.border}:null,b,y],children:[R&&H&&W?_jsx(Animated.View,{pointerEvents:"none",style:[C.animatedBorder,{backgroundColor:I.colors.border,opacity:H.borderOpacity}]}):null,_jsxs(View,{style:[C.row,L.alignBottom?C.rowAlignBottom:null,z,{flex:1}],children:[_jsxs(View,{style:[C.sideSlot,O?C.sideSlotCompact:null],children:[V?_jsx(ActionButton,{action:V,side:"left",haptic:_,flush:O}):null,null!=r&&!1!==r?_jsx(View,{style:C.slotNode,children:r}):null]}),_jsx(View,{pointerEvents:"none",style:[C.center,"center"===l?C.centerAligned:C.centerLeft,O?{paddingLeft:E?m:I.space.none,paddingRight:I.space.none}:null],children:N}),_jsxs(View,{style:[C.sideSlot,C.sideSlotRight,O?C.sideSlotCompact:null],children:[s?.map((e,t)=>_jsx(Fragment,{children:"menu"in e?_jsx(Menu,{items:e.menu,title:e.menuTitle,haptic:_,trigger:_jsx(ActionButton,{action:e,side:"right",badgeStyle:j,haptic:_,flush:O})}):_jsx(ActionButton,{action:e,side:"right",badgeStyle:j,haptic:_,flush:O})},`appbar-right-${t}`)),null!=a&&!1!==a?_jsx(View,{style:C.slotNode,children:a}):null]})]})]})});AppBar.displayName="AppBar";const buildStyles=e=>StyleSheet.create({root:{width:"100%"},row:{flexDirection:"row",alignItems:"center",paddingHorizontal:e.space.xs},rowAlignBottom:{alignItems:"flex-end",paddingBottom:e.space.sm},sideSlot:{flexDirection:"row",alignItems:"center",minWidth:48},sideSlotRight:{justifyContent:"flex-end"},sideSlotCompact:{minWidth:0},slotNode:{flexDirection:"row",alignItems:"center"},center:{flex:1,minWidth:0,paddingHorizontal:e.space.xs},centerAligned:{alignItems:"center"},centerLeft:{alignItems:"flex-start"},titleColumn:{flexDirection:"column",maxWidth:"100%"},titleColumnCenter:{alignItems:"center"},titleColumnBottom:{justifyContent:"flex-end"},title:{color:e.colors["text-body"]},titleVariant:{includeFontPadding:!1,textAlignVertical:"center"},subtitle:{marginTop:e.space.xxs,color:e.colors["text-subtle"],fontSize:e.text.sm.size,fontWeight:e.weight.normal},animatedBorder:{position:"absolute",left:0,right:0,bottom:0,height:StyleSheet.hairlineWidth}}),buildActionStyles=e=>StyleSheet.create({actionButton:{width:44,height:44,borderRadius:e.radius.pill,...smoothCorners,alignItems:"center",justifyContent:"center"},actionLeft:{marginRight:e.space.xs},actionRight:{marginLeft:e.space.xs},actionPressed:{backgroundColor:e.colors["surface-pressed"]},textButton:{minWidth:44,minHeight:44,paddingHorizontal:e.space.sm,alignItems:"center",justifyContent:"center"},textPressed:{opacity:.6},dot:{position:"absolute",top:10,right:10,width:8,height:8,borderRadius:e.radius.pill,backgroundColor:e.colors.danger},iconWrap:{alignItems:"center",justifyContent:"center"},badge:{position:"absolute",top:4,right:4,minWidth:16,height:16,paddingHorizontal:e.space.xs,borderRadius:e.radius.pill,...smoothCorners,backgroundColor:e.colors.danger,alignItems:"center",justifyContent:"center"},badgeText:{color:e.colors["on-danger"],fontSize:e.text.xs.size,fontWeight:e.weight.semibold,lineHeight:13}});export{AppBar};export default AppBar;
@@ -1 +1 @@
1
- "use strict";import{Image}from"expo-image";import{Children,cloneElement,forwardRef,isValidElement,useEffect,useMemo,useRef,useState}from"react";import{Animated,Easing,Pressable,StyleSheet,View}from"react-native";import{createAnimatedValue,useTheme}from"../../theme/index.js";import{tintOf}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{resolveHaptic,triggerHaptic}from"../../utils/hapticUtils.js";import{hitSlopMarker}from"../../utils/hitSlop.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{AppIcon}from"../AppIcon/index.js";import{Skeleton}from"../Skeleton/index.js";import{Text}from"../Text/index.js";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";const SOFT_FILL_OPACITY=.14,MIN_TOUCH_TARGET=44,PRESSED_OPACITY=.7,INITIALS_MAX_FONT_SCALE=1.2;export const AVATAR_COLORS=["avatar-1","avatar-2","avatar-3","avatar-4","avatar-5","avatar-6","avatar-7","avatar-8"];export const avatarToneColors=(e,t)=>{const soft=(e,t)=>tintOf(e,.14,t);switch(t){case"primary":return{background:soft(e.colors.primary,e.colors["primary-soft"]),color:e.colors["primary-text"]};case"success":return{background:soft(e.colors.success,e.colors["bg-subtle"]),color:e.colors["success-text"]};case"warning":return{background:soft(e.colors.warning,e.colors["bg-subtle"]),color:e.colors["warning-text"]};case"danger":return{background:soft(e.colors.danger,e.colors["bg-subtle"]),color:e.colors["danger-text"]};case"info":return{background:soft(e.colors.info,e.colors["bg-subtle"]),color:e.colors["info-text"]};default:return{background:e.colors["bg-muted"],color:e.colors["text-body"]}}};export const DEFAULT_AVATAR_LABELS=Object.freeze({avatar:"Avatar",avatarOf:e=>`${e}'s avatar`,verified:"verified",pendingVerification:"pending verification",groupOf:e=>`Group of ${e} ${1===e?"person":"people"}`,moreCount:e=>`${e} more`,moreAvatars:"More avatars"});const sizeMap={xs:24,sm:32,md:48,lg:64,xl:80},resolveSize=e=>sizeMap[e],resolveRadius=(e,t,r)=>{switch(t){case"circle":return r/2;case"rounded":return Math.max(e.radius.sm,Math.round(.22*r));default:return 0}},initialsFromName=e=>{if(!e)return"";const t=e.trim().split(/\s+/u).filter(Boolean);return 0===t.length?"":1===t.length?t[0].charAt(0).toUpperCase():(t[0].charAt(0)+t[1].charAt(0)).toUpperCase()},hashColor=(e,t)=>{if(!e)return t[0];let r=0;for(let t=0;t<e.length;t+=1)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t[Math.abs(r)%t.length]},RING_WIDTH=1.5,isRingStatus=e=>"verified"===e||"pending"===e,statusColor=(e,t)=>{switch(t){case"online":case"verified":return e.colors.success;case"busy":return e.colors.danger;case"away":case"pending":return e.colors.warning;default:return e.colors["text-subtle"]}},Avatar=forwardRef((e,t)=>{const{source:r,ImageComponent:o,name:s,size:a="md",shape:i="circle",status:n=null,statusPosition:l="bottomRight",tone:c,backgroundColor:u,color:d,fontSize:m,loading:h=!1,accessibilityLabel:g,onPress:p,onLongPress:b,haptic:v,hitSlop:f,style:y,textStyle:A,testID:x,labels:S}=e;warnInvalidValue("Avatar","size",e.size,Object.keys(sizeMap)),warnInvalidValue("Avatar","shape",e.shape,["circle","square","rounded"]),warnInvalidValue("Avatar","status",e.status,["online","offline","busy","away","verified","pending"]),warnInvalidValue("Avatar","statusPosition",e.statusPosition,["topRight","bottomRight"]),warnInvalidValue("Avatar","tone",e.tone,["primary","success","warning","danger","info","neutral"]);const C=useMemo(()=>S?{...DEFAULT_AVATAR_LABELS,...S}:DEFAULT_AVATAR_LABELS,[S]),w=useTheme(),[R,_]=useState(!1),I=useMemo(()=>resolveSize(a),[a]),j=useMemo(()=>resolveRadius(w,i,I),[w,i,I]),M=w.colors.border,T=w.colors.surface,V=useMemo(()=>initialsFromName(s),[s]),L=useMemo(()=>c?avatarToneColors(w,c):null,[w,c]),E=useMemo(()=>u||(L?.background??w.colors[hashColor(s??"",AVATAR_COLORS)]),[u,L,s,w]),k=d??L?.color??w.colors["on-primary"],z=!!r&&!R,O=m??Math.max(w.text.xs.size,Math.round(.4*I)),F=Math.max(8,Math.round(.25*I)),D=isRingStatus(n),G=I-2*(D?3:0),P=D?resolveRadius(w,i,G):j,N=D?statusColor(w,n):"transparent",$=Math.max(12,Math.round(.32*I)),B=Math.max(10,$-4),H=z?w.colors["bg-muted"]:E,U=x??"avatar",W=s?C.avatarOf(s):C.avatar,Y="verified"===n?`, ${C.verified}`:"pending"===n?`, ${C.pendingVerification}`:"",q=g??`${W}${Y}`,X="function"==typeof p||"function"==typeof b,J=g??`${s||W}${Y}`,K=Math.max(0,Math.ceil((44-I)/2)),Q=f??K,Z=[styles.root,{width:I,height:I,borderRadius:j,...smoothCorners,borderWidth:0,borderColor:M,backgroundColor:D?"transparent":H},y],ee=_jsxs(_Fragment,{children:[D?_jsx(View,{style:[styles.ring,{borderRadius:j,...smoothCorners,borderWidth:1.5,borderColor:N}],accessible:!1,pointerEvents:"none",testID:`${U}-ring`}):null,_jsx(View,{style:[styles.picture,{width:G,height:G,borderRadius:P,...smoothCorners,borderWidth:0,borderColor:M,backgroundColor:D?H:"transparent"}],children:z?(()=>{const e={width:G,height:G,borderRadius:P,...smoothCorners},onError=()=>_(!0);return o?_jsx(o,{source:r,onError:onError,style:e,contentFit:"cover",resizeMode:"cover",accessibilityIgnoresInvertColors:!0}):_jsx(Image,{source:r,onError:onError,style:e,contentFit:"cover",accessibilityIgnoresInvertColors:!0})})():_jsx(Text,{variant:"label",weight:"semibold",numberOfLines:1,maxFontSizeMultiplier:1.2,style:[styles.initials,{color:k,fontSize:O,lineHeight:Math.round(O*w.leading.body)},A],children:V??" "})}),"verified"===n?_jsx(View,{style:[styles.status,"topRight"===l?styles.badgeTopRight:styles.badgeBottomRight,{width:$,height:$,borderRadius:$/2,...smoothCorners,backgroundColor:T}],accessible:!1,pointerEvents:"none",testID:`${U}-badge`,children:_jsx(AppIcon,{name:"verify",variant:"bold",size:B,color:N})}):null,n&&!D?_jsx(View,{style:[styles.status,"topRight"===l?styles.statusTopRight:styles.statusBottomRight,{width:F,height:F,borderRadius:F/2,...smoothCorners,backgroundColor:statusColor(w,n),borderWidth:2,borderColor:T}],accessible:!1,pointerEvents:"none"}):null]}),te=X?_jsx(Pressable,{ref:t,onPress:p?e=>{const t=resolveHaptic(v,"selection");t&&triggerHaptic(t),p?.(e)}:void 0,onLongPress:b?e=>{const t=resolveHaptic(v,"longPress");t&&triggerHaptic(t),b?.(e)}:void 0,hitSlop:Q,...hitSlopMarker(Q),accessibilityRole:"button",accessibilityLabel:J,testID:x,style:({pressed:e})=>[Z,e?styles.pressed:null],children:ee}):_jsx(View,{ref:t,style:Z,accessible:!0,accessibilityRole:"image",accessibilityLabel:q,testID:x,children:ee});return h?_jsx(AvatarSkeleton,{...e}):te});Avatar.displayName="Avatar";const AvatarSkeleton=({size:e="md",shape:t="circle",style:r})=>{const o=resolveSize(e);return _jsx(Skeleton,{shape:"circle"===t?"circle":"rounded"===t?"rounded":"rect",width:o,height:o,style:r})};AvatarSkeleton.displayName="AvatarSkeleton",Avatar.Skeleton=AvatarSkeleton;const styles=StyleSheet.create({root:{alignItems:"center",justifyContent:"center",overflow:"visible",position:"relative"},pressed:{opacity:.7},initials:{textAlign:"center"},ring:{position:"absolute",top:0,right:0,bottom:0,left:0},picture:{alignItems:"center",justifyContent:"center",overflow:"hidden"},status:{position:"absolute"},badgeTopRight:{top:-2,right:-2,alignItems:"center",justifyContent:"center"},badgeBottomRight:{bottom:-2,right:-2,alignItems:"center",justifyContent:"center"},statusTopRight:{top:0,right:0},statusBottomRight:{bottom:0,right:0}}),SPACING_OFFSET={tight:"lg",normal:"md",loose:"sm"},STAGGER_MS=50,ENTRANCE_DURATION_MS=220,AvatarGroupItem=({delay:e,marginLeft:t,borderColor:r,borderWidth:o,children:s})=>{const a=useTheme(),i=useRef(createAnimatedValue(0)).current;return useEffect(()=>{const t=Animated.timing(i,{toValue:1,duration:220,delay:e,easing:Easing.out(Easing.cubic),useNativeDriver:!0});return t.start(),()=>t.stop()},[e,i]),_jsx(Animated.View,{style:[groupStyles.item,{marginLeft:t,borderRadius:a.radius.pill,borderColor:r,borderWidth:o,opacity:i}],children:s})},AvatarGroup=e=>{const{children:t,max:r=4,size:o="md",spacing:s="normal",overflowVariant:a="count",accessibilityLabel:i,style:n,testID:l,labels:c}=e;warnInvalidValue("AvatarGroup","spacing",e.spacing,["tight","normal","loose"]),warnInvalidValue("AvatarGroup","overflowVariant",e.overflowVariant,["count","plus"]),warnInvalidValue("AvatarGroup","size",e.size,Object.keys(sizeMap));const u=useMemo(()=>c?{...DEFAULT_AVATAR_LABELS,...c}:DEFAULT_AVATAR_LABELS,[c]),d=useTheme(),m=useMemo(()=>Children.toArray(t).filter(e=>isValidElement(e)),[t]),h=m.length,g=m.slice(0,r),p=Math.max(0,h-r),b=p>0,v=-d.space[SPACING_OFFSET[s]],f=d.colors.surface,y=i??u.groupOf(h),A=useMemo(()=>resolveSize(o),[o]),x=Math.max(d.text.xs.size,Math.round(.34*A));return _jsxs(View,{style:[groupStyles.row,n],accessible:!0,accessibilityLabel:y,accessibilityRole:"summary",testID:l,children:[g.map((e,t)=>{const r=e.key??`avatar-${t}`,s=cloneElement(e,{size:o,labels:e.props.labels??c});return _jsx(AvatarGroupItem,{delay:50*t,marginLeft:0===t?0:v,borderColor:f,borderWidth:1.5,children:s},r)}),b?_jsx(AvatarGroupItem,{delay:50*g.length,marginLeft:0===g.length?0:v,borderColor:f,borderWidth:1.5,children:_jsx(View,{style:[groupStyles.overflow,{width:A,height:A,borderRadius:A/2,...smoothCorners,backgroundColor:d.colors["surface-disabled"]}],accessible:!0,accessibilityRole:"text",accessibilityLabel:"count"===a?u.moreCount(p):u.moreAvatars,children:_jsx(Text,{variant:"label",weight:"semibold",color:"secondary",numberOfLines:1,maxFontSizeMultiplier:1.2,style:{fontSize:x,lineHeight:Math.round(x*d.leading.body)},children:"count"===a?`+${p}`:"+"})})},"avatar-overflow"):null]})},groupStyles=StyleSheet.create({row:{flexDirection:"row",alignItems:"center"},item:{...smoothCorners},overflow:{alignItems:"center",justifyContent:"center"}});export{Avatar,AvatarGroup};export default Avatar;
1
+ "use strict";import{Image}from"expo-image";import{Children,cloneElement,forwardRef,isValidElement,useEffect,useMemo,useRef,useState}from"react";import{Animated,Easing,Pressable,StyleSheet,View}from"react-native";import{createAnimatedValue,useTheme}from"../../theme/index.js";import{tintOf}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{resolveHaptic,triggerHaptic}from"../../utils/hapticUtils.js";import{hitSlopMarker}from"../../utils/hitSlop.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{AppIcon}from"../AppIcon/index.js";import{renderSlotIcon}from"../AppIcon/slotIcon.js";import{Skeleton}from"../Skeleton/index.js";import{Text}from"../Text/index.js";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";const SOFT_FILL_OPACITY=.14,MIN_TOUCH_TARGET=44,PRESSED_OPACITY=.7,INITIALS_MAX_FONT_SCALE=1.2;export const AVATAR_COLORS=["avatar-1","avatar-2","avatar-3","avatar-4","avatar-5","avatar-6","avatar-7","avatar-8"];export const avatarToneColors=(e,t)=>{const soft=(e,t)=>tintOf(e,.14,t);switch(t){case"primary":return{background:soft(e.colors.primary,e.colors["primary-soft"]),color:e.colors["primary-text"]};case"success":return{background:soft(e.colors.success,e.colors["bg-subtle"]),color:e.colors["success-text"]};case"warning":return{background:soft(e.colors.warning,e.colors["bg-subtle"]),color:e.colors["warning-text"]};case"danger":return{background:soft(e.colors.danger,e.colors["bg-subtle"]),color:e.colors["danger-text"]};case"info":return{background:soft(e.colors.info,e.colors["bg-subtle"]),color:e.colors["info-text"]};default:return{background:e.colors["bg-muted"],color:e.colors["text-body"]}}};export const DEFAULT_AVATAR_LABELS=Object.freeze({avatar:"Avatar",avatarOf:e=>`${e}'s avatar`,verified:"verified",pendingVerification:"pending verification",groupOf:e=>`Group of ${e} ${1===e?"person":"people"}`,moreCount:e=>`${e} more`,moreAvatars:"More avatars"});const sizeMap={xs:24,sm:32,md:48,lg:64,xl:80},resolveSize=e=>sizeMap[e],resolveRadius=(e,t,r,o)=>{switch(t){case"circle":return r/2;case"rounded":return o?e.radius[o]:Math.max(e.radius.sm,Math.round(.22*r));default:return 0}},initialsFromName=e=>{if(!e)return"";const t=e.trim().split(/\s+/u).filter(Boolean);return 0===t.length?"":1===t.length?t[0].charAt(0).toUpperCase():(t[0].charAt(0)+t[1].charAt(0)).toUpperCase()},hashColor=(e,t)=>{if(!e)return t[0];let r=0;for(let t=0;t<e.length;t+=1)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t[Math.abs(r)%t.length]},RING_WIDTH=1.5,keyOfSource=e=>"object"==typeof e&&null!==e&&"uri"in e&&"string"==typeof e.uri?e.uri:e,isRingStatus=e=>"verified"===e||"pending"===e,statusColor=(e,t)=>{switch(t){case"online":case"verified":return e.colors.success;case"busy":return e.colors.danger;case"away":case"pending":return e.colors.warning;default:return e.colors["text-subtle"]}},Avatar=forwardRef((e,t)=>{const{source:r,ImageComponent:o,name:s,size:a="md",shape:i="circle",dimension:n,radius:l,border:c=!1,contentFit:u="cover",placeholderIcon:d,status:m=null,statusPosition:g="bottomRight",tone:h,backgroundColor:p,color:b,fontSize:v,loading:f=!1,accessibilityLabel:y,onPress:A,onLongPress:x,haptic:S,hitSlop:I,style:C,textStyle:w,testID:R,labels:_}=e;warnInvalidValue("Avatar","size",e.size,Object.keys(sizeMap)),warnInvalidValue("Avatar","shape",e.shape,["circle","square","rounded"]),warnInvalidValue("Avatar","radius",e.radius,["sm","md","lg"]),warnInvalidValue("Avatar","contentFit",e.contentFit,["cover","contain"]),warnInvalidValue("Avatar","status",e.status,["online","offline","busy","away","verified","pending"]),warnInvalidValue("Avatar","statusPosition",e.statusPosition,["topRight","bottomRight"]),warnInvalidValue("Avatar","tone",e.tone,["primary","success","warning","danger","info","neutral"]);const j=useMemo(()=>_?{...DEFAULT_AVATAR_LABELS,..._}:DEFAULT_AVATAR_LABELS,[_]),M=useTheme(),[T,V]=useState(null),L=useMemo(()=>n??resolveSize(a),[n,a]),E=useMemo(()=>resolveRadius(M,i,L,l),[M,i,L,l]),k=c?M.size.border:0,z=M.colors.border,O=M.colors.surface,F=useMemo(()=>initialsFromName(s),[s]),D=useMemo(()=>h?avatarToneColors(M,h):null,[M,h]),G=useMemo(()=>p||(D?.background??M.colors[hashColor(s??"",AVATAR_COLORS)]),[p,D,s,M]),P=b??D?.color??M.colors["on-primary"],N=r?keyOfSource(r):null,$=null!==N&&N!==T,B=!$&&""===F&&null!=d,H=b??D?.color??M.colors["text-subtle"],U=v??Math.max(M.text.xs.size,Math.round(.4*L)),W=Math.max(8,Math.round(.25*L)),Y=isRingStatus(m),q=L-2*(Y?3:k),X=Y?resolveRadius(M,i,q,l):Math.max(0,E-k),J=B?renderSlotIcon(d,{color:H,size:Math.round(.45*q),disabled:!1}):null,K=Y?statusColor(M,m):"transparent",Q=Math.max(12,Math.round(.32*L)),Z=Math.max(10,Q-4),ee=p??D?.background??M.colors["bg-muted"],te=$?"contain"===u?"transparent":M.colors["bg-muted"]:B?ee:G,re=R??"avatar",oe=s?j.avatarOf(s):j.avatar,se="verified"===m?`, ${j.verified}`:"pending"===m?`, ${j.pendingVerification}`:"",ae=y??`${oe}${se}`,ie="function"==typeof A||"function"==typeof x,ne=y??`${s||oe}${se}`,le=Math.max(0,Math.ceil((44-L)/2)),ce=I??le,ue=[styles.root,{width:L,height:L,borderRadius:E,...smoothCorners,borderWidth:Y?0:k,borderColor:z,backgroundColor:Y?"transparent":te},C],de=_jsxs(_Fragment,{children:[Y?_jsx(View,{style:[styles.ring,{borderRadius:E,...smoothCorners,borderWidth:1.5,borderColor:K}],accessible:!1,pointerEvents:"none",testID:`${re}-ring`}):null,_jsx(View,{style:[styles.picture,{width:q,height:q,borderRadius:X,...smoothCorners,borderWidth:Y?k:0,borderColor:z,backgroundColor:Y?te:"transparent"}],children:$?(()=>{const e={width:q,height:q,borderRadius:X,...smoothCorners},onError=()=>V(N);return o?_jsx(o,{source:r,onError:onError,style:e,contentFit:u,resizeMode:u,accessibilityIgnoresInvertColors:!0}):_jsx(Image,{source:r,onError:onError,style:e,contentFit:u,accessibilityIgnoresInvertColors:!0})})():J||_jsx(Text,{variant:"label",weight:"semibold",numberOfLines:1,maxFontSizeMultiplier:1.2,style:[styles.initials,{color:P,fontSize:U,lineHeight:Math.round(U*M.leading.body)},w],children:F??" "})}),"verified"===m?_jsx(View,{style:[styles.status,"topRight"===g?styles.badgeTopRight:styles.badgeBottomRight,{width:Q,height:Q,borderRadius:Q/2,...smoothCorners,backgroundColor:O}],accessible:!1,pointerEvents:"none",testID:`${re}-badge`,children:_jsx(AppIcon,{name:"verify",variant:"bold",size:Z,color:K})}):null,m&&!Y?_jsx(View,{style:[styles.status,"topRight"===g?styles.statusTopRight:styles.statusBottomRight,{width:W,height:W,borderRadius:W/2,...smoothCorners,backgroundColor:statusColor(M,m),borderWidth:2,borderColor:O}],accessible:!1,pointerEvents:"none"}):null]}),me=ie?_jsx(Pressable,{ref:t,onPress:A?e=>{const t=resolveHaptic(S,"selection");t&&triggerHaptic(t),A?.(e)}:void 0,onLongPress:x?e=>{const t=resolveHaptic(S,"longPress");t&&triggerHaptic(t),x?.(e)}:void 0,hitSlop:ce,...hitSlopMarker(ce),accessibilityRole:"button",accessibilityLabel:ne,testID:R,style:({pressed:e})=>[ue,e?styles.pressed:null],children:de}):_jsx(View,{ref:t,style:ue,accessible:!0,accessibilityRole:"image",accessibilityLabel:ae,testID:R,children:de});return f?_jsx(AvatarSkeleton,{...e}):me});Avatar.displayName="Avatar";const AvatarSkeleton=({size:e="md",shape:t="circle",dimension:r,style:o})=>{const s=r??resolveSize(e);return _jsx(Skeleton,{shape:"circle"===t?"circle":"rounded"===t?"rounded":"rect",width:s,height:s,style:o})};AvatarSkeleton.displayName="AvatarSkeleton",Avatar.Skeleton=AvatarSkeleton;const styles=StyleSheet.create({root:{alignItems:"center",justifyContent:"center",overflow:"visible",position:"relative"},pressed:{opacity:.7},initials:{textAlign:"center"},ring:{position:"absolute",top:0,right:0,bottom:0,left:0},picture:{alignItems:"center",justifyContent:"center",overflow:"hidden"},status:{position:"absolute"},badgeTopRight:{top:-2,right:-2,alignItems:"center",justifyContent:"center"},badgeBottomRight:{bottom:-2,right:-2,alignItems:"center",justifyContent:"center"},statusTopRight:{top:0,right:0},statusBottomRight:{bottom:0,right:0}}),SPACING_OFFSET={tight:"lg",normal:"md",loose:"sm"},STAGGER_MS=50,ENTRANCE_DURATION_MS=220,AvatarGroupItem=({delay:e,marginLeft:t,borderColor:r,borderWidth:o,children:s})=>{const a=useTheme(),i=useRef(createAnimatedValue(0)).current;return useEffect(()=>{const t=Animated.timing(i,{toValue:1,duration:220,delay:e,easing:Easing.out(Easing.cubic),useNativeDriver:!0});return t.start(),()=>t.stop()},[e,i]),_jsx(Animated.View,{style:[groupStyles.item,{marginLeft:t,borderRadius:a.radius.pill,borderColor:r,borderWidth:o,opacity:i}],children:s})},AvatarGroup=e=>{const{children:t,max:r=4,size:o="md",spacing:s="normal",overflowVariant:a="count",accessibilityLabel:i,style:n,testID:l,labels:c}=e;warnInvalidValue("AvatarGroup","spacing",e.spacing,["tight","normal","loose"]),warnInvalidValue("AvatarGroup","overflowVariant",e.overflowVariant,["count","plus"]),warnInvalidValue("AvatarGroup","size",e.size,Object.keys(sizeMap));const u=useMemo(()=>c?{...DEFAULT_AVATAR_LABELS,...c}:DEFAULT_AVATAR_LABELS,[c]),d=useTheme(),m=useMemo(()=>Children.toArray(t).filter(e=>isValidElement(e)),[t]),g=m.length,h=m.slice(0,r),p=Math.max(0,g-r),b=p>0,v=-d.space[SPACING_OFFSET[s]],f=d.colors.surface,y=i??u.groupOf(g),A=useMemo(()=>resolveSize(o),[o]),x=Math.max(d.text.xs.size,Math.round(.34*A));return _jsxs(View,{style:[groupStyles.row,n],accessible:!0,accessibilityLabel:y,accessibilityRole:"summary",testID:l,children:[h.map((e,t)=>{const r=e.key??`avatar-${t}`,s=cloneElement(e,{size:o,labels:e.props.labels??c});return _jsx(AvatarGroupItem,{delay:50*t,marginLeft:0===t?0:v,borderColor:f,borderWidth:1.5,children:s},r)}),b?_jsx(AvatarGroupItem,{delay:50*h.length,marginLeft:0===h.length?0:v,borderColor:f,borderWidth:1.5,children:_jsx(View,{style:[groupStyles.overflow,{width:A,height:A,borderRadius:A/2,...smoothCorners,backgroundColor:d.colors["surface-disabled"]}],accessible:!0,accessibilityRole:"text",accessibilityLabel:"count"===a?u.moreCount(p):u.moreAvatars,children:_jsx(Text,{variant:"label",weight:"semibold",color:"secondary",numberOfLines:1,maxFontSizeMultiplier:1.2,style:{fontSize:x,lineHeight:Math.round(x*d.leading.body)},children:"count"===a?`+${p}`:"+"})})},"avatar-overflow"):null]})},groupStyles=StyleSheet.create({row:{flexDirection:"row",alignItems:"center"},item:{...smoothCorners},overflow:{alignItems:"center",justifyContent:"center"}});export{Avatar,AvatarGroup};export default Avatar;
@@ -1 +1 @@
1
- "use strict";import{forwardRef,useEffect,useMemo,useRef}from"react";import{Animated,Easing,StyleSheet,View}from"react-native";import{createAnimatedValue,resolveBadgeSize,setNativeValue,useTheme}from"../../theme/index.js";import{smoothCorners}from"../../utils/corners.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{Skeleton}from"../Skeleton/index.js";import{Text}from"../Text/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const DEFAULT_BADGE_LABELS=Object.freeze({indicator:"Notification indicator",unread:e=>`${e} unread`});const toneFor=(e,t)=>{switch(t){case"primary":return{background:e.colors.primary,text:e.colors["on-primary"]};case"success":return{background:e.colors.success,text:e.colors["on-success"]};case"warning":return{background:e.colors.warning,text:e.colors["on-warning"]};case"info":return{background:e.colors.info,text:e.colors["on-info"]};case"neutral":return{background:e.colors["bg-muted"],text:e.colors["text-body"]};default:return{background:e.colors.danger,text:e.colors["on-danger"]}}},anchorPosition=(e,t)=>{const o=-t;switch(e){case"topLeft":return{top:o,left:o};case"bottomRight":return{bottom:o,right:o};case"bottomLeft":return{bottom:o,left:o};default:return{top:o,right:o}}},formatValue=(e,t)=>{if(null==e)return null;if("number"==typeof e)return e<=0?null:e>t?`${t}+`:String(e);const o=String(e);return 0===o.length?null:o},Badge=forwardRef((e,t)=>{const{value:o,max:i=99,variant:r="standard",tone:n="danger",size:a="sm",invisible:s=!1,loading:l=!1,children:d,anchor:c="topRight",pulse:u=!1,accessibilityLabel:g,labels:h,style:m,badgeStyle:f,textStyle:p,testID:b}=e;warnInvalidValue("Badge","variant",e.variant,["standard","dot"]),warnInvalidValue("Badge","tone",e.tone,["primary","success","warning","danger","neutral","info"]),warnInvalidValue("Badge","size",e.size,["sm","md"]),warnInvalidValue("Badge","anchor",e.anchor,["topRight","topLeft","bottomRight","bottomLeft"]);const x=useMemo(()=>({...DEFAULT_BADGE_LABELS,...h}),[h]),w=useTheme(),y=useMemo(()=>toneFor(w,n),[w,n]),v=resolveBadgeSize(w,a),S=w.components.badge["border-width"],j=w.components.badge["anchor-offset"],B="dot"===r?null:formatValue(o,i),V=!s&&("dot"===r||null!==B),k=useRef(createAnimatedValue(1)).current;useEffect(()=>{if(!u||!V)return void setNativeValue(k,1);const e=Animated.loop(Animated.sequence([Animated.timing(k,{toValue:1.15,duration:w.motion.duration.slow,easing:Easing.bezier(...w.motion.ease["in-out"]),useNativeDriver:!0}),Animated.timing(k,{toValue:1,duration:w.motion.duration.slow,easing:Easing.bezier(...w.motion.ease["in-out"]),useNativeDriver:!0})]));return e.start(),()=>{e.stop()}},[u,V,k,w]);const z="dot"===r,_=z?"image":"text",A=g??(z?x.indicator:B?x.unread(B):void 0),L=V?_jsx(Animated.View,{style:[styles.badge,z?{width:v["dot-size"],height:v["dot-size"],borderRadius:v["dot-size"]/2,...smoothCorners,paddingHorizontal:0}:{minWidth:v["min-width"],minHeight:v.height,borderRadius:w.radius.pill,...smoothCorners,paddingHorizontal:v["padding-x"]},{backgroundColor:y.background,transform:[{scale:k}]},d?{position:"absolute",borderWidth:S,borderColor:w.colors.surface,...anchorPosition(c,j)}:null,f],accessible:!0,accessibilityRole:_,accessibilityLabel:A,children:z||null===B?null:_jsx(Text,{variant:"caption",weight:"bold",numberOfLines:1,style:[styles.text,{color:y.text,fontSize:v.text,lineHeight:Math.round(v.text*w.leading.body)},p],children:B??" "})}):null,R=d?_jsxs(View,{ref:t,style:[styles.wrapper,m],testID:b,children:[d,L]}):_jsx(View,{ref:t,style:m,testID:b,children:L});return l?_jsx(BadgeSkeleton,{...e}):R});Badge.displayName="Badge";const BadgeSkeleton=({variant:e="standard",size:t="md",children:o,anchor:i,style:r,badgeStyle:n})=>{const a=useTheme(),s=resolveBadgeSize(a,t);if("dot"===e)return _jsx(Skeleton,{shape:"circle",width:s["dot-size"],height:s["dot-size"],style:[n,r]});const l=s.height/2;if(void 0!==o){const e="topLeft"===i?{top:-s.height/2,left:-s.height/2}:"bottomRight"===i?{bottom:-s.height/2,right:-s.height/2}:"bottomLeft"===i?{bottom:-s.height/2,left:-s.height/2}:{top:-s.height/2,right:-s.height/2};return _jsxs(View,{style:[styles.wrapper,r],children:[o,_jsx(View,{style:[{position:"absolute"},e],children:_jsx(Skeleton,{width:s["min-width"]+s["padding-x"],height:s.height,radius:l,style:n})})]})}return _jsx(Skeleton,{width:s["min-width"]+s["padding-x"],height:s.height,radius:l,style:[n,r]})};BadgeSkeleton.displayName="BadgeSkeleton",Badge.Skeleton=BadgeSkeleton;const styles=StyleSheet.create({wrapper:{position:"relative",alignSelf:"flex-start"},badge:{alignItems:"center",justifyContent:"center",flexDirection:"row"},text:{textAlign:"center",includeFontPadding:!1}});export{Badge};export default Badge;
1
+ "use strict";import{forwardRef,useEffect,useMemo,useRef}from"react";import{Animated,Easing,StyleSheet,View}from"react-native";import{createAnimatedValue,resolveBadgeSize,setNativeValue,useTheme}from"../../theme/index.js";import{smoothCorners}from"../../utils/corners.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{Skeleton}from"../Skeleton/index.js";import{Text}from"../Text/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const DEFAULT_BADGE_LABELS=Object.freeze({indicator:"Notification indicator",unread:e=>`${e} unread`});const toneFor=(e,t)=>{switch(t){case"primary":return{background:e.colors.primary,text:e.colors["on-primary"]};case"success":return{background:e.colors.success,text:e.colors["on-success"]};case"warning":return{background:e.colors.warning,text:e.colors["on-warning"]};case"info":return{background:e.colors.info,text:e.colors["on-info"]};case"neutral":return{background:e.colors["bg-muted"],text:e.colors["text-body"]};default:return{background:e.colors.danger,text:e.colors["on-danger"]}}},softToneFor=(e,t)=>{switch(t){case"primary":return{background:e.colors["primary-soft"],text:e.colors.primary};case"success":return{background:e.colors["success-soft"],text:e.colors.success};case"warning":return{background:e.colors["warning-soft"],text:e.colors.warning};case"info":return{background:e.colors["info-soft"],text:e.colors.info};case"neutral":return{background:e.colors["bg-muted"],text:e.colors["text-muted"]};default:return{background:e.colors["danger-soft"],text:e.colors.danger}}},anchorPosition=(e,t)=>{const o=-t;switch(e){case"topLeft":return{top:o,left:o};case"bottomRight":return{bottom:o,right:o};case"bottomLeft":return{bottom:o,left:o};default:return{top:o,right:o}}},formatValue=(e,t)=>{if(null==e)return null;if("number"==typeof e)return e<=0?null:e>t?`${t}+`:String(e);const o=String(e);return 0===o.length?null:o},Badge=forwardRef((e,t)=>{const{value:o,max:r=99,variant:i="standard",tone:n="danger",size:s="sm",fill:a="solid",accessible:l=!0,invisible:d=!1,loading:c=!1,children:u,anchor:g="topRight",pulse:h=!1,accessibilityLabel:m,labels:f,style:b,badgeStyle:p,textStyle:x,testID:w}=e;warnInvalidValue("Badge","variant",e.variant,["standard","dot"]),warnInvalidValue("Badge","tone",e.tone,["primary","success","warning","danger","neutral","info"]),warnInvalidValue("Badge","size",e.size,["sm","md"]),warnInvalidValue("Badge","anchor",e.anchor,["topRight","topLeft","bottomRight","bottomLeft"]),warnInvalidValue("Badge","fill",e.fill,["solid","soft"]);const y=useMemo(()=>({...DEFAULT_BADGE_LABELS,...f}),[f]),v=useTheme(),S=useMemo(()=>"soft"===a?softToneFor(v,n):toneFor(v,n),[v,n,a]),k=resolveBadgeSize(v,s),B=v.components.badge["border-width"],j=v.components.badge["anchor-offset"],V="dot"===i?null:formatValue(o,r),z=!d&&("dot"===i||null!==V),A=useRef(createAnimatedValue(1)).current;useEffect(()=>{if(!h||!z)return void setNativeValue(A,1);const e=Animated.loop(Animated.sequence([Animated.timing(A,{toValue:1.15,duration:v.motion.duration.slow,easing:Easing.bezier(...v.motion.ease["in-out"]),useNativeDriver:!0}),Animated.timing(A,{toValue:1,duration:v.motion.duration.slow,easing:Easing.bezier(...v.motion.ease["in-out"]),useNativeDriver:!0})]));return e.start(),()=>{e.stop()}},[h,z,A,v]);const _="dot"===i,L=_?"image":"text",E=m??(_?y.indicator:V?y.unread(V):void 0),R=z?_jsx(Animated.View,{style:[styles.badge,_?{width:k["dot-size"],height:k["dot-size"],borderRadius:k["dot-size"]/2,...smoothCorners,paddingHorizontal:0}:{minWidth:k["min-width"],minHeight:k.height,borderRadius:v.radius.pill,...smoothCorners,paddingHorizontal:k["padding-x"]},{backgroundColor:S.background,transform:[{scale:A}]},u?{position:"absolute",borderWidth:B,borderColor:v.colors.surface,...anchorPosition(g,j)}:null,p],accessible:l,importantForAccessibility:l?void 0:"no-hide-descendants",accessibilityElementsHidden:!l||void 0,accessibilityRole:l?L:void 0,accessibilityLabel:l?E:void 0,children:_||null===V?null:_jsx(Text,{variant:"caption",weight:"soft"===a?"semibold":"bold",numberOfLines:1,style:[styles.text,{color:S.text,fontSize:k.text,lineHeight:Math.round(k.text*v.leading.body)},x],children:V??" "})}):null,I=u?_jsxs(View,{ref:t,style:[styles.wrapper,b],testID:w,children:[u,R]}):_jsx(View,{ref:t,style:b,testID:w,children:R});return c?_jsx(BadgeSkeleton,{...e}):I});Badge.displayName="Badge";const BadgeSkeleton=({variant:e="standard",size:t="md",children:o,anchor:r,style:i,badgeStyle:n})=>{const s=useTheme(),a=resolveBadgeSize(s,t);if("dot"===e)return _jsx(Skeleton,{shape:"circle",width:a["dot-size"],height:a["dot-size"],style:[n,i]});const l=a.height/2;if(void 0!==o){const e="topLeft"===r?{top:-a.height/2,left:-a.height/2}:"bottomRight"===r?{bottom:-a.height/2,right:-a.height/2}:"bottomLeft"===r?{bottom:-a.height/2,left:-a.height/2}:{top:-a.height/2,right:-a.height/2};return _jsxs(View,{style:[styles.wrapper,i],children:[o,_jsx(View,{style:[{position:"absolute"},e],children:_jsx(Skeleton,{width:a["min-width"]+a["padding-x"],height:a.height,radius:l,style:n})})]})}return _jsx(Skeleton,{width:a["min-width"]+a["padding-x"],height:a.height,radius:l,style:[n,i]})};BadgeSkeleton.displayName="BadgeSkeleton",Badge.Skeleton=BadgeSkeleton;const styles=StyleSheet.create({wrapper:{position:"relative",alignSelf:"flex-start"},badge:{alignItems:"center",justifyContent:"center",flexDirection:"row"},text:{textAlign:"center",includeFontPadding:!1}});export{Badge};export default Badge;