@webority/mobile-ui 0.96.0 → 0.99.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/canvas-kit/kit.js +6773 -6594
- package/dist/canvas-kit/manifest.json +20 -2
- package/dist/canvas-kit/release.json +6 -6
- package/lib/commonjs/canvasKit/index.js +1 -1
- package/lib/commonjs/components/AppBar/AppBar.js +1 -1
- package/lib/commonjs/components/Avatar/Avatar.js +1 -1
- package/lib/commonjs/components/Banner/Banner.js +1 -1
- package/lib/commonjs/components/BottomNavigation/BottomNavigation.js +1 -1
- package/lib/commonjs/components/Button/Button.js +1 -1
- package/lib/commonjs/components/Calendar/Calendar.js +1 -1
- package/lib/commonjs/components/Checkbox/Checkbox.js +1 -1
- package/lib/commonjs/components/Chip/Chip.js +1 -1
- package/lib/commonjs/components/DatePicker/DatePicker.js +1 -1
- package/lib/commonjs/components/FilePicker/FilePicker.js +1 -1
- package/lib/commonjs/components/IconButton/IconButton.js +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -1
- package/lib/commonjs/components/InlineSelect/InlineSelect.js +1 -1
- package/lib/commonjs/components/Input/Input.js +1 -1
- package/lib/commonjs/components/KeyboardToolbar/KeyboardToolbar.js +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +1 -1
- package/lib/commonjs/components/Modal/Modal.js +1 -1
- package/lib/commonjs/components/OTPInput/OTPInput.js +1 -1
- package/lib/commonjs/components/OptionSheet/OptionSheet.js +1 -1
- package/lib/commonjs/components/PhoneNumberInput/PhoneNumberInput.js +1 -1
- package/lib/commonjs/components/Radio/Radio.js +1 -1
- package/lib/commonjs/components/Rating/Rating.js +1 -1
- package/lib/commonjs/components/RichTextEditor/RichTextEditor.js +1 -1
- package/lib/commonjs/components/SearchBar/SearchBar.js +1 -1
- package/lib/commonjs/components/SliderField/SliderField.js +1 -1
- package/lib/commonjs/components/Stepper/Stepper.js +1 -1
- package/lib/commonjs/components/Swipeable/Swipeable.js +1 -1
- package/lib/commonjs/components/Switch/Switch.js +1 -1
- package/lib/commonjs/components/Text/Text.js +1 -1
- package/lib/commonjs/components/Toast/Toast.js +1 -1
- package/lib/commonjs/form/path.js +1 -1
- package/lib/commonjs/index.js +1 -1
- package/lib/commonjs/theme/index.js +1 -1
- package/lib/commonjs/utils/announce.js +1 -1
- package/lib/module/canvasKit/index.js +1 -1
- package/lib/module/components/AppBar/AppBar.js +1 -1
- package/lib/module/components/Avatar/Avatar.js +1 -1
- package/lib/module/components/Banner/Banner.js +1 -1
- package/lib/module/components/BottomNavigation/BottomNavigation.js +1 -1
- package/lib/module/components/Button/Button.js +1 -1
- package/lib/module/components/Calendar/Calendar.js +1 -1
- package/lib/module/components/Checkbox/Checkbox.js +1 -1
- package/lib/module/components/Chip/Chip.js +1 -1
- package/lib/module/components/DatePicker/DatePicker.js +1 -1
- package/lib/module/components/FilePicker/FilePicker.js +1 -1
- package/lib/module/components/IconButton/IconButton.js +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +1 -1
- package/lib/module/components/InlineSelect/InlineSelect.js +1 -1
- package/lib/module/components/Input/Input.js +1 -1
- package/lib/module/components/KeyboardToolbar/KeyboardToolbar.js +1 -1
- package/lib/module/components/MessageList/MessageList.js +1 -1
- package/lib/module/components/Modal/Modal.js +1 -1
- package/lib/module/components/OTPInput/OTPInput.js +1 -1
- package/lib/module/components/OptionSheet/OptionSheet.js +1 -1
- package/lib/module/components/PhoneNumberInput/PhoneNumberInput.js +1 -1
- package/lib/module/components/Radio/Radio.js +1 -1
- package/lib/module/components/Rating/Rating.js +1 -1
- package/lib/module/components/RichTextEditor/RichTextEditor.js +1 -1
- package/lib/module/components/SearchBar/SearchBar.js +1 -1
- package/lib/module/components/SliderField/SliderField.js +1 -1
- package/lib/module/components/Stepper/Stepper.js +1 -1
- package/lib/module/components/Swipeable/Swipeable.js +1 -1
- package/lib/module/components/Switch/Switch.js +1 -1
- package/lib/module/components/Text/Text.js +1 -1
- package/lib/module/components/Toast/Toast.js +1 -1
- package/lib/module/form/path.js +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/theme/index.js +1 -1
- package/lib/module/utils/announce.js +1 -1
- package/lib/typescript/commonjs/canvasKit/index.d.ts +20 -3
- package/lib/typescript/commonjs/components/AppBar/AppBar.d.ts +1 -0
- package/lib/typescript/commonjs/components/Button/Button.meta.d.ts +1 -1
- package/lib/typescript/commonjs/components/Card/Card.meta.d.ts +1 -1
- package/lib/typescript/commonjs/components/Checkbox/Checkbox.meta.d.ts +1 -1
- package/lib/typescript/commonjs/components/DecimalInput/DecimalInput.meta.d.ts +1 -1
- package/lib/typescript/commonjs/components/Input/Input.meta.d.ts +1 -1
- package/lib/typescript/commonjs/components/Radio/Radio.meta.d.ts +1 -1
- package/lib/typescript/commonjs/components/SearchBar/SearchBar.meta.d.ts +1 -1
- package/lib/typescript/commonjs/components/Switch/Switch.meta.d.ts +1 -1
- package/lib/typescript/commonjs/components/Text/Text.meta.d.ts +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -3
- package/lib/typescript/commonjs/theme/index.d.ts +0 -20
- package/lib/typescript/module/canvasKit/index.d.ts +20 -3
- package/lib/typescript/module/components/AppBar/AppBar.d.ts +1 -0
- package/lib/typescript/module/components/Button/Button.meta.d.ts +1 -1
- package/lib/typescript/module/components/Card/Card.meta.d.ts +1 -1
- package/lib/typescript/module/components/Checkbox/Checkbox.meta.d.ts +1 -1
- package/lib/typescript/module/components/DecimalInput/DecimalInput.meta.d.ts +1 -1
- package/lib/typescript/module/components/Input/Input.meta.d.ts +1 -1
- package/lib/typescript/module/components/Radio/Radio.meta.d.ts +1 -1
- package/lib/typescript/module/components/SearchBar/SearchBar.meta.d.ts +1 -1
- package/lib/typescript/module/components/Switch/Switch.meta.d.ts +1 -1
- package/lib/typescript/module/components/Text/Text.meta.d.ts +1 -1
- package/lib/typescript/module/index.d.ts +2 -3
- package/lib/typescript/module/theme/index.d.ts +0 -20
- package/package.json +7 -7
- package/lib/commonjs/initUI.js +0 -1
- package/lib/module/initUI.js +0 -1
- package/lib/typescript/commonjs/initUI.d.ts +0 -12
- package/lib/typescript/module/initUI.d.ts +0 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseE164=exports.formatE164=exports.default=exports.PhoneNumberInput=exports.DEFAULT_CALLING_CODES=exports.ALL_CALLING_CODES=void 0;var _mobileCore=require("@webority/mobile-core"),_countries=require("@webority/mobile-core/phone/countries"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_index4=require("../FieldBase/index.js"),_Chevron=require("../FieldBase/Chevron.js"),_useFloatingLabel=require("../FieldBase/useFloatingLabel.js"),_OptionSheet=require("../OptionSheet/OptionSheet.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_CALLING_CODES=exports.DEFAULT_CALLING_CODES=[{iso:"IN",code:"91",label:"India"},{iso:"AE",code:"971",label:"United Arab Emirates"},{iso:"GB",code:"44",label:"United Kingdom"},{iso:"US",code:"1",label:"United States"},{iso:"CA",code:"1",label:"Canada"},{iso:"AU",code:"61",label:"Australia"},{iso:"SG",code:"65",label:"Singapore"},{iso:"SA",code:"966",label:"Saudi Arabia"}],ALL_CALLING_CODES=exports.ALL_CALLING_CODES=(0,_mobileCore.getPhoneCountries)().map(e=>({iso:e.iso,code:e.callingCode,label:_countries.PHONE_COUNTRY_NAMES[e.iso]??e.iso})).sort((e,t)=>e.label.localeCompare(t.label)),digitsOnly=e=>e.replace(/[^0-9]/g,""),formatE164=e=>`+${e.callingCode}${e.nationalNumber}`;exports.formatE164=formatE164;const parseE164=(e,t,i)=>{const o=e.replace(/[^0-9]/g,"");if(!o)return null;const n=(0,_mobileCore.splitPhoneNumber)(`+${o}`);let r=n?.callingCode,l=n?.nationalNumber??"";if(!r){const e=Array.from(new Set(t.map(e=>e.code))).sort((e,t)=>t.length-e.length);if(r=e.find(e=>o.startsWith(e)),!r)return null;l=o.slice(r.length)}const a=t.filter(e=>e.code===r),s=a.find(e=>e.iso===i)?.iso??a.find(e=>e.iso===n?.country)?.iso??n?.country??a[0]?.iso??"";return{callingCode:r,nationalNumber:l,iso:s}};exports.parseE164=parseE164;const planOf=e=>(0,_mobileCore.isSupportedCountry)(e)?e:null,PhoneNumberInput=exports.PhoneNumberInput=(0,_react.forwardRef)((e,t)=>{const{value:i,defaultValue:o,onChange:n,e164:r,onChangeE164:l,returnKeyType:a,submitBehavior:s,onSubmitEditing:u,blurOnSubmit:c,onComplete:d,onValidityChange:b,countries:m=ALL_CALLING_CODES,popularCountries:p,popularCountriesTitle:_="Popular",allCountriesTitle:f="All countries",hiddenCountries:g,showFlag:h=!0,renderFlag:x,renderCountry:C,countrySearchPlaceholder:N,showAlphabetIndex:y,defaultIso:v="IN",validation:S="any",maxLength:L,formatAsYouType:E=!0,countryLocked:j=!1,label:I,labelMode:F="top",labelStyle:O,placeholder:T="Phone number",helperText:A,error:P,invalidMessage:R,required:D,disabled:w=!1,size:q="md",variant:k,borderRadius:M,countrySheetTitle:V="Country code",haptic:z,accessibilityLabel:B,countryAccessibilityLabel:$,onFocus:G,onBlur:U,style:W,testID:H}=e,Y=(0,_index2.useTheme)(),K=(0,_react.useMemo)(()=>buildStyles(Y),[Y]),J=(0,_react.useRef)(null),Q=(0,_react.useMemo)(()=>g?.length?m.filter(e=>!g.includes(e.iso)):m,[m,g]),X=(0,_react.useMemo)(()=>{if(!p?.length)return;const e=p.map(e=>Q.find(t=>t.iso===e)).filter(e=>void 0!==e);return e.length?[{title:_,options:e},{title:f,options:Q}]:void 0},[p,_,f,Q]),Z=(0,_react.useCallback)((e,t,i)=>{if(!e)return null;if(x)return x(e);if(!h)return null;const o=(0,_mobileCore.countryFlagEmoji)(e.iso);return o?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[K.flag,{fontSize:t}],testID:i,children:o}):null},[x,h,K.flag]),ee=(0,_react.useCallback)(e=>{const t=planOf(e),i=t?(0,_mobileCore.maxNationalNumberLength)(t,!1===S?"any":S):Number.POSITIVE_INFINITY;return L?Math.min(i,L):i},[L,S]),te=(0,_react.useCallback)((e,t)=>e.slice(0,ee(t)),[ee]),ie=(0,_react.useCallback)((e,t)=>{const i=planOf(t)??void 0,o=(0,_mobileCore.splitPhoneNumber)(e,i);if(!o)return null;const n=o.country??t,r=m.find(e=>e.iso===n);return{callingCode:r?.code??o.callingCode,nationalNumber:te(o.nationalNumber,n),iso:r?.iso??n}},[m,te]),oe=(0,_react.useMemo)(()=>{const e=Q.find(e=>e.iso===v)??Q[0]??m[0],t={callingCode:e?.code??"91",nationalNumber:"",iso:e?.iso??"IN"};return"string"==typeof o?ie(o,t.iso)??t:o??t},[m,Q,v,o,ie]),ne=(0,_react.useCallback)(e=>{if(!1===S)return e.nationalNumber.length>0;const t=planOf(e.iso);return t?(0,_mobileCore.isValidNationalNumber)(e.nationalNumber,t,S):e.nationalNumber.length>0},[S]),[re,le]=(0,_react.useState)(oe.iso),ae=(0,_react.useMemo)(()=>{if(void 0===r)return;const e=r?parseE164(r,m,re):null;if(e)return{...e,nationalNumber:te(e.nationalNumber,e.iso)};const t=m.find(e=>e.iso===re);return{callingCode:t?.code??oe.callingCode,nationalNumber:"",iso:re}},[r,m,re,oe.callingCode,te]),se=(0,_react.useCallback)(e=>{le(e.iso),n?.(e),l?.(e.nationalNumber?formatE164(e):"",{country:m.find(t=>t.iso===e.iso),national:e.nationalNumber,valid:ne(e)})},[n,l,m,ne]),[ue,ce]=(0,_index.useControllableState)({value:i??ae,defaultValue:oe,onChange:se}),[de,be]=(0,_react.useState)(!1),me=(0,_react.useCallback)(()=>{w||J.current?.focus()},[w]),[pe,fe]=(0,_react.useState)(!1),[ge,he]=(0,_react.useState)(!1),[xe,Ce]=(0,_react.useState)(!1),Ne=(0,_react.useRef)(!1);(0,_react.useEffect)(()=>{xe||(Ne.current=!1)},[xe]);const ye=(0,_index2.resolveFieldSize)(Y,q),ve=(0,_index4.resolveFieldTextStyle)(Y,{disabled:w}),Se=k??Y.settings.components.field?.defaultVariant??"outlined",Le="underline"===Se,Ee=M??ye.radius,je=Y.space.md,[Ie,Fe]=(0,_react.useState)(0),Oe=Ie+je+1+je,Te=ue.nationalNumber.length>0,Ae=D&&!I&&!Te&&T.length>0,Pe=de||Te,Re=Boolean(I)&&"float"===F&&Ie>0,De=(0,_useFloatingLabel.useFloatingLabel)({label:I,enabled:Re,floated:Pe,required:D,variant:Se,sizeTokens:ye,leadingOffset:Oe,paddingLeft:Le?Y.space.none:ye["padding-x"],color:Y.colors["field-label"],style:O}),we=(0,_react.useMemo)(()=>m.find(e=>e.iso===ue.iso),[m,ue.iso]),qe=planOf(ue.iso),ke=E&&qe?(0,_mobileCore.formatPhoneAsTyped)(ue.nationalNumber,qe):ue.nationalNumber,Me=ee(ue.iso),Ve=0===ue.nationalNumber.length||pe||!Number.isFinite(Me)?void 0:ke.length+Math.max(0,Me-ue.nationalNumber.length),ze=ne(ue);(0,_react.useEffect)(()=>{Te||he(!1)},[Te]);const Be=qe?(0,_mobileCore.maxNationalNumberLength)(qe,!1===S?"any":S):Number.POSITIVE_INFINITY,$e=ue.nationalNumber.length>=Be,Ge=!1!==S&&!1!==R&&Te&&!ze&&(ge||$e),Ue="mobile"===S?"Enter a valid mobile number":"Enter a valid number",We=(0,_index4.hasFieldText)(P)?P:Ge?R||Ue:void 0,He=!0===P||(0,_index4.hasFieldText)(We),Ye=(0,_react.useRef)(ze),Ke=(0,_react.useRef)(ue);Ke.current=ue,(0,_react.useEffect)(()=>{Ye.current!==ze&&(Ye.current=ze,b?.(ze),ze&&d?.(formatE164(Ke.current)))},[ze,d,b]);const Je=(0,_react.useCallback)(e=>{if(e.includes("+")){const t=ie(e,ue.iso);if(t&&!j&&Q.some(e=>e.iso===t.iso))return void ce(t);if(t&&t.iso===ue.iso)return void ce(t)}ce({...ue,nationalNumber:te(digitsOnly(e),ue.iso)})},[Q,j,ue,ie,te,ce]),Qe=(0,_react.useCallback)(e=>{const t=e;ce({callingCode:t.code,iso:t.iso,nationalNumber:te(ue.nationalNumber,t.iso)}),Ce(!1);const i=(0,_index3.resolveHaptic)(z,"selection");i&&(0,_index3.triggerHaptic)(i)},[ue,z,te,ce]);(0,_react.useImperativeHandle)(t,()=>({focus:()=>J.current?.focus(),blur:()=>J.current?.blur(),clear:()=>ce({...Ke.current,nationalNumber:""}),isFocused:()=>J.current?.isFocused()??!1,getValue:()=>Ke.current,getE164:()=>formatE164(Ke.current),getFormatted:()=>{const e=Ke.current,t=planOf(e.iso);return t?(0,_mobileCore.formatPhoneAsTyped)(e.nationalNumber,t):e.nationalNumber},isValid:()=>ne(Ke.current),getCountry:()=>m.find(e=>e.iso===Ke.current.iso)}),[m,ne,ce]);const Xe=w||j,Ze=(0,_jsxRuntime.jsx)(_index4.FieldBase,{size:q,variant:Se,borderRadius:Ee,topNotch:De.topNotch,focused:de,disabled:w,error:He,filled:Te,onPress:me,pressFeedback:!1,leadingDivider:!0,paddingLeft:Le?Y.space.none:void 0,leading:(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:()=>{Xe||(Ne.current=!0,Ce(!0))},disabled:Xe,accessibilityRole:"button",accessibilityLabel:$??`Country code, currently +${ue.callingCode}`,accessibilityState:{disabled:Xe},"aria-disabled":Xe,hitSlop:6,onLayout:e=>{const{width:t}=e.nativeEvent.layout;Fe(e=>e===t?e:t)},style:K.codeTrigger,testID:H?`${H}-code`:void 0,children:[Z(we,ye.text,H?`${H}-flag`:void 0),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[K.codeText,{color:ve.color,fontSize:ye.text}],children:`+${ue.callingCode}`}),j?null:(0,_jsxRuntime.jsx)(_Chevron.Chevron,{color:w?Y.colors["field-icon-disabled"]:Y.colors["field-icon"],size:ye.icon,open:xe})]}),children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:K.inputWrap,children:[(0,_jsxRuntime.jsx)(_reactNative.TextInput,{ref:J,value:ke,maxLength:Ve,onChangeText:Je,returnKeyType:a,submitBehavior:s,onSubmitEditing:u,blurOnSubmit:c,onSelectionChange:e=>{const{start:t,end:i}=e.nativeEvent.selection;fe(t!==i)},onFocus:()=>{be(!0),G?.()},onBlur:()=>{be(!1),Te&&!Ne.current&&he(!0),U?.()},editable:!w,placeholder:Re&&!Pe||Ae?void 0:T,placeholderTextColor:ve.placeholderColor,accessibilityLabel:B??I??T,selectionColor:Y.colors["field-caret"],keyboardType:"phone-pad",textContentType:"telephoneNumber",autoComplete:"tel",style:[K.input,{color:ve.color,fontSize:ye.text,...ve.weightStyle,paddingLeft:Le?Y.space.none:void 0}],testID:H?`${H}-input`:void 0}),Ae?(0,_jsxRuntime.jsx)(_index4.RequiredPlaceholder,{text:T,color:ve.placeholderColor,fontSize:ye.text,weightStyle:ve.weightStyle}):null]})});return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:W,testID:H,children:[I&&"top"===F?(0,_jsxRuntime.jsx)(_index4.FieldLabel,{size:q,required:D,children:I}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:K.fieldWrapper,children:[Ze,De.node]}),(0,_jsxRuntime.jsx)(_index4.FieldMessage,{size:q,error:He,text:He?We:A}),(0,_jsxRuntime.jsx)(_OptionSheet.OptionSheet,{open:xe,onClose:()=>Ce(!1),title:V,options:Q,sections:X,labelOf:e=>`${e.label} (+${e.code})`,getValue:e=>e.iso,disabledOf:()=>!1,descriptionOf:()=>{},iconOf:e=>Z(e,Y.text.lg.size),renderOption:C?(e,t)=>C(e,{selected:t.selected}):void 0,isSelected:e=>e===we?.iso,onSelect:Qe,searchable:Q.length>8,searchPlaceholder:N,alphabetIndex:y??Q.length>20})]})});PhoneNumberInput.displayName="PhoneNumberInput";const buildStyles=e=>_reactNative.StyleSheet.create({fieldWrapper:{position:"relative",overflow:"visible"},codeTrigger:{flexDirection:"row",alignItems:"center",gap:e.space.xxs},flag:{includeFontPadding:!1,marginRight:e.space.xs},codeText:{...(0,_index2.fontFor)(e,"semibold"),fontWeight:"600",includeFontPadding:!1,writingDirection:"ltr"},input:{padding:e.space.none,margin:e.space.none,includeFontPadding:!1,writingDirection:"ltr"},inputWrap:{flex:1,alignSelf:"stretch",justifyContent:"center"}});var _default=exports.default=PhoneNumberInput;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseE164=exports.formatE164=exports.default=exports.PhoneNumberInput=exports.DEFAULT_CALLING_CODES=exports.ALL_CALLING_CODES=void 0;var _mobileCore=require("@webority/mobile-core"),_countries=require("@webority/mobile-core/phone/countries"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_hitSlop=require("../../utils/hitSlop.js"),_index4=require("../FieldBase/index.js"),_Chevron=require("../FieldBase/Chevron.js"),_useFloatingLabel=require("../FieldBase/useFloatingLabel.js"),_OptionSheet=require("../OptionSheet/OptionSheet.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_CALLING_CODES=exports.DEFAULT_CALLING_CODES=[{iso:"IN",code:"91",label:"India"},{iso:"AE",code:"971",label:"United Arab Emirates"},{iso:"GB",code:"44",label:"United Kingdom"},{iso:"US",code:"1",label:"United States"},{iso:"CA",code:"1",label:"Canada"},{iso:"AU",code:"61",label:"Australia"},{iso:"SG",code:"65",label:"Singapore"},{iso:"SA",code:"966",label:"Saudi Arabia"}],ALL_CALLING_CODES=exports.ALL_CALLING_CODES=(0,_mobileCore.getPhoneCountries)().map(e=>({iso:e.iso,code:e.callingCode,label:_countries.PHONE_COUNTRY_NAMES[e.iso]??e.iso})).sort((e,t)=>e.label.localeCompare(t.label)),digitsOnly=e=>e.replace(/[^0-9]/g,""),formatE164=e=>`+${e.callingCode}${e.nationalNumber}`;exports.formatE164=formatE164;const parseE164=(e,t,i)=>{const o=e.replace(/[^0-9]/g,"");if(!o)return null;const n=(0,_mobileCore.splitPhoneNumber)(`+${o}`);let r=n?.callingCode,l=n?.nationalNumber??"";if(!r){const e=Array.from(new Set(t.map(e=>e.code))).sort((e,t)=>t.length-e.length);if(r=e.find(e=>o.startsWith(e)),!r)return null;l=o.slice(r.length)}const a=t.filter(e=>e.code===r),s=a.find(e=>e.iso===i)?.iso??a.find(e=>e.iso===n?.country)?.iso??n?.country??a[0]?.iso??"";return{callingCode:r,nationalNumber:l,iso:s}};exports.parseE164=parseE164;const planOf=e=>(0,_mobileCore.isSupportedCountry)(e)?e:null,PhoneNumberInput=exports.PhoneNumberInput=(0,_react.forwardRef)((e,t)=>{const{value:i,defaultValue:o,onChange:n,e164:r,onChangeE164:l,returnKeyType:a,submitBehavior:s,onSubmitEditing:u,blurOnSubmit:c,onComplete:d,onValidityChange:b,countries:m=ALL_CALLING_CODES,popularCountries:p,popularCountriesTitle:_="Popular",allCountriesTitle:f="All countries",hiddenCountries:h,showFlag:g=!0,renderFlag:x,renderCountry:C,countrySearchPlaceholder:N,showAlphabetIndex:y,defaultIso:S="IN",validation:v="any",maxLength:L,formatAsYouType:E=!0,countryLocked:j=!1,label:I,labelMode:F="top",labelStyle:O,placeholder:T="Phone number",helperText:A,error:P,invalidMessage:R,required:D,disabled:q=!1,size:w="md",variant:k,borderRadius:M,countrySheetTitle:V="Country code",haptic:z,accessibilityLabel:B,countryAccessibilityLabel:$,onFocus:G,onBlur:U,style:W,testID:H}=e,Y=(0,_index2.useTheme)(),K=(0,_react.useMemo)(()=>buildStyles(Y),[Y]),J=(0,_react.useRef)(null),Q=(0,_react.useMemo)(()=>h?.length?m.filter(e=>!h.includes(e.iso)):m,[m,h]),X=(0,_react.useMemo)(()=>{if(!p?.length)return;const e=p.map(e=>Q.find(t=>t.iso===e)).filter(e=>void 0!==e);return e.length?[{title:_,options:e},{title:f,options:Q}]:void 0},[p,_,f,Q]),Z=(0,_react.useCallback)((e,t,i)=>{if(!e)return null;if(x)return x(e);if(!g)return null;const o=(0,_mobileCore.countryFlagEmoji)(e.iso);return o?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[K.flag,{fontSize:t}],testID:i,children:o}):null},[x,g,K.flag]),ee=(0,_react.useCallback)(e=>{const t=planOf(e),i=t?(0,_mobileCore.maxNationalNumberLength)(t,!1===v?"any":v):Number.POSITIVE_INFINITY;return L?Math.min(i,L):i},[L,v]),te=(0,_react.useCallback)((e,t)=>e.slice(0,ee(t)),[ee]),ie=(0,_react.useCallback)((e,t)=>{const i=planOf(t)??void 0,o=(0,_mobileCore.splitPhoneNumber)(e,i);if(!o)return null;const n=o.country??t,r=m.find(e=>e.iso===n);return{callingCode:r?.code??o.callingCode,nationalNumber:te(o.nationalNumber,n),iso:r?.iso??n}},[m,te]),oe=(0,_react.useMemo)(()=>{const e=Q.find(e=>e.iso===S)??Q[0]??m[0],t={callingCode:e?.code??"91",nationalNumber:"",iso:e?.iso??"IN"};return"string"==typeof o?ie(o,t.iso)??t:o??t},[m,Q,S,o,ie]),ne=(0,_react.useCallback)(e=>{if(!1===v)return e.nationalNumber.length>0;const t=planOf(e.iso);return t?(0,_mobileCore.isValidNationalNumber)(e.nationalNumber,t,v):e.nationalNumber.length>0},[v]),[re,le]=(0,_react.useState)(oe.iso),ae=(0,_react.useMemo)(()=>{if(void 0===r)return;const e=r?parseE164(r,m,re):null;if(e)return{...e,nationalNumber:te(e.nationalNumber,e.iso)};const t=m.find(e=>e.iso===re);return{callingCode:t?.code??oe.callingCode,nationalNumber:"",iso:re}},[r,m,re,oe.callingCode,te]),se=(0,_react.useCallback)(e=>{le(e.iso),n?.(e),l?.(e.nationalNumber?formatE164(e):"",{country:m.find(t=>t.iso===e.iso),national:e.nationalNumber,valid:ne(e)})},[n,l,m,ne]),[ue,ce]=(0,_index.useControllableState)({value:i??ae,defaultValue:oe,onChange:se}),[de,be]=(0,_react.useState)(!1),me=(0,_react.useCallback)(()=>{q||J.current?.focus()},[q]),[pe,fe]=(0,_react.useState)(!1),[he,ge]=(0,_react.useState)(!1),[xe,Ce]=(0,_react.useState)(!1),Ne=(0,_react.useRef)(!1);(0,_react.useEffect)(()=>{xe||(Ne.current=!1)},[xe]);const ye=(0,_index2.resolveFieldSize)(Y,w),Se=(0,_index4.resolveFieldTextStyle)(Y,{disabled:q}),ve=k??Y.settings.components.field?.defaultVariant??"outlined",Le="underline"===ve,Ee=M??ye.radius,je=Y.space.md,[Ie,Fe]=(0,_react.useState)(0),Oe=Ie+je+1+je,Te=ue.nationalNumber.length>0,Ae=D&&!I&&!Te&&T.length>0,Pe=de||Te,Re=Boolean(I)&&"float"===F&&Ie>0,De=(0,_useFloatingLabel.useFloatingLabel)({label:I,enabled:Re,floated:Pe,required:D,variant:ve,sizeTokens:ye,leadingOffset:Oe,paddingLeft:Le?Y.space.none:ye["padding-x"],color:Y.colors["field-label"],style:O}),qe=(0,_react.useMemo)(()=>m.find(e=>e.iso===ue.iso),[m,ue.iso]),we=planOf(ue.iso),ke=E&&we?(0,_mobileCore.formatPhoneAsTyped)(ue.nationalNumber,we):ue.nationalNumber,Me=ee(ue.iso),Ve=0===ue.nationalNumber.length||pe||!Number.isFinite(Me)?void 0:ke.length+Math.max(0,Me-ue.nationalNumber.length),ze=ne(ue);(0,_react.useEffect)(()=>{Te||ge(!1)},[Te]);const Be=we?(0,_mobileCore.maxNationalNumberLength)(we,!1===v?"any":v):Number.POSITIVE_INFINITY,$e=ue.nationalNumber.length>=Be,Ge=!1!==v&&!1!==R&&Te&&!ze&&(he||$e),Ue="mobile"===v?"Enter a valid mobile number":"Enter a valid number",We=(0,_index4.hasFieldText)(P)?P:Ge?R||Ue:void 0,He=!0===P||(0,_index4.hasFieldText)(We),Ye=(0,_react.useRef)(ze),Ke=(0,_react.useRef)(ue);Ke.current=ue,(0,_react.useEffect)(()=>{Ye.current!==ze&&(Ye.current=ze,b?.(ze),ze&&d?.(formatE164(Ke.current)))},[ze,d,b]);const Je=(0,_react.useCallback)(e=>{if(e.includes("+")){const t=ie(e,ue.iso);if(t&&!j&&Q.some(e=>e.iso===t.iso))return void ce(t);if(t&&t.iso===ue.iso)return void ce(t)}ce({...ue,nationalNumber:te(digitsOnly(e),ue.iso)})},[Q,j,ue,ie,te,ce]),Qe=(0,_react.useCallback)(e=>{const t=e;ce({callingCode:t.code,iso:t.iso,nationalNumber:te(ue.nationalNumber,t.iso)}),Ce(!1);const i=(0,_index3.resolveHaptic)(z,"selection");i&&(0,_index3.triggerHaptic)(i)},[ue,z,te,ce]);(0,_react.useImperativeHandle)(t,()=>({focus:()=>J.current?.focus(),blur:()=>J.current?.blur(),clear:()=>ce({...Ke.current,nationalNumber:""}),isFocused:()=>J.current?.isFocused()??!1,getValue:()=>Ke.current,getE164:()=>formatE164(Ke.current),getFormatted:()=>{const e=Ke.current,t=planOf(e.iso);return t?(0,_mobileCore.formatPhoneAsTyped)(e.nationalNumber,t):e.nationalNumber},isValid:()=>ne(Ke.current),getCountry:()=>m.find(e=>e.iso===Ke.current.iso)}),[m,ne,ce]);const Xe=q||j,Ze=(0,_jsxRuntime.jsx)(_index4.FieldBase,{size:w,variant:ve,borderRadius:Ee,topNotch:De.topNotch,focused:de,disabled:q,error:He,filled:Te,onPress:me,pressFeedback:!1,leadingDivider:!0,paddingLeft:Le?Y.space.none:void 0,leading:(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:()=>{Xe||(Ne.current=!0,Ce(!0))},disabled:Xe,accessibilityRole:"button",accessibilityLabel:$??`Country code, currently +${ue.callingCode}`,accessibilityState:{disabled:Xe},"aria-disabled":Xe,hitSlop:6,...(0,_hitSlop.hitSlopMarker)(6),onLayout:e=>{const{width:t}=e.nativeEvent.layout;Fe(e=>e===t?e:t)},style:K.codeTrigger,testID:H?`${H}-code`:void 0,children:[Z(qe,ye.text,H?`${H}-flag`:void 0),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[K.codeText,{color:Se.color,fontSize:ye.text}],children:`+${ue.callingCode}`}),j?null:(0,_jsxRuntime.jsx)(_Chevron.Chevron,{color:q?Y.colors["field-icon-disabled"]:Y.colors["field-icon"],size:ye.icon,open:xe})]}),children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:K.inputWrap,children:[(0,_jsxRuntime.jsx)(_reactNative.TextInput,{ref:J,value:ke,maxLength:Ve,onChangeText:Je,returnKeyType:a,submitBehavior:s,onSubmitEditing:u,blurOnSubmit:c,onSelectionChange:e=>{const{start:t,end:i}=e.nativeEvent.selection;fe(t!==i)},onFocus:()=>{be(!0),G?.()},onBlur:()=>{be(!1),Te&&!Ne.current&&ge(!0),U?.()},editable:!q,placeholder:Re&&!Pe||Ae?void 0:T,placeholderTextColor:Se.placeholderColor,accessibilityLabel:B??I??T,selectionColor:Y.colors["field-caret"],keyboardType:"phone-pad",textContentType:"telephoneNumber",autoComplete:"tel",style:[K.input,{color:Se.color,fontSize:ye.text,...Se.weightStyle,paddingLeft:Le?Y.space.none:void 0}],testID:H?`${H}-input`:void 0}),Ae?(0,_jsxRuntime.jsx)(_index4.RequiredPlaceholder,{text:T,color:Se.placeholderColor,fontSize:ye.text,weightStyle:Se.weightStyle}):null]})});return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:W,testID:H,children:[I&&"top"===F?(0,_jsxRuntime.jsx)(_index4.FieldLabel,{size:w,required:D,children:I}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:K.fieldWrapper,children:[Ze,De.node]}),(0,_jsxRuntime.jsx)(_index4.FieldMessage,{size:w,error:He,text:He?We:A}),(0,_jsxRuntime.jsx)(_OptionSheet.OptionSheet,{open:xe,onClose:()=>Ce(!1),title:V,options:Q,sections:X,labelOf:e=>`${e.label} (+${e.code})`,getValue:e=>e.iso,disabledOf:()=>!1,descriptionOf:()=>{},iconOf:e=>Z(e,Y.text.lg.size),renderOption:C?(e,t)=>C(e,{selected:t.selected}):void 0,isSelected:e=>e===qe?.iso,onSelect:Qe,searchable:Q.length>8,searchPlaceholder:N,alphabetIndex:y??Q.length>20})]})});PhoneNumberInput.displayName="PhoneNumberInput";const buildStyles=e=>_reactNative.StyleSheet.create({fieldWrapper:{position:"relative",overflow:"visible"},codeTrigger:{flexDirection:"row",alignItems:"center",gap:e.space.xxs},flag:{includeFontPadding:!1,marginRight:e.space.xs},codeText:{...(0,_index2.fontFor)(e,"semibold"),fontWeight:"600",includeFontPadding:!1,writingDirection:"ltr"},input:{padding:e.space.none,margin:e.space.none,includeFontPadding:!1,writingDirection:"ltr"},inputWrap:{flex:1,alignSelf:"stretch",justifyContent:"center"}});var _default=exports.default=PhoneNumberInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useRadioGroup=exports.default=exports.RadioGroupContext=exports.Radio=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_index2=require("../FieldBase/index.js"),_ChoiceText=require("../FieldBase/ChoiceText.js"),_RadioDot=require("./RadioDot.js"),_jsxRuntime=require("react/jsx-runtime");const RadioGroupContext=exports.RadioGroupContext=(0,_react.createContext)(null),useRadioGroup=()=>(0,_react.useContext)(RadioGroupContext);exports.useRadioGroup=useRadioGroup;const toneColor=(e,t)=>{switch(t){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;default:return e.colors.primary}},Radio=exports.Radio=(0,_react.forwardRef)((e,t)=>{const{value:i,selected:r,onChange:o,disabled:s=!1,label:a,description:l,error:c,size:d="md",tone:n="primary",accessibilityLabel:u,haptic:p,style:x,containerStyle:_,circleStyle:b,dotStyle:h,labelStyle:y,testID:R,...
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useRadioGroup=exports.default=exports.RadioGroupContext=exports.Radio=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_hitSlop=require("../../utils/hitSlop.js"),_index2=require("../FieldBase/index.js"),_ChoiceText=require("../FieldBase/ChoiceText.js"),_RadioDot=require("./RadioDot.js"),_jsxRuntime=require("react/jsx-runtime");const RadioGroupContext=exports.RadioGroupContext=(0,_react.createContext)(null),useRadioGroup=()=>(0,_react.useContext)(RadioGroupContext);exports.useRadioGroup=useRadioGroup;const toneColor=(e,t)=>{switch(t){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;default:return e.colors.primary}},Radio=exports.Radio=(0,_react.forwardRef)((e,t)=>{const{value:i,selected:r,onChange:o,disabled:s=!1,label:a,description:l,error:c,size:d="md",tone:n="primary",accessibilityLabel:u,haptic:p,style:x,containerStyle:_,circleStyle:b,dotStyle:h,labelStyle:y,testID:R,hitSlop:m,...S}=e,C=(0,_index.useTheme)(),g=(0,_react.useMemo)(()=>buildStyles(C),[C]),f=useRadioGroup();__DEV__&&void 0===i&&_mobileCore.Logger.warn("[@webority/mobile-ui] Radio was rendered without a `value`. Selection compares against it, so the group cannot track which option is chosen.");const j=f?f.selectedValue===i:!!r,w=f&&f.disabled||s,v=toneColor(C,n),T=(0,_index.spaceOf)(C,C.components.radio["label-gap"]),q=m??6,D=u??(0,_index2.fieldTextAsString)(a),G=!0===f?.error||!0===c||(0,_index2.hasFieldText)(c);return(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{ref:t,onPress:e=>{if(w)return;const t=(0,_hapticUtils.resolveHaptic)(p,"selection");t&&(0,_hapticUtils.triggerHaptic)(t),f?f.onChange(i):o?.(i)},disabled:w,accessibilityRole:"radio",accessibilityLabel:D,accessibilityHint:S.accessibilityHint??(0,_index2.fieldTextAsString)(l),accessibilityState:{checked:j,disabled:w},"aria-checked":j,"aria-disabled":w,testID:R,hitSlop:q,...(0,_hitSlop.hitSlopMarker)(q),...S,style:({pressed:e})=>[g.row,(0,_ChoiceText.hasChoiceDetail)(l,c)?g.rowTop:null,{opacity:w?.55:e?.85:1},x,_],children:[(0,_jsxRuntime.jsx)(_RadioDot.RadioDot,{selected:j,color:v,disabled:w&&!j,size:d,style:[!G||j||w?null:{borderColor:C.colors["field-border-error"]},b],dotStyle:h}),(0,_jsxRuntime.jsx)(_ChoiceText.ChoiceText,{label:a,description:l,error:c,disabled:w,labelLines:2,style:{marginLeft:T},labelStyle:y})]})});Radio.displayName="Radio";const buildStyles=e=>_reactNative.StyleSheet.create({row:{flexDirection:"row",alignItems:"center"},rowTop:{alignItems:"flex-start"}});var _default=exports.default=Radio;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Rating=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_index2=require("../Skeleton/index.js"),_jsxRuntime=require("react/jsx-runtime");const sizePxMap={sm:16,md:24,lg:32},resolveSize=e=>"number"==typeof e?e:sizePxMap[e],PULSE_SCALE=1.2,toneColorFor=(e,t)=>"primary"===t?e.colors.primary:e.colors.warning,clampToStep=(e,t,i)=>{const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Rating=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_hitSlop=require("../../utils/hitSlop.js"),_index2=require("../Skeleton/index.js"),_jsxRuntime=require("react/jsx-runtime");const sizePxMap={sm:16,md:24,lg:32},resolveSize=e=>"number"==typeof e?e:sizePxMap[e],PULSE_SCALE=1.2,toneColorFor=(e,t)=>"primary"===t?e.colors.primary:e.colors.warning,clampToStep=(e,t,i)=>{const s=Math.max(0,Math.min(t,e)),a=Math.round(s/i)*i;return Number(a.toFixed(2))},Star=({index:e,filled:t,size:i,filledColor:s,emptyColor:a,scale:n})=>{const r=Math.max(0,Math.min(1,t-e));return(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{style:[starStyles.starWrap,{width:i,height:i,transform:[{scale:n}]}],children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[starStyles.glyph,{color:a,fontSize:i,lineHeight:i}],accessible:!1,children:"☆"}),r>0?(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[starStyles.fillClip,{width:i*r,height:i}],children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[starStyles.glyph,{color:s,fontSize:i,lineHeight:i}],accessible:!1,children:"★"})}):null]})},Rating=exports.Rating=(0,_react.forwardRef)((e,t)=>{const{value:i,onChange:s,max:a=5,allowHalf:n=!0,readonly:r=!1,size:l="md",tone:o="warning",label:c,loading:u=!1,haptic:m,accessibilityLabel:d,style:x,containerStyle:p,starContainerStyle:y,testID:_}=e,h=(0,_index.useTheme)(),g=(0,_react.useMemo)(()=>buildStyles(h),[h]),v=!r&&"function"==typeof s,f=n?.5:1,S=resolveSize(l),b=toneColorFor(h,o),j=h.colors.border,R=(0,_react.useRef)(S),w=(0,_react.useCallback)(e=>{R.current=e.nativeEvent.layout.width},[]),N=(0,_react.useRef)(new Map),C=(0,_react.useMemo)(()=>{const e=N.current,t=[];for(let i=0;i<a;i+=1){let s=e.get(i);s||(s=new _reactNative.Animated.Value(1),e.set(i,s)),t.push(s)}for(const t of Array.from(e.keys()))t>=a&&e.delete(t);return t},[a]),k=h.settings.components.rating?.pulseOnPress??!1,z=(0,_react.useCallback)(e=>{const t=C[e];t&&_reactNative.Animated.sequence([_reactNative.Animated.timing(t,{toValue:1.2,duration:h.motion.duration.fast,easing:_reactNative.Easing.bezier(...h.motion.ease["in-out"]),useNativeDriver:!0}),_reactNative.Animated.spring(t,{toValue:1,damping:h.motion.spring.bouncy.damping,stiffness:h.motion.spring.bouncy.stiffness,mass:h.motion.spring.bouncy.mass,useNativeDriver:!0})]).start()},[h.motion,C]),M=(0,_react.useCallback)((e,t)=>{if(!v||!s)return;const i=clampToStep(e,a,f),n=(0,_hapticUtils.resolveHaptic)(m,"selection");n&&(0,_hapticUtils.triggerHaptic)(n),k&&"number"==typeof t&&z(t),s(i)},[v,s,a,f,z,m,k]),A=(0,_react.useCallback)(e=>t=>{if(!v)return;const i=R.current||S,s=t.nativeEvent.locationX??i;let a;a=n&&s<i/2?e+.5:e+1,M(a,e)},[v,S,n,M]),P=(0,_react.useCallback)(e=>{v&&("increment"===e.nativeEvent.actionName?M(i+f):"decrement"===e.nativeEvent.actionName&&M(i-f))},[v,i,f,M]),V=`${i} of ${a} stars`,q=d??c??V,E=[];for(let e=0;e<a;e+=1){const t=C[e];if(!t)continue;const s=(0,_jsxRuntime.jsx)(Star,{index:e,filled:i,size:S,filledColor:b,emptyColor:j,scale:t},e);E.push(v?(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:A(e),onLayout:0===e?w:void 0,hitSlop:4,...(0,_hitSlop.hitSlopMarker)(4),accessible:!1,style:g.starPress,children:s},e):(0,_jsxRuntime.jsx)(_reactNative.View,{onLayout:0===e?w:void 0,style:g.starPress,children:s},e))}const D=(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[g.wrapper,x,p],ref:t,testID:_,children:[c?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[g.label,{color:h.colors["text-muted"],fontSize:h.text.sm.size}],children:c}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[g.row,y],accessible:!0,accessibilityRole:v?"adjustable":"text",accessibilityLabel:q,accessibilityValue:v?{min:0,max:a,now:i,text:V}:void 0,accessibilityActions:v?[{name:"increment"},{name:"decrement"}]:void 0,onAccessibilityAction:v?P:void 0,children:E})]});return u?(0,_jsxRuntime.jsx)(RatingSkeleton,{...e}):D});Rating.displayName="Rating";const RatingSkeleton=({max:e=5,size:t="md",label:i,containerStyle:s,starContainerStyle:a,style:n})=>{const r=(0,_index.useTheme)(),l=resolveSize(t),o=Math.max(1,e);return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[{alignItems:"flex-start"},s,n],accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:[void 0!==i?(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:80,height:14,style:{marginBottom:r.space.xs}}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[{flexDirection:"row"},a],children:Array.from({length:o}).map((e,t)=>(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:l,height:l,radius:Math.round(.25*l),style:t<o-1?{marginRight:r.space.xs}:void 0},`sk-star-${t}`))})]})};RatingSkeleton.displayName="RatingSkeleton",Rating.Skeleton=RatingSkeleton;const starStyles=_reactNative.StyleSheet.create({starWrap:{position:"relative",alignItems:"flex-start",justifyContent:"center"},glyph:{textAlign:"left",includeFontPadding:!1},fillClip:{position:"absolute",top:0,left:0,overflow:"hidden"}}),buildStyles=e=>_reactNative.StyleSheet.create({wrapper:{flexDirection:"column"},row:{flexDirection:"row",alignItems:"center"},starPress:{marginRight:e.space.xs},label:{marginBottom:e.space.xs}});var _default=exports.default=Rating;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.RichTextEditor=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_index3=require("../Skeleton/index.js"),_markdownActions=require("./markdownActions.js"),_jsxRuntime=require("react/jsx-runtime");const ACTION_META={bold:{glyph:"B",label:"Bold"},italic:{glyph:"I",label:"Italic"},strikethrough:{glyph:"S",label:"Strikethrough"},code:{glyph:"</>",label:"Inline code"},link:{glyph:"link",label:"Link"},heading1:{glyph:"H1",label:"Heading 1"},heading2:{glyph:"H2",label:"Heading 2"},bulletList:{glyph:"•",label:"Bulleted list"},numberedList:{glyph:"1.",label:"Numbered list"},quote:{glyph:">",label:"Quote"}},DEFAULT_ACTIONS=["bold","italic","strikethrough","code","link","heading1","heading2","bulletList","numberedList","quote"],DEFAULT_MIN_HEIGHT=160,TOOLBAR_GLYPH_MAX_SCALE=1.5,RichTextEditor=exports.RichTextEditor=(0,_react.forwardRef)((e,t)=>{const{value:i,onChangeText:o,placeholder:l,actions:s=DEFAULT_ACTIONS,disabled:r=!1,loading:n=!1,minHeight:a=DEFAULT_MIN_HEIGHT,autoFocus:c=!1,accessibilityLabel:d,haptic:u,style:h,toolbarStyle:x,inputStyle:b,testID:_}=e,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.RichTextEditor=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_hitSlop=require("../../utils/hitSlop.js"),_index3=require("../Skeleton/index.js"),_markdownActions=require("./markdownActions.js"),_jsxRuntime=require("react/jsx-runtime");const ACTION_META={bold:{glyph:"B",label:"Bold"},italic:{glyph:"I",label:"Italic"},strikethrough:{glyph:"S",label:"Strikethrough"},code:{glyph:"</>",label:"Inline code"},link:{glyph:"link",label:"Link"},heading1:{glyph:"H1",label:"Heading 1"},heading2:{glyph:"H2",label:"Heading 2"},bulletList:{glyph:"•",label:"Bulleted list"},numberedList:{glyph:"1.",label:"Numbered list"},quote:{glyph:">",label:"Quote"}},DEFAULT_ACTIONS=["bold","italic","strikethrough","code","link","heading1","heading2","bulletList","numberedList","quote"],DEFAULT_MIN_HEIGHT=160,TOOLBAR_GLYPH_MAX_SCALE=1.5,RichTextEditor=exports.RichTextEditor=(0,_react.forwardRef)((e,t)=>{const{value:i,onChangeText:o,placeholder:l,actions:s=DEFAULT_ACTIONS,disabled:r=!1,loading:n=!1,minHeight:a=DEFAULT_MIN_HEIGHT,autoFocus:c=!1,accessibilityLabel:d,haptic:u,style:h,toolbarStyle:x,inputStyle:b,testID:_}=e,p=(0,_index.useTheme)(),m=(0,_react.useMemo)(()=>buildStyles(p),[p]),g=i??"",[y,S]=(0,_react.useState)({start:0,end:0}),[j,T]=(0,_react.useState)(!1),[k,R]=(0,_react.useState)(null),v=(0,_react.useCallback)(e=>{S(e.nativeEvent.selection),R(null)},[]),C=(0,_react.useCallback)(e=>{R(null),o?.(e)},[o]),I=(0,_react.useCallback)(e=>{if(r)return;const t=(0,_index2.resolveHaptic)(u,"selection");t&&(0,_index2.triggerHaptic)(t);const i=(0,_markdownActions.applyMarkdownAction)({text:g,selection:(0,_markdownActions.normalizeSelection)(y,g.length)},e);S(i.selection),R(i.selection),o?.(i.text)},[r,u,o,y,g]);return n?(0,_jsxRuntime.jsx)(RichTextEditorSkeleton,{actionCount:s.length,minHeight:a,style:h,testID:_}):(0,_jsxRuntime.jsxs)(_reactNative.View,{testID:_,style:[m.container,{borderColor:j?p.colors["focus-ring"]:p.colors.border,opacity:r?.55:1},h],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[m.toolbar,x],children:s.map(e=>(0,_jsxRuntime.jsx)(ToolbarButton,{action:e,disabled:r,onPress:I,styles:m,theme:p,testID:_?`${_}-${e}`:void 0},e))}),(0,_jsxRuntime.jsx)(_reactNative.TextInput,{ref:t,value:g,onChangeText:C,onSelectionChange:v,onFocus:()=>T(!0),onBlur:()=>T(!1),selection:k??void 0,editable:!r,autoFocus:c,multiline:!0,textAlignVertical:"top",placeholder:l,placeholderTextColor:p.colors["text-subtle"],accessibilityLabel:d,style:[m.input,{minHeight:a},b],testID:_?`${_}-input`:void 0})]})});RichTextEditor.displayName="RichTextEditor";const ToolbarButton=({action:e,disabled:t,onPress:i,styles:o,theme:l,testID:s})=>{const r=ACTION_META[e],n={color:t?l.colors["text-disabled"]:l.colors["text-body"]};return"bold"===e&&(n.fontWeight=l.weight.bold),"italic"===e&&(n.fontStyle="italic"),"strikethrough"===e&&(n.textDecorationLine="line-through"),(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:()=>i(e),disabled:t,accessibilityRole:"button",accessibilityLabel:r.label,accessibilityState:{disabled:t},"aria-disabled":t,hitSlop:4,...(0,_hitSlop.hitSlopMarker)(4),testID:s,style:({pressed:e})=>[o.button,{backgroundColor:e?l.colors["surface-pressed"]:l.colors["bg-subtle"]}],children:(0,_jsxRuntime.jsx)(_reactNative.Text,{maxFontSizeMultiplier:Math.min(l.settings.maxFontSizeMultiplier??1.5,1.5),style:[o.buttonLabel,n],children:r.glyph})})};ToolbarButton.displayName="RichTextEditorToolbarButton";const RichTextEditorSkeleton=({actionCount:e,minHeight:t,style:i,testID:o})=>{const l=(0,_index.useTheme)(),s=(0,_react.useMemo)(()=>buildStyles(l),[l]),r=Array.from({length:Math.max(1,e)},(e,t)=>t);return(0,_jsxRuntime.jsxs)(_reactNative.View,{testID:o,style:[s.container,i],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:s.toolbar,children:r.map(e=>(0,_jsxRuntime.jsx)(_index3.Skeleton,{width:34,height:30,radius:"sm"},e))}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[s.skeletonBody,{minHeight:t}],children:[(0,_jsxRuntime.jsx)(_index3.Skeleton,{shape:"text",width:"94%",height:14}),(0,_jsxRuntime.jsx)(_index3.Skeleton,{shape:"text",width:"100%",height:14}),(0,_jsxRuntime.jsx)(_index3.Skeleton,{shape:"text",width:"72%",height:14})]})]})};RichTextEditorSkeleton.displayName="RichTextEditorSkeleton";const buildStyles=e=>_reactNative.StyleSheet.create({container:{borderWidth:e.size.border,borderColor:e.colors.border,borderRadius:e.radius.md,..._corners.smoothCorners,backgroundColor:e.colors.bg,overflow:"hidden"},toolbar:{flexDirection:"row",flexWrap:"wrap",alignItems:"center",gap:e.space.xs,padding:e.space.xs,borderBottomWidth:_reactNative.StyleSheet.hairlineWidth,borderBottomColor:e.colors["border-subtle"],backgroundColor:e.colors["bg-subtle"]},button:{minWidth:34,height:30,paddingHorizontal:e.space.xs,borderRadius:e.radius.sm,..._corners.smoothCorners,alignItems:"center",justifyContent:"center"},buttonLabel:{...(0,_index.fontFor)(e,"medium"),fontSize:e.text.sm.size},input:{...(0,_index.fontFor)(e,"normal"),color:e.colors["text-body"],fontSize:e.text.base.size,lineHeight:1.5*e.text.base.size,paddingHorizontal:e.space.md,paddingVertical:e.space.sm},skeletonBody:{paddingHorizontal:e.space.md,paddingVertical:e.space.sm,gap:e.space.sm}});var _default=exports.default=RichTextEditor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SearchBar=void 0;var _react=require("react"),_reactNative=require("react-native"),_useControllableState=require("../../hooks/useControllableState.js"),_useDebounce=require("../../hooks/useDebounce.js"),_index=require("../../theme/index.js"),_announce=require("../../utils/announce.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_mergeRefs=require("../../utils/mergeRefs.js"),_defaultIcons=require("../AppIcon/defaultIcons.js"),_slotIcon=require("../AppIcon/slotIcon.js"),_FieldBase=require("../FieldBase/FieldBase.js"),_useFloatingLabel=require("../FieldBase/useFloatingLabel.js"),_SearchPanel=require("./SearchPanel.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_PANEL_ROWS=8,HOLD_RELEASE_MS=50,SearchBar=exports.SearchBar=(0,_react.forwardRef)((e,t)=>{const{value:a,onChangeText:s,onSubmit:l,onFocus:n,onBlur:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SearchBar=void 0;var _react=require("react"),_reactNative=require("react-native"),_useControllableState=require("../../hooks/useControllableState.js"),_useDebounce=require("../../hooks/useDebounce.js"),_index=require("../../theme/index.js"),_announce=require("../../utils/announce.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_hitSlop=require("../../utils/hitSlop.js"),_mergeRefs=require("../../utils/mergeRefs.js"),_defaultIcons=require("../AppIcon/defaultIcons.js"),_slotIcon=require("../AppIcon/slotIcon.js"),_FieldBase=require("../FieldBase/FieldBase.js"),_useFloatingLabel=require("../FieldBase/useFloatingLabel.js"),_SearchPanel=require("./SearchPanel.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_PANEL_ROWS=8,HOLD_RELEASE_MS=50,SearchBar=exports.SearchBar=(0,_react.forwardRef)((e,t)=>{const{value:a,onChangeText:s,onSubmit:l,onFocus:n,onBlur:r,placeholder:c="Search…",autoFocus:i=!1,disabled:o=!1,onClear:u,leftIcon:d,debounceMs:_,size:b="md",variant:h,borderRadius:p,label:g,labelMode:S="top",labelStyle:f,scopes:x,scope:m,onScopeChange:v,recents:R,recentsTitle:j="Recent searches",maxRecents:C=DEFAULT_PANEL_ROWS,onSelectRecent:y,onRemoveRecent:F,onClearRecents:k,suggestions:B,maxSuggestions:L=DEFAULT_PANEL_ROWS,onSelectSuggestion:I,haptic:q,style:E,inputStyle:P,accessibilityLabel:T,testID:N,...D}=e,z=(0,_index.useTheme)(),w=h??z.settings.components["search-bar"]?.defaultVariant??z.settings.components.field?.defaultVariant??"filled",A="underline"===w,H=(0,_index.resolveFieldSize)(z,b),M=(0,_index.radiusOf)(z,z.components["search-bar"][b].radius),U=(0,_FieldBase.resolveFieldTextStyle)(z,{disabled:o}),O=(0,_react.useRef)(null),V=(0,_react.useMemo)(()=>(0,_mergeRefs.mergeRefs)(O,t),[t]),W=(0,_react.useCallback)(()=>{o||O.current?.focus()},[o]),$=(0,_react.useMemo)(()=>buildStyles(z),[z]),K="string"==typeof a?a:"",[G,J]=(0,_react.useState)(!1),Q=(0,_react.useCallback)(e=>{J(!0),n?.(e)},[n]),X=(0,_react.useCallback)(e=>{J(!1),r?.(e)},[r]),[Y,Z]=(0,_react.useState)(K),ee=(0,_useDebounce.useDebounce)(Y,_??0);(0,_react.useEffect)(()=>{void 0!==_&&K!==Y&&Z(K)},[K,_]);const te=(0,_react.useRef)(K);(0,_react.useEffect)(()=>{void 0!==_&&ee!==te.current&&(te.current=ee,s(ee))},[ee,_,s]);const ae=(0,_react.useCallback)(e=>{void 0===_?s(e):Z(e)},[_,s]),se=(0,_react.useCallback)(()=>{const e=(0,_hapticUtils.resolveHaptic)(q,"selection");e&&(0,_hapticUtils.triggerHaptic)(e),void 0!==_&&(Z(""),te.current=""),s(""),u?.()},[q,_,s,u]),le=(0,_react.useCallback)(()=>{l?.(void 0!==_?Y:K)},[l,_,Y,K]),ne=void 0!==_?Y:K,re=ne.length>0,[ce,ie]=(0,_useControllableState.useControllableState)({value:m,defaultValue:x?.[0]?.value??"",onChange:v}),oe=(0,_react.useCallback)(e=>{ie(e);const t=x?.find(t=>t.value===e)?.label;t&&(0,_announce.announce)(`Searching ${t}`)},[x,ie]),[ue,de]=(0,_react.useState)(!1),be=(0,_react.useRef)(null),he=(0,_react.useCallback)(()=>{be.current&&(clearTimeout(be.current),be.current=null)},[]),pe=(0,_react.useCallback)(()=>{he(),de(!0)},[he]),ge=(0,_react.useCallback)(()=>{he(),be.current=setTimeout(()=>de(!1),50)},[he]);(0,_react.useEffect)(()=>he,[he]);const Se=!o&&(G||ue),fe=(0,_react.useMemo)(()=>(R??[]).slice(0,C),[R,C]),xe=(0,_react.useMemo)(()=>(B??[]).slice(0,L).map(_SearchPanel.normalizeSuggestion),[B,L]),me=Se&&!re&&fe.length>0,ve=Se&&re&&xe.length>0,Re=ve?xe.length:0;(0,_react.useEffect)(()=>{Re>0&&(0,_announce.announce)(1===Re?"1 suggestion":`${Re} suggestions`)},[Re]);const je=(0,_react.useCallback)(()=>{const e=(0,_hapticUtils.resolveHaptic)(q,"selection");e&&(0,_hapticUtils.triggerHaptic)(e)},[q]),Ce=(0,_react.useCallback)(e=>{je(),O.current?.blur(),de(!1),y?.(e)},[je,y]),ye=(0,_react.useCallback)(e=>{je(),O.current?.blur(),de(!1),I?.(e)},[je,I]),Fe=(0,_react.useCallback)(e=>{je(),F?.(e),(0,_announce.announce)(`Removed ${e}`),W()},[je,F,W]),ke=(0,_react.useCallback)(()=>{je(),k?.(),(0,_announce.announce)("Recent searches cleared"),W()},[je,k,W]),Be={size:H.icon,color:o?z.colors["text-disabled"]:z.colors["text-subtle"],disabled:o},Le=d?(0,_slotIcon.renderSlotIcon)(d,Be):(z.settings.icons.search??_defaultIcons.defaultIcons.search)(Be),Ie=Boolean(g)&&"float"===S,qe=(0,_useFloatingLabel.useFloatingLabel)({label:g,enabled:Ie,floated:G||re,variant:w,sizeTokens:H,leadingOffset:H.icon+z.space.md,trailingOffset:re?H.icon+z.space.md:0,paddingLeft:A?z.space.none:H["padding-x"],color:z.colors["field-label"],style:f}),Ee=re&&!o?(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:se,hitSlop:8,...(0,_hitSlop.hitSlopMarker)(8),accessibilityRole:"button",accessibilityLabel:"Clear search",children:(z.settings.icons.close??_defaultIcons.defaultIcons.close)({size:H.icon,color:z.colors["text-muted"]})}):null;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:E,testID:N,children:[g&&!Ie?(0,_jsxRuntime.jsx)(_FieldBase.FieldLabel,{size:b,style:f,children:g}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:$.root,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:$.fieldWrap,children:[(0,_jsxRuntime.jsx)(_FieldBase.FieldBase,{size:b,variant:w,focused:G,disabled:o,filled:re,minHeight:H["min-height"],paddingHorizontal:A?z.space.none:H["padding-x"],borderRadius:p??M,leading:Le,trailing:Ee,topNotch:qe.topNotch,onPress:W,pressFeedback:!1,accessibilityRole:"search",accessibilityLabel:T??c,children:(0,_jsxRuntime.jsx)(_reactNative.TextInput,{ref:V,style:[$.input,{fontSize:H.text,color:U.color,...U.weightStyle},P],value:ne,onChangeText:ae,onSubmitEditing:le,onFocus:Q,onBlur:X,placeholder:!Ie||G||re?c:void 0,placeholderTextColor:U.placeholderColor,autoFocus:i,editable:!o,returnKeyType:"search",selectionColor:(0,_FieldBase.resolveVariantColors)(z,w).borderFocusedRepresentative,accessibilityLabel:T??c,accessibilityState:{disabled:o},"aria-disabled":o,...D})}),qe.node]})}),x&&x.length>0?(0,_jsxRuntime.jsx)(_SearchPanel.SearchScopeBar,{scopes:x,scope:ce||(x[0]?.value??""),disabled:o,haptic:q,onChange:oe}):null,me?(0,_jsxRuntime.jsx)(_SearchPanel.SearchRecents,{recents:fe,title:j,onSelect:Ce,onRemove:F?Fe:void 0,onClear:k?ke:void 0,onHold:pe,onRelease:ge}):null,ve?(0,_jsxRuntime.jsx)(_SearchPanel.SearchSuggestions,{suggestions:xe,query:ne,onSelect:ye,onHold:pe,onRelease:ge}):null]})});SearchBar.displayName="SearchBar";const buildStyles=e=>_reactNative.StyleSheet.create({root:{flexDirection:"row",alignItems:"center",width:"100%",position:"relative",overflow:"visible"},fieldWrap:{flex:1,position:"relative",overflow:"visible"},input:{flex:1,padding:e.space.none,margin:e.space.none,includeFontPadding:!1}});var _default=exports.default=SearchBar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SliderField=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../AppIcon/index.js"),_FieldBase=require("../FieldBase/FieldBase.js"),_index4=require("../IconButton/index.js"),_index5=require("../Slider/index.js"),_valueText=require("../Slider/valueText.js"),_index6=require("../Tooltip/index.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_INPUT_WIDTH=72,defaultFormatValue=e=>String(e),stepDecimals=e=>String(e).split(".")[1]?.length??0,ValueBox=({draft:e,error:t,disabled:i,width:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SliderField=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_hitSlop=require("../../utils/hitSlop.js"),_index3=require("../AppIcon/index.js"),_FieldBase=require("../FieldBase/FieldBase.js"),_index4=require("../IconButton/index.js"),_index5=require("../Slider/index.js"),_valueText=require("../Slider/valueText.js"),_index6=require("../Tooltip/index.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_INPUT_WIDTH=72,defaultFormatValue=e=>String(e),stepDecimals=e=>String(e).split(".")[1]?.length??0,ValueBox=({draft:e,error:t,disabled:i,width:l,accessibilityLabel:s,styles:a,style:n,testID:r})=>{const o=(0,_index2.useTheme)(),d=(0,_index2.resolveFieldSize)(o,"sm"),u=(0,_FieldBase.resolveFieldTextStyle)(o,{disabled:i}),c=(0,_react.useRef)(null),x=(0,_react.useCallback)(()=>{i||c.current?.focus()},[i]);return(0,_jsxRuntime.jsx)(_FieldBase.FieldBase,{size:"sm",focused:e.editing,disabled:i,error:t,filled:!0,width:l,onPress:x,pressFeedback:!1,paddingHorizontal:o.space.sm,gap:o.space.xs,trailing:t?(0,_jsxRuntime.jsx)(_index3.AppIcon,{name:"info-circle",size:d.icon,color:o.colors["danger-text"]}):void 0,style:n,children:(0,_jsxRuntime.jsx)(_reactNative.TextInput,{ref:c,style:[a.boxInput,{color:u.color,fontSize:d.text,...u.weightStyle}],value:e.text,onChangeText:e.onChangeText,onFocus:e.onFocus,onBlur:e.onBlur,onSubmitEditing:e.onBlur,editable:!i,keyboardType:"decimal-pad",returnKeyType:"done",textAlign:"center",selectionColor:o.colors.primary,accessibilityLabel:s,accessibilityState:{disabled:i},"aria-disabled":i,testID:r})})},SliderField=exports.SliderField=(0,_react.forwardRef)((e,t)=>{const{label:i,unit:l,info:s,required:a=!1,helperText:n,error:r,min:o=0,max:d=100,step:u=1,disabled:c=!1,tone:x="primary",size:_,variant:m,haptic:b,showBubble:p=!0,showBounds:h=!0,showInput:j=!1,showStepper:v=!1,startIcon:y,endIcon:f,startLabel:g,endLabel:S,formatValue:I=defaultFormatValue,parseInput:T,animationDuration:R,inputWidth:w=DEFAULT_INPUT_WIDTH,accessibilityLabel:F,style:B,labelStyle:V,boundStyle:z,sliderStyle:D,inputStyle:L,testID:N}=e,q=(0,_index2.useTheme)(),C=(0,_react.useMemo)(()=>buildStyles(q),[q]),$=R??q.motion.duration.fast,A=!0===e.range,M=!0===r||(0,_FieldBase.hasFieldText)(r),P=stepDecimals(u),[W,k]=(0,_index.useControllableState)({value:e.value,defaultValue:e.defaultValue??(A?[o,d]:o),onChange:e.onChange}),[H,U]=A?W:[W,d],E=(0,_valueText.clampValue)(Math.min(H,U),o,d),K=(0,_valueText.clampValue)(Math.max(H,U),o,d),O=(0,_valueText.useValueDraft)({value:E,min:o,max:d,step:u,format:I,parse:T,onChange:e=>k(A?[Math.min(e,K),K]:e)}),G=(0,_valueText.useValueDraft)({value:K,min:o,max:d,step:u,format:I,parse:T,onChange:e=>k([E,Math.max(e,E)])}),stepBy=e=>{const t=(0,_valueText.snapValue)(E+e*u,o,d,u);t!==E&&k(t)},J={color:c?q.colors["text-disabled"]:q.colors["text-muted"],size:(0,_index2.resolveFieldSize)(q,"md").icon,disabled:c},Q=[C.bubbleText,{color:(0,_valueText.sliderToneInk)(q,x),fontWeight:q.weight.semibold}],boundText=e=>(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[C.bound,{color:c?q.colors["text-disabled"]:q.colors["text-muted"]},z],children:e}),X={min:o,max:d,step:u,disabled:c,tone:x,size:_,variant:m,haptic:b,showLabel:!!p&&"always",renderLabel:p?e=>(0,_jsxRuntime.jsx)(_valueText.CountingText,{value:e,format:I,decimals:P,duration:$,style:Q,testID:N&&!A?`${N}-bubble`:void 0}):void 0,accessibilityLabel:F??i,style:D,testID:N?`${N}-slider`:void 0};return(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:t,style:[C.container,B],testID:N,children:[i?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:C.labelRow,children:[(0,_jsxRuntime.jsx)(_FieldBase.FieldLabel,{required:a,style:V,children:i}),l?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[C.unit,{color:q.colors["text-subtle"]}],children:l}):null,s?(0,_jsxRuntime.jsx)(_index6.Tooltip,{content:s,trigger:"press",placement:"top",children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{accessibilityRole:"button",accessibilityLabel:`About ${i}`,hitSlop:8,...(0,_hitSlop.hitSlopMarker)(8),style:C.infoButton,children:(0,_jsxRuntime.jsx)(_index3.AppIcon,{name:"info-circle",variant:"bold",size:16,color:q.colors["text-subtle"]})})}):null]}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[C.row,p?C.rowWithBubble:null],children:[y?(0,_jsxRuntime.jsx)(_reactNative.View,{children:(0,_index3.renderSlotIcon)(y,J)}):null,v&&!A?(0,_jsxRuntime.jsx)(_index4.IconButton,{icon:e=>(0,_jsxRuntime.jsx)(_index3.AppIcon,{name:"minus",size:e.size,color:e.color}),onPress:()=>stepBy(-1),accessibilityLabel:"Decrease",variant:"ghost",tone:"neutral",size:"sm",disabled:c||E<=o,haptic:b,testID:N?`${N}-minus`:void 0}):null,A&&j?(0,_jsxRuntime.jsx)(ValueBox,{draft:O,error:M,disabled:c,width:w,accessibilityLabel:`${i??"Value"} low`,styles:C,style:L,testID:N?`${N}-input-low`:void 0}):h?boundText(g??I(o)):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:C.sliderWrap,children:A?(0,_jsxRuntime.jsx)(_index5.Slider,{...X,range:!0,value:[E,K],onChange:k}):(0,_jsxRuntime.jsx)(_index5.Slider,{...X,value:E,onChange:k})}),A&&j?(0,_jsxRuntime.jsx)(ValueBox,{draft:G,error:M,disabled:c,width:w,accessibilityLabel:`${i??"Value"} high`,styles:C,style:L,testID:N?`${N}-input-high`:void 0}):h?boundText(S??I(d)):null,v&&!A?(0,_jsxRuntime.jsx)(_index4.IconButton,{icon:e=>(0,_jsxRuntime.jsx)(_index3.AppIcon,{name:"add",size:e.size,color:e.color}),onPress:()=>stepBy(1),accessibilityLabel:"Increase",variant:"ghost",tone:"neutral",size:"sm",disabled:c||E>=d,haptic:b,testID:N?`${N}-plus`:void 0}):null,f?(0,_jsxRuntime.jsx)(_reactNative.View,{children:(0,_index3.renderSlotIcon)(f,J)}):null,!A&&j?(0,_jsxRuntime.jsx)(ValueBox,{draft:O,error:M,disabled:c,width:w,accessibilityLabel:`${i??"Value"} value`,styles:C,style:L,testID:N?`${N}-input`:void 0}):null]}),(0,_jsxRuntime.jsx)(_FieldBase.FieldMessage,{text:M?r:n,error:M})]})});SliderField.displayName="SliderField";const buildStyles=e=>_reactNative.StyleSheet.create({container:{width:"100%"},labelRow:{flexDirection:"row",alignItems:"center",gap:e.space.xs},unit:{fontSize:e.text.xs.size},infoButton:{marginLeft:e.space.xxs},row:{flexDirection:"row",alignItems:"center",gap:e.space.sm},rowWithBubble:{marginTop:e.space.lg},sliderWrap:{flex:1,paddingHorizontal:e.space.sm},bound:{fontSize:e.text.sm.size,fontVariant:["tabular-nums"]},bubbleText:{fontSize:e.text.xs.size,fontVariant:["tabular-nums"]},boxInput:{flex:1,padding:e.space.none,margin:e.space.none,includeFontPadding:!1}});var _default=exports.default=SliderField;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Stepper=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_index2=require("../Skeleton/index.js"),_jsxRuntime=require("react/jsx-runtime");const CIRCLE_SIZE=24,SEGMENT_HEIGHT=4,PULSE_SIZE=32,PULSE_DURATION=1100,toneColorFor=(e,t)=>"success"===t?e.colors.success:e.colors.primary,toneOnColorFor=(e,t)=>"success"===t?e.colors["on-success"]:e.colors["on-primary"],StepCircle=({index:e,step:t,status:i,toneColor:s,upcomingColor:r,upcomingFillColor:n,textOnColor:o,upcomingTextColor:a,interactive:l,canPress:c,totalSteps:u,onPress:d,pulseEnabled:x,circleStyles:m,circleSlotStyle:p})=>{const _="active"===i,h=(0,_index.useTheme)(),v=(0,_react.useRef)((0,_index.createAnimatedValue)(1)).current,y=(0,_react.useRef)((0,_index.createAnimatedValue)(.5)).current;(0,_react.useEffect)(()=>{if(!_||!x)return v.setValue(1),void y.setValue(0);const e=_reactNative.Animated.loop(_reactNative.Animated.parallel([_reactNative.Animated.sequence([_reactNative.Animated.timing(v,{toValue:1.4,duration:1100,easing:_reactNative.Easing.out(_reactNative.Easing.ease),useNativeDriver:!0}),_reactNative.Animated.timing(v,{toValue:1,duration:0,useNativeDriver:!0})]),_reactNative.Animated.sequence([_reactNative.Animated.timing(y,{toValue:0,duration:1100,easing:_reactNative.Easing.out(_reactNative.Easing.ease),useNativeDriver:!0}),_reactNative.Animated.timing(y,{toValue:.5,duration:0,useNativeDriver:!0})])]));return e.start(),()=>e.stop()},[_,v,y,x]);const j="upcoming"===i?n:s,g="upcoming"===i?r:s,b="upcoming"===i?a:o,S="complete"===i,R=`Step ${e+1} of ${u}, ${t.label}, ${i}`,f=(0,_jsxRuntime.jsxs)(_reactNative.View,{style:m.relative,children:[_&&x?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[m.pulse,{width:32,height:32,borderRadius:h.radius.pill,..._corners.smoothCorners,backgroundColor:s,opacity:y,transform:[{scale:v}]}]}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[m.circle,{width:24,height:24,borderRadius:h.radius.pill,..._corners.smoothCorners,backgroundColor:j,borderColor:g},p],children:t.icon?t.icon:S?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[m.glyph,{color:b}],children:"✓"}):(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[m.glyph,{color:b}],children:e+1})})]});return l?(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:()=>d(e),disabled:!c,accessibilityRole:"button",accessibilityLabel:R,accessibilityState:{selected:_,disabled:!c},"aria-selected":_,"aria-disabled":!c,hitSlop:8,children:f}):(0,_jsxRuntime.jsx)(_reactNative.View,{accessibilityRole:"text",accessibilityLabel:R,accessibilityState:{selected:_},"aria-selected":_,children:f})},buildCircleStyles=e=>_reactNative.StyleSheet.create({relative:{alignItems:"center",justifyContent:"center"},pulse:{position:"absolute"},circle:{borderWidth:2,alignItems:"center",justifyContent:"center"},glyph:{fontSize:e.text.sm.size,fontWeight:"600",includeFontPadding:!1}}),Stepper=exports.Stepper=(0,_react.forwardRef)((e,t)=>{const{steps:i,activeStep:s,defaultActiveStep:r=0,pressMode:n="none",onStepPress:o,onActiveStepChange:a,variant:l="horizontal",tone:c="primary",formatCaption:u,showCaption:d=!0,loading:x=!1,accessibilityLabel:m,style:p,containerStyle:_,circleStyle:h,labelStyle:v,connectorStyle:y,haptic:j,testID:g}=e,b=(0,_index.useTheme)(),S=b.settings.components.stepper?.pulseAnimation??!1,R=(0,_hapticUtils.resolveHaptic)(j,"selection"),f=(0,_react.useMemo)(()=>buildStyles(b),[b]),w=(0,_react.useMemo)(()=>buildCircleStyles(b),[b]),C=toneColorFor(b,c),N=b.colors.border,V=b.colors.bg,k=b.colors["text-muted"],I=toneOnColorFor(b,c),A=i.length,L="none"!==n,T=void 0!==s,[$,D]=(0,_react.useState)(r),E=T?s:$,P=null==E||E<0?null:E,F=i.map((e,t)=>(e=>null===P?"upcoming":e<P?"complete":e===P?"active":"upcoming")(t)),z=F.filter(e=>"upcoming"!==e).length,O=F.filter(e=>"complete"===e).length,canPressStatus=e=>"back"===n?"complete"===e:L,handleStepPress=e=>{if(!canPressStatus(F[e]))return;R&&(0,_hapticUtils.triggerHaptic)(R),o?.(e);const t="select"===n&&e===P?null:e;T||D(t),a?.(t)},B=(0,_react.useRef)((0,_index.createAnimatedValue)(z)).current,q=(0,_react.useRef)(z);(0,_react.useEffect)(()=>{const e=q.current;if(e===z)return;q.current=z;const t=_reactNative.Animated.timing(B,{toValue:z,duration:b.motion.duration.default*Math.abs(z-e),easing:_reactNative.Easing.linear,useNativeDriver:!1});return t.start(),()=>t.stop()},[z,B,b.motion]);const sliceOf=e=>B.interpolate({inputRange:[e,e+1],outputRange:["0%","100%"],extrapolate:"clamp"}),M=A<=1?"0%":B.interpolate({inputRange:[1,A],outputRange:["0%","100%"],extrapolate:"clamp"}),U=null!==P&&P<A?P:null,H=m??(null!==U?`Progress: step ${U+1} of ${A}`:`Progress: ${O} of ${A} steps done`),[G,W]=(0,_react.useState)(0),Z=A>0&&G>0?G/(2*A):0,J=(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,style:[f.container,_,p],testID:g,accessibilityRole:"progressbar",accessibilityLabel:H,accessibilityValue:{min:0,max:A,now:z},children:"segmented"===l?(()=>{const e=null!==U?i[U]:void 0,t=d?u?u(U,A,e):null!==U?`Step ${U+1} of ${A}${e?.label?` · ${e.label}`:""}`:`${O} of ${A} done`:"";return(0,_jsxRuntime.jsxs)(_reactNative.View,{children:[d?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[f.sCaption,{color:b.colors["text-muted"],fontSize:b.text.sm.size,marginBottom:b.space.sm},v],numberOfLines:1,children:t}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:f.sRow,children:i.map((e,t)=>{const i=F[t],s=`Step ${t+1} of ${A}, ${e.label}, ${i}`,r=(0,_jsxRuntime.jsx)(_reactNative.View,{testID:g?`${g}-segment-${t}`:void 0,style:[f.sTrack,{backgroundColor:N},y],children:(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[f.sFill,{backgroundColor:C,width:sliceOf(t)}]})});if(L){const n=canPressStatus(i);return(0,_jsxRuntime.jsx)(_reactNative.Pressable,{style:f.sItem,onPress:()=>handleStepPress(t),disabled:!n,accessibilityRole:"button",accessibilityLabel:s,accessibilityState:{selected:"active"===i,disabled:!n},"aria-selected":"active"===i,"aria-disabled":!n,hitSlop:{top:12,bottom:12},children:r},e.key)}return(0,_jsxRuntime.jsx)(_reactNative.View,{style:f.sItem,accessibilityRole:"text",accessibilityLabel:s,accessibilityState:{selected:"active"===i},"aria-selected":"active"===i,children:r},e.key)})})]})})():"vertical"===l?(0,_jsxRuntime.jsx)(_reactNative.View,{style:f.vCol,children:i.map((e,t)=>{const i=F[t],s=t===A-1;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:f.vRow,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:f.vLeft,children:[(0,_jsxRuntime.jsx)(StepCircle,{index:t,step:e,status:i,toneColor:C,upcomingColor:N,upcomingFillColor:V,onPressColor:C,textOnColor:I,upcomingTextColor:k,interactive:L,canPress:canPressStatus(i),totalSteps:A,onPress:handleStepPress,pulseEnabled:S,circleStyles:w,circleSlotStyle:h}),s?null:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[f.vConnectorContainer,y],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[f.vConnectorTrack,{backgroundColor:N}]}),(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[f.vConnectorFill,{backgroundColor:C,height:sliceOf(t+1)}]})]})]}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:f.vBody,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[f.vLabel,{color:"upcoming"===i?b.colors["text-subtle"]:b.colors["text-body"],fontSize:b.text.base.size,fontWeight:b.weight.semibold},v],numberOfLines:1,children:e?.label??" "}),e.description?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[f.vDescription,{color:b.colors["text-muted"],fontSize:b.text.sm.size}],numberOfLines:3,children:e.description}):null]})]},e.key)})}):(0,_jsxRuntime.jsxs)(_reactNative.View,{style:f.hRow,onLayout:e=>W(e.nativeEvent.layout.width),children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{pointerEvents:"none",style:[f.hConnectorContainer,{left:Z,right:Z},y],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[f.hConnectorTrack,{backgroundColor:N}]}),(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[f.hConnectorFill,{backgroundColor:C,width:M}]})]}),i.map((e,t)=>{const i=F[t];return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:f.hStepItem,children:[(0,_jsxRuntime.jsx)(StepCircle,{index:t,step:e,status:i,toneColor:C,upcomingColor:N,upcomingFillColor:V,onPressColor:C,textOnColor:I,upcomingTextColor:k,interactive:L,canPress:canPressStatus(i),totalSteps:A,onPress:handleStepPress,pulseEnabled:S,circleStyles:w,circleSlotStyle:h}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[f.hLabel,{color:"upcoming"===i?b.colors["text-subtle"]:b.colors["text-body"],fontSize:b.text.xs.size},v],numberOfLines:1,children:e?.label??" "})]},e.key)})]})});return x?(0,_jsxRuntime.jsx)(StepperSkeleton,{...e}):J});Stepper.displayName="Stepper";const StepperSkeleton=({steps:e,variant:t="horizontal",showCaption:i=!0,containerStyle:s,style:r,testID:n})=>{const o=(0,_index.useTheme)(),a=(0,_react.useMemo)(()=>buildStyles(o),[o]),l=(0,_react.useMemo)(()=>buildSkeletonStyles(o),[o]),c=e.length||3;return"segmented"===t?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[a.container,s,r],testID:n,accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:[i?(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"45%",height:14,style:{marginBottom:o.space.sm}}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:a.sRow,children:Array.from({length:c}).map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.View,{style:a.sItem,children:(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:"100%",height:4,radius:"pill"})},`sk-step-${t}`))})]}):"vertical"===t?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[a.container,s,r],testID:n,accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:l.vCol,children:Array.from({length:c}).map((e,t)=>{const i=t===c-1;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:l.vRow,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[l.vLeft,{width:32}],children:[(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"circle",width:24,height:24}),i?null:(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:2,height:36})]}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:l.vBody,children:[(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"55%",height:16,style:{marginBottom:o.space.xs}}),(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"80%",height:12})]})]},`sk-step-${t}`)})})}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[a.container,s,r],testID:n,accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:a.hRow,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[a.hConnectorContainer,{left:50/c+"%",right:50/c+"%"}],children:(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:"100%",height:2,radius:"pill"})}),Array.from({length:c}).map((e,t)=>(0,_jsxRuntime.jsxs)(_reactNative.View,{style:a.hStepItem,children:[(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"circle",width:24,height:24}),(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"80%",height:12,style:{marginTop:o.space.xs}})]},`sk-step-${t}`))]})})};StepperSkeleton.displayName="StepperSkeleton",Stepper.Skeleton=StepperSkeleton;const buildSkeletonStyles=e=>_reactNative.StyleSheet.create({vCol:{flexDirection:"column"},vRow:{flexDirection:"row",alignItems:"flex-start"},vLeft:{alignItems:"center"},vBody:{flex:1,paddingLeft:e.space.md,paddingBottom:e.space.lg}}),buildStyles=e=>_reactNative.StyleSheet.create({container:{width:"100%"},hRow:{flexDirection:"row",alignItems:"flex-start",justifyContent:"space-between",position:"relative"},hConnectorContainer:{position:"absolute",top:11,height:2,flexDirection:"row",alignItems:"center"},hConnectorTrack:{position:"absolute",left:0,right:0,height:2,borderRadius:e.radius.pill,..._corners.smoothCorners},hConnectorFill:{position:"absolute",left:0,height:2,borderRadius:e.radius.pill,..._corners.smoothCorners},hStepItem:{alignItems:"center",flex:1},hLabel:{marginTop:e.space.xs,textAlign:"center"},vCol:{flexDirection:"column"},vRow:{flexDirection:"row",alignItems:"flex-start"},vLeft:{alignItems:"center",alignSelf:"stretch",width:32},vConnectorContainer:{flex:1,width:2,minHeight:32,position:"relative",alignSelf:"center"},vConnectorTrack:{position:"absolute",top:0,bottom:0,width:2,borderRadius:e.radius.pill,..._corners.smoothCorners},vConnectorFill:{position:"absolute",top:0,width:2,borderRadius:e.radius.pill,..._corners.smoothCorners},vBody:{flex:1,paddingLeft:e.space.sm,paddingBottom:e.space.md},vLabel:{marginBottom:e.space.xxs},vDescription:{},sCaption:{includeFontPadding:!1},sRow:{flexDirection:"row",columnGap:e.space.xs},sItem:{flex:1},sTrack:{height:4,borderRadius:e.radius.pill,overflow:"hidden"},sFill:{height:4,borderRadius:e.radius.pill}});var _default=exports.default=Stepper;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Stepper=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_hitSlop=require("../../utils/hitSlop.js"),_index2=require("../Skeleton/index.js"),_jsxRuntime=require("react/jsx-runtime");const CIRCLE_SIZE=24,SEGMENT_HEIGHT=4,PULSE_SIZE=32,PULSE_DURATION=1100,toneColorFor=(e,t)=>"success"===t?e.colors.success:e.colors.primary,toneOnColorFor=(e,t)=>"success"===t?e.colors["on-success"]:e.colors["on-primary"],StepCircle=({index:e,step:t,status:i,toneColor:s,upcomingColor:r,upcomingFillColor:n,textOnColor:o,upcomingTextColor:l,interactive:a,canPress:c,totalSteps:u,onPress:d,pulseEnabled:p,circleStyles:x,circleSlotStyle:m})=>{const _="active"===i,h=(0,_index.useTheme)(),v=(0,_react.useRef)((0,_index.createAnimatedValue)(1)).current,y=(0,_react.useRef)((0,_index.createAnimatedValue)(.5)).current;(0,_react.useEffect)(()=>{if(!_||!p)return v.setValue(1),void y.setValue(0);const e=_reactNative.Animated.loop(_reactNative.Animated.parallel([_reactNative.Animated.sequence([_reactNative.Animated.timing(v,{toValue:1.4,duration:1100,easing:_reactNative.Easing.out(_reactNative.Easing.ease),useNativeDriver:!0}),_reactNative.Animated.timing(v,{toValue:1,duration:0,useNativeDriver:!0})]),_reactNative.Animated.sequence([_reactNative.Animated.timing(y,{toValue:0,duration:1100,easing:_reactNative.Easing.out(_reactNative.Easing.ease),useNativeDriver:!0}),_reactNative.Animated.timing(y,{toValue:.5,duration:0,useNativeDriver:!0})])]));return e.start(),()=>e.stop()},[_,v,y,p]);const j="upcoming"===i?n:s,g="upcoming"===i?r:s,b="upcoming"===i?l:o,S="complete"===i,R=`Step ${e+1} of ${u}, ${t.label}, ${i}`,f=(0,_jsxRuntime.jsxs)(_reactNative.View,{style:x.relative,children:[_&&p?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[x.pulse,{width:32,height:32,borderRadius:h.radius.pill,..._corners.smoothCorners,backgroundColor:s,opacity:y,transform:[{scale:v}]}]}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[x.circle,{width:24,height:24,borderRadius:h.radius.pill,..._corners.smoothCorners,backgroundColor:j,borderColor:g},m],children:t.icon?t.icon:S?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[x.glyph,{color:b}],children:"✓"}):(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[x.glyph,{color:b}],children:e+1})})]});return a?(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:()=>d(e),disabled:!c,accessibilityRole:"button",accessibilityLabel:R,accessibilityState:{selected:_,disabled:!c},"aria-selected":_,"aria-disabled":!c,hitSlop:8,...(0,_hitSlop.hitSlopMarker)(8),children:f}):(0,_jsxRuntime.jsx)(_reactNative.View,{accessibilityRole:"text",accessibilityLabel:R,accessibilityState:{selected:_},"aria-selected":_,children:f})},buildCircleStyles=e=>_reactNative.StyleSheet.create({relative:{alignItems:"center",justifyContent:"center"},pulse:{position:"absolute"},circle:{borderWidth:2,alignItems:"center",justifyContent:"center"},glyph:{fontSize:e.text.sm.size,fontWeight:"600",includeFontPadding:!1}}),Stepper=exports.Stepper=(0,_react.forwardRef)((e,t)=>{const{steps:i,activeStep:s,defaultActiveStep:r=0,pressMode:n="none",onStepPress:o,onActiveStepChange:l,variant:a="horizontal",tone:c="primary",formatCaption:u,showCaption:d=!0,loading:p=!1,accessibilityLabel:x,style:m,containerStyle:_,circleStyle:h,labelStyle:v,connectorStyle:y,haptic:j,testID:g}=e,b=(0,_index.useTheme)(),S=b.settings.components.stepper?.pulseAnimation??!1,R=(0,_hapticUtils.resolveHaptic)(j,"selection"),f=(0,_react.useMemo)(()=>buildStyles(b),[b]),w=(0,_react.useMemo)(()=>buildCircleStyles(b),[b]),C=toneColorFor(b,c),N=b.colors.border,V=b.colors.bg,k=b.colors["text-muted"],I=toneOnColorFor(b,c),A=i.length,L="none"!==n,T=void 0!==s,[$,D]=(0,_react.useState)(r),E=T?s:$,P=null==E||E<0?null:E,F=i.map((e,t)=>(e=>null===P?"upcoming":e<P?"complete":e===P?"active":"upcoming")(t)),z=F.filter(e=>"upcoming"!==e).length,O=F.filter(e=>"complete"===e).length,canPressStatus=e=>"back"===n?"complete"===e:L,handleStepPress=e=>{if(!canPressStatus(F[e]))return;R&&(0,_hapticUtils.triggerHaptic)(R),o?.(e);const t="select"===n&&e===P?null:e;T||D(t),l?.(t)},q=(0,_react.useRef)((0,_index.createAnimatedValue)(z)).current,B=(0,_react.useRef)(z);(0,_react.useEffect)(()=>{const e=B.current;if(e===z)return;B.current=z;const t=_reactNative.Animated.timing(q,{toValue:z,duration:b.motion.duration.default*Math.abs(z-e),easing:_reactNative.Easing.linear,useNativeDriver:!1});return t.start(),()=>t.stop()},[z,q,b.motion]);const sliceOf=e=>q.interpolate({inputRange:[e,e+1],outputRange:["0%","100%"],extrapolate:"clamp"}),M=A<=1?"0%":q.interpolate({inputRange:[1,A],outputRange:["0%","100%"],extrapolate:"clamp"}),U=null!==P&&P<A?P:null,H=x??(null!==U?`Progress: step ${U+1} of ${A}`:`Progress: ${O} of ${A} steps done`),[G,W]=(0,_react.useState)(0),Z=A>0&&G>0?G/(2*A):0,J=(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,style:[f.container,_,m],testID:g,accessibilityRole:"progressbar",accessibilityLabel:H,accessibilityValue:{min:0,max:A,now:z},children:"segmented"===a?(()=>{const e=null!==U?i[U]:void 0,t=d?u?u(U,A,e):null!==U?`Step ${U+1} of ${A}${e?.label?` · ${e.label}`:""}`:`${O} of ${A} done`:"";return(0,_jsxRuntime.jsxs)(_reactNative.View,{children:[d?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[f.sCaption,{color:b.colors["text-muted"],fontSize:b.text.sm.size,marginBottom:b.space.sm},v],numberOfLines:1,children:t}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:f.sRow,children:i.map((e,t)=>{const i=F[t],s=`Step ${t+1} of ${A}, ${e.label}, ${i}`,r=(0,_jsxRuntime.jsx)(_reactNative.View,{testID:g?`${g}-segment-${t}`:void 0,style:[f.sTrack,{backgroundColor:N},y],children:(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[f.sFill,{backgroundColor:C,width:sliceOf(t)}]})});if(L){const n=canPressStatus(i);return(0,_jsxRuntime.jsx)(_reactNative.Pressable,{style:f.sItem,onPress:()=>handleStepPress(t),disabled:!n,accessibilityRole:"button",accessibilityLabel:s,accessibilityState:{selected:"active"===i,disabled:!n},"aria-selected":"active"===i,"aria-disabled":!n,hitSlop:{top:12,bottom:12},...(0,_hitSlop.hitSlopMarker)({top:12,bottom:12}),children:r},e.key)}return(0,_jsxRuntime.jsx)(_reactNative.View,{style:f.sItem,accessibilityRole:"text",accessibilityLabel:s,accessibilityState:{selected:"active"===i},"aria-selected":"active"===i,children:r},e.key)})})]})})():"vertical"===a?(0,_jsxRuntime.jsx)(_reactNative.View,{style:f.vCol,children:i.map((e,t)=>{const i=F[t],s=t===A-1;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:f.vRow,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:f.vLeft,children:[(0,_jsxRuntime.jsx)(StepCircle,{index:t,step:e,status:i,toneColor:C,upcomingColor:N,upcomingFillColor:V,onPressColor:C,textOnColor:I,upcomingTextColor:k,interactive:L,canPress:canPressStatus(i),totalSteps:A,onPress:handleStepPress,pulseEnabled:S,circleStyles:w,circleSlotStyle:h}),s?null:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[f.vConnectorContainer,y],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[f.vConnectorTrack,{backgroundColor:N}]}),(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[f.vConnectorFill,{backgroundColor:C,height:sliceOf(t+1)}]})]})]}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:f.vBody,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[f.vLabel,{color:"upcoming"===i?b.colors["text-subtle"]:b.colors["text-body"],fontSize:b.text.base.size,fontWeight:b.weight.semibold},v],numberOfLines:1,children:e?.label??" "}),e.description?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[f.vDescription,{color:b.colors["text-muted"],fontSize:b.text.sm.size}],numberOfLines:3,children:e.description}):null]})]},e.key)})}):(0,_jsxRuntime.jsxs)(_reactNative.View,{style:f.hRow,onLayout:e=>W(e.nativeEvent.layout.width),children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{pointerEvents:"none",style:[f.hConnectorContainer,{left:Z,right:Z},y],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[f.hConnectorTrack,{backgroundColor:N}]}),(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[f.hConnectorFill,{backgroundColor:C,width:M}]})]}),i.map((e,t)=>{const i=F[t];return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:f.hStepItem,children:[(0,_jsxRuntime.jsx)(StepCircle,{index:t,step:e,status:i,toneColor:C,upcomingColor:N,upcomingFillColor:V,onPressColor:C,textOnColor:I,upcomingTextColor:k,interactive:L,canPress:canPressStatus(i),totalSteps:A,onPress:handleStepPress,pulseEnabled:S,circleStyles:w,circleSlotStyle:h}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[f.hLabel,{color:"upcoming"===i?b.colors["text-subtle"]:b.colors["text-body"],fontSize:b.text.xs.size},v],numberOfLines:1,children:e?.label??" "})]},e.key)})]})});return p?(0,_jsxRuntime.jsx)(StepperSkeleton,{...e}):J});Stepper.displayName="Stepper";const StepperSkeleton=({steps:e,variant:t="horizontal",showCaption:i=!0,containerStyle:s,style:r,testID:n})=>{const o=(0,_index.useTheme)(),l=(0,_react.useMemo)(()=>buildStyles(o),[o]),a=(0,_react.useMemo)(()=>buildSkeletonStyles(o),[o]),c=e.length||3;return"segmented"===t?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[l.container,s,r],testID:n,accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:[i?(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"45%",height:14,style:{marginBottom:o.space.sm}}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:l.sRow,children:Array.from({length:c}).map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.View,{style:l.sItem,children:(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:"100%",height:4,radius:"pill"})},`sk-step-${t}`))})]}):"vertical"===t?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[l.container,s,r],testID:n,accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:a.vCol,children:Array.from({length:c}).map((e,t)=>{const i=t===c-1;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:a.vRow,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[a.vLeft,{width:32}],children:[(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"circle",width:24,height:24}),i?null:(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:2,height:36})]}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:a.vBody,children:[(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"55%",height:16,style:{marginBottom:o.space.xs}}),(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"80%",height:12})]})]},`sk-step-${t}`)})})}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[l.container,s,r],testID:n,accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:l.hRow,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[l.hConnectorContainer,{left:50/c+"%",right:50/c+"%"}],children:(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:"100%",height:2,radius:"pill"})}),Array.from({length:c}).map((e,t)=>(0,_jsxRuntime.jsxs)(_reactNative.View,{style:l.hStepItem,children:[(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"circle",width:24,height:24}),(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"80%",height:12,style:{marginTop:o.space.xs}})]},`sk-step-${t}`))]})})};StepperSkeleton.displayName="StepperSkeleton",Stepper.Skeleton=StepperSkeleton;const buildSkeletonStyles=e=>_reactNative.StyleSheet.create({vCol:{flexDirection:"column"},vRow:{flexDirection:"row",alignItems:"flex-start"},vLeft:{alignItems:"center"},vBody:{flex:1,paddingLeft:e.space.md,paddingBottom:e.space.lg}}),buildStyles=e=>_reactNative.StyleSheet.create({container:{width:"100%"},hRow:{flexDirection:"row",alignItems:"flex-start",justifyContent:"space-between",position:"relative"},hConnectorContainer:{position:"absolute",top:11,height:2,flexDirection:"row",alignItems:"center"},hConnectorTrack:{position:"absolute",left:0,right:0,height:2,borderRadius:e.radius.pill,..._corners.smoothCorners},hConnectorFill:{position:"absolute",left:0,height:2,borderRadius:e.radius.pill,..._corners.smoothCorners},hStepItem:{alignItems:"center",flex:1},hLabel:{marginTop:e.space.xs,textAlign:"center"},vCol:{flexDirection:"column"},vRow:{flexDirection:"row",alignItems:"flex-start"},vLeft:{alignItems:"center",alignSelf:"stretch",width:32},vConnectorContainer:{flex:1,width:2,minHeight:32,position:"relative",alignSelf:"center"},vConnectorTrack:{position:"absolute",top:0,bottom:0,width:2,borderRadius:e.radius.pill,..._corners.smoothCorners},vConnectorFill:{position:"absolute",top:0,width:2,borderRadius:e.radius.pill,..._corners.smoothCorners},vBody:{flex:1,paddingLeft:e.space.sm,paddingBottom:e.space.md},vLabel:{marginBottom:e.space.xxs},vDescription:{},sCaption:{includeFontPadding:!1},sRow:{flexDirection:"row",columnGap:e.space.xs},sItem:{flex:1},sTrack:{height:4,borderRadius:e.radius.pill,overflow:"hidden"},sFill:{height:4,borderRadius:e.radius.pill}});var _default=exports.default=Stepper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Swipeable=void 0;var cache,_react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated")),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var a,i,n=Object.defineProperty,r={__proto__:null,default:e};if(Object(e)!==e)return r;if(cache||"function"!=typeof WeakMap||(cache=new WeakMap),cache){if(cache.has(e))return cache.get(e);cache.set(e,r)}for(i in e)"default"!==i&&{}.hasOwnProperty.call(e,i)&&((a=n&&Object.getOwnPropertyDescriptor(e,i))&&(a.get||a.set)?n(r,i,a):r[i]=e[i]);return r}const SPRING_CONFIG={damping:22,stiffness:260,mass:1},DRAG_ACTIVATION_OFFSET=10,RUBBER_BAND_FACTOR=.35,FAIL_OFFSET_Y=15,toneToBg=(e,t)=>{switch(t){case"primary":return e.colors.primary;case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;default:return e.colors.neutral}},toneToOnColor=(e,t)=>{switch(t){case"primary":return e.colors["on-primary"];case"success":return e.colors["on-success"];case"warning":return e.colors["on-warning"];case"danger":return e.colors["on-danger"];default:return e.colors["on-neutral"]}},Swipeable=e=>{const{children:t,leftActions:a,rightActions:i,threshold:n,fullSwipeThreshold:r,onSwipeOpen:c,onSwipeClose:s,disabled:o=!1,haptic:l,containerStyle:u,contentStyle:d,actionStyle:_,accessibilityLabel:m,testID:h}=e,v=(0,_index.useTheme)(),p=n??80,R=r??200,N=(0,_react.useMemo)(()=>buildStyles(v),[v]),S=(0,_react.useMemo)(()=>buildActionStyles(v),[v]),b=!!a&&a.length>0,f=!!i&&i.length>0,w=_reactNative.Dimensions.get("window").width,x=b?p*(a?.length??0):0,g=f?p*(i?.length??0):0,y=(0,_reactNativeReanimated.useSharedValue)(0),j=(0,_reactNativeReanimated.useSharedValue)(0),O=(0,_react.useRef)(null);(0,_react.useEffect)(()=>()=>{(0,_reactNativeReanimated.cancelAnimation)(y),(0,_reactNativeReanimated.cancelAnimation)(j)},[y,j]);const I=(0,_react.useCallback)(e=>{O.current!==e&&(O.current=e,c?.(e))},[c]),C=(0,_react.useCallback)(()=>{null!==O.current&&(O.current=null,s?.())},[s]),G=(0,_react.useCallback)(e=>{const t="left"===e?a:i,n=t?.[0];n&&(!1!==l&&(0,_index2.triggerHaptic)("notificationSuccess"),n.onPress(),y.value=(0,_reactNativeReanimated.withSpring)(0,SPRING_CONFIG),O.current=null,s?.())},[a,i,y,s,l]),A=(0,_react.useCallback)(()=>{y.value=(0,_reactNativeReanimated.withSpring)(0,SPRING_CONFIG),C()},[y,C]),P=(0,_react.useCallback)(e=>{const t=(0,_index2.resolveHaptic)(l,"selection");t&&(0,_index2.triggerHaptic)(t),e.onPress(),A()},[A,l]),k=(0,_react.useMemo)(()=>{const e=x,t=g,a=R,i=-R,n=w,r=-w,c=p,s=b,l=f;return _reactNativeGestureHandler.Gesture.Pan().enabled(!o).withTestId(h?`${h}-gesture`:"swipeable-gesture").activeOffsetX([-10,10]).failOffsetY([-15,15]).onStart(()=>{"worklet";j.value=y.value}).onUpdate(a=>{"worklet";const i=j.value+a.translationX;y.value=i>0&&!s||i<0&&!l?0:i>e&&s?e+.35*(i-e):i<-t&&l?.35*(i+t)-t:i}).onEnd(()=>{"worklet";const o=y.value;return s&&o>=a?(y.value=(0,_reactNativeReanimated.withSpring)(n,SPRING_CONFIG),void(0,_reactNativeReanimated.runOnJS)(G)("left")):l&&o<=i?(y.value=(0,_reactNativeReanimated.withSpring)(r,SPRING_CONFIG),void(0,_reactNativeReanimated.runOnJS)(G)("right")):s&&o>=c?(y.value=(0,_reactNativeReanimated.withSpring)(e,SPRING_CONFIG),void(0,_reactNativeReanimated.runOnJS)(I)("left")):l&&o<=-c?(y.value=(0,_reactNativeReanimated.withSpring)(-t,SPRING_CONFIG),void(0,_reactNativeReanimated.runOnJS)(I)("right")):(y.value=(0,_reactNativeReanimated.withSpring)(0,SPRING_CONFIG),void(0,_reactNativeReanimated.runOnJS)(C)())})},[o,j,G,R,b,f,x,C,I,g,w,p,y,h]),F=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({transform:[{translateX:y.value}]})),T=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({opacity:x>0?Math.min(1,Math.max(0,y.value/x)):0})),M=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({opacity:g>0?Math.min(1,Math.max(0,-y.value/g)):0})),E=(0,_react.useMemo)(()=>{const e=[];return a?.forEach(t=>e.push({name:t.key,label:t.label})),i?.forEach(t=>e.push({name:t.key,label:t.label})),e},[a,i]),q=(0,_react.useCallback)(e=>{const t=e.nativeEvent.actionName,n=[...a??[],...i??[]].find(e=>e.key===t);n&&(!1!==l&&(0,_index2.triggerHaptic)("selection"),n.onPress())},[a,i,l]);return b||f?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[N.root,u],testID:h,accessibilityLabel:m,accessibilityActions:E,onAccessibilityAction:q,children:[b?(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[N.actionsRow,N.actionsLeft,{width:x},_,T],pointerEvents:"box-none",children:a?.map(e=>(0,_jsxRuntime.jsx)(ActionButton,{action:e,theme:v,actionStyles:S,width:p,onPress:P},e.key))}):null,f?(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[N.actionsRow,N.actionsRight,{width:g},_,M],pointerEvents:"box-none",children:i?.map(e=>(0,_jsxRuntime.jsx)(ActionButton,{action:e,theme:v,actionStyles:S,width:p,onPress:P},e.key))}):null,(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:k,children:(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[N.content,d,F],children:t})})]}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:u,testID:h,children:t})};exports.Swipeable=Swipeable,Swipeable.displayName="Swipeable";const ActionButton=({action:e,theme:t,actionStyles:a,width:i,onPress:n})=>{const r=e.tone??"neutral",c=toneToBg(t,r);return(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:()=>n(e),accessibilityRole:"button",accessibilityLabel:e.label,style:[a.button,{width:i,backgroundColor:c,paddingHorizontal:t.space.sm}],children:[e.icon?(0,_jsxRuntime.jsx)(_reactNative.View,{style:a.icon,children:e.icon}):null,(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[a.label,{color:toneToOnColor(t,r),fontSize:t.text.sm.size,fontWeight:t.weight.semibold}],numberOfLines:1,children:e.label})]})},buildActionStyles=e=>_reactNative.StyleSheet.create({button:{flexGrow:0,flexShrink:0,alignItems:"center",justifyContent:"center"},icon:{marginBottom:e.space.xxs},label:{textAlign:"center"}}),buildStyles=e=>_reactNative.StyleSheet.create({root:{position:"relative",overflow:"hidden"},content:{backgroundColor:"transparent"},actionsRow:{position:"absolute",top:0,bottom:0,flexDirection:"row"},actionsLeft:{left:0},actionsRight:{right:0,justifyContent:"flex-end"}});var _default=exports.default=Swipeable;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Swipeable=void 0;var cache,_react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated")),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var a,i,n=Object.defineProperty,r={__proto__:null,default:e};if(Object(e)!==e)return r;if(cache||"function"!=typeof WeakMap||(cache=new WeakMap),cache){if(cache.has(e))return cache.get(e);cache.set(e,r)}for(i in e)"default"!==i&&{}.hasOwnProperty.call(e,i)&&((a=n&&Object.getOwnPropertyDescriptor(e,i))&&(a.get||a.set)?n(r,i,a):r[i]=e[i]);return r}const SPRING_CONFIG={damping:22,stiffness:260,mass:1},DRAG_ACTIVATION_OFFSET=10,RUBBER_BAND_FACTOR=.35,FAIL_OFFSET_Y=15,toneToBg=(e,t)=>{switch(t){case"primary":return e.colors.primary;case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;default:return e.colors.neutral}},toneToOnColor=(e,t)=>{switch(t){case"primary":return e.colors["on-primary"];case"success":return e.colors["on-success"];case"warning":return e.colors["on-warning"];case"danger":return e.colors["on-danger"];default:return e.colors["on-neutral"]}},Swipeable=e=>{const{children:t,leftActions:a,rightActions:i,threshold:n,fullSwipeThreshold:r,onSwipeOpen:c,onSwipeClose:s,disabled:o=!1,haptic:l,containerStyle:u,contentStyle:d,actionStyle:_,accessibilityLabel:m,testID:h}=e,v=(0,_index.useTheme)(),p=n??80,R=r??200,N=(0,_react.useMemo)(()=>buildStyles(v),[v]),S=(0,_react.useMemo)(()=>buildActionStyles(v),[v]),b=!!a&&a.length>0,f=!!i&&i.length>0,w=_reactNative.Dimensions.get("window").width,x=b?p*(a?.length??0):0,g=f?p*(i?.length??0):0,y=(0,_reactNativeReanimated.useSharedValue)(0),j=(0,_reactNativeReanimated.useSharedValue)(0),O=(0,_react.useRef)(null);(0,_react.useEffect)(()=>()=>{(0,_reactNativeReanimated.cancelAnimation)(y),(0,_reactNativeReanimated.cancelAnimation)(j)},[y,j]);const I=(0,_react.useCallback)(e=>{O.current!==e&&(O.current=e,c?.(e))},[c]),C=(0,_react.useCallback)(()=>{null!==O.current&&(O.current=null,s?.())},[s]),G=(0,_react.useCallback)(e=>{const t="left"===e?a:i,n=t?.[0];n&&(!1!==l&&(0,_index2.triggerHaptic)("notificationSuccess"),n.onPress(),y.value=(0,_reactNativeReanimated.withSpring)(0,SPRING_CONFIG),O.current=null,s?.())},[a,i,y,s,l]),A=(0,_react.useCallback)(()=>{y.value=(0,_reactNativeReanimated.withSpring)(0,SPRING_CONFIG),C()},[y,C]),P=(0,_react.useCallback)(e=>{const t=(0,_index2.resolveHaptic)(l,"selection");t&&(0,_index2.triggerHaptic)(t),e.onPress(),A()},[A,l]),k=(0,_react.useMemo)(()=>{const e=x,t=g,a=R,i=-R,n=w,r=-w,c=p,s=b,l=f;return _reactNativeGestureHandler.Gesture.Pan().enabled(!o).withTestId(h?`${h}-gesture`:"swipeable-gesture").activeOffsetX([-10,10]).failOffsetY([-15,15]).onStart(()=>{"worklet";j.value=y.value}).onUpdate(a=>{"worklet";const i=j.value+a.translationX;y.value=i>0&&!s||i<0&&!l?0:i>e&&s?e+.35*(i-e):i<-t&&l?.35*(i+t)-t:i}).onEnd(()=>{"worklet";const o=y.value;return s&&o>=a?(y.value=(0,_reactNativeReanimated.withSpring)(n,SPRING_CONFIG),void(0,_reactNativeReanimated.runOnJS)(G)("left")):l&&o<=i?(y.value=(0,_reactNativeReanimated.withSpring)(r,SPRING_CONFIG),void(0,_reactNativeReanimated.runOnJS)(G)("right")):s&&o>=c?(y.value=(0,_reactNativeReanimated.withSpring)(e,SPRING_CONFIG),void(0,_reactNativeReanimated.runOnJS)(I)("left")):l&&o<=-c?(y.value=(0,_reactNativeReanimated.withSpring)(-t,SPRING_CONFIG),void(0,_reactNativeReanimated.runOnJS)(I)("right")):(y.value=(0,_reactNativeReanimated.withSpring)(0,SPRING_CONFIG),void(0,_reactNativeReanimated.runOnJS)(C)())})},[o,j,G,R,b,f,x,C,I,g,w,p,y,h]),F=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({transform:[{translateX:y.value}]})),T=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({opacity:x>0?Math.min(1,Math.max(0,y.value/x)):0})),M=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({opacity:g>0?Math.min(1,Math.max(0,-y.value/g)):0})),E=(0,_react.useMemo)(()=>{const e=[];return a?.forEach(t=>{e.push({name:t.key,label:t.label})}),i?.forEach(t=>{e.push({name:t.key,label:t.label})}),e},[a,i]),q=(0,_react.useCallback)(e=>{const t=e.nativeEvent.actionName,n=[...a??[],...i??[]].find(e=>e.key===t);n&&(!1!==l&&(0,_index2.triggerHaptic)("selection"),n.onPress())},[a,i,l]);return b||f?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[N.root,u],testID:h,accessibilityLabel:m,accessibilityActions:E,onAccessibilityAction:q,children:[b?(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[N.actionsRow,N.actionsLeft,{width:x},_,T],pointerEvents:"box-none",children:a?.map(e=>(0,_jsxRuntime.jsx)(ActionButton,{action:e,theme:v,actionStyles:S,width:p,onPress:P},e.key))}):null,f?(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[N.actionsRow,N.actionsRight,{width:g},_,M],pointerEvents:"box-none",children:i?.map(e=>(0,_jsxRuntime.jsx)(ActionButton,{action:e,theme:v,actionStyles:S,width:p,onPress:P},e.key))}):null,(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:k,children:(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[N.content,d,F],children:t})})]}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:u,testID:h,children:t})};exports.Swipeable=Swipeable,Swipeable.displayName="Swipeable";const ActionButton=({action:e,theme:t,actionStyles:a,width:i,onPress:n})=>{const r=e.tone??"neutral",c=toneToBg(t,r);return(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:()=>n(e),accessibilityRole:"button",accessibilityLabel:e.label,style:[a.button,{width:i,backgroundColor:c,paddingHorizontal:t.space.sm}],children:[e.icon?(0,_jsxRuntime.jsx)(_reactNative.View,{style:a.icon,children:e.icon}):null,(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[a.label,{color:toneToOnColor(t,r),fontSize:t.text.sm.size,fontWeight:t.weight.semibold}],numberOfLines:1,children:e.label})]})},buildActionStyles=e=>_reactNative.StyleSheet.create({button:{flexGrow:0,flexShrink:0,alignItems:"center",justifyContent:"center"},icon:{marginBottom:e.space.xxs},label:{textAlign:"center"}}),buildStyles=e=>_reactNative.StyleSheet.create({root:{position:"relative",overflow:"hidden"},content:{backgroundColor:"transparent"},actionsRow:{position:"absolute",top:0,bottom:0,flexDirection:"row"},actionsLeft:{left:0},actionsRight:{right:0,justifyContent:"flex-end"}});var _default=exports.default=Swipeable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Switch=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_ChoiceText=require("../FieldBase/ChoiceText.js"),_FieldBase=require("../FieldBase/FieldBase.js"),_jsxRuntime=require("react/jsx-runtime");const toneColor=(e,t)=>{switch(t){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;default:return e.colors.primary}},Switch=exports.Switch=(0,_react.forwardRef)((e,t)=>{const{value:i,defaultValue:s,onChange:r,disabled:a=!1,size:n="md",tone:o="primary",label:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Switch=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_hitSlop=require("../../utils/hitSlop.js"),_ChoiceText=require("../FieldBase/ChoiceText.js"),_FieldBase=require("../FieldBase/FieldBase.js"),_jsxRuntime=require("react/jsx-runtime");const toneColor=(e,t)=>{switch(t){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;default:return e.colors.primary}},Switch=exports.Switch=(0,_react.forwardRef)((e,t)=>{const{value:i,defaultValue:s,onChange:r,disabled:a=!1,size:n="md",tone:o="primary",label:l,description:c,error:d,labelLines:u,layout:h="inline",accessibilityLabel:p,haptic:_="selection",bounce:m=!1,style:b,containerStyle:x,trackStyle:f,thumbStyle:g,testID:y,hitSlop:v,...w}=e,[S,j]=(0,_index.useControllableState)({value:i,defaultValue:s??!1,onChange:r}),R=(0,_index2.useTheme)(),C=(0,_react.useMemo)(()=>(0,_index2.resolveSwitchSize)(R,n),[R,n]),N=R.colors.thumb,T=(0,_react.useMemo)(()=>buildStyles(R),[R]),k="dark"===R.mode?R.colors.neutral:R.colors["surface-disabled"],V=toneColor(R,o),A=v??8,F=(0,_react.useRef)((0,_index2.createAnimatedValue)(S?1:0)).current;(0,_react.useEffect)(()=>{const e=_reactNative.Animated.spring(F,{toValue:S?1:0,damping:R.motion.spring.snappy.damping,stiffness:R.motion.spring.snappy.stiffness,mass:R.motion.spring.snappy.mass,useNativeDriver:!0});return e.start(),()=>e.stop()},[S,F,R.motion.spring.snappy]);const q=(0,_react.useRef)((0,_index2.createAnimatedValue)(S?1:0)).current;(0,_react.useEffect)(()=>{const e=_reactNative.Animated.timing(q,{toValue:S?1:0,duration:R.motion.duration.fast,easing:_reactNative.Easing.out(_reactNative.Easing.ease),useNativeDriver:!1});return e.start(),()=>e.stop()},[S,q,R.motion.duration.fast]);const D=C.padding,B=C["track-width"]-C["thumb-size"]-C.padding,L=F.interpolate({inputRange:[0,1],outputRange:[D,B]}),z=q.interpolate({inputRange:[0,1],outputRange:[k,V]}),E=(0,_react.useRef)((0,_index2.createAnimatedValue)(1)).current,H=(0,_react.useRef)(!0);(0,_react.useEffect)(()=>{if(!m)return;if(H.current)return void(H.current=!1);const e=_reactNative.Animated.sequence([_reactNative.Animated.spring(E,{toValue:1.15,damping:10,stiffness:220,mass:1,useNativeDriver:!0}),_reactNative.Animated.spring(E,{toValue:1,damping:14,stiffness:240,mass:1,useNativeDriver:!0})]);return e.start(),()=>e.stop()},[S,m,E]);const handlePress=e=>{a||(!1!==_&&(0,_hapticUtils.triggerHaptic)(_),j(!S),w.onPressOut?.(e))},P=p??(0,_FieldBase.fieldTextAsString)(l),I=(0,_FieldBase.hasFieldText)(l)||(0,_ChoiceText.hasChoiceDetail)(c,d),M=(!0===d||(0,_FieldBase.hasFieldText)(d))&&!S&&!a,U="row"===h&&I,O=(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{style:[T.track,{width:C["track-width"],height:C["track-height"],borderRadius:R.radius.pill,..._corners.smoothCorners,backgroundColor:z},f],children:[M?(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[T.errorRing,{borderRadius:R.radius.pill,..._corners.smoothCorners,borderWidth:R.size.border,borderColor:R.colors["field-border-error"]}]}):null,(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[T.thumb,R.shadow.card,{backgroundColor:N,width:C["thumb-size"],height:C["thumb-size"],borderRadius:R.radius.pill,..._corners.smoothCorners,transform:[{translateX:L},{scale:E}]},g]})]});if(U)return(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{ref:t,onPress:handlePress,disabled:a,accessibilityRole:"switch",accessibilityLabel:P,accessibilityHint:w.accessibilityHint??(0,_FieldBase.fieldTextAsString)(c),accessibilityState:{checked:S,disabled:a},"aria-checked":S,"aria-disabled":a,testID:y,hitSlop:v,...null==v?{}:(0,_hitSlop.hitSlopMarker)(v),...w,style:({pressed:e})=>[T.row,T.spreadRow,(0,_ChoiceText.hasChoiceDetail)(c,d)?T.rowTop:null,{opacity:a?.55:e?.9:1},x,b],children:[(0,_jsxRuntime.jsx)(_ChoiceText.ChoiceText,{label:l,description:c,error:d,disabled:a,labelLines:u||void 0,descriptionLines:u||void 0,style:T.spreadText}),O]});const W=(0,_jsxRuntime.jsx)(_reactNative.Pressable,{ref:t,onPress:handlePress,disabled:a,accessibilityRole:"switch",accessibilityLabel:P,accessibilityHint:w.accessibilityHint??(0,_FieldBase.fieldTextAsString)(c),accessibilityState:{checked:S,disabled:a},"aria-checked":S,"aria-disabled":a,testID:y,hitSlop:A,...(0,_hitSlop.hitSlopMarker)(A),...w,style:({pressed:e})=>[{opacity:a?.55:e?.9:1},I?null:b],children:O});return I?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[T.row,(0,_ChoiceText.hasChoiceDetail)(c,d)?T.rowTop:null,x,b],children:[W,(0,_jsxRuntime.jsx)(_ChoiceText.ChoiceText,{label:l,description:c,error:d,disabled:a,labelLines:u||void 0,descriptionLines:u||void 0,style:T.text})]}):x?(0,_jsxRuntime.jsx)(_reactNative.View,{style:x,children:W}):W});Switch.displayName="Switch";const buildStyles=e=>_reactNative.StyleSheet.create({row:{flexDirection:"row",alignItems:"center"},track:{justifyContent:"center"},thumb:{position:"absolute",top:2},errorRing:{..._reactNative.StyleSheet.absoluteFill},rowTop:{alignItems:"flex-start"},text:{marginLeft:e.space.sm},spreadRow:{minHeight:44,justifyContent:"space-between"},spreadText:{flex:1,marginRight:e.space.md}});var _default=exports.default=Switch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.resolveColor=exports.default=exports.Text=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_jsxRuntime=require("react/jsx-runtime");const VARIANTS={display:{size:"4xl",weight:"bold",line:"display",color:"primary",heading:!0,fontFamily:"display"},h1:{size:"3xl",weight:"bold",line:"heading",color:"primary",heading:!0,fontFamily:"display"},h2:{size:"2xl",weight:"semibold",line:"heading",color:"primary",heading:!0,fontFamily:"display"},h3:{size:"xl",weight:"semibold",line:"heading",color:"primary",heading:!0},title:{size:"lg",weight:"semibold",line:"body",color:"primary",fontFamily:"display"},body:{size:"base",weight:"normal",line:"body",color:"primary"},bodySmall:{size:"sm",weight:"normal",line:"body",color:"secondary"},caption:{size:"xs",weight:"normal",line:"body",color:"tertiary"},label:{size:"sm",weight:"medium",line:"body",color:"secondary"},overline:{size:"xs",weight:"semibold",line:"body",color:"secondary",uppercase:!0,letterSpacing:"wide"}},TEXT_ROLE_COLOR={textStrong:"text",primary:"text-body",secondary:"text-muted",tertiary:"text-subtle",inverse:"text-inverse",disabled:"text-disabled",link:"link"},SEMANTIC={success:!0,warning:!0,danger:!0,info:!0},resolveColor=(e,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.resolveColor=exports.default=exports.Text=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_Notation=require("../Notation/Notation.js"),_jsxRuntime=require("react/jsx-runtime");const VARIANTS={display:{size:"4xl",weight:"bold",line:"display",color:"primary",heading:!0,fontFamily:"display"},h1:{size:"3xl",weight:"bold",line:"heading",color:"primary",heading:!0,fontFamily:"display"},h2:{size:"2xl",weight:"semibold",line:"heading",color:"primary",heading:!0,fontFamily:"display"},h3:{size:"xl",weight:"semibold",line:"heading",color:"primary",heading:!0},title:{size:"lg",weight:"semibold",line:"body",color:"primary",fontFamily:"display"},body:{size:"base",weight:"normal",line:"body",color:"primary"},bodySmall:{size:"sm",weight:"normal",line:"body",color:"secondary"},caption:{size:"xs",weight:"normal",line:"body",color:"tertiary"},label:{size:"sm",weight:"medium",line:"body",color:"secondary"},overline:{size:"xs",weight:"semibold",line:"body",color:"secondary",uppercase:!0,letterSpacing:"wide"}},TEXT_ROLE_COLOR={textStrong:"text",primary:"text-body",secondary:"text-muted",tertiary:"text-subtle",inverse:"text-inverse",disabled:"text-disabled",link:"link"},SEMANTIC={success:!0,warning:!0,danger:!0,info:!0},resolveColor=(e,t)=>Object.hasOwn(TEXT_ROLE_COLOR,t)?e.colors[TEXT_ROLE_COLOR[t]]:Object.hasOwn(SEMANTIC,t)?e.colors[`${t}-text`]:t;exports.resolveColor=resolveColor;const Text=exports.Text=(0,_react.forwardRef)((e,t)=>{const{variant:i="body",color:o,weight:r,size:n,align:a,italic:l,underline:s,style:d,children:c,...y}=e,x=(0,_index.useTheme)(),p=Object.hasOwn(VARIANTS,i),g=x.settings.textVariants,u=!p&&g&&Object.hasOwn(g,i)?g[i]:void 0;p||u||(0,_warnInvalidValue.warnInvalidValue)("Text","variant",e.variant,[...Object.keys(VARIANTS),...Object.keys(g??{})]);const m=(0,_react.useMemo)(()=>{if(u){const e="string"==typeof n?n:u.size,t="number"==typeof n?n:x.text[e].size;return{fontSize:t,lineHeight:u.lineHeight??("number"==typeof n?void 0:Math.round(t*x.leading[u.heading?"heading":"body"])),color:void 0!==o?resolveColor(x,o):u.color?x.colors[u.color]:resolveColor(x,"primary"),textAlign:a,textTransform:u.uppercase?"uppercase":void 0,letterSpacing:u.letterSpacing?x["letter-spacing"][u.letterSpacing]:void 0,fontStyle:l||u.italic?"italic":void 0,fontVariant:u.fontVariant,textDecorationLine:s?"underline":void 0,...(0,_index.fontFor)(x,r??u.weight??"normal",u.fontFamily)}}const e=VARIANTS[p?i:"body"],t="number"==typeof n?n:x.text[n??e.size].size;return{fontSize:t,lineHeight:Math.round(t*x.leading[e.line]),color:resolveColor(x,o??e.color),textAlign:a,textTransform:e.uppercase?"uppercase":void 0,letterSpacing:e.letterSpacing?x["letter-spacing"][e.letterSpacing]:void 0,fontStyle:l?"italic":void 0,textDecorationLine:s?"underline":void 0,...(0,_index.fontFor)(x,r??e.weight,e.fontFamily)}},[x,u,p,i,o,r,n,a,l,s]),h=(0,_Notation.useNotationInk)([m,d],x.text.base.size,x.colors["text-body"]),b=p?VARIANTS[i].heading:u?.heading,v="string"==typeof c||"number"==typeof c;return(0,_jsxRuntime.jsx)(_reactNative.Text,{ref:t,style:[m,d],maxFontSizeMultiplier:x.settings.maxFontSizeMultiplier,accessibilityRole:b?"header":y.accessibilityRole,...y,children:v?c:(0,_jsxRuntime.jsx)(_Notation.NotationInkContext.Provider,{value:h,children:c})})});Text.displayName="Text";var _default=exports.default=Text;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Toast=void 0;var _react=require("react"),_reactNative=require("react-native"),_usePresenceMotion=require("../../hooks/usePresenceMotion.js"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_jsxRuntime=require("react/jsx-runtime");const SWIPE_DISMISS_THRESHOLD=80,SWIPE_VELOCITY_THRESHOLD=.5,STACK_OFFSET=8,STACK_SCALE_STEP=.04,DEFAULT_AUTO_DISMISS_MS=3e3,WEB_ACTION_MIN_DURATION_MS=8e3,COUNTDOWN_BAR_HEIGHT=3,ACTION_HIT_SLOP={top:10,bottom:10,left:10,right:10},DISMISS_ACTIONS=[{name:"dismiss",label:"Dismiss"}],Toast=({toast:e,index:t,onDismiss:a,shownAt:i,runtime:n})=>{const r=(0,_index.useTheme)(),s=(0,_usePresenceMotion.usePresenceMotion)(),o=s.duration("fast"),c=e.variant??"default",l=e.position??"bottom",u=(0,_react.useMemo)(()=>buildStyles(r),[r]),d=(0,_react.useMemo)(()=>tintFor(r,c),[r,c]),m=(0,_react.useMemo)(()=>inkFor(r,c),[r,c]),_=r.components.toast["icon-circle-size"],p=r.text[r.components.toast["icon-glyph-text"]].size,v=r.components.toast["tint-bar-width"],g=r.settings.components.toast?.defaultDurationMs??3e3,x=r.settings.components.toast?.enableSwipeDismiss??!0,h="top"===l?-120:120,f=(0,_react.useRef)((0,_index.createAnimatedValue)(s.reduced?0:h)).current,N=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,b=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,A=(0,_react.useRef)(!1),y="top"===l?8*t:8*-t,S=Math.max(1-.04*t,.9),w=(0,_react.useRef)((0,_index.createAnimatedValue)(y)).current;(0,_react.useEffect)(()=>{(0,_index.setNativeValue)(w,y)},[y,w]);const R=(0,_react.useMemo)(()=>_reactNative.Animated.add(f,w),[f,w]),M=void 0!==e.action,T=e.duration??g,V=T>0&&M&&"web"===_reactNative.Platform.OS?Math.max(T,8e3):T,D=V<=0||M&&!0===n?.screenReaderOn,j=!0===e.countdown&&!D,C=(0,_react.useRef)((0,_index.createAnimatedValue)(1)).current,I=(0,_react.useRef)({initialised:!1,timer:null,remaining:0,startedAt:0}),E=(0,_react.useRef)({touch:!1,pan:!1,hover:!1}),P=(0,_react.useRef)(()=>{}),O=(0,_react.useRef)({id:e.id,totalMs:V,shownAt:i,runtime:n,persistent:D,animateBar:!1});O.current={id:e.id,totalMs:V,shownAt:i,runtime:n,persistent:D,animateBar:j&&!s.reduced};const k=(0,_react.useCallback)(()=>{const e=I.current,t=O.current,a=E.current;if(!e.initialised){e.initialised=!0;const a=t.runtime?.readRemaining(t.id),i=void 0===t.shownAt?0:Date.now()-t.shownAt;e.remaining=a??(t.totalMs>0?Math.max(t.totalMs-i,0):0),t.totalMs>0&&e.remaining<t.totalMs&&(0,_index.setNativeValue)(C,e.remaining/t.totalMs)}const i=!(t.persistent||A.current||a.touch||a.pan||a.hover);i&&null===e.timer?(e.startedAt=Date.now(),e.timer=setTimeout(()=>{e.timer=null,e.remaining=0,P.current()},e.remaining),t.animateBar&&_reactNative.Animated.timing(C,{toValue:0,duration:e.remaining,easing:_reactNative.Easing.linear,useNativeDriver:!0}).start()):i||null===e.timer||(clearTimeout(e.timer),e.timer=null,e.remaining=Math.max(e.remaining-(Date.now()-e.startedAt),0),C.stopAnimation())},[C]),dismiss=()=>{if(A.current)return;A.current=!0,k();const t=[_reactNative.Animated.timing(b,{toValue:0,duration:o,easing:_reactNative.Easing.bezier(...r.motion.ease.accelerate),useNativeDriver:!0})];s.reduced||t.push(_reactNative.Animated.timing(f,{toValue:h,duration:r.motion.duration.fast,easing:_reactNative.Easing.bezier(...r.motion.ease.accelerate),useNativeDriver:!0})),_reactNative.Animated.parallel(t).start(()=>a(e.id))};P.current=dismiss,(0,_react.useEffect)(()=>{const e=s.reduced?_reactNative.Animated.timing(b,{toValue:1,duration:o,useNativeDriver:!0}):_reactNative.Animated.parallel([_reactNative.Animated.spring(f,{toValue:0,damping:18,stiffness:180,mass:1,useNativeDriver:!0}),_reactNative.Animated.timing(b,{toValue:1,duration:o,useNativeDriver:!0})]);return e.start(),()=>e.stop()},[]),(0,_react.useEffect)(()=>{k()},[D,k]),(0,_react.useEffect)(()=>()=>{const e=I.current,t=O.current;null!==e.timer&&(clearTimeout(e.timer),e.timer=null,e.remaining=Math.max(e.remaining-(Date.now()-e.startedAt),0)),C.stopAnimation(),e.initialised&&t.totalMs>0&&!A.current&&t.runtime?.writeRemaining(t.id,e.remaining)},[C]);const L=(0,_react.useCallback)((e,t)=>{E.current[e]=t,k()},[k]),H=(0,_react.useCallback)(()=>L("touch",!0),[L]),F=(0,_react.useCallback)(e=>L("touch",(e.nativeEvent.touches?.length??0)>0),[L]),z=(0,_react.useCallback)(()=>L("hover",!0),[L]),B=(0,_react.useCallback)(()=>L("hover",!1),[L]),q=(0,_react.useMemo)(()=>_reactNative.PanResponder.create({onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>Math.abs(t.dy)&&Math.abs(t.dx)>6,onPanResponderGrant:()=>L("pan",!0),onPanResponderMove:(e,t)=>{(0,_index.setNativeValue)(N,t.dx);const a=1-.7*Math.min(Math.abs(t.dx)/200,1);(0,_index.setNativeValue)(b,a)},onPanResponderTerminate:()=>{if(L("pan",!1),s.reduced)return(0,_index.setNativeValue)(N,0),void _reactNative.Animated.timing(b,{toValue:1,duration:o,useNativeDriver:!0}).start();_reactNative.Animated.parallel([_reactNative.Animated.spring(N,{toValue:0,damping:r.motion.spring.snappy.damping,stiffness:r.motion.spring.snappy.stiffness,mass:r.motion.spring.snappy.mass,useNativeDriver:!0}),_reactNative.Animated.timing(b,{toValue:1,duration:o,useNativeDriver:!0})]).start()},onPanResponderRelease:(t,i)=>{if(Math.abs(i.dx)>80||Math.abs(i.vx)>.5){const t=i.dx>=0?1:-1;A.current=!0,L("pan",!1);const n=[_reactNative.Animated.timing(b,{toValue:0,duration:o,useNativeDriver:!0})];s.reduced||n.push(_reactNative.Animated.timing(N,{toValue:500*t,duration:r.motion.duration.fast,useNativeDriver:!0})),_reactNative.Animated.parallel(n).start(()=>a(e.id))}else L("pan",!1),s.reduced?((0,_index.setNativeValue)(N,0),_reactNative.Animated.timing(b,{toValue:1,duration:o,useNativeDriver:!0}).start()):_reactNative.Animated.parallel([_reactNative.Animated.spring(N,{toValue:0,useNativeDriver:!0}),_reactNative.Animated.spring(b,{toValue:1,useNativeDriver:!0})]).start()}}),[N,b,L,o,s.reduced,r.motion.duration.fast,r.motion.spring.snappy.damping,r.motion.spring.snappy.stiffness,r.motion.spring.snappy.mass,a,e.id]),G={accessibilityActions:DISMISS_ACTIONS,onAccessibilityAction:e=>{"dismiss"===e.nativeEvent.actionName&&dismiss()}},[W,U]=(0,_react.useState)(0),$=(0,_react.useMemo)(()=>C.interpolate({inputRange:[0,1],outputRange:[-W,0]}),[C,W]),K=e.description?`${e.message}. ${e.description}`:e.message,X=e.action&&j?`${e.action.label}, ${Math.ceil(V/1e3)} seconds`:e.action?.label;return(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{...x?q.panHandlers:{},...M?{}:{accessible:!0,...G},..."web"===_reactNative.Platform.OS?{onPointerEnter:z,onPointerLeave:B}:{},onTouchStart:H,onTouchEnd:F,onTouchCancel:F,accessibilityLabel:K,testID:e.testID,style:[u.container,{backgroundColor:r.colors.surface,borderRadius:r.radius.lg,..._corners.smoothCorners,padding:r.space.md,...r.shadow.elevated,opacity:b,transform:[{translateY:R},{translateX:N},{scale:S}]},e.style,e.containerStyle],children:[v>0?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[u.tintBar,{width:v,backgroundColor:d}]}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:u.row,children:[(()=>{if(e.icon)return e.icon;const t=defaultGlyph(c);return t?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[u.iconCircle,{width:_,height:_,borderRadius:r.radius.pill,..._corners.smoothCorners,backgroundColor:d+"22"},e.iconCircleStyle],children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[u.iconGlyph,{color:m,fontSize:p}],accessible:!1,children:t})}):null})(),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:u.textBlock,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[u.message,{color:r.colors["text-body"],fontSize:r.text.base.size,...(0,_index.fontFor)(r,"semibold")},e.textStyle,e.messageStyle],numberOfLines:2,children:e.message}),e.description?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[u.description,{color:r.colors["text-muted"],fontSize:r.text.sm.size}],numberOfLines:3,children:e.description}):null]}),e.action?(0,_jsxRuntime.jsx)(_reactNative.Pressable,{accessibilityRole:"button",accessibilityLabel:X,hitSlop:ACTION_HIT_SLOP,...G,onPress:()=>{e.action?.onPress(),dismiss()},style:({pressed:t})=>[u.actionBtn,{backgroundColor:t?r.colors["surface-pressed"]:"transparent"},e.actionButtonStyle],children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:{color:d,fontSize:r.text.sm.size,...(0,_index.fontFor)(r,"semibold")},numberOfLines:1,children:e.action.label})}):null]}),j?(0,_jsxRuntime.jsxs)(_reactNative.View,{pointerEvents:"none",accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",onLayout:e=>U(e.nativeEvent.layout.width),testID:"toast-countdown",style:[u.countdownTrack,{backgroundColor:d+"22"}],children:[s.reduced?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[u.countdownFill,{backgroundColor:d}]}):null,!s.reduced&&W>0?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[u.countdownFill,{backgroundColor:d,transform:[{translateX:$}]}]}):null]}):null]})};exports.Toast=Toast;const tintFor=(e,t)=>{switch(t){case"success":return e.colors.success;case"danger":return e.colors.danger;case"warning":return e.colors.warning;case"info":return e.colors.info;default:return e.colors["text-body"]}},inkFor=(e,t)=>{switch(t){case"success":return e.colors["success-text"];case"danger":return e.colors["danger-text"];case"warning":return e.colors["warning-text"];case"info":return e.colors["info-text"];default:return e.colors["text-body"]}},defaultGlyph=e=>{switch(e){case"success":return"✓";case"danger":return"×";case"warning":return"!";case"info":return"i";default:return""}},buildStyles=e=>_reactNative.StyleSheet.create({container:{overflow:"hidden",marginVertical:e.space.xs},tintBar:{position:"absolute",left:0,top:0,bottom:0},row:{flexDirection:"row",alignItems:"center",paddingLeft:e.space.sm},iconCircle:{alignItems:"center",justifyContent:"center",marginRight:e.space.md},iconGlyph:{fontWeight:"700",lineHeight:19},textBlock:{flex:1,paddingRight:e.space.sm},message:{lineHeight:20},description:{marginTop:e.space.xxs,lineHeight:18},countdownTrack:{position:"absolute",left:0,right:0,bottom:0,height:3,overflow:"hidden"},countdownFill:{position:"absolute",left:0,right:0,top:0,bottom:0},actionBtn:{paddingHorizontal:e.space.sm,paddingVertical:e.space.xs,minHeight:e.components.toast["action-min-height"],borderRadius:e.radius.md,..._corners.smoothCorners,marginLeft:e.space.sm}});var _default=exports.default=Toast;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Toast=void 0;var _react=require("react"),_reactNative=require("react-native"),_usePresenceMotion=require("../../hooks/usePresenceMotion.js"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hitSlop=require("../../utils/hitSlop.js"),_jsxRuntime=require("react/jsx-runtime");const SWIPE_DISMISS_THRESHOLD=80,SWIPE_VELOCITY_THRESHOLD=.5,STACK_OFFSET=8,STACK_SCALE_STEP=.04,DEFAULT_AUTO_DISMISS_MS=3e3,WEB_ACTION_MIN_DURATION_MS=8e3,COUNTDOWN_BAR_HEIGHT=3,ACTION_HIT_SLOP={top:10,bottom:10,left:10,right:10},DISMISS_ACTIONS=[{name:"dismiss",label:"Dismiss"}],Toast=({toast:e,index:t,onDismiss:i,shownAt:a,runtime:n})=>{const r=(0,_index.useTheme)(),s=(0,_usePresenceMotion.usePresenceMotion)(),o=s.duration("fast"),c=e.variant??"default",l=e.position??"bottom",u=(0,_react.useMemo)(()=>buildStyles(r),[r]),d=(0,_react.useMemo)(()=>tintFor(r,c),[r,c]),m=(0,_react.useMemo)(()=>inkFor(r,c),[r,c]),_=r.components.toast["icon-circle-size"],p=r.text[r.components.toast["icon-glyph-text"]].size,v=r.components.toast["tint-bar-width"],g=r.settings.components.toast?.defaultDurationMs??3e3,h=r.settings.components.toast?.enableSwipeDismiss??!0,x="top"===l?-120:120,f=(0,_react.useRef)((0,_index.createAnimatedValue)(s.reduced?0:x)).current,N=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,b=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,A=(0,_react.useRef)(!1),S="top"===l?8*t:8*-t,y=Math.max(1-.04*t,.9),w=(0,_react.useRef)((0,_index.createAnimatedValue)(S)).current;(0,_react.useEffect)(()=>{(0,_index.setNativeValue)(w,S)},[S,w]);const R=(0,_react.useMemo)(()=>_reactNative.Animated.add(f,w),[f,w]),M=void 0!==e.action,T=e.duration??g,V=T>0&&M&&"web"===_reactNative.Platform.OS?Math.max(T,8e3):T,D=V<=0||M&&!0===n?.screenReaderOn,j=!0===e.countdown&&!D,C=(0,_react.useRef)((0,_index.createAnimatedValue)(1)).current,I=(0,_react.useRef)({initialised:!1,timer:null,remaining:0,startedAt:0}),E=(0,_react.useRef)({touch:!1,pan:!1,hover:!1}),O=(0,_react.useRef)(()=>{}),P=(0,_react.useRef)({id:e.id,totalMs:V,shownAt:a,runtime:n,persistent:D,animateBar:!1});P.current={id:e.id,totalMs:V,shownAt:a,runtime:n,persistent:D,animateBar:j&&!s.reduced};const k=(0,_react.useCallback)(()=>{const e=I.current,t=P.current,i=E.current;if(!e.initialised){e.initialised=!0;const i=t.runtime?.readRemaining(t.id),a=void 0===t.shownAt?0:Date.now()-t.shownAt;e.remaining=i??(t.totalMs>0?Math.max(t.totalMs-a,0):0),t.totalMs>0&&e.remaining<t.totalMs&&(0,_index.setNativeValue)(C,e.remaining/t.totalMs)}const a=!(t.persistent||A.current||i.touch||i.pan||i.hover);a&&null===e.timer?(e.startedAt=Date.now(),e.timer=setTimeout(()=>{e.timer=null,e.remaining=0,O.current()},e.remaining),t.animateBar&&_reactNative.Animated.timing(C,{toValue:0,duration:e.remaining,easing:_reactNative.Easing.linear,useNativeDriver:!0}).start()):a||null===e.timer||(clearTimeout(e.timer),e.timer=null,e.remaining=Math.max(e.remaining-(Date.now()-e.startedAt),0),C.stopAnimation())},[C]),dismiss=()=>{if(A.current)return;A.current=!0,k();const t=[_reactNative.Animated.timing(b,{toValue:0,duration:o,easing:_reactNative.Easing.bezier(...r.motion.ease.accelerate),useNativeDriver:!0})];s.reduced||t.push(_reactNative.Animated.timing(f,{toValue:x,duration:r.motion.duration.fast,easing:_reactNative.Easing.bezier(...r.motion.ease.accelerate),useNativeDriver:!0})),_reactNative.Animated.parallel(t).start(()=>i(e.id))};O.current=dismiss,(0,_react.useEffect)(()=>{const e=s.reduced?_reactNative.Animated.timing(b,{toValue:1,duration:o,useNativeDriver:!0}):_reactNative.Animated.parallel([_reactNative.Animated.spring(f,{toValue:0,damping:18,stiffness:180,mass:1,useNativeDriver:!0}),_reactNative.Animated.timing(b,{toValue:1,duration:o,useNativeDriver:!0})]);return e.start(),()=>e.stop()},[]),(0,_react.useEffect)(()=>{k()},[D,k]),(0,_react.useEffect)(()=>()=>{const e=I.current,t=P.current;null!==e.timer&&(clearTimeout(e.timer),e.timer=null,e.remaining=Math.max(e.remaining-(Date.now()-e.startedAt),0)),C.stopAnimation(),e.initialised&&t.totalMs>0&&!A.current&&t.runtime?.writeRemaining(t.id,e.remaining)},[C]);const L=(0,_react.useCallback)((e,t)=>{E.current[e]=t,k()},[k]),H=(0,_react.useCallback)(()=>L("touch",!0),[L]),F=(0,_react.useCallback)(e=>L("touch",(e.nativeEvent.touches?.length??0)>0),[L]),z=(0,_react.useCallback)(()=>L("hover",!0),[L]),B=(0,_react.useCallback)(()=>L("hover",!1),[L]),q=(0,_react.useMemo)(()=>_reactNative.PanResponder.create({onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>Math.abs(t.dy)&&Math.abs(t.dx)>6,onPanResponderGrant:()=>L("pan",!0),onPanResponderMove:(e,t)=>{(0,_index.setNativeValue)(N,t.dx);const i=1-.7*Math.min(Math.abs(t.dx)/200,1);(0,_index.setNativeValue)(b,i)},onPanResponderTerminate:()=>{if(L("pan",!1),s.reduced)return(0,_index.setNativeValue)(N,0),void _reactNative.Animated.timing(b,{toValue:1,duration:o,useNativeDriver:!0}).start();_reactNative.Animated.parallel([_reactNative.Animated.spring(N,{toValue:0,damping:r.motion.spring.snappy.damping,stiffness:r.motion.spring.snappy.stiffness,mass:r.motion.spring.snappy.mass,useNativeDriver:!0}),_reactNative.Animated.timing(b,{toValue:1,duration:o,useNativeDriver:!0})]).start()},onPanResponderRelease:(t,a)=>{if(Math.abs(a.dx)>80||Math.abs(a.vx)>.5){const t=a.dx>=0?1:-1;A.current=!0,L("pan",!1);const n=[_reactNative.Animated.timing(b,{toValue:0,duration:o,useNativeDriver:!0})];s.reduced||n.push(_reactNative.Animated.timing(N,{toValue:500*t,duration:r.motion.duration.fast,useNativeDriver:!0})),_reactNative.Animated.parallel(n).start(()=>i(e.id))}else L("pan",!1),s.reduced?((0,_index.setNativeValue)(N,0),_reactNative.Animated.timing(b,{toValue:1,duration:o,useNativeDriver:!0}).start()):_reactNative.Animated.parallel([_reactNative.Animated.spring(N,{toValue:0,useNativeDriver:!0}),_reactNative.Animated.spring(b,{toValue:1,useNativeDriver:!0})]).start()}}),[N,b,L,o,s.reduced,r.motion.duration.fast,r.motion.spring.snappy.damping,r.motion.spring.snappy.stiffness,r.motion.spring.snappy.mass,i,e.id]),G={accessibilityActions:DISMISS_ACTIONS,onAccessibilityAction:e=>{"dismiss"===e.nativeEvent.actionName&&dismiss()}},[$,W]=(0,_react.useState)(0),U=(0,_react.useMemo)(()=>C.interpolate({inputRange:[0,1],outputRange:[-$,0]}),[C,$]),K=e.description?`${e.message}. ${e.description}`:e.message,X=e.action&&j?`${e.action.label}, ${Math.ceil(V/1e3)} seconds`:e.action?.label;return(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{...h?q.panHandlers:{},...M?{}:{accessible:!0,...G},..."web"===_reactNative.Platform.OS?{onPointerEnter:z,onPointerLeave:B}:{},onTouchStart:H,onTouchEnd:F,onTouchCancel:F,accessibilityLabel:K,testID:e.testID,style:[u.container,{backgroundColor:r.colors.surface,borderRadius:r.radius.lg,..._corners.smoothCorners,padding:r.space.md,...r.shadow.elevated,opacity:b,transform:[{translateY:R},{translateX:N},{scale:y}]},e.style,e.containerStyle],children:[v>0?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[u.tintBar,{width:v,backgroundColor:d}]}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:u.row,children:[(()=>{if(e.icon)return e.icon;const t=defaultGlyph(c);return t?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[u.iconCircle,{width:_,height:_,borderRadius:r.radius.pill,..._corners.smoothCorners,backgroundColor:`${d}22`},e.iconCircleStyle],children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[u.iconGlyph,{color:m,fontSize:p}],accessible:!1,children:t})}):null})(),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:u.textBlock,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[u.message,{color:r.colors["text-body"],fontSize:r.text.base.size,...(0,_index.fontFor)(r,"semibold")},e.textStyle,e.messageStyle],numberOfLines:2,children:e.message}),e.description?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[u.description,{color:r.colors["text-muted"],fontSize:r.text.sm.size}],numberOfLines:3,children:e.description}):null]}),e.action?(0,_jsxRuntime.jsx)(_reactNative.Pressable,{accessibilityRole:"button",accessibilityLabel:X,hitSlop:ACTION_HIT_SLOP,...(0,_hitSlop.hitSlopMarker)(ACTION_HIT_SLOP),...G,onPress:()=>{e.action?.onPress(),dismiss()},style:({pressed:t})=>[u.actionBtn,{backgroundColor:t?r.colors["surface-pressed"]:"transparent"},e.actionButtonStyle],children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:{color:d,fontSize:r.text.sm.size,...(0,_index.fontFor)(r,"semibold")},numberOfLines:1,children:e.action.label})}):null]}),j?(0,_jsxRuntime.jsxs)(_reactNative.View,{pointerEvents:"none",accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",onLayout:e=>W(e.nativeEvent.layout.width),testID:"toast-countdown",style:[u.countdownTrack,{backgroundColor:`${d}22`}],children:[s.reduced?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[u.countdownFill,{backgroundColor:d}]}):null,!s.reduced&&$>0?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[u.countdownFill,{backgroundColor:d,transform:[{translateX:U}]}]}):null]}):null]})};exports.Toast=Toast;const tintFor=(e,t)=>{switch(t){case"success":return e.colors.success;case"danger":return e.colors.danger;case"warning":return e.colors.warning;case"info":return e.colors.info;default:return e.colors["text-body"]}},inkFor=(e,t)=>{switch(t){case"success":return e.colors["success-text"];case"danger":return e.colors["danger-text"];case"warning":return e.colors["warning-text"];case"info":return e.colors["info-text"];default:return e.colors["text-body"]}},defaultGlyph=e=>{switch(e){case"success":return"✓";case"danger":return"×";case"warning":return"!";case"info":return"i";default:return""}},buildStyles=e=>_reactNative.StyleSheet.create({container:{overflow:"hidden",marginVertical:e.space.xs},tintBar:{position:"absolute",left:0,top:0,bottom:0},row:{flexDirection:"row",alignItems:"center",paddingLeft:e.space.sm},iconCircle:{alignItems:"center",justifyContent:"center",marginRight:e.space.md},iconGlyph:{fontWeight:"700",lineHeight:19},textBlock:{flex:1,paddingRight:e.space.sm},message:{lineHeight:20},description:{marginTop:e.space.xxs,lineHeight:18},countdownTrack:{position:"absolute",left:0,right:0,bottom:0,height:3,overflow:"hidden"},countdownFill:{position:"absolute",left:0,right:0,top:0,bottom:0},actionBtn:{paddingHorizontal:e.space.sm,paddingVertical:e.space.xs,minHeight:e.components.toast["action-min-height"],borderRadius:e.radius.md,..._corners.smoothCorners,marginLeft:e.space.sm}});var _default=exports.default=Toast;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setPath=exports.getPath=exports.deletePath=void 0;const tokenize=t=>{const e=[],r=/[^.[\]]+/g;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setPath=exports.getPath=exports.deletePath=void 0;const tokenize=t=>{const e=[],r=/[^.[\]]+/g;for(const o of t.matchAll(r)){const t=o[0];e.push(/^\d+$/.test(t)?Number(t):t)}return e},getPath=(t,e)=>{const r=tokenize(e);let o=t;for(const t of r){if(null==o||"object"!=typeof o)return;o=o[t]}return o};exports.getPath=getPath;const setPath=(t,e,r)=>{const o=tokenize(e);if(0===o.length)return t;const n=Array.isArray(t)?[...t]:{...t};let s=n;for(let t=0;t<o.length-1;t++){const e=o[t],r=o[t+1],n=s[e],l=null!=n&&"object"==typeof n?Array.isArray(n)?[...n]:{...n}:"number"==typeof r?[]:{};s[e]=l,s=l}return s[o[o.length-1]]=r,n};exports.setPath=setPath;const deletePath=(t,e)=>{const r=tokenize(e);if(0===r.length)return t;const o=Array.isArray(t)?[...t]:{...t};let n=o;for(let t=0;t<r.length-1;t++){const e=r[t],s=n[e];if(null==s||"object"!=typeof s)return o;const l=Array.isArray(s)?[...s]:{...s};n[e]=l,n=l}const s=r[r.length-1];return Array.isArray(n)&&"number"==typeof s?n.splice(s,1):delete n[s],o};exports.deletePath=deletePath;
|
package/lib/commonjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={APP_ICON_SIZES:!0,AppIcon:!0,CURATED_ICON_NAMES:!0,defaultIcons:!0,ICON_NAMES:!0,ICONSAX_SUFFIX:!0,renderSlotIcon:!0,deletePath:!0,Form:!0,getPath:!0,HookFormField:!0,isFieldFilled:!0,rules:!0,setPath:!0,useField:!0,useFieldArray:!0,useForm:!0,useFormCompletion:!0,useFormContext:!0,useHookFormField:!0,useOptionalFormContext:!0,FLICK_TOLERANCE:!0,PRESENCE_REDUCE_MOTION:!0,PRESS_ANIMATION_PRESETS:!0,useControllableState:!0,useDebounce:!0,useFieldChain:!0,useFlickGuard:!0,usePresenceMotion:!0,usePressAnimation:!0,useReducedMotion:!0,useRefreshControl:!0,useScrollDirection:!0,useToggle:!0,initUI:!0,NetworkStatusBanner:!0,COLOR_NAMES:!0,DURATION_NAMES:!0,darkTheme:!0,EASE_NAMES:!0,FONT_NAMES:!0,getColorMode:!0,getTheme:!0,LEADING_NAMES:!0,LETTER_SPACING_NAMES:!0,lightTheme:!0,mergeBrand:!0,RADIUS_NAMES:!0,radiusOf:!0,resetTheme:!0,resolveBadgeSize:!0,resolveButtonSize:!0,resolveCheckboxSize:!0,resolveChipSize:!0,resolveEmptyStateSize:!0,resolveFieldSize:!0,resolveFloatingActionButtonSize:!0,resolveListItemSize:!0,resolveOtpInputSize:!0,resolveRadioSize:!0,resolveSegmentedControlSize:!0,resolveSliderSize:!0,resolveSwitchSize:!0,resolveTabsSize:!0,SHADOW_NAMES:!0,SIZE_NAMES:!0,SPACE_NAMES:!0,setColorMode:!0,setTheme:!0,spaceOf:!0,subscribeTheme:!0,TEXT_NAMES:!0,ThemeProvider:!0,textOf:!0,useTheme:!0,useThemeMode:!0,WEIGHT_NAMES:!0,announce:!0,Breakpoints:!0,configureFeedback:!0,feedback:!0,hapticForIntent:!0,isFeedbackEnabled:!0,isScreenSize:!0,isTablet:!0,Responsive:!0,ScreenDimensions:!0,SQUIRCLE_MIN_RADIUS:!0,SQUIRCLE_SMOOTHING:!0,setHapticImplementation:!0,shadowStyle:!0,smoothCorners:!0,squircleApplies:!0,squircleHostRadius:!0,squirclePath:!0,triggerHaptic:!0,useScreenDimensions:!0,warnUnknownProps:!0};Object.defineProperty(exports,"APP_ICON_SIZES",{enumerable:!0,get:function(){return _index2.APP_ICON_SIZES}}),Object.defineProperty(exports,"AppIcon",{enumerable:!0,get:function(){return _index2.AppIcon}}),Object.defineProperty(exports,"Breakpoints",{enumerable:!0,get:function(){return _index7.Breakpoints}}),Object.defineProperty(exports,"COLOR_NAMES",{enumerable:!0,get:function(){return _index6.COLOR_NAMES}}),Object.defineProperty(exports,"CURATED_ICON_NAMES",{enumerable:!0,get:function(){return _index2.CURATED_ICON_NAMES}}),Object.defineProperty(exports,"DURATION_NAMES",{enumerable:!0,get:function(){return _index6.DURATION_NAMES}}),Object.defineProperty(exports,"EASE_NAMES",{enumerable:!0,get:function(){return _index6.EASE_NAMES}}),Object.defineProperty(exports,"FLICK_TOLERANCE",{enumerable:!0,get:function(){return _index4.FLICK_TOLERANCE}}),Object.defineProperty(exports,"FONT_NAMES",{enumerable:!0,get:function(){return _index6.FONT_NAMES}}),Object.defineProperty(exports,"Form",{enumerable:!0,get:function(){return _index3.Form}}),Object.defineProperty(exports,"HookFormField",{enumerable:!0,get:function(){return _index3.HookFormField}}),Object.defineProperty(exports,"ICONSAX_SUFFIX",{enumerable:!0,get:function(){return _index2.ICONSAX_SUFFIX}}),Object.defineProperty(exports,"ICON_NAMES",{enumerable:!0,get:function(){return _index2.ICON_NAMES}}),Object.defineProperty(exports,"LEADING_NAMES",{enumerable:!0,get:function(){return _index6.LEADING_NAMES}}),Object.defineProperty(exports,"LETTER_SPACING_NAMES",{enumerable:!0,get:function(){return _index6.LETTER_SPACING_NAMES}}),Object.defineProperty(exports,"NetworkStatusBanner",{enumerable:!0,get:function(){return _index5.NetworkStatusBanner}}),Object.defineProperty(exports,"PRESENCE_REDUCE_MOTION",{enumerable:!0,get:function(){return _index4.PRESENCE_REDUCE_MOTION}}),Object.defineProperty(exports,"PRESS_ANIMATION_PRESETS",{enumerable:!0,get:function(){return _index4.PRESS_ANIMATION_PRESETS}}),Object.defineProperty(exports,"RADIUS_NAMES",{enumerable:!0,get:function(){return _index6.RADIUS_NAMES}}),Object.defineProperty(exports,"Responsive",{enumerable:!0,get:function(){return _index7.Responsive}}),Object.defineProperty(exports,"SHADOW_NAMES",{enumerable:!0,get:function(){return _index6.SHADOW_NAMES}}),Object.defineProperty(exports,"SIZE_NAMES",{enumerable:!0,get:function(){return _index6.SIZE_NAMES}}),Object.defineProperty(exports,"SPACE_NAMES",{enumerable:!0,get:function(){return _index6.SPACE_NAMES}}),Object.defineProperty(exports,"SQUIRCLE_MIN_RADIUS",{enumerable:!0,get:function(){return _index7.SQUIRCLE_MIN_RADIUS}}),Object.defineProperty(exports,"SQUIRCLE_SMOOTHING",{enumerable:!0,get:function(){return _index7.SQUIRCLE_SMOOTHING}}),Object.defineProperty(exports,"ScreenDimensions",{enumerable:!0,get:function(){return _index7.ScreenDimensions}}),Object.defineProperty(exports,"TEXT_NAMES",{enumerable:!0,get:function(){return _index6.TEXT_NAMES}}),Object.defineProperty(exports,"ThemeProvider",{enumerable:!0,get:function(){return _index6.ThemeProvider}}),Object.defineProperty(exports,"WEIGHT_NAMES",{enumerable:!0,get:function(){return _index6.WEIGHT_NAMES}}),Object.defineProperty(exports,"announce",{enumerable:!0,get:function(){return _index7.announce}}),Object.defineProperty(exports,"configureFeedback",{enumerable:!0,get:function(){return _index7.configureFeedback}}),Object.defineProperty(exports,"darkTheme",{enumerable:!0,get:function(){return _index6.darkTheme}}),Object.defineProperty(exports,"defaultIcons",{enumerable:!0,get:function(){return _index2.defaultIcons}}),Object.defineProperty(exports,"deletePath",{enumerable:!0,get:function(){return _index3.deletePath}}),Object.defineProperty(exports,"feedback",{enumerable:!0,get:function(){return _index7.feedback}}),Object.defineProperty(exports,"getColorMode",{enumerable:!0,get:function(){return _index6.getColorMode}}),Object.defineProperty(exports,"getPath",{enumerable:!0,get:function(){return _index3.getPath}}),Object.defineProperty(exports,"getTheme",{enumerable:!0,get:function(){return _index6.getTheme}}),Object.defineProperty(exports,"hapticForIntent",{enumerable:!0,get:function(){return _index7.hapticForIntent}}),Object.defineProperty(exports,"initUI",{enumerable:!0,get:function(){return _initUI.initUI}}),Object.defineProperty(exports,"isFeedbackEnabled",{enumerable:!0,get:function(){return _index7.isFeedbackEnabled}}),Object.defineProperty(exports,"isFieldFilled",{enumerable:!0,get:function(){return _index3.isFieldFilled}}),Object.defineProperty(exports,"isScreenSize",{enumerable:!0,get:function(){return _index7.isScreenSize}}),Object.defineProperty(exports,"isTablet",{enumerable:!0,get:function(){return _index7.isTablet}}),Object.defineProperty(exports,"lightTheme",{enumerable:!0,get:function(){return _index6.lightTheme}}),Object.defineProperty(exports,"mergeBrand",{enumerable:!0,get:function(){return _index6.mergeBrand}}),Object.defineProperty(exports,"radiusOf",{enumerable:!0,get:function(){return _index6.radiusOf}}),Object.defineProperty(exports,"renderSlotIcon",{enumerable:!0,get:function(){return _index2.renderSlotIcon}}),Object.defineProperty(exports,"resetTheme",{enumerable:!0,get:function(){return _index6.resetTheme}}),Object.defineProperty(exports,"resolveBadgeSize",{enumerable:!0,get:function(){return _index6.resolveBadgeSize}}),Object.defineProperty(exports,"resolveButtonSize",{enumerable:!0,get:function(){return _index6.resolveButtonSize}}),Object.defineProperty(exports,"resolveCheckboxSize",{enumerable:!0,get:function(){return _index6.resolveCheckboxSize}}),Object.defineProperty(exports,"resolveChipSize",{enumerable:!0,get:function(){return _index6.resolveChipSize}}),Object.defineProperty(exports,"resolveEmptyStateSize",{enumerable:!0,get:function(){return _index6.resolveEmptyStateSize}}),Object.defineProperty(exports,"resolveFieldSize",{enumerable:!0,get:function(){return _index6.resolveFieldSize}}),Object.defineProperty(exports,"resolveFloatingActionButtonSize",{enumerable:!0,get:function(){return _index6.resolveFloatingActionButtonSize}}),Object.defineProperty(exports,"resolveListItemSize",{enumerable:!0,get:function(){return _index6.resolveListItemSize}}),Object.defineProperty(exports,"resolveOtpInputSize",{enumerable:!0,get:function(){return _index6.resolveOtpInputSize}}),Object.defineProperty(exports,"resolveRadioSize",{enumerable:!0,get:function(){return _index6.resolveRadioSize}}),Object.defineProperty(exports,"resolveSegmentedControlSize",{enumerable:!0,get:function(){return _index6.resolveSegmentedControlSize}}),Object.defineProperty(exports,"resolveSliderSize",{enumerable:!0,get:function(){return _index6.resolveSliderSize}}),Object.defineProperty(exports,"resolveSwitchSize",{enumerable:!0,get:function(){return _index6.resolveSwitchSize}}),Object.defineProperty(exports,"resolveTabsSize",{enumerable:!0,get:function(){return _index6.resolveTabsSize}}),Object.defineProperty(exports,"rules",{enumerable:!0,get:function(){return _index3.rules}}),Object.defineProperty(exports,"setColorMode",{enumerable:!0,get:function(){return _index6.setColorMode}}),Object.defineProperty(exports,"setHapticImplementation",{enumerable:!0,get:function(){return _index7.setHapticImplementation}}),Object.defineProperty(exports,"setPath",{enumerable:!0,get:function(){return _index3.setPath}}),Object.defineProperty(exports,"setTheme",{enumerable:!0,get:function(){return _index6.setTheme}}),Object.defineProperty(exports,"shadowStyle",{enumerable:!0,get:function(){return _index7.shadowStyle}}),Object.defineProperty(exports,"smoothCorners",{enumerable:!0,get:function(){return _index7.smoothCorners}}),Object.defineProperty(exports,"spaceOf",{enumerable:!0,get:function(){return _index6.spaceOf}}),Object.defineProperty(exports,"squircleApplies",{enumerable:!0,get:function(){return _index7.squircleApplies}}),Object.defineProperty(exports,"squircleHostRadius",{enumerable:!0,get:function(){return _index7.squircleHostRadius}}),Object.defineProperty(exports,"squirclePath",{enumerable:!0,get:function(){return _index7.squirclePath}}),Object.defineProperty(exports,"subscribeTheme",{enumerable:!0,get:function(){return _index6.subscribeTheme}}),Object.defineProperty(exports,"textOf",{enumerable:!0,get:function(){return _index6.textOf}}),Object.defineProperty(exports,"triggerHaptic",{enumerable:!0,get:function(){return _index7.triggerHaptic}}),Object.defineProperty(exports,"useControllableState",{enumerable:!0,get:function(){return _index4.useControllableState}}),Object.defineProperty(exports,"useDebounce",{enumerable:!0,get:function(){return _index4.useDebounce}}),Object.defineProperty(exports,"useField",{enumerable:!0,get:function(){return _index3.useField}}),Object.defineProperty(exports,"useFieldArray",{enumerable:!0,get:function(){return _index3.useFieldArray}}),Object.defineProperty(exports,"useFieldChain",{enumerable:!0,get:function(){return _index4.useFieldChain}}),Object.defineProperty(exports,"useFlickGuard",{enumerable:!0,get:function(){return _index4.useFlickGuard}}),Object.defineProperty(exports,"useForm",{enumerable:!0,get:function(){return _index3.useForm}}),Object.defineProperty(exports,"useFormCompletion",{enumerable:!0,get:function(){return _index3.useFormCompletion}}),Object.defineProperty(exports,"useFormContext",{enumerable:!0,get:function(){return _index3.useFormContext}}),Object.defineProperty(exports,"useHookFormField",{enumerable:!0,get:function(){return _index3.useHookFormField}}),Object.defineProperty(exports,"useOptionalFormContext",{enumerable:!0,get:function(){return _index3.useOptionalFormContext}}),Object.defineProperty(exports,"usePresenceMotion",{enumerable:!0,get:function(){return _index4.usePresenceMotion}}),Object.defineProperty(exports,"usePressAnimation",{enumerable:!0,get:function(){return _index4.usePressAnimation}}),Object.defineProperty(exports,"useReducedMotion",{enumerable:!0,get:function(){return _index4.useReducedMotion}}),Object.defineProperty(exports,"useRefreshControl",{enumerable:!0,get:function(){return _index4.useRefreshControl}}),Object.defineProperty(exports,"useScreenDimensions",{enumerable:!0,get:function(){return _index7.useScreenDimensions}}),Object.defineProperty(exports,"useScrollDirection",{enumerable:!0,get:function(){return _index4.useScrollDirection}}),Object.defineProperty(exports,"useTheme",{enumerable:!0,get:function(){return _index6.useTheme}}),Object.defineProperty(exports,"useThemeMode",{enumerable:!0,get:function(){return _index6.useThemeMode}}),Object.defineProperty(exports,"useToggle",{enumerable:!0,get:function(){return _index4.useToggle}}),Object.defineProperty(exports,"warnUnknownProps",{enumerable:!0,get:function(){return _index7.warnUnknownProps}});var _index=require("./components/index.js");Object.keys(_index).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_index[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _index[e]}}))});var _index2=require("./components/AppIcon/index.js"),_index3=require("./form/index.js"),_index4=require("./hooks/index.js"),_initUI=require("./initUI.js"),_index5=require("./network/index.js"),_index6=require("./theme/index.js"),_index7=require("./utils/index.js");
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={PHONE_CHROME_INSETS:!0,APP_ICON_SIZES:!0,AppIcon:!0,CURATED_ICON_NAMES:!0,defaultIcons:!0,ICON_NAMES:!0,ICONSAX_SUFFIX:!0,renderSlotIcon:!0,deletePath:!0,Form:!0,getPath:!0,HookFormField:!0,isFieldFilled:!0,rules:!0,setPath:!0,useField:!0,useFieldArray:!0,useForm:!0,useFormCompletion:!0,useFormContext:!0,useHookFormField:!0,useOptionalFormContext:!0,FLICK_TOLERANCE:!0,PRESENCE_REDUCE_MOTION:!0,PRESS_ANIMATION_PRESETS:!0,useControllableState:!0,useDebounce:!0,useFieldChain:!0,useFlickGuard:!0,usePresenceMotion:!0,usePressAnimation:!0,useReducedMotion:!0,useRefreshControl:!0,useScrollDirection:!0,useToggle:!0,NetworkStatusBanner:!0,COLOR_NAMES:!0,DURATION_NAMES:!0,darkTheme:!0,EASE_NAMES:!0,FONT_NAMES:!0,LEADING_NAMES:!0,LETTER_SPACING_NAMES:!0,lightTheme:!0,mergeBrand:!0,RADIUS_NAMES:!0,radiusOf:!0,resolveBadgeSize:!0,resolveButtonSize:!0,resolveCheckboxSize:!0,resolveChipSize:!0,resolveEmptyStateSize:!0,resolveFieldSize:!0,resolveFloatingActionButtonSize:!0,resolveListItemSize:!0,resolveOtpInputSize:!0,resolveRadioSize:!0,resolveSegmentedControlSize:!0,resolveSliderSize:!0,resolveSwitchSize:!0,resolveTabsSize:!0,SHADOW_NAMES:!0,SIZE_NAMES:!0,SPACE_NAMES:!0,spaceOf:!0,TEXT_NAMES:!0,ThemeProvider:!0,textOf:!0,useTheme:!0,useThemeMode:!0,WEIGHT_NAMES:!0,announce:!0,Breakpoints:!0,configureFeedback:!0,feedback:!0,hapticForIntent:!0,isFeedbackEnabled:!0,isScreenSize:!0,isTablet:!0,Responsive:!0,ScreenDimensions:!0,SQUIRCLE_MIN_RADIUS:!0,SQUIRCLE_SMOOTHING:!0,setHapticImplementation:!0,shadowStyle:!0,smoothCorners:!0,squircleApplies:!0,squircleHostRadius:!0,squirclePath:!0,triggerHaptic:!0,useScreenDimensions:!0,warnUnknownProps:!0};Object.defineProperty(exports,"APP_ICON_SIZES",{enumerable:!0,get:function(){return _index3.APP_ICON_SIZES}}),Object.defineProperty(exports,"AppIcon",{enumerable:!0,get:function(){return _index3.AppIcon}}),Object.defineProperty(exports,"Breakpoints",{enumerable:!0,get:function(){return _index8.Breakpoints}}),Object.defineProperty(exports,"COLOR_NAMES",{enumerable:!0,get:function(){return _index7.COLOR_NAMES}}),Object.defineProperty(exports,"CURATED_ICON_NAMES",{enumerable:!0,get:function(){return _index3.CURATED_ICON_NAMES}}),Object.defineProperty(exports,"DURATION_NAMES",{enumerable:!0,get:function(){return _index7.DURATION_NAMES}}),Object.defineProperty(exports,"EASE_NAMES",{enumerable:!0,get:function(){return _index7.EASE_NAMES}}),Object.defineProperty(exports,"FLICK_TOLERANCE",{enumerable:!0,get:function(){return _index5.FLICK_TOLERANCE}}),Object.defineProperty(exports,"FONT_NAMES",{enumerable:!0,get:function(){return _index7.FONT_NAMES}}),Object.defineProperty(exports,"Form",{enumerable:!0,get:function(){return _index4.Form}}),Object.defineProperty(exports,"HookFormField",{enumerable:!0,get:function(){return _index4.HookFormField}}),Object.defineProperty(exports,"ICONSAX_SUFFIX",{enumerable:!0,get:function(){return _index3.ICONSAX_SUFFIX}}),Object.defineProperty(exports,"ICON_NAMES",{enumerable:!0,get:function(){return _index3.ICON_NAMES}}),Object.defineProperty(exports,"LEADING_NAMES",{enumerable:!0,get:function(){return _index7.LEADING_NAMES}}),Object.defineProperty(exports,"LETTER_SPACING_NAMES",{enumerable:!0,get:function(){return _index7.LETTER_SPACING_NAMES}}),Object.defineProperty(exports,"NetworkStatusBanner",{enumerable:!0,get:function(){return _index6.NetworkStatusBanner}}),Object.defineProperty(exports,"PHONE_CHROME_INSETS",{enumerable:!0,get:function(){return _index.PHONE_CHROME_INSETS}}),Object.defineProperty(exports,"PRESENCE_REDUCE_MOTION",{enumerable:!0,get:function(){return _index5.PRESENCE_REDUCE_MOTION}}),Object.defineProperty(exports,"PRESS_ANIMATION_PRESETS",{enumerable:!0,get:function(){return _index5.PRESS_ANIMATION_PRESETS}}),Object.defineProperty(exports,"RADIUS_NAMES",{enumerable:!0,get:function(){return _index7.RADIUS_NAMES}}),Object.defineProperty(exports,"Responsive",{enumerable:!0,get:function(){return _index8.Responsive}}),Object.defineProperty(exports,"SHADOW_NAMES",{enumerable:!0,get:function(){return _index7.SHADOW_NAMES}}),Object.defineProperty(exports,"SIZE_NAMES",{enumerable:!0,get:function(){return _index7.SIZE_NAMES}}),Object.defineProperty(exports,"SPACE_NAMES",{enumerable:!0,get:function(){return _index7.SPACE_NAMES}}),Object.defineProperty(exports,"SQUIRCLE_MIN_RADIUS",{enumerable:!0,get:function(){return _index8.SQUIRCLE_MIN_RADIUS}}),Object.defineProperty(exports,"SQUIRCLE_SMOOTHING",{enumerable:!0,get:function(){return _index8.SQUIRCLE_SMOOTHING}}),Object.defineProperty(exports,"ScreenDimensions",{enumerable:!0,get:function(){return _index8.ScreenDimensions}}),Object.defineProperty(exports,"TEXT_NAMES",{enumerable:!0,get:function(){return _index7.TEXT_NAMES}}),Object.defineProperty(exports,"ThemeProvider",{enumerable:!0,get:function(){return _index7.ThemeProvider}}),Object.defineProperty(exports,"WEIGHT_NAMES",{enumerable:!0,get:function(){return _index7.WEIGHT_NAMES}}),Object.defineProperty(exports,"announce",{enumerable:!0,get:function(){return _index8.announce}}),Object.defineProperty(exports,"configureFeedback",{enumerable:!0,get:function(){return _index8.configureFeedback}}),Object.defineProperty(exports,"darkTheme",{enumerable:!0,get:function(){return _index7.darkTheme}}),Object.defineProperty(exports,"defaultIcons",{enumerable:!0,get:function(){return _index3.defaultIcons}}),Object.defineProperty(exports,"deletePath",{enumerable:!0,get:function(){return _index4.deletePath}}),Object.defineProperty(exports,"feedback",{enumerable:!0,get:function(){return _index8.feedback}}),Object.defineProperty(exports,"getPath",{enumerable:!0,get:function(){return _index4.getPath}}),Object.defineProperty(exports,"hapticForIntent",{enumerable:!0,get:function(){return _index8.hapticForIntent}}),Object.defineProperty(exports,"isFeedbackEnabled",{enumerable:!0,get:function(){return _index8.isFeedbackEnabled}}),Object.defineProperty(exports,"isFieldFilled",{enumerable:!0,get:function(){return _index4.isFieldFilled}}),Object.defineProperty(exports,"isScreenSize",{enumerable:!0,get:function(){return _index8.isScreenSize}}),Object.defineProperty(exports,"isTablet",{enumerable:!0,get:function(){return _index8.isTablet}}),Object.defineProperty(exports,"lightTheme",{enumerable:!0,get:function(){return _index7.lightTheme}}),Object.defineProperty(exports,"mergeBrand",{enumerable:!0,get:function(){return _index7.mergeBrand}}),Object.defineProperty(exports,"radiusOf",{enumerable:!0,get:function(){return _index7.radiusOf}}),Object.defineProperty(exports,"renderSlotIcon",{enumerable:!0,get:function(){return _index3.renderSlotIcon}}),Object.defineProperty(exports,"resolveBadgeSize",{enumerable:!0,get:function(){return _index7.resolveBadgeSize}}),Object.defineProperty(exports,"resolveButtonSize",{enumerable:!0,get:function(){return _index7.resolveButtonSize}}),Object.defineProperty(exports,"resolveCheckboxSize",{enumerable:!0,get:function(){return _index7.resolveCheckboxSize}}),Object.defineProperty(exports,"resolveChipSize",{enumerable:!0,get:function(){return _index7.resolveChipSize}}),Object.defineProperty(exports,"resolveEmptyStateSize",{enumerable:!0,get:function(){return _index7.resolveEmptyStateSize}}),Object.defineProperty(exports,"resolveFieldSize",{enumerable:!0,get:function(){return _index7.resolveFieldSize}}),Object.defineProperty(exports,"resolveFloatingActionButtonSize",{enumerable:!0,get:function(){return _index7.resolveFloatingActionButtonSize}}),Object.defineProperty(exports,"resolveListItemSize",{enumerable:!0,get:function(){return _index7.resolveListItemSize}}),Object.defineProperty(exports,"resolveOtpInputSize",{enumerable:!0,get:function(){return _index7.resolveOtpInputSize}}),Object.defineProperty(exports,"resolveRadioSize",{enumerable:!0,get:function(){return _index7.resolveRadioSize}}),Object.defineProperty(exports,"resolveSegmentedControlSize",{enumerable:!0,get:function(){return _index7.resolveSegmentedControlSize}}),Object.defineProperty(exports,"resolveSliderSize",{enumerable:!0,get:function(){return _index7.resolveSliderSize}}),Object.defineProperty(exports,"resolveSwitchSize",{enumerable:!0,get:function(){return _index7.resolveSwitchSize}}),Object.defineProperty(exports,"resolveTabsSize",{enumerable:!0,get:function(){return _index7.resolveTabsSize}}),Object.defineProperty(exports,"rules",{enumerable:!0,get:function(){return _index4.rules}}),Object.defineProperty(exports,"setHapticImplementation",{enumerable:!0,get:function(){return _index8.setHapticImplementation}}),Object.defineProperty(exports,"setPath",{enumerable:!0,get:function(){return _index4.setPath}}),Object.defineProperty(exports,"shadowStyle",{enumerable:!0,get:function(){return _index8.shadowStyle}}),Object.defineProperty(exports,"smoothCorners",{enumerable:!0,get:function(){return _index8.smoothCorners}}),Object.defineProperty(exports,"spaceOf",{enumerable:!0,get:function(){return _index7.spaceOf}}),Object.defineProperty(exports,"squircleApplies",{enumerable:!0,get:function(){return _index8.squircleApplies}}),Object.defineProperty(exports,"squircleHostRadius",{enumerable:!0,get:function(){return _index8.squircleHostRadius}}),Object.defineProperty(exports,"squirclePath",{enumerable:!0,get:function(){return _index8.squirclePath}}),Object.defineProperty(exports,"textOf",{enumerable:!0,get:function(){return _index7.textOf}}),Object.defineProperty(exports,"triggerHaptic",{enumerable:!0,get:function(){return _index8.triggerHaptic}}),Object.defineProperty(exports,"useControllableState",{enumerable:!0,get:function(){return _index5.useControllableState}}),Object.defineProperty(exports,"useDebounce",{enumerable:!0,get:function(){return _index5.useDebounce}}),Object.defineProperty(exports,"useField",{enumerable:!0,get:function(){return _index4.useField}}),Object.defineProperty(exports,"useFieldArray",{enumerable:!0,get:function(){return _index4.useFieldArray}}),Object.defineProperty(exports,"useFieldChain",{enumerable:!0,get:function(){return _index5.useFieldChain}}),Object.defineProperty(exports,"useFlickGuard",{enumerable:!0,get:function(){return _index5.useFlickGuard}}),Object.defineProperty(exports,"useForm",{enumerable:!0,get:function(){return _index4.useForm}}),Object.defineProperty(exports,"useFormCompletion",{enumerable:!0,get:function(){return _index4.useFormCompletion}}),Object.defineProperty(exports,"useFormContext",{enumerable:!0,get:function(){return _index4.useFormContext}}),Object.defineProperty(exports,"useHookFormField",{enumerable:!0,get:function(){return _index4.useHookFormField}}),Object.defineProperty(exports,"useOptionalFormContext",{enumerable:!0,get:function(){return _index4.useOptionalFormContext}}),Object.defineProperty(exports,"usePresenceMotion",{enumerable:!0,get:function(){return _index5.usePresenceMotion}}),Object.defineProperty(exports,"usePressAnimation",{enumerable:!0,get:function(){return _index5.usePressAnimation}}),Object.defineProperty(exports,"useReducedMotion",{enumerable:!0,get:function(){return _index5.useReducedMotion}}),Object.defineProperty(exports,"useRefreshControl",{enumerable:!0,get:function(){return _index5.useRefreshControl}}),Object.defineProperty(exports,"useScreenDimensions",{enumerable:!0,get:function(){return _index8.useScreenDimensions}}),Object.defineProperty(exports,"useScrollDirection",{enumerable:!0,get:function(){return _index5.useScrollDirection}}),Object.defineProperty(exports,"useTheme",{enumerable:!0,get:function(){return _index7.useTheme}}),Object.defineProperty(exports,"useThemeMode",{enumerable:!0,get:function(){return _index7.useThemeMode}}),Object.defineProperty(exports,"useToggle",{enumerable:!0,get:function(){return _index5.useToggle}}),Object.defineProperty(exports,"warnUnknownProps",{enumerable:!0,get:function(){return _index8.warnUnknownProps}});var _index=require("./canvasKit/index.js"),_index2=require("./components/index.js");Object.keys(_index2).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_index2[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _index2[e]}}))});var _index3=require("./components/AppIcon/index.js"),_index4=require("./form/index.js"),_index5=require("./hooks/index.js"),_index6=require("./network/index.js"),_index7=require("./theme/index.js"),_index8=require("./utils/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"COLOR_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.COLOR_NAMES}}),Object.defineProperty(exports,"DURATION_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.DURATION_NAMES}}),Object.defineProperty(exports,"EASE_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.EASE_NAMES}}),Object.defineProperty(exports,"FONT_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.FONT_NAMES}}),Object.defineProperty(exports,"Gradient",{enumerable:!0,get:function(){return _Gradient.Gradient}}),Object.defineProperty(exports,"LEADING_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.LEADING_NAMES}}),Object.defineProperty(exports,"LETTER_SPACING_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.LETTER_SPACING_NAMES}}),Object.defineProperty(exports,"RADIUS_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.RADIUS_NAMES}}),Object.defineProperty(exports,"SHADOW_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.SHADOW_NAMES}}),Object.defineProperty(exports,"SIZE_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.SIZE_NAMES}}),Object.defineProperty(exports,"SPACE_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.SPACE_NAMES}}),Object.defineProperty(exports,"TEXT_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.TEXT_NAMES}}),Object.defineProperty(exports,"ThemeProvider",{enumerable:!0,get:function(){return _ThemeContext.ThemeProvider}}),Object.defineProperty(exports,"WEIGHT_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.WEIGHT_NAMES}}),Object.defineProperty(exports,"createAnimatedValue",{enumerable:!0,get:function(){return _animatedValue.createAnimatedValue}}),Object.defineProperty(exports,"darkTheme",{enumerable:!0,get:function(){return _tokens.darkTheme}}),Object.defineProperty(exports,"fontFor",{enumerable:!0,get:function(){return _textStyle.fontFor}}),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"COLOR_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.COLOR_NAMES}}),Object.defineProperty(exports,"DURATION_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.DURATION_NAMES}}),Object.defineProperty(exports,"EASE_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.EASE_NAMES}}),Object.defineProperty(exports,"FONT_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.FONT_NAMES}}),Object.defineProperty(exports,"Gradient",{enumerable:!0,get:function(){return _Gradient.Gradient}}),Object.defineProperty(exports,"LEADING_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.LEADING_NAMES}}),Object.defineProperty(exports,"LETTER_SPACING_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.LETTER_SPACING_NAMES}}),Object.defineProperty(exports,"RADIUS_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.RADIUS_NAMES}}),Object.defineProperty(exports,"SHADOW_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.SHADOW_NAMES}}),Object.defineProperty(exports,"SIZE_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.SIZE_NAMES}}),Object.defineProperty(exports,"SPACE_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.SPACE_NAMES}}),Object.defineProperty(exports,"TEXT_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.TEXT_NAMES}}),Object.defineProperty(exports,"ThemeProvider",{enumerable:!0,get:function(){return _ThemeContext.ThemeProvider}}),Object.defineProperty(exports,"WEIGHT_NAMES",{enumerable:!0,get:function(){return _tokensGenerated.WEIGHT_NAMES}}),Object.defineProperty(exports,"createAnimatedValue",{enumerable:!0,get:function(){return _animatedValue.createAnimatedValue}}),Object.defineProperty(exports,"darkTheme",{enumerable:!0,get:function(){return _tokens.darkTheme}}),Object.defineProperty(exports,"fontFor",{enumerable:!0,get:function(){return _textStyle.fontFor}}),Object.defineProperty(exports,"gradientAngle",{enumerable:!0,get:function(){return _Gradient.gradientAngle}}),Object.defineProperty(exports,"lightTheme",{enumerable:!0,get:function(){return _tokens.lightTheme}}),Object.defineProperty(exports,"mergeBrand",{enumerable:!0,get:function(){return _merge.mergeBrand}}),Object.defineProperty(exports,"radiusOf",{enumerable:!0,get:function(){return _scale.radiusOf}}),Object.defineProperty(exports,"resolveBadgeSize",{enumerable:!0,get:function(){return _componentSizes.resolveBadgeSize}}),Object.defineProperty(exports,"resolveButtonSize",{enumerable:!0,get:function(){return _componentSizes.resolveButtonSize}}),Object.defineProperty(exports,"resolveCheckboxSize",{enumerable:!0,get:function(){return _componentSizes.resolveCheckboxSize}}),Object.defineProperty(exports,"resolveChipSize",{enumerable:!0,get:function(){return _componentSizes.resolveChipSize}}),Object.defineProperty(exports,"resolveEmptyStateSize",{enumerable:!0,get:function(){return _componentSizes.resolveEmptyStateSize}}),Object.defineProperty(exports,"resolveFieldSize",{enumerable:!0,get:function(){return _componentSizes.resolveFieldSize}}),Object.defineProperty(exports,"resolveFloatingActionButtonSize",{enumerable:!0,get:function(){return _componentSizes.resolveFloatingActionButtonSize}}),Object.defineProperty(exports,"resolveListItemSize",{enumerable:!0,get:function(){return _componentSizes.resolveListItemSize}}),Object.defineProperty(exports,"resolveOtpInputSize",{enumerable:!0,get:function(){return _componentSizes.resolveOtpInputSize}}),Object.defineProperty(exports,"resolveRadioSize",{enumerable:!0,get:function(){return _componentSizes.resolveRadioSize}}),Object.defineProperty(exports,"resolveSegmentedControlSize",{enumerable:!0,get:function(){return _componentSizes.resolveSegmentedControlSize}}),Object.defineProperty(exports,"resolveSliderSize",{enumerable:!0,get:function(){return _componentSizes.resolveSliderSize}}),Object.defineProperty(exports,"resolveSwitchSize",{enumerable:!0,get:function(){return _componentSizes.resolveSwitchSize}}),Object.defineProperty(exports,"resolveTabsSize",{enumerable:!0,get:function(){return _componentSizes.resolveTabsSize}}),Object.defineProperty(exports,"setNativeValue",{enumerable:!0,get:function(){return _animatedValue.setNativeValue}}),Object.defineProperty(exports,"spaceOf",{enumerable:!0,get:function(){return _scale.spaceOf}}),Object.defineProperty(exports,"textOf",{enumerable:!0,get:function(){return _scale.textOf}}),Object.defineProperty(exports,"toBackgroundImage",{enumerable:!0,get:function(){return _Gradient.toBackgroundImage}}),Object.defineProperty(exports,"useTheme",{enumerable:!0,get:function(){return _ThemeContext.useTheme}}),Object.defineProperty(exports,"useThemeMode",{enumerable:!0,get:function(){return _ThemeContext.useThemeMode}}),Object.defineProperty(exports,"validateComponentTokens",{enumerable:!0,get:function(){return _componentSizes.validateComponentTokens}});var _animatedValue=require("./animatedValue.js"),_componentSizes=require("./componentSizes.js"),_Gradient=require("./Gradient.js"),_merge=require("./merge.js"),_scale=require("./scale.js"),_ThemeContext=require("./ThemeContext.js"),_textStyle=require("./textStyle.js"),_tokens=require("./tokens.js"),_tokensGenerated=require("./tokens.generated.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.announce=void 0;var _reactNative=require("react-native");let webRegions=null;const webRegion=e=>{if("undefined"==typeof document)return null;if(!webRegions
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.announce=void 0;var _reactNative=require("react-native");let webRegions=null;const webRegion=e=>{if("undefined"==typeof document)return null;if(!webRegions?.polite.isConnected){const make=e=>{const t=document.createElement("div");return t.setAttribute("aria-live",e),t.setAttribute("aria-atomic","true"),t.setAttribute("role","assertive"===e?"alert":"status"),Object.assign(t.style,{position:"absolute",width:"1px",height:"1px",overflow:"hidden",clip:"rect(0 0 0 0)",whiteSpace:"nowrap"}),document.body.appendChild(t),t};webRegions={polite:make("polite"),assertive:make("assertive")}}return e?webRegions.polite:webRegions.assertive},announce=(e,t)=>{if(!e)return;const i=!1!==t?.polite;if("web"===_reactNative.Platform.OS){const t=webRegion(i);return void(t&&(t.textContent="",setTimeout(()=>{t.textContent=e},50)))}"ios"!==_reactNative.Platform.OS?_reactNative.AccessibilityInfo.announceForAccessibility(e):_reactNative.AccessibilityInfo.announceForAccessibilityWithOptions(e,i?{queue:!0}:{queue:!1,priority:"high"})};exports.announce=announce;
|