Bluesky app fork with some witchin' additions 💫
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

React Native accessibility (#539)

* React Native accessibility

* First round of changes

* Latest update

* Checkpoint

* Wrap up

* Lint

* Remove unhelpful image hints

* Fix navigation

* Fix rebase and lint

* Mitigate an known issue with the password entry in login

* Fix composer dismiss

* Remove focus on input elements for web

* Remove i and npm

* pls work

* Remove stray declaration

* Regenerate yarn.lock

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>

authored by

Ollie H
Paul Frazee
and committed by
GitHub
83959c59 c75c888d

+2469 -1817
+1 -1
.eslintrc.js
··· 1 1 module.exports = { 2 2 root: true, 3 - extends: '@react-native-community', 3 + extends: ['@react-native-community', 'plugin:react-native-a11y/ios'], 4 4 parser: '@typescript-eslint/parser', 5 5 plugins: ['@typescript-eslint', 'detox'], 6 6 ignorePatterns: [
+2 -1
bskyweb/templates/base.html
··· 57 57 } 58 58 }*/ 59 59 60 + /* OLLIE: TODO -- this is not accessible */ 60 61 /* Remove focus state on inputs */ 61 - *:focus { 62 + input:focus { 62 63 outline: 0; 63 64 } 64 65 /* Remove default link styling */
+1
package.json
··· 62 62 "await-lock": "^2.2.2", 63 63 "base64-js": "^1.5.1", 64 64 "email-validator": "^2.0.4", 65 + "eslint-plugin-react-native-a11y": "^3.3.0", 65 66 "expo": "~48.0.15", 66 67 "expo-application": "~5.1.1", 67 68 "expo-build-properties": "~0.5.1",
+1 -1
src/lib/strings/display-names.ts
··· 6 6 7 7 export function sanitizeDisplayName(str: string): string { 8 8 if (typeof str === 'string') { 9 - return str.replace(CHECK_MARKS_RE, '') 9 + return str.replace(CHECK_MARKS_RE, '').trim() 10 10 } 11 11 return '' 12 12 }
+2
src/lib/styles.ts
··· 118 118 mr2: {marginRight: 2}, 119 119 mr5: {marginRight: 5}, 120 120 mr10: {marginRight: 10}, 121 + mr20: {marginRight: 20}, 121 122 ml2: {marginLeft: 2}, 122 123 ml5: {marginLeft: 5}, 123 124 ml10: {marginLeft: 10}, ··· 149 150 pb5: {paddingBottom: 5}, 150 151 pb10: {paddingBottom: 10}, 151 152 pb20: {paddingBottom: 20}, 153 + px5: {paddingHorizontal: 5}, 152 154 153 155 // flex 154 156 flexRow: {flexDirection: 'row'},
+8 -2
src/view/com/auth/SplashScreen.tsx
··· 28 28 <TouchableOpacity 29 29 testID="createAccountButton" 30 30 style={[styles.btn, {backgroundColor: colors.blue3}]} 31 - onPress={onPressCreateAccount}> 31 + onPress={onPressCreateAccount} 32 + accessibilityRole="button" 33 + accessibilityLabel="Create new account" 34 + accessibilityHint="Opens flow to create a new Bluesky account"> 32 35 <Text style={[s.white, styles.btnLabel]}> 33 36 Create a new account 34 37 </Text> ··· 36 39 <TouchableOpacity 37 40 testID="signInButton" 38 41 style={[styles.btn, pal.btn]} 39 - onPress={onPressSignin}> 42 + onPress={onPressSignin} 43 + accessibilityRole="button" 44 + accessibilityLabel="Sign in" 45 + accessibilityHint="Opens flow to sign into your existing Bluesky account"> 40 46 <Text style={[pal.text, styles.btnLabel]}>Sign in</Text> 41 47 </TouchableOpacity> 42 48 </View>
+10 -3
src/view/com/auth/SplashScreen.web.tsx
··· 43 43 <TouchableOpacity 44 44 testID="createAccountButton" 45 45 style={[styles.btn, {backgroundColor: colors.blue3}]} 46 - onPress={onPressCreateAccount}> 46 + onPress={onPressCreateAccount} 47 + // TODO: web accessibility 48 + accessibilityRole="button"> 47 49 <Text style={[s.white, styles.btnLabel]}> 48 50 Create a new account 49 51 </Text> ··· 51 53 <TouchableOpacity 52 54 testID="signInButton" 53 55 style={[styles.btn, pal.btn]} 54 - onPress={onPressSignin}> 56 + onPress={onPressSignin} 57 + // TODO: web accessibility 58 + accessibilityRole="button"> 55 59 <Text style={[pal.text, styles.btnLabel]}>Sign in</Text> 56 60 </TouchableOpacity> 57 61 </View> ··· 60 64 style={[styles.notice, pal.textLight]} 61 65 lineHeight={1.3}> 62 66 Bluesky will launch soon.{' '} 63 - <TouchableOpacity onPress={onPressWaitlist}> 67 + <TouchableOpacity 68 + onPress={onPressWaitlist} 69 + // TODO: web accessibility 70 + accessibilityRole="button"> 64 71 <Text type="xl" style={pal.link}> 65 72 Join the waitlist 66 73 </Text>
+17 -3
src/view/com/auth/create/CreateAccount.tsx
··· 72 72 {model.step === 3 && <Step3 model={model} />} 73 73 </View> 74 74 <View style={[s.flexRow, s.pl20, s.pr20]}> 75 - <TouchableOpacity onPress={onPressBackInner} testID="backBtn"> 75 + <TouchableOpacity 76 + onPress={onPressBackInner} 77 + testID="backBtn" 78 + accessibilityRole="button" 79 + accessibilityLabel="Go back" 80 + accessibilityHint="Navigates to the previous screen"> 76 81 <Text type="xl" style={pal.link}> 77 82 Back 78 83 </Text> 79 84 </TouchableOpacity> 80 85 <View style={s.flex1} /> 81 86 {model.canNext ? ( 82 - <TouchableOpacity testID="nextBtn" onPress={onPressNext}> 87 + <TouchableOpacity 88 + testID="nextBtn" 89 + onPress={onPressNext} 90 + accessibilityRole="button" 91 + accessibilityLabel="Go to next" 92 + accessibilityHint="Navigates to the next screen"> 83 93 {model.isProcessing ? ( 84 94 <ActivityIndicator /> 85 95 ) : ( ··· 91 101 ) : model.didServiceDescriptionFetchFail ? ( 92 102 <TouchableOpacity 93 103 testID="retryConnectBtn" 94 - onPress={onPressRetryConnect}> 104 + onPress={onPressRetryConnect} 105 + accessibilityRole="button" 106 + accessibilityLabel="Retry" 107 + accessibilityHint="Retries account creation" 108 + accessibilityLiveRegion="polite"> 95 109 <Text type="xl-bold" style={[pal.link, s.pr5]}> 96 110 Retry 97 111 </Text>
+11 -3
src/view/com/auth/create/Step1.tsx
··· 57 57 <View> 58 58 <StepHeader step="1" title="Your hosting provider" /> 59 59 <Text style={[pal.text, s.mb10]}> 60 - This is the company that keeps you online. 60 + This is the service that keeps you online. 61 61 </Text> 62 62 <Option 63 63 testID="blueskyServerBtn" ··· 72 72 label="Other" 73 73 onPress={onPressOther}> 74 74 <View style={styles.otherForm}> 75 - <Text style={[pal.text, s.mb5]}> 75 + <Text nativeID="addressProvider" style={[pal.text, s.mb5]}> 76 76 Enter the address of your provider: 77 77 </Text> 78 78 <TextInput ··· 82 82 value={model.serviceUrl} 83 83 editable 84 84 onChange={onChangeServiceUrl} 85 + accessibilityHint="Input hosting provider address" 86 + accessibilityLabel="Hosting provider address" 87 + accessibilityLabelledBy="addressProvider" 85 88 /> 86 89 {LOGIN_INCLUDE_DEV_SERVERS && ( 87 90 <View style={[s.flexRow, s.mt10]}> ··· 136 139 137 140 return ( 138 141 <View style={[styles.option, pal.border]}> 139 - <TouchableWithoutFeedback onPress={onPress} testID={testID}> 142 + <TouchableWithoutFeedback 143 + onPress={onPress} 144 + testID={testID} 145 + accessibilityRole="button" 146 + accessibilityLabel={label} 147 + accessibilityHint={`Sets hosting provider to ${label}`}> 140 148 <View style={styles.optionHeading}> 141 149 <View style={[styles.circle, pal.border]}> 142 150 {isSelected ? (
+28 -5
src/view/com/auth/create/Step2.tsx
··· 41 41 value={model.inviteCode} 42 42 editable 43 43 onChange={model.setInviteCode} 44 + accessibilityRole="button" 45 + accessibilityLabel="Invite code" 46 + accessibilityHint="Input invite code to proceed" 44 47 /> 45 48 </View> 46 49 )} ··· 48 51 {!model.inviteCode && model.isInviteCodeRequired ? ( 49 52 <Text style={[s.alignBaseline, pal.text]}> 50 53 Don't have an invite code?{' '} 51 - <TouchableWithoutFeedback onPress={onPressWaitlist}> 54 + <TouchableWithoutFeedback 55 + onPress={onPressWaitlist} 56 + accessibilityRole="button" 57 + accessibilityLabel="Waitlist" 58 + accessibilityHint="Opens Bluesky waitlist form"> 52 59 <Text style={pal.link}>Join the waitlist</Text> 53 60 </TouchableWithoutFeedback>{' '} 54 61 to try the beta before it's publicly available. ··· 56 63 ) : ( 57 64 <> 58 65 <View style={s.pb20}> 59 - <Text type="md-medium" style={[pal.text, s.mb2]}> 66 + <Text type="md-medium" style={[pal.text, s.mb2]} nativeID="email"> 60 67 Email address 61 68 </Text> 62 69 <TextInput ··· 66 73 value={model.email} 67 74 editable 68 75 onChange={model.setEmail} 76 + accessibilityLabel="Email" 77 + accessibilityHint="Input email for Bluesky waitlist" 78 + accessibilityLabelledBy="email" 69 79 /> 70 80 </View> 71 81 72 82 <View style={s.pb20}> 73 - <Text type="md-medium" style={[pal.text, s.mb2]}> 83 + <Text 84 + type="md-medium" 85 + style={[pal.text, s.mb2]} 86 + nativeID="password"> 74 87 Password 75 88 </Text> 76 89 <TextInput ··· 81 94 editable 82 95 secureTextEntry 83 96 onChange={model.setPassword} 97 + accessibilityLabel="Password" 98 + accessibilityHint="Set password" 99 + accessibilityLabelledBy="password" 84 100 /> 85 101 </View> 86 102 87 103 <View style={s.pb20}> 88 - <Text type="md-medium" style={[pal.text, s.mb2]}> 104 + <Text 105 + type="md-medium" 106 + style={[pal.text, s.mb2]} 107 + nativeID="legalCheck"> 89 108 Legal check 90 109 </Text> 91 110 <TouchableOpacity 92 111 testID="is13Input" 93 112 style={[styles.toggleBtn, pal.border]} 94 - onPress={() => model.setIs13(!model.is13)}> 113 + onPress={() => model.setIs13(!model.is13)} 114 + accessibilityRole="checkbox" 115 + accessibilityLabel="Verify age" 116 + accessibilityHint="Verifies that I am at least 13 years of age" 117 + accessibilityLabelledBy="legalCheck"> 95 118 <View style={[pal.borderDark, styles.checkbox]}> 96 119 {model.is13 && ( 97 120 <FontAwesomeIcon icon="check" style={s.blue3} size={16} />
+3
src/view/com/auth/create/Step3.tsx
··· 23 23 value={model.handle} 24 24 editable 25 25 onChange={model.setHandle} 26 + // TODO: Add explicit text label 27 + accessibilityLabel="User handle" 28 + accessibilityHint="Input your user handle" 26 29 /> 27 30 <Text type="lg" style={[pal.text, s.pl5, s.pt10]}> 28 31 Your full handle will be{' '}
+86 -14
src/view/com/auth/login/Login.tsx
··· 195 195 testID={`chooseAccountBtn-${account.handle}`} 196 196 key={account.did} 197 197 style={[pal.view, pal.border, styles.account]} 198 - onPress={() => onTryAccount(account)}> 198 + onPress={() => onTryAccount(account)} 199 + accessibilityRole="button" 200 + accessibilityLabel={`Sign in as ${account.handle}`} 201 + accessibilityHint="Double tap to sign in"> 199 202 <View 200 203 style={[pal.borderDark, styles.groupContent, styles.noTopBorder]}> 201 204 <View style={s.p10}> ··· 220 223 <TouchableOpacity 221 224 testID="chooseNewAccountBtn" 222 225 style={[pal.view, pal.border, styles.account, styles.accountLast]} 223 - onPress={() => onSelectAccount(undefined)}> 226 + onPress={() => onSelectAccount(undefined)} 227 + accessibilityRole="button" 228 + accessibilityLabel="Login to account that is not listed" 229 + accessibilityHint=""> 224 230 <View style={[pal.borderDark, styles.groupContent, styles.noTopBorder]}> 225 231 <Text style={[styles.accountText, styles.accountTextOther]}> 226 232 <Text type="lg" style={pal.text}> ··· 235 241 </View> 236 242 </TouchableOpacity> 237 243 <View style={[s.flexRow, s.alignCenter, s.pl20, s.pr20]}> 238 - <TouchableOpacity onPress={onPressBack}> 244 + <TouchableOpacity 245 + onPress={onPressBack} 246 + accessibilityRole="button" 247 + accessibilityLabel="Go back" 248 + accessibilityHint="Navigates to the previous screen"> 239 249 <Text type="xl" style={[pal.link, s.pl5]}> 240 250 Back 241 251 </Text> ··· 351 361 <TouchableOpacity 352 362 testID="loginSelectServiceButton" 353 363 style={styles.textBtn} 354 - onPress={onPressSelectService}> 364 + onPress={onPressSelectService} 365 + accessibilityRole="button" 366 + accessibilityLabel="Select service" 367 + accessibilityHint="Sets server for the Bluesky client"> 355 368 <Text type="xl" style={[pal.text, styles.textBtnLabel]}> 356 369 {toNiceDomain(serviceUrl)} 357 370 </Text> ··· 386 399 value={identifier} 387 400 onChangeText={str => setIdentifier((str || '').toLowerCase())} 388 401 editable={!isProcessing} 402 + accessibilityLabel="Username or email address" 403 + accessibilityHint="Input the username or email address you used at signup" 389 404 /> 390 405 </View> 391 406 <View style={[pal.borderDark, styles.groupContent]}> ··· 402 417 autoCorrect={false} 403 418 keyboardAppearance={theme.colorScheme} 404 419 secureTextEntry 420 + // HACK 421 + // mitigates a known issue where the secure password prompt interferes 422 + // https://github.com/facebook/react-native/issues/21911 423 + // prf 424 + textContentType="oneTimeCode" 405 425 value={password} 406 426 onChangeText={setPassword} 407 427 editable={!isProcessing} 428 + accessibilityLabel="Password" 429 + accessibilityHint={ 430 + identifier === '' 431 + ? 'Input your password' 432 + : `Input the password tied to ${identifier}` 433 + } 408 434 /> 409 435 <TouchableOpacity 410 436 testID="forgotPasswordButton" 411 437 style={styles.textInputInnerBtn} 412 - onPress={onPressForgotPassword}> 438 + onPress={onPressForgotPassword} 439 + accessibilityRole="button" 440 + accessibilityLabel="Forgot password" 441 + accessibilityHint="Opens password reset form"> 413 442 <Text style={pal.link}>Forgot</Text> 414 443 </TouchableOpacity> 415 444 </View> ··· 425 454 </View> 426 455 ) : undefined} 427 456 <View style={[s.flexRow, s.alignCenter, s.pl20, s.pr20]}> 428 - <TouchableOpacity onPress={onPressBack}> 457 + <TouchableOpacity 458 + onPress={onPressBack} 459 + accessibilityRole="button" 460 + accessibilityLabel="Go back" 461 + accessibilityHint="Navigates to the previous screen"> 429 462 <Text type="xl" style={[pal.link, s.pl5]}> 430 463 Back 431 464 </Text> ··· 434 467 {!serviceDescription && error ? ( 435 468 <TouchableOpacity 436 469 testID="loginRetryButton" 437 - onPress={onPressRetryConnect}> 470 + onPress={onPressRetryConnect} 471 + accessibilityRole="button" 472 + accessibilityLabel="Retry" 473 + accessibilityHint="Retries login"> 438 474 <Text type="xl-bold" style={[pal.link, s.pr5]}> 439 475 Retry 440 476 </Text> ··· 449 485 ) : isProcessing ? ( 450 486 <ActivityIndicator /> 451 487 ) : isReady ? ( 452 - <TouchableOpacity testID="loginNextButton" onPress={onPressNext}> 488 + <TouchableOpacity 489 + testID="loginNextButton" 490 + onPress={onPressNext} 491 + accessibilityRole="button" 492 + accessibilityLabel="Go to next" 493 + accessibilityHint="Navigates to the next screen"> 453 494 <Text type="xl-bold" style={[pal.link, s.pr5]}> 454 495 Next 455 496 </Text> ··· 539 580 <TouchableOpacity 540 581 testID="forgotPasswordSelectServiceButton" 541 582 style={[pal.borderDark, styles.groupContent, styles.noTopBorder]} 542 - onPress={onPressSelectService}> 583 + onPress={onPressSelectService} 584 + accessibilityRole="button" 585 + accessibilityLabel="Hosting provider" 586 + accessibilityHint="Sets hosting provider for password reset"> 543 587 <FontAwesomeIcon 544 588 icon="globe" 545 589 style={[pal.textLight, styles.groupContentIcon]} ··· 572 616 value={email} 573 617 onChangeText={setEmail} 574 618 editable={!isProcessing} 619 + accessibilityLabel="Email" 620 + accessibilityHint="Sets email for password reset" 575 621 /> 576 622 </View> 577 623 </View> ··· 586 632 </View> 587 633 ) : undefined} 588 634 <View style={[s.flexRow, s.alignCenter, s.pl20, s.pr20]}> 589 - <TouchableOpacity onPress={onPressBack}> 635 + <TouchableOpacity 636 + onPress={onPressBack} 637 + accessibilityRole="button" 638 + accessibilityLabel="Go back" 639 + accessibilityHint="Navigates to the previous screen"> 590 640 <Text type="xl" style={[pal.link, s.pl5]}> 591 641 Back 592 642 </Text> ··· 599 649 Next 600 650 </Text> 601 651 ) : ( 602 - <TouchableOpacity testID="newPasswordButton" onPress={onPressNext}> 652 + <TouchableOpacity 653 + testID="newPasswordButton" 654 + onPress={onPressNext} 655 + accessibilityRole="button" 656 + accessibilityLabel="Go to next" 657 + accessibilityHint="Navigates to the next screen"> 603 658 <Text type="xl-bold" style={[pal.link, s.pr5]}> 604 659 Next 605 660 </Text> ··· 699 754 value={resetCode} 700 755 onChangeText={setResetCode} 701 756 editable={!isProcessing} 757 + accessible={true} 758 + accessibilityLabel="Reset code" 759 + accessibilityHint="Input code sent to your email for password reset" 702 760 /> 703 761 </View> 704 762 <View style={[pal.borderDark, styles.groupContent]}> ··· 718 776 value={password} 719 777 onChangeText={setPassword} 720 778 editable={!isProcessing} 779 + accessible={true} 780 + accessibilityLabel="Password" 781 + accessibilityHint="Input new password" 721 782 /> 722 783 </View> 723 784 </View> ··· 732 793 </View> 733 794 ) : undefined} 734 795 <View style={[s.flexRow, s.alignCenter, s.pl20, s.pr20]}> 735 - <TouchableOpacity onPress={onPressBack}> 796 + <TouchableOpacity 797 + onPress={onPressBack} 798 + accessibilityRole="button" 799 + accessibilityLabel="Go back" 800 + accessibilityHint="Navigates to the previous screen"> 736 801 <Text type="xl" style={[pal.link, s.pl5]}> 737 802 Back 738 803 </Text> ··· 747 812 ) : ( 748 813 <TouchableOpacity 749 814 testID="setNewPasswordButton" 750 - onPress={onPressNext}> 815 + onPress={onPressNext} 816 + accessibilityRole="button" 817 + accessibilityLabel="Go to next" 818 + accessibilityHint="Navigates to the next screen"> 751 819 <Text type="xl-bold" style={[pal.link, s.pr5]}> 752 820 Next 753 821 </Text> ··· 783 851 </Text> 784 852 <View style={[s.flexRow, s.alignCenter, s.pl20, s.pr20]}> 785 853 <View style={s.flex1} /> 786 - <TouchableOpacity onPress={onPressNext}> 854 + <TouchableOpacity 855 + onPress={onPressNext} 856 + accessibilityRole="button" 857 + accessibilityLabel="Close alert" 858 + accessibilityHint="Closes password update alert"> 787 859 <Text type="xl-bold" style={[pal.link, s.pr5]}> 788 860 Okay 789 861 </Text>
+6 -19
src/view/com/auth/util/TextInput.tsx
··· 1 - import React from 'react' 1 + import React, {ComponentProps} from 'react' 2 2 import {StyleSheet, TextInput as RNTextInput, View} from 'react-native' 3 3 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 4 4 import {IconProp} from '@fortawesome/fontawesome-svg-core' 5 5 import {usePalette} from 'lib/hooks/usePalette' 6 6 import {useTheme} from 'lib/ThemeContext' 7 7 8 - export function TextInput({ 9 - testID, 10 - icon, 11 - value, 12 - placeholder, 13 - editable, 14 - secureTextEntry, 15 - onChange, 16 - }: { 8 + interface Props extends Omit<ComponentProps<typeof RNTextInput>, 'onChange'> { 17 9 testID?: string 18 10 icon: IconProp 19 - value: string 20 - placeholder: string 21 - editable: boolean 22 - secureTextEntry?: boolean 23 11 onChange: (v: string) => void 24 - }) { 12 + } 13 + 14 + export function TextInput({testID, icon, onChange, ...props}: Props) { 25 15 const theme = useTheme() 26 16 const pal = usePalette('default') 27 17 return ( ··· 30 20 <RNTextInput 31 21 testID={testID} 32 22 style={[pal.text, styles.textInput]} 33 - placeholder={placeholder} 34 23 placeholderTextColor={pal.colors.textLight} 35 24 autoCapitalize="none" 36 25 autoCorrect={false} 37 26 keyboardAppearance={theme.colorScheme} 38 - secureTextEntry={secureTextEntry} 39 - value={value} 40 27 onChangeText={v => onChange(v)} 41 - editable={editable} 28 + {...props} 42 29 /> 43 30 </View> 44 31 )
+135 -139
src/view/com/composer/Composer.tsx
··· 7 7 ScrollView, 8 8 StyleSheet, 9 9 TouchableOpacity, 10 - TouchableWithoutFeedback, 11 10 View, 12 11 } from 'react-native' 13 12 import {useSafeAreaInsets} from 'react-native-safe-area-context' ··· 19 18 import {ExternalEmbed} from './ExternalEmbed' 20 19 import {Text} from '../util/text/Text' 21 20 import * as Toast from '../util/Toast' 21 + // TODO: Prevent naming components that coincide with RN primitives 22 + // due to linting false positives 22 23 import {TextInput, TextInputRef} from './text-input/TextInput' 23 24 import {CharProgress} from './char-progress/CharProgress' 24 25 import {UserAvatar} from '../util/UserAvatar' ··· 87 88 autocompleteView.setup() 88 89 }, [autocompleteView]) 89 90 90 - useEffect(() => { 91 - // HACK 92 - // wait a moment before focusing the input to resolve some layout bugs with the keyboard-avoiding-view 93 - // -prf 94 - let to: NodeJS.Timeout | undefined 95 - if (textInput.current) { 96 - to = setTimeout(() => { 97 - textInput.current?.focus() 98 - }, 250) 99 - } 100 - return () => { 101 - if (to) { 102 - clearTimeout(to) 103 - } 104 - } 105 - }, []) 106 - 107 - const onPressContainer = useCallback(() => { 108 - textInput.current?.focus() 109 - }, [textInput]) 110 - 111 91 const onPressAddLinkCard = useCallback( 112 92 (uri: string) => { 113 93 setExtLink({uri, isLoading: true}) ··· 133 113 134 114 if (rt.text.trim().length === 0 && gallery.isEmpty) { 135 115 setError('Did you want to say anything?') 136 - return false 116 + return 137 117 } 138 118 139 119 setIsProcessing(true) ··· 203 183 testID="composePostView" 204 184 behavior={Platform.OS === 'ios' ? 'padding' : 'height'} 205 185 style={styles.outer}> 206 - <TouchableWithoutFeedback onPressIn={onPressContainer}> 207 - <View style={[s.flex1, viewStyles]}> 208 - <View style={styles.topbar}> 186 + <View style={[s.flex1, viewStyles]} aria-modal accessibilityViewIsModal> 187 + <View style={styles.topbar}> 188 + <TouchableOpacity 189 + testID="composerCancelButton" 190 + onPress={hackfixOnClose} 191 + onAccessibilityEscape={hackfixOnClose} 192 + accessibilityRole="button" 193 + accessibilityLabel="Cancel" 194 + accessibilityHint="Closes post composer"> 195 + <Text style={[pal.link, s.f18]}>Cancel</Text> 196 + </TouchableOpacity> 197 + <View style={s.flex1} /> 198 + {isProcessing ? ( 199 + <View style={styles.postBtn}> 200 + <ActivityIndicator /> 201 + </View> 202 + ) : canPost ? ( 209 203 <TouchableOpacity 210 - testID="composerCancelButton" 211 - onPress={hackfixOnClose}> 212 - <Text style={[pal.link, s.f18]}>Cancel</Text> 204 + testID="composerPublishBtn" 205 + onPress={() => { 206 + onPressPublish(richtext) 207 + }} 208 + accessibilityRole="button" 209 + accessibilityLabel={replyTo ? 'Publish reply' : 'Publish post'} 210 + accessibilityHint={ 211 + replyTo 212 + ? 'Double tap to publish your reply' 213 + : 'Double tap to publish your post' 214 + }> 215 + <LinearGradient 216 + colors={[gradients.blueLight.start, gradients.blueLight.end]} 217 + start={{x: 0, y: 0}} 218 + end={{x: 1, y: 1}} 219 + style={styles.postBtn}> 220 + <Text style={[s.white, s.f16, s.bold]}> 221 + {replyTo ? 'Reply' : 'Post'} 222 + </Text> 223 + </LinearGradient> 213 224 </TouchableOpacity> 214 - <View style={s.flex1} /> 215 - {isProcessing ? ( 216 - <View style={styles.postBtn}> 217 - <ActivityIndicator /> 218 - </View> 219 - ) : canPost ? ( 220 - <TouchableOpacity 221 - testID="composerPublishBtn" 222 - onPress={() => { 223 - onPressPublish(richtext) 224 - }}> 225 - <LinearGradient 226 - colors={[gradients.blueLight.start, gradients.blueLight.end]} 227 - start={{x: 0, y: 0}} 228 - end={{x: 1, y: 1}} 229 - style={styles.postBtn}> 230 - <Text style={[s.white, s.f16, s.bold]}> 231 - {replyTo ? 'Reply' : 'Post'} 232 - </Text> 233 - </LinearGradient> 234 - </TouchableOpacity> 235 - ) : ( 236 - <View style={[styles.postBtn, pal.btn]}> 237 - <Text style={[pal.textLight, s.f16, s.bold]}>Post</Text> 238 - </View> 239 - )} 225 + ) : ( 226 + <View style={[styles.postBtn, pal.btn]}> 227 + <Text style={[pal.textLight, s.f16, s.bold]}>Post</Text> 228 + </View> 229 + )} 230 + </View> 231 + {isProcessing ? ( 232 + <View style={[pal.btn, styles.processingLine]}> 233 + <Text style={pal.text}>{processingState}</Text> 240 234 </View> 241 - {isProcessing ? ( 242 - <View style={[pal.btn, styles.processingLine]}> 243 - <Text style={pal.text}>{processingState}</Text> 235 + ) : undefined} 236 + {error !== '' && ( 237 + <View style={styles.errorLine}> 238 + <View style={styles.errorIcon}> 239 + <FontAwesomeIcon 240 + icon="exclamation" 241 + style={{color: colors.red4}} 242 + size={10} 243 + /> 244 244 </View> 245 - ) : undefined} 246 - {error !== '' && ( 247 - <View style={styles.errorLine}> 248 - <View style={styles.errorIcon}> 249 - <FontAwesomeIcon 250 - icon="exclamation" 251 - style={{color: colors.red4}} 252 - size={10} 253 - /> 245 + <Text style={[s.red4, s.flex1]}>{error}</Text> 246 + </View> 247 + )} 248 + <ScrollView 249 + style={styles.scrollView} 250 + keyboardShouldPersistTaps="always"> 251 + {replyTo ? ( 252 + <View style={[pal.border, styles.replyToLayout]}> 253 + <UserAvatar avatar={replyTo.author.avatar} size={50} /> 254 + <View style={styles.replyToPost}> 255 + <Text type="xl-medium" style={[pal.text]}> 256 + {sanitizeDisplayName( 257 + replyTo.author.displayName || replyTo.author.handle, 258 + )} 259 + </Text> 260 + <Text type="post-text" style={pal.text} numberOfLines={6}> 261 + {replyTo.text} 262 + </Text> 254 263 </View> 255 - <Text style={[s.red4, s.flex1]}>{error}</Text> 256 264 </View> 257 - )} 258 - <ScrollView 259 - style={styles.scrollView} 260 - keyboardShouldPersistTaps="always"> 261 - {replyTo ? ( 262 - <View style={[pal.border, styles.replyToLayout]}> 263 - <UserAvatar avatar={replyTo.author.avatar} size={50} /> 264 - <View style={styles.replyToPost}> 265 - <Text type="xl-medium" style={[pal.text]}> 266 - {sanitizeDisplayName( 267 - replyTo.author.displayName || replyTo.author.handle, 268 - )} 269 - </Text> 270 - <Text type="post-text" style={pal.text} numberOfLines={6}> 271 - {replyTo.text} 272 - </Text> 273 - </View> 274 - </View> 275 - ) : undefined} 265 + ) : undefined} 276 266 277 - <View style={[pal.border, styles.textInputLayout]}> 278 - <UserAvatar avatar={store.me.avatar} size={50} /> 279 - <TextInput 280 - ref={textInput} 281 - richtext={richtext} 282 - placeholder={selectTextInputPlaceholder} 283 - suggestedLinks={suggestedLinks} 284 - autocompleteView={autocompleteView} 285 - setRichText={setRichText} 286 - onPhotoPasted={onPhotoPasted} 287 - onPressPublish={onPressPublish} 288 - onSuggestedLinksChanged={setSuggestedLinks} 289 - onError={setError} 290 - /> 291 - </View> 267 + <View style={[pal.border, styles.textInputLayout]}> 268 + <UserAvatar avatar={store.me.avatar} size={50} /> 269 + <TextInput 270 + ref={textInput} 271 + richtext={richtext} 272 + placeholder={selectTextInputPlaceholder} 273 + suggestedLinks={suggestedLinks} 274 + autocompleteView={autocompleteView} 275 + autoFocus={true} 276 + setRichText={setRichText} 277 + onPhotoPasted={onPhotoPasted} 278 + onPressPublish={onPressPublish} 279 + onSuggestedLinksChanged={setSuggestedLinks} 280 + onError={setError} 281 + accessible={true} 282 + accessibilityLabel="Write post" 283 + accessibilityHint="Compose posts up to 300 characters in length" 284 + /> 285 + </View> 292 286 293 - <Gallery gallery={gallery} /> 294 - {gallery.isEmpty && extLink && ( 295 - <ExternalEmbed 296 - link={extLink} 297 - onRemove={() => setExtLink(undefined)} 298 - /> 299 - )} 300 - {quote ? ( 301 - <View style={s.mt5}> 302 - <QuoteEmbed quote={quote} /> 303 - </View> 304 - ) : undefined} 305 - </ScrollView> 306 - {!extLink && suggestedLinks.size > 0 ? ( 307 - <View style={s.mb5}> 308 - {Array.from(suggestedLinks).map(url => ( 309 - <TouchableOpacity 310 - key={`suggested-${url}`} 311 - testID="addLinkCardBtn" 312 - style={[pal.borderDark, styles.addExtLinkBtn]} 313 - onPress={() => onPressAddLinkCard(url)}> 314 - <Text style={pal.text}> 315 - Add link card: <Text style={pal.link}>{url}</Text> 316 - </Text> 317 - </TouchableOpacity> 318 - ))} 287 + <Gallery gallery={gallery} /> 288 + {gallery.isEmpty && extLink && ( 289 + <ExternalEmbed 290 + link={extLink} 291 + onRemove={() => setExtLink(undefined)} 292 + /> 293 + )} 294 + {quote ? ( 295 + <View style={s.mt5}> 296 + <QuoteEmbed quote={quote} /> 319 297 </View> 320 - ) : null} 321 - <View style={[pal.border, styles.bottomBar]}> 322 - {canSelectImages ? ( 323 - <> 324 - <SelectPhotoBtn gallery={gallery} /> 325 - <OpenCameraBtn gallery={gallery} /> 326 - </> 327 - ) : null} 328 - <View style={s.flex1} /> 329 - <CharProgress count={graphemeLength} /> 298 + ) : undefined} 299 + </ScrollView> 300 + {!extLink && suggestedLinks.size > 0 ? ( 301 + <View style={s.mb5}> 302 + {Array.from(suggestedLinks).map(url => ( 303 + <TouchableOpacity 304 + key={`suggested-${url}`} 305 + testID="addLinkCardBtn" 306 + style={[pal.borderDark, styles.addExtLinkBtn]} 307 + onPress={() => onPressAddLinkCard(url)} 308 + accessibilityRole="button" 309 + accessibilityLabel="Add link card" 310 + accessibilityHint={`Creates a card with a thumbnail. The card links to ${url}`}> 311 + <Text style={pal.text}> 312 + Add link card: <Text style={pal.link}>{url}</Text> 313 + </Text> 314 + </TouchableOpacity> 315 + ))} 330 316 </View> 317 + ) : null} 318 + <View style={[pal.border, styles.bottomBar]}> 319 + {canSelectImages ? ( 320 + <> 321 + <SelectPhotoBtn gallery={gallery} /> 322 + <OpenCameraBtn gallery={gallery} /> 323 + </> 324 + ) : null} 325 + <View style={s.flex1} /> 326 + <CharProgress count={graphemeLength} /> 331 327 </View> 332 - </TouchableWithoutFeedback> 328 + </View> 333 329 </KeyboardAvoidingView> 334 330 ) 335 331 })
+7 -1
src/view/com/composer/ExternalEmbed.tsx
··· 60 60 </Text> 61 61 )} 62 62 </View> 63 - <TouchableOpacity style={styles.removeBtn} onPress={onRemove}> 63 + <TouchableOpacity 64 + style={styles.removeBtn} 65 + onPress={onRemove} 66 + accessibilityRole="button" 67 + accessibilityLabel="Remove image preview" 68 + accessibilityHint={`Removes default thumbnail from ${link.uri}`} 69 + onAccessibilityEscape={onRemove}> 64 70 <FontAwesomeIcon size={18} icon="xmark" style={s.white} /> 65 71 </TouchableOpacity> 66 72 </View>
+4 -1
src/view/com/composer/Prompt.tsx
··· 13 13 <TouchableOpacity 14 14 testID="replyPromptBtn" 15 15 style={[pal.view, pal.border, styles.prompt]} 16 - onPress={() => onPressCompose()}> 16 + onPress={() => onPressCompose()} 17 + accessibilityRole="button" 18 + accessibilityLabel="Compose reply" 19 + accessibilityHint="Opens composer"> 17 20 <UserAvatar avatar={store.me.avatar} size={38} /> 18 21 <Text 19 22 type="xl"
+11
src/view/com/composer/photos/Gallery.tsx
··· 107 107 <View key={`selected-image-${image.path}`} style={[imageStyle]}> 108 108 <TouchableOpacity 109 109 testID="altTextButton" 110 + accessibilityRole="button" 111 + accessibilityLabel="Add alt text" 112 + accessibilityHint="Opens modal for inputting image alt text" 110 113 onPress={() => { 111 114 handleAddImageAltText(image) 112 115 }} ··· 116 119 <View style={imageControlsSubgroupStyle}> 117 120 <TouchableOpacity 118 121 testID="cropPhotoButton" 122 + accessibilityRole="button" 123 + accessibilityLabel="Crop image" 124 + accessibilityHint="Opens modal for cropping image" 119 125 onPress={() => { 120 126 handleEditPhoto(image) 121 127 }} ··· 128 134 </TouchableOpacity> 129 135 <TouchableOpacity 130 136 testID="removePhotoButton" 137 + accessibilityRole="button" 138 + accessibilityLabel="Remove image" 139 + accessibilityHint="" 131 140 onPress={() => handleRemovePhoto(image)} 132 141 style={styles.imageControl}> 133 142 <FontAwesomeIcon ··· 144 153 source={{ 145 154 uri: image.compressed.path, 146 155 }} 156 + accessible={true} 157 + accessibilityIgnoresInvertColors 147 158 /> 148 159 </View> 149 160 ) : null,
+12 -4
src/view/com/composer/photos/OpenCameraBtn.tsx
··· 1 1 import React, {useCallback} from 'react' 2 - import {TouchableOpacity} from 'react-native' 2 + import {TouchableOpacity, StyleSheet} from 'react-native' 3 3 import { 4 4 FontAwesomeIcon, 5 5 FontAwesomeIconStyle, ··· 7 7 import {usePalette} from 'lib/hooks/usePalette' 8 8 import {useAnalytics} from 'lib/analytics' 9 9 import {useStores} from 'state/index' 10 - import {s} from 'lib/styles' 11 10 import {isDesktopWeb} from 'platform/detection' 12 11 import {openCamera} from 'lib/media/picker' 13 12 import {useCameraPermission} from 'lib/hooks/usePermissions' ··· 54 53 <TouchableOpacity 55 54 testID="openCameraButton" 56 55 onPress={onPressTakePicture} 57 - style={[s.pl5]} 58 - hitSlop={HITSLOP}> 56 + style={styles.button} 57 + hitSlop={HITSLOP} 58 + accessibilityRole="button" 59 + accessibilityLabel="Camera" 60 + accessibilityHint="Opens camera on device"> 59 61 <FontAwesomeIcon 60 62 icon="camera" 61 63 style={pal.link as FontAwesomeIconStyle} ··· 64 66 </TouchableOpacity> 65 67 ) 66 68 } 69 + 70 + const styles = StyleSheet.create({ 71 + button: { 72 + paddingHorizontal: 15, 73 + }, 74 + })
+12 -4
src/view/com/composer/photos/SelectPhotoBtn.tsx
··· 1 1 import React, {useCallback} from 'react' 2 - import {TouchableOpacity} from 'react-native' 2 + import {TouchableOpacity, StyleSheet} from 'react-native' 3 3 import { 4 4 FontAwesomeIcon, 5 5 FontAwesomeIconStyle, 6 6 } from '@fortawesome/react-native-fontawesome' 7 7 import {usePalette} from 'lib/hooks/usePalette' 8 8 import {useAnalytics} from 'lib/analytics' 9 - import {s} from 'lib/styles' 10 9 import {isDesktopWeb} from 'platform/detection' 11 10 import {usePhotoLibraryPermission} from 'lib/hooks/usePermissions' 12 11 import {GalleryModel} from 'state/models/media/gallery' ··· 36 35 <TouchableOpacity 37 36 testID="openGalleryBtn" 38 37 onPress={onPressSelectPhotos} 39 - style={[s.pl5, s.pr20]} 40 - hitSlop={HITSLOP}> 38 + style={styles.button} 39 + hitSlop={HITSLOP} 40 + accessibilityRole="button" 41 + accessibilityLabel="Gallery" 42 + accessibilityHint="Opens device photo gallery"> 41 43 <FontAwesomeIcon 42 44 icon={['far', 'image']} 43 45 style={pal.link as FontAwesomeIconStyle} ··· 46 48 </TouchableOpacity> 47 49 ) 48 50 } 51 + 52 + const styles = StyleSheet.create({ 53 + button: { 54 + paddingHorizontal: 15, 55 + }, 56 + })
+18 -23
src/view/com/composer/text-input/TextInput.tsx
··· 1 - import React, {forwardRef, useCallback, useEffect, useRef, useMemo} from 'react' 1 + import React, { 2 + forwardRef, 3 + useCallback, 4 + useRef, 5 + useMemo, 6 + ComponentProps, 7 + } from 'react' 2 8 import { 3 9 NativeSyntheticEvent, 4 10 StyleSheet, 11 + TextInput as RNTextInput, 5 12 TextInputSelectionChangeEventData, 6 13 View, 7 14 } from 'react-native' ··· 27 34 blur: () => void 28 35 } 29 36 30 - interface TextInputProps { 37 + interface TextInputProps extends ComponentProps<typeof RNTextInput> { 31 38 richtext: RichText 32 39 placeholder: string 33 40 suggestedLinks: Set<string> 34 41 autocompleteView: UserAutocompleteModel 35 - setRichText: (v: RichText) => void 42 + setRichText: (v: RichText | ((v: RichText) => RichText)) => void 36 43 onPhotoPasted: (uri: string) => void 37 - onPressPublish: (richtext: RichText) => Promise<false | undefined> 44 + onPressPublish: (richtext: RichText) => Promise<void> 38 45 onSuggestedLinksChanged: (uris: Set<string>) => void 39 46 onError: (err: string) => void 40 47 } ··· 55 62 onPhotoPasted, 56 63 onSuggestedLinksChanged, 57 64 onError, 65 + ...props 58 66 }: TextInputProps, 59 67 ref, 60 68 ) => { ··· 65 73 66 74 React.useImperativeHandle(ref, () => ({ 67 75 focus: () => textInput.current?.focus(), 68 - blur: () => textInput.current?.blur(), 76 + blur: () => { 77 + textInput.current?.blur() 78 + }, 69 79 })) 70 - 71 - useEffect(() => { 72 - // HACK 73 - // wait a moment before focusing the input to resolve some layout bugs with the keyboard-avoiding-view 74 - // -prf 75 - let to: NodeJS.Timeout | undefined 76 - if (textInput.current) { 77 - to = setTimeout(() => { 78 - textInput.current?.focus() 79 - }, 250) 80 - } 81 - return () => { 82 - if (to) { 83 - clearTimeout(to) 84 - } 85 - } 86 - }, []) 87 80 88 81 const onChangeText = useCallback( 89 82 async (newText: string) => { ··· 206 199 placeholder={placeholder} 207 200 placeholderTextColor={pal.colors.textLight} 208 201 keyboardAppearance={theme.colorScheme} 202 + autoFocus={true} 209 203 multiline 210 - style={[pal.text, styles.textInput, styles.textInputFormatting]}> 204 + style={[pal.text, styles.textInput, styles.textInputFormatting]} 205 + {...props}> 211 206 {textDecorated} 212 207 </PasteInput> 213 208 <Autocomplete
+2 -2
src/view/com/composer/text-input/TextInput.web.tsx
··· 25 25 placeholder: string 26 26 suggestedLinks: Set<string> 27 27 autocompleteView: UserAutocompleteModel 28 - setRichText: (v: RichText) => void 28 + setRichText: (v: RichText | ((v: RichText) => RichText)) => void 29 29 onPhotoPasted: (uri: string) => void 30 - onPressPublish: (richtext: RichText) => Promise<false | undefined> 30 + onPressPublish: (richtext: RichText) => Promise<void> 31 31 onSuggestedLinksChanged: (uris: Set<string>) => void 32 32 onError: (err: string) => void 33 33 }
+3 -1
src/view/com/composer/text-input/mobile/Autocomplete.tsx
··· 50 50 testID="autocompleteButton" 51 51 key={item.handle} 52 52 style={[pal.border, styles.item]} 53 - onPress={() => onSelect(item.handle)}> 53 + onPress={() => onSelect(item.handle)} 54 + accessibilityLabel={`Select ${item.handle}`} 55 + accessibilityHint={`Autocompletes to ${item.handle}`}> 54 56 <Text type="md-medium" style={pal.text}> 55 57 {item.displayName || item.handle} 56 58 <Text type="sm" style={pal.textLight}>
+5 -1
src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx
··· 20 20 <TouchableOpacity 21 21 style={styles.closeButton} 22 22 onPress={onRequestClose} 23 - hitSlop={HIT_SLOP}> 23 + hitSlop={HIT_SLOP} 24 + accessibilityRole="button" 25 + accessibilityLabel="Close image" 26 + accessibilityHint="Closes viewer for header image" 27 + onAccessibilityEscape={onRequestClose}> 24 28 <Text style={styles.closeText}>✕</Text> 25 29 </TouchableOpacity> 26 30 </SafeAreaView>
+2 -1
src/view/com/lightbox/ImageViewing/components/ImageItem/ImageItem.ios.tsx
··· 127 127 <TouchableWithoutFeedback 128 128 onPress={doubleTapToZoomEnabled ? handleDoubleTap : undefined} 129 129 onLongPress={onLongPressHandler} 130 - delayLongPress={delayLongPress}> 130 + delayLongPress={delayLongPress} 131 + accessibilityRole="image"> 131 132 <Animated.Image 132 133 source={imageSrc} 133 134 style={imageStylesWithOpacity}
+6 -1
src/view/com/lightbox/ImageViewing/index.tsx
··· 112 112 } 113 113 114 114 return ( 115 - <SafeAreaView style={styles.screen} onLayout={onLayout} edges={edges}> 115 + <SafeAreaView 116 + style={styles.screen} 117 + onLayout={onLayout} 118 + edges={edges} 119 + aria-modal 120 + accessibilityViewIsModal> 116 121 <ModalsContainer /> 117 122 <View style={[styles.container, {opacity, backgroundColor}]}> 118 123 <Animated.View style={[styles.header, {transform: headerTransform}]}>
+19 -4
src/view/com/lightbox/Lightbox.web.tsx
··· 89 89 90 90 return ( 91 91 <View style={styles.mask}> 92 - <TouchableWithoutFeedback onPress={onClose}> 92 + <TouchableWithoutFeedback 93 + onPress={onClose} 94 + accessibilityRole="button" 95 + accessibilityLabel="Close image viewer" 96 + accessibilityHint="Exits image view" 97 + onAccessibilityEscape={onClose}> 93 98 <View style={styles.imageCenterer}> 94 - <Image source={imgs[index]} style={styles.image} /> 99 + <Image 100 + accessibilityIgnoresInvertColors 101 + source={imgs[index]} 102 + style={styles.image} 103 + /> 95 104 {canGoLeft && ( 96 105 <TouchableOpacity 97 106 onPress={onPressLeft} 98 - style={[styles.btn, styles.leftBtn]}> 107 + style={[styles.btn, styles.leftBtn]} 108 + accessibilityRole="button" 109 + accessibilityLabel="Go back" 110 + accessibilityHint="Navigates to previous image in viewer"> 99 111 <FontAwesomeIcon 100 112 icon="angle-left" 101 113 style={styles.icon} ··· 106 118 {canGoRight && ( 107 119 <TouchableOpacity 108 120 onPress={onPressRight} 109 - style={[styles.btn, styles.rightBtn]}> 121 + style={[styles.btn, styles.rightBtn]} 122 + accessibilityRole="button" 123 + accessibilityLabel="Go to next" 124 + accessibilityHint="Navigates to next image in viewer"> 110 125 <FontAwesomeIcon 111 126 icon="angle-right" 112 127 style={styles.icon}
+7 -1
src/view/com/modals/AddAppPasswords.tsx
··· 122 122 editable={!appPassword} 123 123 returnKeyType="done" 124 124 onEndEditing={createAppPassword} 125 + accessible={true} 126 + accessibilityLabel="Name" 127 + accessibilityHint="Input name for app password" 125 128 /> 126 129 </View> 127 130 ) : ( 128 131 <TouchableOpacity 129 132 style={[pal.border, styles.passwordContainer, pal.btn]} 130 - onPress={onCopy}> 133 + onPress={onCopy} 134 + accessibilityRole="button" 135 + accessibilityLabel="Copy" 136 + accessibilityHint="Copies app password"> 131 137 <Text type="2xl-bold" style={[pal.text]}> 132 138 {appPassword} 133 139 </Text>
+16 -3
src/view/com/modals/AltImage.tsx
··· 37 37 return ( 38 38 <View 39 39 testID="altTextImageModal" 40 - style={[pal.view, styles.container, s.flex1]}> 40 + style={[pal.view, styles.container, s.flex1]} 41 + nativeID="imageAltText"> 41 42 <Text style={[styles.title, pal.text]}>Add alt text</Text> 42 43 <TextInput 43 44 testID="altTextImageInput" ··· 46 47 multiline 47 48 value={altText} 48 49 onChangeText={text => setAltText(enforceLen(text, MAX_ALT_TEXT))} 50 + accessibilityLabel="Image alt text" 51 + accessibilityHint="Sets image alt text for screenreaders" 52 + accessibilityLabelledBy="imageAltText" 49 53 /> 50 54 <View style={styles.buttonControls}> 51 - <TouchableOpacity testID="altTextImageSaveBtn" onPress={onPressSave}> 55 + <TouchableOpacity 56 + testID="altTextImageSaveBtn" 57 + onPress={onPressSave} 58 + accessibilityLabel="Save alt text" 59 + accessibilityHint={`Saves alt text, which reads: ${altText}`} 60 + accessibilityRole="button"> 52 61 <LinearGradient 53 62 colors={[gradients.blueLight.start, gradients.blueLight.end]} 54 63 start={{x: 0, y: 0}} ··· 61 70 </TouchableOpacity> 62 71 <TouchableOpacity 63 72 testID="altTextImageCancelBtn" 64 - onPress={onPressCancel}> 73 + onPress={onPressCancel} 74 + accessibilityRole="button" 75 + accessibilityLabel="Cancel add image alt text" 76 + accessibilityHint="Exits adding alt text to image" 77 + onAccessibilityEscape={onPressCancel}> 65 78 <View style={[styles.button]}> 66 79 <Text type="button-lg" style={[pal.textLight]}> 67 80 Cancel
+6 -1
src/view/com/modals/AltImageRead.tsx
··· 30 30 <View style={[styles.text, pal.viewLight]}> 31 31 <Text style={pal.text}>{altText}</Text> 32 32 </View> 33 - <TouchableOpacity testID="altTextImageSaveBtn" onPress={onPress}> 33 + <TouchableOpacity 34 + testID="altTextImageSaveBtn" 35 + onPress={onPress} 36 + accessibilityRole="button" 37 + accessibilityLabel="Save" 38 + accessibilityHint="Save alt text"> 34 39 <LinearGradient 35 40 colors={[gradients.blueLight.start, gradients.blueLight.end]} 36 41 start={{x: 0, y: 0}}
+31 -6
src/view/com/modals/ChangeHandle.tsx
··· 133 133 <View style={[s.flex1, pal.view]}> 134 134 <View style={[styles.title, pal.border]}> 135 135 <View style={styles.titleLeft}> 136 - <TouchableOpacity onPress={onPressCancel}> 136 + <TouchableOpacity 137 + onPress={onPressCancel} 138 + accessibilityRole="button" 139 + accessibilityLabel="Cancel change handle" 140 + accessibilityHint="Exits handle change process" 141 + onAccessibilityEscape={onPressCancel}> 137 142 <Text type="lg" style={pal.textLight}> 138 143 Cancel 139 144 </Text> ··· 148 153 ) : error && !serviceDescription ? ( 149 154 <TouchableOpacity 150 155 testID="retryConnectButton" 151 - onPress={onPressRetryConnect}> 156 + onPress={onPressRetryConnect} 157 + accessibilityRole="button" 158 + accessibilityLabel="Retry change handle" 159 + accessibilityHint={`Retries handle change to ${handle}`}> 152 160 <Text type="xl-bold" style={[pal.link, s.pr5]}> 153 161 Retry 154 162 </Text> 155 163 </TouchableOpacity> 156 164 ) : canSave ? ( 157 - <TouchableOpacity onPress={onPressSave}> 165 + <TouchableOpacity 166 + onPress={onPressSave} 167 + accessibilityRole="button" 168 + accessibilityLabel="Save handle change" 169 + accessibilityHint={`Saves handle change to ${handle}`}> 158 170 <Text type="2xl-medium" style={pal.link}> 159 171 Save 160 172 </Text> ··· 245 257 value={handle} 246 258 onChangeText={onChangeHandle} 247 259 editable={!isProcessing} 260 + accessible={true} 261 + accessibilityLabel="Handle" 262 + accessibilityHint="Sets Bluesky username" 248 263 /> 249 264 </View> 250 265 <Text type="md" style={[pal.textLight, s.pl10, s.pt10]}> ··· 253 268 @{createFullHandle(handle, userDomain)} 254 269 </Text> 255 270 </Text> 256 - <TouchableOpacity onPress={onToggleCustom}> 271 + <TouchableOpacity 272 + onPress={onToggleCustom} 273 + accessibilityRole="button" 274 + accessibilityHint="Hosting provider" 275 + accessibilityLabel="Opens modal for using custom domain"> 257 276 <Text type="md-medium" style={[pal.link, s.pl10, s.pt5]}> 258 277 I have my own domain 259 278 </Text> ··· 338 357 // = 339 358 return ( 340 359 <> 341 - <Text type="md" style={[pal.text, s.pb5, s.pl5]}> 360 + <Text type="md" style={[pal.text, s.pb5, s.pl5]} nativeID="customDomain"> 342 361 Enter the domain you want to use 343 362 </Text> 344 363 <View style={[pal.btn, styles.textInputWrapper]}> ··· 356 375 value={handle} 357 376 onChangeText={onChangeHandle} 358 377 editable={!isProcessing} 378 + accessibilityLabelledBy="customDomain" 379 + accessibilityLabel="Custom domain" 380 + accessibilityHint="Input your preferred hosting provider" 359 381 /> 360 382 </View> 361 383 <View style={styles.spacer} /> ··· 421 443 )} 422 444 </Button> 423 445 <View style={styles.spacer} /> 424 - <TouchableOpacity onPress={onToggleCustom}> 446 + <TouchableOpacity 447 + onPress={onToggleCustom} 448 + accessibilityLabel="Use default provider" 449 + accessibilityHint="Use bsky.social as hosting provider"> 425 450 <Text type="md-medium" style={[pal.link, s.pl10, s.pt5]}> 426 451 Nevermind, create a handle for me 427 452 </Text>
+6 -1
src/view/com/modals/Confirm.tsx
··· 66 66 <TouchableOpacity 67 67 testID="confirmBtn" 68 68 onPress={onPress} 69 - style={[styles.btn]}> 69 + style={[styles.btn]} 70 + accessibilityRole="button" 71 + accessibilityLabel="Confirm" 72 + // TODO: This needs to be updated so that modal roles are clear; 73 + // Currently there is only one usage for the confirm modal: post deletion 74 + accessibilityHint="Confirms a potentially destructive action"> 70 75 <Text style={[s.white, s.bold, s.f18]}>Confirm</Text> 71 76 </TouchableOpacity> 72 77 )}
+32 -15
src/view/com/modals/ContentFilteringSettings.tsx
··· 34 34 <View style={styles.bottomSpacer} /> 35 35 </ScrollView> 36 36 <View style={[styles.btnContainer, pal.borderDark]}> 37 - <Pressable testID="sendReportBtn" onPress={onPressDone}> 37 + <Pressable 38 + testID="sendReportBtn" 39 + onPress={onPressDone} 40 + accessibilityRole="button" 41 + accessibilityLabel="Confirm content moderation settings" 42 + accessibilityHint=""> 38 43 <LinearGradient 39 44 colors={[gradients.blueLight.start, gradients.blueLight.end]} 40 45 start={{x: 0, y: 0}} ··· 48 53 ) 49 54 } 50 55 56 + // TODO: Refactor this component to pass labels down to each tab 51 57 const ContentLabelPref = observer( 52 58 ({group}: {group: keyof typeof CONFIGURABLE_LABEL_GROUPS}) => { 53 59 const store = useStores() ··· 67 73 <SelectGroup 68 74 current={store.preferences.contentLabels[group]} 69 75 onChange={v => store.preferences.setContentLabelPref(group, v)} 76 + group={group} 70 77 /> 71 78 </View> 72 79 ) 73 80 }, 74 81 ) 75 82 76 - function SelectGroup({ 77 - current, 78 - onChange, 79 - }: { 83 + interface SelectGroupProps { 80 84 current: LabelPreference 81 85 onChange: (v: LabelPreference) => void 82 - }) { 86 + group: keyof typeof CONFIGURABLE_LABEL_GROUPS 87 + } 88 + 89 + function SelectGroup({current, onChange, group}: SelectGroupProps) { 83 90 return ( 84 91 <View style={styles.selectableBtns}> 85 92 <SelectableBtn ··· 88 95 label="Hide" 89 96 left 90 97 onChange={onChange} 98 + group={group} 91 99 /> 92 100 <SelectableBtn 93 101 current={current} 94 102 value="warn" 95 103 label="Warn" 96 104 onChange={onChange} 105 + group={group} 97 106 /> 98 107 <SelectableBtn 99 108 current={current} ··· 101 110 label="Show" 102 111 right 103 112 onChange={onChange} 113 + group={group} 104 114 /> 105 115 </View> 106 116 ) 107 117 } 108 118 119 + interface SelectableBtnProps { 120 + current: string 121 + value: LabelPreference 122 + label: string 123 + left?: boolean 124 + right?: boolean 125 + onChange: (v: LabelPreference) => void 126 + group: keyof typeof CONFIGURABLE_LABEL_GROUPS 127 + } 128 + 109 129 function SelectableBtn({ 110 130 current, 111 131 value, ··· 113 133 left, 114 134 right, 115 135 onChange, 116 - }: { 117 - current: string 118 - value: LabelPreference 119 - label: string 120 - left?: boolean 121 - right?: boolean 122 - onChange: (v: LabelPreference) => void 123 - }) { 136 + group, 137 + }: SelectableBtnProps) { 124 138 const pal = usePalette('default') 125 139 const palPrimary = usePalette('inverted') 126 140 return ( ··· 132 146 pal.border, 133 147 current === value ? palPrimary.view : pal.view, 134 148 ]} 135 - onPress={() => onChange(value)}> 149 + onPress={() => onChange(value)} 150 + accessibilityRole="button" 151 + accessibilityLabel={value} 152 + accessibilityHint={`Set ${value} for ${group} content moderation policy`}> 136 153 <Text style={current === value ? palPrimary.text : pal.text}> 137 154 {label} 138 155 </Text>
+30 -6
src/view/com/modals/DeleteAccount.tsx
··· 86 86 <> 87 87 <TouchableOpacity 88 88 style={styles.mt20} 89 - onPress={onPressSendEmail}> 89 + onPress={onPressSendEmail} 90 + accessibilityRole="button" 91 + accessibilityLabel="Send email" 92 + accessibilityHint="Sends email with confirmation code for account deletion"> 90 93 <LinearGradient 91 94 colors={[ 92 95 gradients.blueLight.start, ··· 102 105 </TouchableOpacity> 103 106 <TouchableOpacity 104 107 style={[styles.btn, s.mt10]} 105 - onPress={onCancel}> 108 + onPress={onCancel} 109 + accessibilityRole="button" 110 + accessibilityLabel="Cancel account deletion" 111 + accessibilityHint="" 112 + onAccessibilityEscape={onCancel}> 106 113 <Text type="button-lg" style={pal.textLight}> 107 114 Cancel 108 115 </Text> ··· 112 119 </> 113 120 ) : ( 114 121 <> 115 - <Text type="lg" style={styles.description}> 122 + {/* TODO: Update this label to be more concise */} 123 + <Text 124 + type="lg" 125 + style={styles.description} 126 + nativeID="confirmationCode"> 116 127 Check your inbox for an email with the confirmation code to enter 117 128 below: 118 129 </Text> ··· 123 134 keyboardAppearance={theme.colorScheme} 124 135 value={confirmCode} 125 136 onChangeText={setConfirmCode} 137 + accessibilityLabelledBy="confirmationCode" 138 + accessibilityLabel="Confirmation code" 139 + accessibilityHint="Input confirmation code for account deletion" 126 140 /> 127 - <Text type="lg" style={styles.description}> 141 + <Text type="lg" style={styles.description} nativeID="password"> 128 142 Please enter your password as well: 129 143 </Text> 130 144 <TextInput ··· 135 149 secureTextEntry 136 150 value={password} 137 151 onChangeText={setPassword} 152 + accessibilityLabelledBy="password" 153 + accessibilityLabel="Password" 154 + accessibilityHint="Input password for account deletion" 138 155 /> 139 156 {error ? ( 140 157 <View style={styles.mt20}> ··· 149 166 <> 150 167 <TouchableOpacity 151 168 style={[styles.btn, styles.evilBtn, styles.mt20]} 152 - onPress={onPressConfirmDelete}> 169 + onPress={onPressConfirmDelete} 170 + accessibilityRole="button" 171 + accessibilityLabel="Confirm delete account" 172 + accessibilityHint=""> 153 173 <Text type="button-lg" style={[s.white, s.bold]}> 154 174 Delete my account 155 175 </Text> 156 176 </TouchableOpacity> 157 177 <TouchableOpacity 158 178 style={[styles.btn, s.mt10]} 159 - onPress={onCancel}> 179 + onPress={onCancel} 180 + accessibilityRole="button" 181 + accessibilityLabel="Cancel account deletion" 182 + accessibilityHint="Exits account deletion process" 183 + onAccessibilityEscape={onCancel}> 160 184 <Text type="button-lg" style={pal.textLight}> 161 185 Cancel 162 186 </Text>
+15 -2
src/view/com/modals/EditProfile.tsx
··· 175 175 onChangeText={v => 176 176 setDisplayName(enforceLen(v, MAX_DISPLAY_NAME)) 177 177 } 178 + accessible={true} 179 + accessibilityLabel="Display name" 180 + accessibilityHint="Edit your display name" 178 181 /> 179 182 </View> 180 183 <View style={s.pb10}> ··· 188 191 multiline 189 192 value={description} 190 193 onChangeText={v => setDescription(enforceLen(v, MAX_DESCRIPTION))} 194 + accessible={true} 195 + accessibilityLabel="Description" 196 + accessibilityHint="Edit your profile description" 191 197 /> 192 198 </View> 193 199 {isProcessing ? ( ··· 198 204 <TouchableOpacity 199 205 testID="editProfileSaveBtn" 200 206 style={s.mt10} 201 - onPress={onPressSave}> 207 + onPress={onPressSave} 208 + accessibilityRole="button" 209 + accessibilityLabel="Save" 210 + accessibilityHint="Saves any changes to your profile"> 202 211 <LinearGradient 203 212 colors={[gradients.blueLight.start, gradients.blueLight.end]} 204 213 start={{x: 0, y: 0}} ··· 211 220 <TouchableOpacity 212 221 testID="editProfileCancelBtn" 213 222 style={s.mt5} 214 - onPress={onPressCancel}> 223 + onPress={onPressCancel} 224 + accessibilityRole="button" 225 + accessibilityLabel="Cancel profile editing" 226 + accessibilityHint="" 227 + onAccessibilityEscape={onPressCancel}> 215 228 <View style={[styles.btn]}> 216 229 <Text style={[s.black, s.bold, pal.text]}>Cancel</Text> 217 230 </View>
+9 -1
src/view/com/modals/InviteCodes.tsx
··· 87 87 ({testID, code, used}: {testID: string; code: string; used?: boolean}) => { 88 88 const pal = usePalette('default') 89 89 const store = useStores() 90 + const {invitesAvailable} = store.me 90 91 91 92 const onPress = React.useCallback(() => { 92 93 Clipboard.setString(code) ··· 98 99 <TouchableOpacity 99 100 testID={testID} 100 101 style={[styles.inviteCode, pal.border]} 101 - onPress={onPress}> 102 + onPress={onPress} 103 + accessibilityRole="button" 104 + accessibilityLabel={ 105 + invitesAvailable === 1 106 + ? 'Invite codes: 1 available' 107 + : `Invite codes: ${invitesAvailable} available` 108 + } 109 + accessibilityHint="Opens list of invite codes"> 102 110 <Text 103 111 testID={`${testID}-code`} 104 112 type={used ? 'md' : 'md-bold'}
+3
src/view/com/modals/Modal.web.tsx
··· 53 53 store.shell.closeModal() 54 54 } 55 55 const onInnerPress = () => { 56 + // TODO: can we use prevent default? 56 57 // do nothing, we just want to stop it from bubbling 57 58 } 58 59 ··· 92 93 } 93 94 94 95 return ( 96 + // eslint-disable-next-line 95 97 <TouchableWithoutFeedback onPress={onPressMask}> 96 98 <View style={styles.mask}> 99 + {/* eslint-disable-next-line */} 97 100 <TouchableWithoutFeedback onPress={onInnerPress}> 98 101 <View 99 102 style={[
+4 -1
src/view/com/modals/ReportAccount.tsx
··· 110 110 <TouchableOpacity 111 111 testID="sendReportBtn" 112 112 style={s.mt10} 113 - onPress={onPress}> 113 + onPress={onPress} 114 + accessibilityRole="button" 115 + accessibilityLabel="Report account" 116 + accessibilityHint={`Reports account with reason ${issue}`}> 114 117 <LinearGradient 115 118 colors={[gradients.blueLight.start, gradients.blueLight.end]} 116 119 start={{x: 0, y: 0}}
+4 -1
src/view/com/modals/ReportPost.tsx
··· 153 153 <TouchableOpacity 154 154 testID="sendReportBtn" 155 155 style={s.mt10} 156 - onPress={onPress}> 156 + onPress={onPress} 157 + accessibilityRole="button" 158 + accessibilityLabel="Report post" 159 + accessibilityHint={`Reports post with reason ${issue}`}> 157 160 <LinearGradient 158 161 colors={[gradients.blueLight.start, gradients.blueLight.end]} 159 162 start={{x: 0, y: 0}}
+16 -3
src/view/com/modals/Repost.tsx
··· 18 18 onRepost: () => void 19 19 onQuote: () => void 20 20 isReposted: boolean 21 + // TODO: Add author into component 21 22 }) { 22 23 const store = useStores() 23 24 const pal = usePalette('default') ··· 31 32 <TouchableOpacity 32 33 testID="repostBtn" 33 34 style={[styles.actionBtn]} 34 - onPress={onRepost}> 35 + onPress={onRepost} 36 + accessibilityRole="button" 37 + accessibilityLabel={isReposted ? 'Undo repost' : 'Repost'} 38 + accessibilityHint={isReposted ? 'Remove repost' : 'Repost '}> 35 39 <RepostIcon strokeWidth={2} size={24} style={s.blue3} /> 36 40 <Text type="title-lg" style={[styles.actionBtnLabel, pal.text]}> 37 41 {!isReposted ? 'Repost' : 'Undo repost'} ··· 40 44 <TouchableOpacity 41 45 testID="quoteBtn" 42 46 style={[styles.actionBtn]} 43 - onPress={onQuote}> 47 + onPress={onQuote} 48 + accessibilityRole="button" 49 + accessibilityLabel="Quote post" 50 + accessibilityHint=""> 44 51 <FontAwesomeIcon icon="quote-left" size={24} style={s.blue3} /> 45 52 <Text type="title-lg" style={[styles.actionBtnLabel, pal.text]}> 46 53 Quote Post 47 54 </Text> 48 55 </TouchableOpacity> 49 56 </View> 50 - <TouchableOpacity testID="cancelBtn" onPress={onPress}> 57 + <TouchableOpacity 58 + testID="cancelBtn" 59 + onPress={onPress} 60 + accessibilityRole="button" 61 + accessibilityLabel="Cancel quote post" 62 + accessibilityHint="" 63 + onAccessibilityEscape={onPress}> 51 64 <LinearGradient 52 65 colors={[gradients.blueLight.start, gradients.blueLight.end]} 53 66 start={{x: 0, y: 0}}
+21 -4
src/view/com/modals/ServerInput.tsx
··· 41 41 <TouchableOpacity 42 42 testID="localDevServerButton" 43 43 style={styles.btn} 44 - onPress={() => doSelect(LOCAL_DEV_SERVICE)}> 44 + onPress={() => doSelect(LOCAL_DEV_SERVICE)} 45 + accessibilityRole="button"> 45 46 <Text style={styles.btnText}>Local dev server</Text> 46 47 <FontAwesomeIcon 47 48 icon="arrow-right" ··· 50 51 </TouchableOpacity> 51 52 <TouchableOpacity 52 53 style={styles.btn} 53 - onPress={() => doSelect(STAGING_SERVICE)}> 54 + onPress={() => doSelect(STAGING_SERVICE)} 55 + accessibilityRole="button"> 54 56 <Text style={styles.btnText}>Staging</Text> 55 57 <FontAwesomeIcon 56 58 icon="arrow-right" ··· 61 63 ) : undefined} 62 64 <TouchableOpacity 63 65 style={styles.btn} 64 - onPress={() => doSelect(PROD_SERVICE)}> 66 + onPress={() => doSelect(PROD_SERVICE)} 67 + accessibilityRole="button" 68 + accessibilityLabel="Select Bluesky Social" 69 + accessibilityHint="Sets Bluesky Social as your service provider"> 65 70 <Text style={styles.btnText}>Bluesky.Social</Text> 66 71 <FontAwesomeIcon 67 72 icon="arrow-right" ··· 83 88 keyboardAppearance={theme.colorScheme} 84 89 value={customUrl} 85 90 onChangeText={setCustomUrl} 91 + accessibilityLabel="Custom domain" 92 + // TODO: Simplify this wording further to be understandable by everyone 93 + accessibilityHint="Use your domain as your Bluesky client service provider" 86 94 /> 87 95 <TouchableOpacity 88 96 testID="customServerSelectBtn" 89 97 style={[pal.borderDark, pal.text, styles.textInputBtn]} 90 - onPress={() => doSelect(customUrl)}> 98 + onPress={() => doSelect(customUrl)} 99 + accessibilityRole="button" 100 + accessibilityLabel={`Confirm service. ${ 101 + customUrl === '' 102 + ? 'Button disabled. Input custom domain to proceed.' 103 + : '' 104 + }`} 105 + accessibilityHint="" 106 + // TODO - accessibility: Need to inform state change on failure 107 + disabled={customUrl === ''}> 91 108 <FontAwesomeIcon 92 109 icon="check" 93 110 style={[pal.text as FontAwesomeIconStyle, styles.checkIcon]}
+14 -2
src/view/com/modals/Waitlist.tsx
··· 77 77 keyboardAppearance={theme.colorScheme} 78 78 value={email} 79 79 onChangeText={setEmail} 80 + accessible={true} 81 + accessibilityLabel="Email" 82 + accessibilityHint="Input your email to get on the Bluesky waitlist" 80 83 /> 81 84 {error ? ( 82 85 <View style={s.mt10}> ··· 99 102 </View> 100 103 ) : ( 101 104 <> 102 - <TouchableOpacity onPress={onPressSignup}> 105 + <TouchableOpacity 106 + onPress={onPressSignup} 107 + accessibilityRole="button" 108 + accessibilityHint={`Confirms signing up ${email} to the waitlist`}> 103 109 <LinearGradient 104 110 colors={[gradients.blueLight.start, gradients.blueLight.end]} 105 111 start={{x: 0, y: 0}} ··· 110 116 </Text> 111 117 </LinearGradient> 112 118 </TouchableOpacity> 113 - <TouchableOpacity style={[styles.btn, s.mt10]} onPress={onCancel}> 119 + <TouchableOpacity 120 + style={[styles.btn, s.mt10]} 121 + onPress={onCancel} 122 + accessibilityRole="button" 123 + accessibilityLabel="Cancel waitlist signup" 124 + accessibilityHint={`Exits signing up for waitlist with ${email}`} 125 + onAccessibilityEscape={onCancel}> 114 126 <Text type="button-lg" style={pal.textLight}> 115 127 Cancel 116 128 </Text>
+28 -7
src/view/com/modals/crop-image/CropImage.web.tsx
··· 4 4 import {Slider} from '@miblanchard/react-native-slider' 5 5 import LinearGradient from 'react-native-linear-gradient' 6 6 import {Text} from 'view/com/util/text/Text' 7 - import {Dimensions, Image} from 'lib/media/types' 7 + import {Dimensions} from 'lib/media/types' 8 8 import {getDataUriSize} from 'lib/media/util' 9 9 import {s, gradients} from 'lib/styles' 10 10 import {useStores} from 'state/index' 11 11 import {usePalette} from 'lib/hooks/usePalette' 12 12 import {SquareIcon, RectWideIcon, RectTallIcon} from 'lib/icons' 13 + import {Image as RNImage} from 'react-native-image-crop-picker' 13 14 14 15 enum AspectRatio { 15 16 Square = 'square', ··· 30 31 onSelect, 31 32 }: { 32 33 uri: string 33 - onSelect: (img?: Image) => void 34 + onSelect: (img?: RNImage) => void 34 35 }) { 35 36 const store = useStores() 36 37 const pal = usePalette('default') ··· 92 93 maximumValue={3} 93 94 containerStyle={styles.slider} 94 95 /> 95 - <TouchableOpacity onPress={doSetAs(AspectRatio.Wide)}> 96 + <TouchableOpacity 97 + onPress={doSetAs(AspectRatio.Wide)} 98 + accessibilityRole="button" 99 + accessibilityLabel="Wide" 100 + accessibilityHint="Sets image aspect ratio to wide"> 96 101 <RectWideIcon 97 102 size={24} 98 103 style={as === AspectRatio.Wide ? s.blue3 : undefined} 99 104 /> 100 105 </TouchableOpacity> 101 - <TouchableOpacity onPress={doSetAs(AspectRatio.Tall)}> 106 + <TouchableOpacity 107 + onPress={doSetAs(AspectRatio.Tall)} 108 + accessibilityRole="button" 109 + accessibilityLabel="Tall" 110 + accessibilityHint="Sets image aspect ratio to tall"> 102 111 <RectTallIcon 103 112 size={24} 104 113 style={as === AspectRatio.Tall ? s.blue3 : undefined} 105 114 /> 106 115 </TouchableOpacity> 107 - <TouchableOpacity onPress={doSetAs(AspectRatio.Square)}> 116 + <TouchableOpacity 117 + onPress={doSetAs(AspectRatio.Square)} 118 + accessibilityRole="button" 119 + accessibilityLabel="Square" 120 + accessibilityHint="Sets image aspect ratio to square"> 108 121 <SquareIcon 109 122 size={24} 110 123 style={as === AspectRatio.Square ? s.blue3 : undefined} ··· 112 125 </TouchableOpacity> 113 126 </View> 114 127 <View style={styles.btns}> 115 - <TouchableOpacity onPress={onPressCancel}> 128 + <TouchableOpacity 129 + onPress={onPressCancel} 130 + accessibilityRole="button" 131 + accessibilityLabel="Cancel image crop" 132 + accessibilityHint="Exits image cropping process"> 116 133 <Text type="xl" style={pal.link}> 117 134 Cancel 118 135 </Text> 119 136 </TouchableOpacity> 120 137 <View style={s.flex1} /> 121 - <TouchableOpacity onPress={onPressDone}> 138 + <TouchableOpacity 139 + onPress={onPressDone} 140 + accessibilityRole="button" 141 + accessibilityLabel="Save image crop" 142 + accessibilityHint="Saves image crop settings"> 122 143 <LinearGradient 123 144 colors={[gradients.blueLight.start, gradients.blueLight.end]} 124 145 start={{x: 0, y: 0}}
+46 -37
src/view/com/notifications/FeedItem.tsx
··· 123 123 testID={`feedItem-by-${item.author.handle}`} 124 124 href={itemHref} 125 125 title={itemTitle} 126 - noFeedback> 126 + noFeedback 127 + accessible={false}> 127 128 <Post 128 129 uri={item.uri} 129 130 initView={item.additionalPost} ··· 163 164 } 164 165 165 166 return ( 167 + // eslint-disable-next-line 166 168 <Link 167 169 testID={`feedItem-by-${item.author.handle}`} 168 170 style={[ ··· 178 180 ]} 179 181 href={itemHref} 180 182 title={itemTitle} 181 - noFeedback> 183 + noFeedback 184 + accessible={(item.isLike && authors.length === 1) || item.isRepost}> 182 185 <View style={styles.layoutIcon}> 186 + {/* TODO: Prevent conditional rendering and move toward composable 187 + notifications for clearer accessibility labeling */} 183 188 {icon === 'HeartIconSolid' ? ( 184 189 <HeartIconSolid size={28} style={[styles.icon, ...iconStyle]} /> 185 190 ) : ( ··· 192 197 </View> 193 198 <View style={styles.layoutContent}> 194 199 <Pressable 195 - onPress={authors.length > 1 ? onToggleAuthorsExpanded : () => {}}> 200 + onPress={authors.length > 1 ? onToggleAuthorsExpanded : undefined} 201 + accessible={false}> 196 202 <CondensedAuthorsList 197 203 visible={!isAuthorsExpanded} 198 204 authors={authors} 199 205 onToggleAuthorsExpanded={onToggleAuthorsExpanded} 200 206 /> 201 207 <ExpandedAuthorsList visible={isAuthorsExpanded} authors={authors} /> 202 - <View style={styles.meta}> 208 + <Text style={styles.meta}> 203 209 <TextLink 204 210 key={authors[0].href} 205 - style={[pal.text, s.bold, styles.metaItem]} 211 + style={[pal.text, s.bold]} 206 212 href={authors[0].href} 207 213 text={sanitizeDisplayName( 208 214 authors[0].displayName || authors[0].handle, ··· 210 216 /> 211 217 {authors.length > 1 ? ( 212 218 <> 213 - <Text style={[styles.metaItem, pal.text]}>and</Text> 214 - <Text style={[styles.metaItem, pal.text, s.bold]}> 219 + <Text style={[pal.text]}> and </Text> 220 + <Text style={[pal.text, s.bold]}> 215 221 {authors.length - 1} {pluralize(authors.length - 1, 'other')} 216 222 </Text> 217 223 </> 218 224 ) : undefined} 219 - <Text style={[styles.metaItem, pal.text]}>{action}</Text> 220 - <Text style={[styles.metaItem, pal.textLight]}> 221 - {ago(item.indexedAt)} 222 - </Text> 223 - </View> 225 + <Text style={[pal.text]}> {action}</Text> 226 + <Text style={[pal.textLight]}> {ago(item.indexedAt)}</Text> 227 + </Text> 224 228 </Pressable> 225 229 {item.isLike || item.isRepost || item.isQuote ? ( 226 230 <AdditionalPostText additionalPost={item.additionalPost} /> ··· 245 249 <View style={styles.avis}> 246 250 <TouchableOpacity 247 251 style={styles.expandedAuthorsCloseBtn} 248 - onPress={onToggleAuthorsExpanded}> 252 + onPress={onToggleAuthorsExpanded} 253 + accessibilityRole="button" 254 + accessibilityLabel="Hide user list" 255 + accessibilityHint="Collapses list of users for a given notification"> 249 256 <FontAwesomeIcon 250 257 icon="angle-up" 251 258 size={18} ··· 276 283 ) 277 284 } 278 285 return ( 279 - <View style={styles.avis}> 280 - {authors.slice(0, MAX_AUTHORS).map(author => ( 281 - <View key={author.href} style={s.mr5}> 282 - <UserAvatar 283 - size={35} 284 - avatar={author.avatar} 285 - moderation={author.moderation.avatar} 286 - /> 287 - </View> 288 - ))} 289 - {authors.length > MAX_AUTHORS ? ( 290 - <Text style={[styles.aviExtraCount, pal.textLight]}> 291 - +{authors.length - MAX_AUTHORS} 292 - </Text> 293 - ) : undefined} 294 - <FontAwesomeIcon 295 - icon="angle-down" 296 - size={18} 297 - style={[styles.expandedAuthorsCloseBtnIcon, pal.textLight]} 298 - /> 299 - </View> 286 + <TouchableOpacity 287 + accessibilityLabel="Show users" 288 + accessibilityHint="Opens an expanded list of users in this notification" 289 + onPress={onToggleAuthorsExpanded}> 290 + <View style={styles.avis}> 291 + {authors.slice(0, MAX_AUTHORS).map(author => ( 292 + <View key={author.href} style={s.mr5}> 293 + <UserAvatar 294 + size={35} 295 + avatar={author.avatar} 296 + moderation={author.moderation.avatar} 297 + /> 298 + </View> 299 + ))} 300 + {authors.length > MAX_AUTHORS ? ( 301 + <Text style={[styles.aviExtraCount, pal.textLight]}> 302 + +{authors.length - MAX_AUTHORS} 303 + </Text> 304 + ) : undefined} 305 + <FontAwesomeIcon 306 + icon="angle-down" 307 + size={18} 308 + style={[styles.expandedAuthorsCloseBtnIcon, pal.textLight]} 309 + /> 310 + </View> 311 + </TouchableOpacity> 300 312 ) 301 313 } 302 314 ··· 425 437 flexWrap: 'wrap', 426 438 paddingTop: 6, 427 439 paddingBottom: 2, 428 - }, 429 - metaItem: { 430 - paddingRight: 3, 431 440 }, 432 441 postText: { 433 442 paddingBottom: 5,
+4 -1
src/view/com/pager/FeedsTabBarMobile.tsx
··· 37 37 <TouchableOpacity 38 38 testID="viewHeaderDrawerBtn" 39 39 style={styles.tabBarAvi} 40 - onPress={onPressAvi}> 40 + onPress={onPressAvi} 41 + accessibilityRole="button" 42 + accessibilityLabel="Open navigation" 43 + accessibilityHint="Access profile and other navigation links"> 41 44 <UserAvatar avatar={store.me.avatar} size={30} /> 42 45 </TouchableOpacity> 43 46 <TabBar
+10 -2
src/view/com/post-thread/PostThread.tsx
··· 180 180 <Text type="md" style={[pal.text, s.mb10]}> 181 181 The post may have been deleted. 182 182 </Text> 183 - <TouchableOpacity onPress={onPressBack}> 183 + <TouchableOpacity 184 + onPress={onPressBack} 185 + accessibilityRole="button" 186 + accessibilityLabel="Go back" 187 + accessibilityHint="Navigates to the previous screen"> 184 188 <Text type="2xl" style={pal.link}> 185 189 <FontAwesomeIcon 186 190 icon="angle-left" ··· 210 214 <Text type="md" style={[pal.text, s.mb10]}> 211 215 You have blocked the author or you have been blocked by the author. 212 216 </Text> 213 - <TouchableOpacity onPress={onPressBack}> 217 + <TouchableOpacity 218 + onPress={onPressBack} 219 + accessibilityRole="button" 220 + accessibilityLabel="Go back" 221 + accessibilityHint="Navigates to the previous screen"> 214 222 <Text type="2xl" style={pal.link}> 215 223 <FontAwesomeIcon 216 224 icon="angle-left"
+9 -4
src/view/com/post-thread/PostThreadItem.tsx
··· 151 151 moderation={item.moderation.thread}> 152 152 <View style={styles.layout}> 153 153 <View style={styles.layoutAvi}> 154 - <Link href={authorHref} title={authorTitle} asAnchor> 154 + <Link 155 + href={authorHref} 156 + title={authorTitle} 157 + asAnchor 158 + accessibilityLabel={`${item.post.author.handle}'s avatar`} 159 + accessibilityHint=""> 155 160 <UserAvatar 156 161 size={52} 157 162 avatar={item.post.author.avatar} ··· 183 188 <View style={s.flex1} /> 184 189 <PostDropdownBtn 185 190 testID="postDropdownBtn" 186 - style={styles.metaItem} 191 + style={[styles.metaItem, s.mt2, s.px5]} 187 192 itemUri={itemUri} 188 193 itemCid={itemCid} 189 194 itemHref={itemHref} ··· 197 202 <FontAwesomeIcon 198 203 icon="ellipsis-h" 199 204 size={14} 200 - style={[s.mt2, s.mr5, pal.textLight]} 205 + style={[pal.textLight]} 201 206 /> 202 207 </PostDropdownBtn> 203 208 </View> ··· 435 440 flexDirection: 'row', 436 441 }, 437 442 layoutAvi: { 438 - width: 70, 439 443 paddingLeft: 10, 440 444 paddingTop: 10, 441 445 paddingBottom: 10, 446 + marginRight: 10, 442 447 }, 443 448 layoutContent: { 444 449 flex: 1,
+35 -13
src/view/com/profile/ProfileHeader.tsx
··· 282 282 <TouchableOpacity 283 283 testID="profileHeaderEditProfileButton" 284 284 onPress={onPressEditProfile} 285 - style={[styles.btn, styles.mainBtn, pal.btn]}> 285 + style={[styles.btn, styles.mainBtn, pal.btn]} 286 + accessibilityRole="button" 287 + accessibilityLabel="Edit profile" 288 + accessibilityHint="Opens editor for profile display name, avatar, background image, and description"> 286 289 <Text type="button" style={pal.text}> 287 290 Edit Profile 288 291 </Text> ··· 291 294 <TouchableOpacity 292 295 testID="unblockBtn" 293 296 onPress={onPressUnblockAccount} 294 - style={[styles.btn, styles.mainBtn, pal.btn]}> 297 + style={[styles.btn, styles.mainBtn, pal.btn]} 298 + accessibilityRole="button" 299 + accessibilityLabel="Unblock" 300 + accessibilityHint=""> 295 301 <Text type="button" style={[pal.text, s.bold]}> 296 302 Unblock 297 303 </Text> ··· 303 309 <TouchableOpacity 304 310 testID="unfollowBtn" 305 311 onPress={onPressToggleFollow} 306 - style={[styles.btn, styles.mainBtn, pal.btn]}> 312 + style={[styles.btn, styles.mainBtn, pal.btn]} 313 + accessibilityRole="button" 314 + accessibilityLabel={`Unfollow ${view.handle}`} 315 + accessibilityHint={`Hides direct posts from ${view.handle} in your feed`}> 307 316 <FontAwesomeIcon 308 317 icon="check" 309 318 style={[pal.text, s.mr5]} ··· 317 326 <TouchableOpacity 318 327 testID="followBtn" 319 328 onPress={onPressToggleFollow} 320 - style={[styles.btn, styles.primaryBtn]}> 329 + style={[styles.btn, styles.primaryBtn]} 330 + accessibilityRole="button" 331 + accessibilityLabel={`Follow ${view.handle}`} 332 + accessibilityHint={`Shows direct posts from ${view.handle} in your feed`}> 321 333 <FontAwesomeIcon 322 334 icon="plus" 323 335 style={[s.white as FontAwesomeIconStyle, s.mr5]} ··· 363 375 <TouchableOpacity 364 376 testID="profileHeaderFollowersButton" 365 377 style={[s.flexRow, s.mr10]} 366 - onPress={onPressFollowers}> 378 + onPress={onPressFollowers} 379 + accessibilityRole="button" 380 + accessibilityLabel={`Show ${view.handle}'s followers`} 381 + accessibilityHint={`Shows folks following ${view.handle}`}> 367 382 <Text type="md" style={[s.bold, s.mr2, pal.text]}> 368 383 {formatCount(view.followersCount)} 369 384 </Text> ··· 374 389 <TouchableOpacity 375 390 testID="profileHeaderFollowsButton" 376 391 style={[s.flexRow, s.mr10]} 377 - onPress={onPressFollows}> 392 + onPress={onPressFollows} 393 + accessibilityRole="button" 394 + accessibilityLabel={`Show ${view.handle}'s follows`} 395 + accessibilityHint={`Shows folks followed by ${view.handle}`}> 378 396 <Text type="md" style={[s.bold, s.mr2, pal.text]}> 379 397 {formatCount(view.followsCount)} 380 398 </Text> ··· 382 400 following 383 401 </Text> 384 402 </TouchableOpacity> 385 - <View style={[s.flexRow, s.mr10]}> 386 - <Text type="md" style={[s.bold, s.mr2, pal.text]}> 387 - {view.postsCount} 388 - </Text> 403 + <Text type="md" style={[s.bold, pal.text]}> 404 + {view.postsCount}{' '} 389 405 <Text type="md" style={[pal.textLight]}> 390 406 {pluralize(view.postsCount, 'post')} 391 407 </Text> 392 - </View> 408 + </Text> 393 409 </View> 394 410 {view.descriptionRichText ? ( 395 411 <RichText ··· 440 456 {!isDesktopWeb && !hideBackButton && ( 441 457 <TouchableWithoutFeedback 442 458 onPress={onPressBack} 443 - hitSlop={BACK_HITSLOP}> 459 + hitSlop={BACK_HITSLOP} 460 + accessibilityRole="button" 461 + accessibilityLabel="Go back" 462 + accessibilityHint="Navigates to the previous screen"> 444 463 <View style={styles.backBtnWrapper}> 445 464 <BlurView style={styles.backBtn} blurType="dark"> 446 465 <FontAwesomeIcon size={18} icon="angle-left" style={s.white} /> ··· 450 469 )} 451 470 <TouchableWithoutFeedback 452 471 testID="profileHeaderAviButton" 453 - onPress={onPressAvi}> 472 + onPress={onPressAvi} 473 + accessibilityRole="image" 474 + accessibilityLabel={`View ${view.handle}'s avatar`} 475 + accessibilityHint={`Opens ${view.handle}'s avatar in an image viewer`}> 454 476 <View 455 477 style={[ 456 478 pal.view,
+16 -5
src/view/com/search/HeaderWithInput.tsx
··· 54 54 testID="viewHeaderBackOrMenuBtn" 55 55 onPress={onPressMenu} 56 56 hitSlop={MENU_HITSLOP} 57 - style={styles.headerMenuBtn}> 57 + style={styles.headerMenuBtn} 58 + accessibilityLabel="Go back" 59 + accessibilityHint="Navigates to the previous screen"> 58 60 <UserAvatar size={30} avatar={store.me.avatar} /> 59 61 </TouchableOpacity> 60 62 <View ··· 80 82 onBlur={() => setIsInputFocused(false)} 81 83 onChangeText={onChangeQuery} 82 84 onSubmitEditing={onSubmitQuery} 85 + autoFocus={true} 86 + accessibilityRole="search" 83 87 /> 84 88 {query ? ( 85 - <TouchableOpacity onPress={onPressClearQuery}> 89 + <TouchableOpacity 90 + onPress={onPressClearQuery} 91 + accessibilityRole="button" 92 + accessibilityLabel="Clear search query" 93 + accessibilityHint=""> 86 94 <FontAwesomeIcon 87 95 icon="xmark" 88 96 size={16} ··· 93 101 </View> 94 102 {query || isInputFocused ? ( 95 103 <View style={styles.headerCancelBtn}> 96 - <TouchableOpacity onPress={onPressCancelSearchInner}> 104 + <TouchableOpacity 105 + onPress={onPressCancelSearchInner} 106 + accessibilityRole="button"> 97 107 <Text style={pal.text}>Cancel</Text> 98 108 </TouchableOpacity> 99 109 </View> ··· 110 120 paddingVertical: 4, 111 121 }, 112 122 headerMenuBtn: { 113 - width: 40, 123 + width: 30, 114 124 height: 30, 115 - marginLeft: 6, 125 + borderRadius: 30, 126 + marginHorizontal: 6, 116 127 }, 117 128 headerSearchContainer: { 118 129 flex: 1,
+11 -3
src/view/com/util/BottomSheetCustomBackdrop.tsx
··· 1 1 import React, {useMemo} from 'react' 2 - import {GestureResponderEvent, TouchableWithoutFeedback} from 'react-native' 2 + import {TouchableWithoutFeedback} from 'react-native' 3 3 import {BottomSheetBackdropProps} from '@gorhom/bottom-sheet' 4 4 import Animated, { 5 5 Extrapolate, ··· 8 8 } from 'react-native-reanimated' 9 9 10 10 export function createCustomBackdrop( 11 - onClose?: ((event: GestureResponderEvent) => void) | undefined, 11 + onClose?: (() => void) | undefined, 12 12 ): React.FC<BottomSheetBackdropProps> { 13 13 const CustomBackdrop = ({animatedIndex, style}: BottomSheetBackdropProps) => { 14 14 // animated variables ··· 27 27 ) 28 28 29 29 return ( 30 - <TouchableWithoutFeedback onPress={onClose}> 30 + <TouchableWithoutFeedback 31 + onPress={onClose} 32 + accessibilityLabel="Close bottom drawer" 33 + accessibilityHint="" 34 + onAccessibilityEscape={() => { 35 + if (onClose !== undefined) { 36 + onClose() 37 + } 38 + }}> 31 39 <Animated.View style={containerStyle} /> 32 40 </TouchableWithoutFeedback> 33 41 )
+22 -12
src/view/com/util/Link.tsx
··· 1 - import React from 'react' 1 + import React, {ComponentProps} from 'react' 2 2 import {observer} from 'mobx-react-lite' 3 3 import { 4 4 Linking, ··· 29 29 | React.MouseEvent<HTMLAnchorElement, MouseEvent> 30 30 | GestureResponderEvent 31 31 32 + interface Props extends ComponentProps<typeof TouchableOpacity> { 33 + testID?: string 34 + style?: StyleProp<ViewStyle> 35 + href?: string 36 + title?: string 37 + children?: React.ReactNode 38 + noFeedback?: boolean 39 + asAnchor?: boolean 40 + } 41 + 32 42 export const Link = observer(function Link({ 33 43 testID, 34 44 style, ··· 37 47 children, 38 48 noFeedback, 39 49 asAnchor, 40 - }: { 41 - testID?: string 42 - style?: StyleProp<ViewStyle> 43 - href?: string 44 - title?: string 45 - children?: React.ReactNode 46 - noFeedback?: boolean 47 - asAnchor?: boolean 48 - }) { 50 + accessible, 51 + ...props 52 + }: Props) { 49 53 const store = useStores() 50 54 const navigation = useNavigation<NavigationProp>() 51 55 ··· 64 68 testID={testID} 65 69 onPress={onPress} 66 70 // @ts-ignore web only -prf 67 - href={asAnchor ? sanitizeUrl(href) : undefined}> 71 + href={asAnchor ? sanitizeUrl(href) : undefined} 72 + accessible={accessible} 73 + accessibilityRole="link" 74 + {...props}> 68 75 <View style={style}> 69 76 {children ? children : <Text>{title || 'link'}</Text>} 70 77 </View> ··· 76 83 testID={testID} 77 84 style={style} 78 85 onPress={onPress} 86 + accessible={accessible} 87 + accessibilityRole="link" 79 88 // @ts-ignore web only -prf 80 - href={asAnchor ? sanitizeUrl(href) : undefined}> 89 + href={asAnchor ? sanitizeUrl(href) : undefined} 90 + {...props}> 81 91 {children ? children : <Text>{title || 'link'}</Text>} 82 92 </TouchableOpacity> 83 93 )
-157
src/view/com/util/Picker.tsx
··· 1 - // TODO: replaceme with something in the design system 2 - 3 - import React, {useRef} from 'react' 4 - import { 5 - StyleProp, 6 - StyleSheet, 7 - TextStyle, 8 - TouchableOpacity, 9 - TouchableWithoutFeedback, 10 - View, 11 - ViewStyle, 12 - } from 'react-native' 13 - import { 14 - FontAwesomeIcon, 15 - FontAwesomeIconStyle, 16 - } from '@fortawesome/react-native-fontawesome' 17 - import RootSiblings from 'react-native-root-siblings' 18 - import {Text} from './text/Text' 19 - import {colors} from 'lib/styles' 20 - 21 - interface PickerItem { 22 - value: string 23 - label: string 24 - } 25 - 26 - interface PickerOpts { 27 - style?: StyleProp<ViewStyle> 28 - labelStyle?: StyleProp<TextStyle> 29 - iconStyle?: FontAwesomeIconStyle 30 - items: PickerItem[] 31 - value: string 32 - onChange: (value: string) => void 33 - enabled?: boolean 34 - } 35 - 36 - const MENU_WIDTH = 200 37 - 38 - export function Picker({ 39 - style, 40 - labelStyle, 41 - iconStyle, 42 - items, 43 - value, 44 - onChange, 45 - enabled, 46 - }: PickerOpts) { 47 - const ref = useRef<View>(null) 48 - const valueLabel = items.find(item => item.value === value)?.label || value 49 - const onPress = () => { 50 - if (!enabled) { 51 - return 52 - } 53 - ref.current?.measure( 54 - ( 55 - _x: number, 56 - _y: number, 57 - width: number, 58 - height: number, 59 - pageX: number, 60 - pageY: number, 61 - ) => { 62 - createDropdownMenu(pageX, pageY + height, MENU_WIDTH, items, onChange) 63 - }, 64 - ) 65 - } 66 - return ( 67 - <TouchableWithoutFeedback onPress={onPress}> 68 - <View style={[styles.outer, style]} ref={ref}> 69 - <View style={styles.label}> 70 - <Text style={labelStyle}>{valueLabel}</Text> 71 - </View> 72 - <FontAwesomeIcon icon="angle-down" style={[styles.icon, iconStyle]} /> 73 - </View> 74 - </TouchableWithoutFeedback> 75 - ) 76 - } 77 - 78 - function createDropdownMenu( 79 - x: number, 80 - y: number, 81 - width: number, 82 - items: PickerItem[], 83 - onChange: (value: string) => void, 84 - ): RootSiblings { 85 - const onPressItem = (index: number) => { 86 - sibling.destroy() 87 - onChange(items[index].value) 88 - } 89 - const onOuterPress = () => sibling.destroy() 90 - const sibling = new RootSiblings( 91 - ( 92 - <> 93 - <TouchableWithoutFeedback onPress={onOuterPress}> 94 - <View style={styles.bg} /> 95 - </TouchableWithoutFeedback> 96 - <View style={[styles.menu, {left: x, top: y, width}]}> 97 - {items.map((item, index) => ( 98 - <TouchableOpacity 99 - key={index} 100 - style={[styles.menuItem, index !== 0 && styles.menuItemBorder]} 101 - onPress={() => onPressItem(index)}> 102 - <Text style={styles.menuItemLabel}>{item.label}</Text> 103 - </TouchableOpacity> 104 - ))} 105 - </View> 106 - </> 107 - ), 108 - ) 109 - return sibling 110 - } 111 - 112 - const styles = StyleSheet.create({ 113 - outer: { 114 - flexDirection: 'row', 115 - alignItems: 'center', 116 - }, 117 - label: { 118 - marginRight: 5, 119 - }, 120 - icon: {}, 121 - bg: { 122 - position: 'absolute', 123 - top: 0, 124 - right: 0, 125 - bottom: 0, 126 - left: 0, 127 - backgroundColor: '#000', 128 - opacity: 0.1, 129 - }, 130 - menu: { 131 - position: 'absolute', 132 - backgroundColor: '#fff', 133 - borderRadius: 14, 134 - opacity: 1, 135 - paddingVertical: 6, 136 - }, 137 - menuItem: { 138 - flexDirection: 'row', 139 - alignItems: 'center', 140 - paddingVertical: 6, 141 - paddingLeft: 15, 142 - paddingRight: 30, 143 - }, 144 - menuItemBorder: { 145 - borderTopWidth: 1, 146 - borderTopColor: colors.gray2, 147 - marginTop: 4, 148 - paddingTop: 12, 149 - }, 150 - menuItemIcon: { 151 - marginLeft: 6, 152 - marginRight: 8, 153 - }, 154 - menuItemLabel: { 155 - fontSize: 15, 156 - }, 157 - })
+85 -74
src/view/com/util/PostCtrls.tsx
··· 170 170 171 171 return ( 172 172 <View style={[styles.ctrls, opts.style]}> 173 - <View> 174 - <TouchableOpacity 175 - testID="replyBtn" 176 - style={styles.ctrl} 177 - hitSlop={HITSLOP} 178 - onPress={opts.onPressReply}> 179 - <CommentBottomArrow 180 - style={[defaultCtrlColor, opts.big ? s.mt2 : styles.mt1]} 173 + <TouchableOpacity 174 + testID="replyBtn" 175 + style={styles.ctrl} 176 + hitSlop={HITSLOP} 177 + onPress={opts.onPressReply} 178 + accessibilityRole="button" 179 + accessibilityLabel="Reply" 180 + accessibilityHint="Opens reply composer"> 181 + <CommentBottomArrow 182 + style={[defaultCtrlColor, opts.big ? s.mt2 : styles.mt1]} 183 + strokeWidth={3} 184 + size={opts.big ? 20 : 15} 185 + /> 186 + {typeof opts.replyCount !== 'undefined' ? ( 187 + <Text style={[defaultCtrlColor, s.ml5, s.f15]}> 188 + {opts.replyCount} 189 + </Text> 190 + ) : undefined} 191 + </TouchableOpacity> 192 + <TouchableOpacity 193 + testID="repostBtn" 194 + hitSlop={HITSLOP} 195 + onPress={onPressToggleRepostWrapper} 196 + style={styles.ctrl} 197 + accessibilityRole="button" 198 + accessibilityLabel={opts.isReposted ? 'Undo repost' : 'Repost'} 199 + accessibilityHint={ 200 + opts.isReposted 201 + ? `Remove your repost of ${opts.author}'s post` 202 + : `Repost or quote post ${opts.author}'s post` 203 + }> 204 + <RepostIcon 205 + style={ 206 + opts.isReposted 207 + ? (styles.ctrlIconReposted as StyleProp<ViewStyle>) 208 + : defaultCtrlColor 209 + } 210 + strokeWidth={2.4} 211 + size={opts.big ? 24 : 20} 212 + /> 213 + {typeof opts.repostCount !== 'undefined' ? ( 214 + <Text 215 + testID="repostCount" 216 + style={ 217 + opts.isReposted 218 + ? [s.bold, s.green3, s.f15, s.ml5] 219 + : [defaultCtrlColor, s.f15, s.ml5] 220 + }> 221 + {opts.repostCount} 222 + </Text> 223 + ) : undefined} 224 + </TouchableOpacity> 225 + <TouchableOpacity 226 + testID="likeBtn" 227 + style={styles.ctrl} 228 + hitSlop={HITSLOP} 229 + onPress={onPressToggleLikeWrapper} 230 + accessibilityRole="button" 231 + accessibilityLabel={opts.isLiked ? 'Unlike' : 'Like'} 232 + accessibilityHint={ 233 + opts.isReposted 234 + ? `Removes like from ${opts.author}'s post` 235 + : `Like ${opts.author}'s post` 236 + }> 237 + {opts.isLiked ? ( 238 + <HeartIconSolid 239 + style={styles.ctrlIconLiked as StyleProp<ViewStyle>} 240 + size={opts.big ? 22 : 16} 241 + /> 242 + ) : ( 243 + <HeartIcon 244 + style={[defaultCtrlColor, opts.big ? styles.mt1 : undefined]} 181 245 strokeWidth={3} 182 - size={opts.big ? 20 : 15} 246 + size={opts.big ? 20 : 16} 183 247 /> 184 - {typeof opts.replyCount !== 'undefined' ? ( 185 - <Text style={[defaultCtrlColor, s.ml5, s.f15]}> 186 - {opts.replyCount} 187 - </Text> 188 - ) : undefined} 189 - </TouchableOpacity> 190 - </View> 191 - <View> 192 - <TouchableOpacity 193 - testID="repostBtn" 194 - hitSlop={HITSLOP} 195 - onPress={onPressToggleRepostWrapper} 196 - style={styles.ctrl}> 197 - <RepostIcon 248 + )} 249 + {typeof opts.likeCount !== 'undefined' ? ( 250 + <Text 251 + testID="likeCount" 198 252 style={ 199 - opts.isReposted 200 - ? (styles.ctrlIconReposted as StyleProp<ViewStyle>) 201 - : defaultCtrlColor 202 - } 203 - strokeWidth={2.4} 204 - size={opts.big ? 24 : 20} 205 - /> 206 - {typeof opts.repostCount !== 'undefined' ? ( 207 - <Text 208 - testID="repostCount" 209 - style={ 210 - opts.isReposted 211 - ? [s.bold, s.green3, s.f15, s.ml5] 212 - : [defaultCtrlColor, s.f15, s.ml5] 213 - }> 214 - {opts.repostCount} 215 - </Text> 216 - ) : undefined} 217 - </TouchableOpacity> 218 - </View> 219 - <View> 220 - <TouchableOpacity 221 - testID="likeBtn" 222 - style={styles.ctrl} 223 - hitSlop={HITSLOP} 224 - onPress={onPressToggleLikeWrapper}> 225 - {opts.isLiked ? ( 226 - <HeartIconSolid 227 - style={styles.ctrlIconLiked as StyleProp<ViewStyle>} 228 - size={opts.big ? 22 : 16} 229 - /> 230 - ) : ( 231 - <HeartIcon 232 - style={[defaultCtrlColor, opts.big ? styles.mt1 : undefined]} 233 - strokeWidth={3} 234 - size={opts.big ? 20 : 16} 235 - /> 236 - )} 237 - {typeof opts.likeCount !== 'undefined' ? ( 238 - <Text 239 - testID="likeCount" 240 - style={ 241 - opts.isLiked 242 - ? [s.bold, s.red3, s.f15, s.ml5] 243 - : [defaultCtrlColor, s.f15, s.ml5] 244 - }> 245 - {opts.likeCount} 246 - </Text> 247 - ) : undefined} 248 - </TouchableOpacity> 249 - </View> 253 + opts.isLiked 254 + ? [s.bold, s.red3, s.f15, s.ml5] 255 + : [defaultCtrlColor, s.f15, s.ml5] 256 + }> 257 + {opts.likeCount} 258 + </Text> 259 + ) : undefined} 260 + </TouchableOpacity> 250 261 <View> 251 262 {opts.big ? undefined : ( 252 263 <PostDropdownBtn
+5 -1
src/view/com/util/Selector.tsx
··· 85 85 onSelect?.(index) 86 86 } 87 87 88 + const numItems = items.length 89 + 88 90 return ( 89 91 <View 90 92 style={[pal.view, styles.outer]} ··· 97 99 <Pressable 98 100 testID={`selector-${i}`} 99 101 key={item} 100 - onPress={() => onPressItem(i)}> 102 + onPress={() => onPressItem(i)} 103 + accessibilityLabel={`Select ${item}`} 104 + accessibilityHint={`Select option ${i} of ${numItems}`}> 101 105 <View style={styles.item} ref={itemRefs[i]}> 102 106 <Text 103 107 style={
+6 -1
src/view/com/util/UserAvatar.tsx
··· 150 150 borderRadius: Math.floor(size / 2), 151 151 }} 152 152 source={{uri: avatar}} 153 + accessibilityRole="image" 153 154 /> 154 155 ) : ( 155 156 <DefaultAvatar size={size} /> ··· 167 168 <View style={{width: size, height: size}}> 168 169 <HighPriorityImage 169 170 testID="userAvatarImage" 170 - style={{width: size, height: size, borderRadius: Math.floor(size / 2)}} 171 + style={{ 172 + width: size, 173 + height: size, 174 + borderRadius: Math.floor(size / 2), 175 + }} 171 176 contentFit="cover" 172 177 source={{uri: avatar}} 173 178 blurRadius={moderation?.blur ? BLUR_AMOUNT : 0}
+6 -2
src/view/com/util/UserBanner.tsx
··· 5 5 import {Image} from 'expo-image' 6 6 import {colors} from 'lib/styles' 7 7 import {openCamera, openCropper, openPicker} from '../../../lib/media/picker' 8 - import {Image as TImage} from 'lib/media/types' 9 8 import {useStores} from 'state/index' 10 9 import { 11 10 usePhotoLibraryPermission, ··· 15 14 import {usePalette} from 'lib/hooks/usePalette' 16 15 import {AvatarModeration} from 'lib/labeling/types' 17 16 import {isWeb, isAndroid} from 'platform/detection' 17 + import {Image as RNImage} from 'react-native-image-crop-picker' 18 18 19 19 export function UserBanner({ 20 20 banner, ··· 23 23 }: { 24 24 banner?: string | null 25 25 moderation?: AvatarModeration 26 - onSelectNewBanner?: (img: TImage | null) => void 26 + onSelectNewBanner?: (img: RNImage | null) => void 27 27 }) { 28 28 const store = useStores() 29 29 const pal = usePalette('default') ··· 94 94 testID="userBannerImage" 95 95 style={styles.bannerImage} 96 96 source={{uri: banner}} 97 + accessible={true} 98 + accessibilityIgnoresInvertColors 97 99 /> 98 100 ) : ( 99 101 <View ··· 118 120 resizeMode="cover" 119 121 source={{uri: banner}} 120 122 blurRadius={moderation?.blur ? 100 : 0} 123 + accessible={true} 124 + accessibilityIgnoresInvertColors 121 125 /> 122 126 ) : ( 123 127 <View
+10 -3
src/view/com/util/ViewHeader.tsx
··· 60 60 testID="viewHeaderDrawerBtn" 61 61 onPress={canGoBack ? onPressBack : onPressMenu} 62 62 hitSlop={BACK_HITSLOP} 63 - style={canGoBack ? styles.backBtn : styles.backBtnWide}> 63 + style={canGoBack ? styles.backBtn : styles.backBtnWide} 64 + accessibilityRole="button" 65 + accessibilityLabel={canGoBack ? 'Go back' : 'Go to menu'} 66 + accessibilityHint={ 67 + canGoBack 68 + ? 'Navigates to the previous screen' 69 + : 'Navigates to the menu' 70 + }> 64 71 {canGoBack ? ( 65 72 <FontAwesomeIcon 66 73 size={18} ··· 171 178 height: 30, 172 179 }, 173 180 backBtnWide: { 174 - width: 40, 181 + width: 30, 175 182 height: 30, 176 - marginLeft: 6, 183 + paddingHorizontal: 6, 177 184 }, 178 185 backIcon: { 179 186 marginTop: 6,
+6 -1
src/view/com/util/ViewSelector.tsx
··· 132 132 <Pressable 133 133 testID={`selector-${i}`} 134 134 key={item} 135 - onPress={() => onPressItem(i)}> 135 + onPress={() => onPressItem(i)} 136 + accessibilityLabel={item} 137 + accessibilityHint={`Selects ${item}`} 138 + // TODO: Modify the component API such that lint fails 139 + // at the invocation site as well 140 + > 136 141 <View 137 142 style={[ 138 143 styles.item,
+4 -1
src/view/com/util/error/ErrorMessage.tsx
··· 47 47 <TouchableOpacity 48 48 testID="errorMessageTryAgainButton" 49 49 style={styles.btn} 50 - onPress={onPressTryAgain}> 50 + onPress={onPressTryAgain} 51 + accessibilityRole="button" 52 + accessibilityLabel="Retry" 53 + accessibilityHint="Retries the last action, which errored out"> 51 54 <FontAwesomeIcon 52 55 icon="arrows-rotate" 53 56 style={{color: theme.palette.error.icon}}
+3 -1
src/view/com/util/error/ErrorScreen.tsx
··· 57 57 testID="errorScreenTryAgainButton" 58 58 type="default" 59 59 style={[styles.btn]} 60 - onPress={onPressTryAgain}> 60 + onPress={onPressTryAgain} 61 + accessibilityLabel="Retry" 62 + accessibilityHint="Retries the last action, which errored out"> 61 63 <FontAwesomeIcon 62 64 icon="arrows-rotate" 63 65 style={pal.link as FontAwesomeIconStyle}
+6 -12
src/view/com/util/fab/FABInner.tsx
··· 1 - import React from 'react' 1 + import React, {ComponentProps} from 'react' 2 2 import {observer} from 'mobx-react-lite' 3 - import { 4 - Animated, 5 - GestureResponderEvent, 6 - StyleSheet, 7 - TouchableWithoutFeedback, 8 - } from 'react-native' 3 + import {Animated, StyleSheet, TouchableWithoutFeedback} from 'react-native' 9 4 import LinearGradient from 'react-native-linear-gradient' 10 5 import {gradients} from 'lib/styles' 11 6 import {useAnimatedValue} from 'lib/hooks/useAnimatedValue' 12 7 import {useStores} from 'state/index' 13 8 import {isMobileWeb} from 'platform/detection' 14 9 15 - type OnPress = ((event: GestureResponderEvent) => void) | undefined 16 - export interface FABProps { 10 + export interface FABProps 11 + extends ComponentProps<typeof TouchableWithoutFeedback> { 17 12 testID?: string 18 13 icon: JSX.Element 19 - onPress: OnPress 20 14 } 21 15 22 - export const FABInner = observer(({testID, icon, onPress}: FABProps) => { 16 + export const FABInner = observer(({testID, icon, ...props}: FABProps) => { 23 17 const store = useStores() 24 18 const interp = useAnimatedValue(0) 25 19 React.useEffect(() => { ··· 34 28 transform: [{translateY: Animated.multiply(interp, 60)}], 35 29 } 36 30 return ( 37 - <TouchableWithoutFeedback testID={testID} onPress={onPress}> 31 + <TouchableWithoutFeedback testID={testID} {...props}> 38 32 <Animated.View 39 33 style={[styles.outer, isMobileWeb && styles.mobileWebOuter, transform]}> 40 34 <LinearGradient
+3 -1
src/view/com/util/forms/Button.tsx
··· 26 26 | 'secondary-light' 27 27 | 'default-light' 28 28 29 + // TODO: Enforce that button always has a label 29 30 export function Button({ 30 31 type = 'primary', 31 32 label, ··· 131 132 <Pressable 132 133 style={[typeOuterStyle, styles.outer, style]} 133 134 onPress={onPressWrapped} 134 - testID={testID}> 135 + testID={testID} 136 + accessibilityRole="button"> 135 137 {label ? ( 136 138 <Text type="button" style={[typeLabelStyle, labelStyle]}> 137 139 {label}
+46 -16
src/view/com/util/forms/DropdownButton.tsx
··· 1 - import React, {useRef} from 'react' 1 + import React, {PropsWithChildren, useMemo, useRef} from 'react' 2 2 import { 3 3 Dimensions, 4 4 StyleProp, ··· 39 39 40 40 export type DropdownButtonType = ButtonType | 'bare' 41 41 42 + interface DropdownButtonProps { 43 + testID?: string 44 + type?: DropdownButtonType 45 + style?: StyleProp<ViewStyle> 46 + items: MaybeDropdownItem[] 47 + label?: string 48 + menuWidth?: number 49 + children?: React.ReactNode 50 + openToRight?: boolean 51 + rightOffset?: number 52 + bottomOffset?: number 53 + } 54 + 42 55 export function DropdownButton({ 43 56 testID, 44 57 type = 'bare', ··· 50 63 openToRight = false, 51 64 rightOffset = 0, 52 65 bottomOffset = 0, 53 - }: { 54 - testID?: string 55 - type?: DropdownButtonType 56 - style?: StyleProp<ViewStyle> 57 - items: MaybeDropdownItem[] 58 - label?: string 59 - menuWidth?: number 60 - children?: React.ReactNode 61 - openToRight?: boolean 62 - rightOffset?: number 63 - bottomOffset?: number 64 - }) { 66 + }: PropsWithChildren<DropdownButtonProps>) { 65 67 const ref1 = useRef<TouchableOpacity>(null) 66 68 const ref2 = useRef<View>(null) 67 69 ··· 105 107 ) 106 108 } 107 109 110 + const numItems = useMemo( 111 + () => 112 + items.filter(item => { 113 + if (item === undefined || item === false) { 114 + return false 115 + } 116 + 117 + return isBtn(item) 118 + }).length, 119 + [items], 120 + ) 121 + 108 122 if (type === 'bare') { 109 123 return ( 110 124 <TouchableOpacity ··· 112 126 style={style} 113 127 onPress={onPress} 114 128 hitSlop={HITSLOP} 115 - ref={ref1}> 129 + ref={ref1} 130 + accessibilityRole="button" 131 + accessibilityLabel={`Opens ${numItems} options`} 132 + accessibilityHint={`Opens ${numItems} options`}> 116 133 {children} 117 134 </TouchableOpacity> 118 135 ) ··· 283 300 const separatorColor = 284 301 theme.colorScheme === 'dark' ? pal.borderDark : pal.border 285 302 303 + const numItems = items.filter(isBtn).length 304 + 286 305 return ( 287 306 <> 288 - <TouchableWithoutFeedback onPress={onOuterPress}> 307 + <TouchableWithoutFeedback 308 + onPress={onOuterPress} 309 + // TODO: Refactor dropdown components to: 310 + // - (On web, if not handled by React Native) use semantic <select /> 311 + // and <option /> elements for keyboard navigation out of the box 312 + // - (On mobile) be buttons by default, accept `label` and `nativeID` 313 + // props, and always have an explicit label 314 + accessibilityRole="button" 315 + accessibilityLabel="Toggle dropdown" 316 + accessibilityHint=""> 289 317 <View style={[styles.bg]} /> 290 318 </TouchableWithoutFeedback> 291 319 <View ··· 301 329 testID={item.testID} 302 330 key={index} 303 331 style={[styles.menuItem]} 304 - onPress={() => onPressItem(index)}> 332 + onPress={() => onPressItem(index)} 333 + accessibilityLabel={item.label} 334 + accessibilityHint={`Option ${index + 1} of ${numItems}`}> 305 335 {item.icon && ( 306 336 <FontAwesomeIcon 307 337 style={styles.icon}
+8 -1
src/view/com/util/images/AutoSizedImage.tsx
··· 62 62 onLongPress={onLongPress} 63 63 onPressIn={onPressIn} 64 64 delayPressIn={DELAY_PRESS_IN} 65 - style={[styles.container, style]}> 65 + style={[styles.container, style]} 66 + accessible={true} 67 + accessibilityLabel="Share image" 68 + accessibilityHint="Opens ways of sharing image"> 66 69 <Image 67 70 style={[styles.image, {aspectRatio}]} 68 71 source={uri} 69 72 accessible={true} // Must set for `accessibilityLabel` to work 73 + accessibilityIgnoresInvertColors 70 74 accessibilityLabel={alt} 75 + accessibilityHint="" 71 76 /> 72 77 {children} 73 78 </TouchableOpacity> ··· 80 85 style={[styles.image, {aspectRatio}]} 81 86 source={{uri}} 82 87 accessible={true} // Must set for `accessibilityLabel` to work 88 + accessibilityIgnoresInvertColors 83 89 accessibilityLabel={alt} 90 + accessibilityHint="" 84 91 /> 85 92 {children} 86 93 </View>
+11 -2
src/view/com/util/images/Gallery.tsx
··· 41 41 delayPressIn={DELAY_PRESS_IN} 42 42 onPress={() => onPress?.(index)} 43 43 onPressIn={() => onPressIn?.(index)} 44 - onLongPress={() => onLongPress?.(index)}> 44 + onLongPress={() => onLongPress?.(index)} 45 + accessibilityRole="button" 46 + accessibilityLabel="View image" 47 + accessibilityHint=""> 45 48 <Image 46 49 source={{uri: image.thumb}} 47 50 style={imageStyle} 48 51 accessible={true} 49 52 accessibilityLabel={image.alt} 53 + accessibilityHint="" 54 + accessibilityIgnoresInvertColors 50 55 /> 51 56 </TouchableOpacity> 52 57 {image.alt === '' ? null : ( 53 - <Pressable onPress={onPressAltText}> 58 + <Pressable 59 + onPress={onPressAltText} 60 + accessibilityRole="button" 61 + accessibilityLabel="View alt text" 62 + accessibilityHint="Opens modal with alt text"> 54 63 <Text style={styles.alt}>ALT</Text> 55 64 </Pressable> 56 65 )}
+3 -1
src/view/com/util/images/Image.tsx
··· 8 8 const updatedSource = { 9 9 uri: typeof source === 'object' && source ? source.uri : '', 10 10 } satisfies ImageSource 11 - return <Image source={updatedSource} {...props} /> 11 + return ( 12 + <Image accessibilityIgnoresInvertColors source={updatedSource} {...props} /> 13 + ) 12 14 }
+20 -2
src/view/com/util/images/ImageHorzList.tsx
··· 16 16 } 17 17 18 18 export function ImageHorzList({images, onPress, style}: Props) { 19 + const numImages = images.length 19 20 return ( 20 21 <View style={[styles.flexRow, style]}> 21 22 {images.map(({thumb, alt}, i) => ( 22 - <TouchableWithoutFeedback key={i} onPress={() => onPress?.(i)}> 23 + <TouchableWithoutFeedback 24 + key={i} 25 + onPress={() => onPress?.(i)} 26 + accessible={true} 27 + accessibilityLabel={`Open image ${i} of ${numImages}`} 28 + accessibilityHint="Opens image in viewer" 29 + accessibilityActions={[{name: 'press', label: 'Press'}]} 30 + onAccessibilityAction={action => { 31 + switch (action.nativeEvent.actionName) { 32 + case 'press': 33 + onPress?.(0) 34 + break 35 + default: 36 + break 37 + } 38 + }}> 23 39 <Image 24 40 source={{uri: thumb}} 25 41 style={styles.image} 26 42 accessible={true} 27 - accessibilityLabel={alt} 43 + accessibilityIgnoresInvertColors 44 + accessibilityHint={alt} 45 + accessibilityLabel="" 28 46 /> 29 47 </TouchableWithoutFeedback> 30 48 ))}
+4 -1
src/view/com/util/load-latest/LoadLatestBtn.web.tsx
··· 23 23 <TouchableOpacity 24 24 style={[pal.view, pal.borderDark, styles.loadLatest]} 25 25 onPress={onPress} 26 - hitSlop={HITSLOP}> 26 + hitSlop={HITSLOP} 27 + accessibilityRole="button" 28 + accessibilityLabel={`Load new ${label}`} 29 + accessibilityHint=""> 27 30 <Text type="md-bold" style={pal.text}> 28 31 <UpIcon size={16} strokeWidth={1} style={[pal.text, styles.icon]} /> 29 32 Load new {label}
+4 -1
src/view/com/util/load-latest/LoadLatestBtnMobile.tsx
··· 23 23 }, 24 24 ]} 25 25 onPress={onPress} 26 - hitSlop={HITSLOP}> 26 + hitSlop={HITSLOP} 27 + accessibilityRole="button" 28 + accessibilityLabel={`Load new ${label}`} 29 + accessibilityHint={`Loads new ${label}`}> 27 30 <LinearGradient 28 31 colors={[gradients.blueLight.start, gradients.blueLight.end]} 29 32 start={{x: 0, y: 0}}
+8 -1
src/view/com/util/moderation/ContentHider.tsx
··· 55 55 </Text> 56 56 <TouchableOpacity 57 57 style={styles.showBtn} 58 - onPress={() => setOverride(v => !v)}> 58 + onPress={() => setOverride(v => !v)} 59 + accessibilityLabel={override ? 'Hide post' : 'Show post'} 60 + // TODO: The text labelling should be split up so controls have unique roles 61 + accessibilityHint={ 62 + override 63 + ? 'Re-hide post' 64 + : 'Shows post hidden based on your moderation settings' 65 + }> 59 66 <Text type="md" style={pal.link}> 60 67 {override ? 'Hide' : 'Show'} 61 68 </Text>
+2 -1
src/view/com/util/moderation/PostHider.tsx
··· 46 46 </Text> 47 47 <TouchableOpacity 48 48 style={styles.showBtn} 49 - onPress={() => setOverride(v => !v)}> 49 + onPress={() => setOverride(v => !v)} 50 + accessibilityRole="button"> 50 51 <Text type="md" style={pal.link}> 51 52 {override ? 'Hide' : 'Show'} post 52 53 </Text>
+4 -1
src/view/com/util/post-embeds/index.tsx
··· 136 136 <Pressable 137 137 onPress={() => { 138 138 onPressAltText(alt) 139 - }}> 139 + }} 140 + accessibilityRole="button" 141 + accessibilityLabel="View alt text" 142 + accessibilityHint="Opens modal with alt text"> 140 143 <Text style={styles.alt}>ALT</Text> 141 144 </Pressable> 142 145 )}
+4 -2
src/view/screens/AppPasswords.tsx
··· 184 184 <TouchableOpacity 185 185 testID={testID} 186 186 style={[styles.item, pal.border]} 187 - onPress={onDelete}> 187 + onPress={onDelete} 188 + accessibilityRole="button" 189 + accessibilityLabel="Delete" 190 + accessibilityHint="Deletes app password"> 188 191 <Text type="md-bold" style={pal.text}> 189 192 {name} 190 193 </Text> ··· 250 253 pr10: { 251 254 marginRight: 10, 252 255 }, 253 - 254 256 btnContainer: { 255 257 flexDirection: 'row', 256 258 justifyContent: 'center',
+3
src/view/screens/Home.tsx
··· 226 226 testID="composeFAB" 227 227 onPress={onPressCompose} 228 228 icon={<ComposeIcon2 strokeWidth={1.5} size={29} style={s.white} />} 229 + accessibilityRole="button" 230 + accessibilityLabel="Compose" 231 + accessibilityHint="Opens post composer" 229 232 /> 230 233 </View> 231 234 )
+3 -1
src/view/screens/Log.tsx
··· 46 46 <View key={`entry-${entry.id}`}> 47 47 <TouchableOpacity 48 48 style={[styles.entry, pal.border, pal.view]} 49 - onPress={toggler(entry.id)}> 49 + onPress={toggler(entry.id)} 50 + accessibilityLabel="View debug entry" 51 + accessibilityHint="Opens additional details for a debug entry"> 50 52 {entry.type === 'debug' ? ( 51 53 <FontAwesomeIcon icon="info" /> 52 54 ) : (
+2 -2
src/view/screens/SearchMobile.tsx
··· 118 118 }, []) 119 119 120 120 return ( 121 - <TouchableWithoutFeedback onPress={onPress}> 121 + <TouchableWithoutFeedback onPress={onPress} accessible={false}> 122 122 <View style={[pal.view, styles.container]}> 123 123 <HeaderWithInput 124 - isInputFocused={isInputFocused} 124 + isInputFocused={true} 125 125 query={query} 126 126 setIsInputFocused={setIsInputFocused} 127 127 onChangeQuery={onChangeQuery}
+31 -8
src/view/screens/Settings.tsx
··· 161 161 <Link 162 162 href={`/profile/${store.me.handle}`} 163 163 title="Your profile" 164 - noFeedback> 164 + noFeedback 165 + accessibilityLabel={`Signed in as ${store.me.handle}`} 166 + accessibilityHint="Double tap to sign out"> 165 167 <View style={[pal.view, styles.linkCard]}> 166 168 <View style={styles.avi}> 167 169 <UserAvatar size={40} avatar={store.me.avatar} /> ··· 176 178 </View> 177 179 <TouchableOpacity 178 180 testID="signOutBtn" 179 - onPress={isSwitching ? undefined : onPressSignout}> 181 + onPress={isSwitching ? undefined : onPressSignout} 182 + accessibilityRole="button" 183 + accessibilityLabel="Sign out" 184 + accessibilityHint={`Signs ${store.me.displayName} out of Bluesky`}> 180 185 <Text type="lg" style={pal.link}> 181 186 Sign out 182 187 </Text> ··· 191 196 style={[pal.view, styles.linkCard, isSwitching && styles.dimmed]} 192 197 onPress={ 193 198 isSwitching ? undefined : () => onPressSwitchAccount(account) 194 - }> 199 + } 200 + accessibilityRole="button" 201 + accessibilityLabel={`Switch to ${account.handle}`} 202 + accessibilityHint="Switches the account you are logged in to"> 195 203 <View style={styles.avi}> 196 204 <UserAvatar size={40} avatar={account.aviUrl} /> 197 205 </View> ··· 209 217 <TouchableOpacity 210 218 testID="switchToNewAccountBtn" 211 219 style={[styles.linkCard, pal.view, isSwitching && styles.dimmed]} 212 - onPress={isSwitching ? undefined : onPressAddAccount}> 220 + onPress={isSwitching ? undefined : onPressAddAccount} 221 + accessibilityRole="button" 222 + accessibilityLabel="Add account" 223 + accessibilityHint="Create a new Bluesky account"> 213 224 <View style={[styles.iconContainer, pal.btn]}> 214 225 <FontAwesomeIcon 215 226 icon="plus" ··· 229 240 <TouchableOpacity 230 241 testID="inviteFriendBtn" 231 242 style={[styles.linkCard, pal.view, isSwitching && styles.dimmed]} 232 - onPress={isSwitching ? undefined : onPressInviteCodes}> 243 + onPress={isSwitching ? undefined : onPressInviteCodes} 244 + accessibilityRole="button" 245 + accessibilityLabel="Invite" 246 + accessibilityHint="Opens invite code list"> 233 247 <View 234 248 style={[ 235 249 styles.iconContainer, ··· 260 274 <TouchableOpacity 261 275 testID="contentFilteringBtn" 262 276 style={[styles.linkCard, pal.view, isSwitching && styles.dimmed]} 263 - onPress={isSwitching ? undefined : onPressContentFiltering}> 277 + onPress={isSwitching ? undefined : onPressContentFiltering} 278 + accessibilityHint="Content moderation" 279 + accessibilityLabel="Opens configurable content moderation settings"> 264 280 <View style={[styles.iconContainer, pal.btn]}> 265 281 <FontAwesomeIcon 266 282 icon="eye" ··· 308 324 <TouchableOpacity 309 325 testID="changeHandleBtn" 310 326 style={[styles.linkCard, pal.view, isSwitching && styles.dimmed]} 311 - onPress={isSwitching ? undefined : onPressChangeHandle}> 327 + onPress={isSwitching ? undefined : onPressChangeHandle} 328 + accessibilityRole="button" 329 + accessibilityLabel="Change handle" 330 + accessibilityHint="Choose a new Bluesky username or create"> 312 331 <View style={[styles.iconContainer, pal.btn]}> 313 332 <FontAwesomeIcon 314 333 icon="at" ··· 327 346 </Text> 328 347 <TouchableOpacity 329 348 style={[pal.view, styles.linkCard]} 330 - onPress={onPressDeleteAccount}> 349 + onPress={onPressDeleteAccount} 350 + accessible={true} 351 + accessibilityRole="button" 352 + accessibilityLabel="Delete account" 353 + accessibilityHint="Opens modal for account deletion confirmation. Requires email code."> 331 354 <View style={[styles.iconContainer, dangerBg]}> 332 355 <FontAwesomeIcon 333 356 icon={['far', 'trash-can']}
+4 -1
src/view/shell/Composer.tsx
··· 56 56 } 57 57 58 58 return ( 59 - <Animated.View style={[styles.wrapper, pal.view, wrapperAnimStyle]}> 59 + <Animated.View 60 + style={[styles.wrapper, pal.view, wrapperAnimStyle]} 61 + aria-modal 62 + accessibilityViewIsModal> 60 63 <ComposePost 61 64 replyTo={replyTo} 62 65 onPost={onPost}
+1 -1
src/view/shell/Composer.web.tsx
··· 31 31 } 32 32 33 33 return ( 34 - <View style={styles.mask}> 34 + <View style={styles.mask} aria-modal accessibilityViewIsModal> 35 35 <View style={[styles.container, pal.view, pal.border]}> 36 36 <ComposePost 37 37 replyTo={replyTo}
+55 -12
src/view/shell/Drawer.tsx
··· 1 - import React from 'react' 1 + import React, {ComponentProps} from 'react' 2 2 import { 3 3 Linking, 4 4 SafeAreaView, ··· 49 49 const {track} = useAnalytics() 50 50 const {isAtHome, isAtSearch, isAtNotifications, isAtMyProfile} = 51 51 useNavigationTabState() 52 + 53 + const {notifications} = store.me 52 54 53 55 // events 54 56 // = ··· 120 122 ]}> 121 123 <SafeAreaView style={s.flex1}> 122 124 <View style={styles.main}> 123 - <TouchableOpacity testID="profileCardButton" onPress={onPressProfile}> 125 + <TouchableOpacity 126 + testID="profileCardButton" 127 + accessibilityLabel="Profile" 128 + accessibilityHint="Navigates to your profile" 129 + onPress={onPressProfile}> 124 130 <UserAvatar size={80} avatar={store.me.avatar} /> 125 131 <Text 126 132 type="title-lg" ··· 164 170 ) 165 171 } 166 172 label="Search" 173 + accessibilityLabel="Search" 174 + accessibilityHint="Search through users and posts" 167 175 bold={isAtSearch} 168 176 onPress={onPressSearch} 169 177 /> ··· 184 192 ) 185 193 } 186 194 label="Home" 195 + accessibilityLabel="Home" 196 + accessibilityHint="Navigates to default feed" 187 197 bold={isAtHome} 188 198 onPress={onPressHome} 189 199 /> ··· 204 214 ) 205 215 } 206 216 label="Notifications" 207 - count={store.me.notifications.unreadCountLabel} 217 + accessibilityLabel={ 218 + notifications.unreadCountLabel === '1' 219 + ? 'Notifications: 1 unread notification' 220 + : `Notifications: ${notifications.unreadCountLabel} unread notifications` 221 + } 222 + accessibilityHint="Opens notification feed" 223 + count={notifications.unreadCountLabel} 208 224 bold={isAtNotifications} 209 225 onPress={onPressNotifications} 210 226 /> ··· 225 241 ) 226 242 } 227 243 label="Profile" 244 + accessibilityLabel="Profile" 245 + accessibilityHint="See profile display name, avatar, description, and other profile items" 228 246 onPress={onPressProfile} 229 247 /> 230 248 <MenuItem ··· 236 254 /> 237 255 } 238 256 label="Settings" 257 + accessibilityLabel="Settings" 258 + accessibilityHint="Manage settings for your account, like handle, content moderation, and app passwords" 239 259 onPress={onPressSettings} 240 260 /> 241 261 </View> ··· 243 263 <View style={styles.footer}> 244 264 {!isWeb && ( 245 265 <TouchableOpacity 266 + accessibilityRole="button" 267 + accessibilityLabel="Toggle dark mode" 268 + accessibilityHint={ 269 + theme.colorScheme === 'dark' 270 + ? 'Sets display to light mode' 271 + : 'Sets display to dark mode' 272 + } 246 273 onPress={onDarkmodePress} 247 274 style={[ 248 275 styles.footerBtn, ··· 258 285 </TouchableOpacity> 259 286 )} 260 287 <TouchableOpacity 288 + accessibilityRole="link" 289 + accessibilityLabel="Send feedback" 290 + accessibilityHint="Opens Google Forms feedback link" 261 291 onPress={onPressFeedback} 262 292 style={[ 263 293 styles.footerBtn, ··· 281 311 ) 282 312 }) 283 313 314 + interface MenuItemProps extends ComponentProps<typeof TouchableOpacity> { 315 + icon: JSX.Element 316 + label: string 317 + count?: string 318 + bold?: boolean 319 + } 320 + 284 321 function MenuItem({ 285 322 icon, 286 323 label, 324 + accessibilityLabel, 287 325 count, 288 326 bold, 289 327 onPress, 290 - }: { 291 - icon: JSX.Element 292 - label: string 293 - count?: string 294 - bold?: boolean 295 - onPress: () => void 296 - }) { 328 + }: MenuItemProps) { 297 329 const pal = usePalette('default') 298 330 return ( 299 331 <TouchableOpacity 300 332 testID={`menuItemButton-${label}`} 301 333 style={styles.menuItem} 302 - onPress={onPress}> 334 + onPress={onPress} 335 + accessibilityRole="menuitem" 336 + accessibilityLabel={accessibilityLabel} 337 + accessibilityHint=""> 303 338 <View style={[styles.menuItemIconWrapper]}> 304 339 {icon} 305 340 {count ? ( ··· 332 367 const {track} = useAnalytics() 333 368 const store = useStores() 334 369 const pal = usePalette('default') 370 + const {invitesAvailable} = store.me 335 371 const onPress = React.useCallback(() => { 336 372 track('Menu:ItemClicked', {url: '#invite-codes'}) 337 373 store.shell.closeDrawer() ··· 341 377 <TouchableOpacity 342 378 testID="menuItemInviteCodes" 343 379 style={[styles.inviteCodes]} 344 - onPress={onPress}> 380 + onPress={onPress} 381 + accessibilityRole="button" 382 + accessibilityLabel={ 383 + invitesAvailable === 1 384 + ? 'Invite codes: 1 available' 385 + : `Invite codes: ${invitesAvailable} available` 386 + } 387 + accessibilityHint="Opens list of invite codes"> 345 388 <FontAwesomeIcon 346 389 icon="ticket" 347 390 style={[
+26 -9
src/view/shell/bottom-bar/BottomBar.tsx
··· 1 - import React from 'react' 1 + import React, {ComponentProps} from 'react' 2 2 import { 3 3 Animated, 4 4 GestureResponderEvent, ··· 94 94 ) 95 95 } 96 96 onPress={onPressHome} 97 + accessibilityLabel="Go home" 98 + accessibilityHint="Navigates to feed home" 97 99 /> 98 100 <Btn 99 101 testID="bottomBarSearchBtn" ··· 113 115 ) 114 116 } 115 117 onPress={onPressSearch} 118 + accessibilityRole="search" 116 119 /> 117 120 <Btn 118 121 testID="bottomBarNotificationsBtn" ··· 133 136 } 134 137 onPress={onPressNotifications} 135 138 notificationCount={store.me.notifications.unreadCountLabel} 139 + accessibilityLabel="Notifications" 140 + accessibilityHint="Navigates to notifications" 136 141 /> 137 142 <Btn 138 143 testID="bottomBarProfileBtn" ··· 154 159 </View> 155 160 } 156 161 onPress={onPressProfile} 162 + accessibilityLabel="Profile" 163 + accessibilityHint="Navigates to profile" 157 164 /> 158 165 </Animated.View> 159 166 ) 160 167 }) 161 168 169 + interface BtnProps 170 + extends Pick< 171 + ComponentProps<typeof TouchableOpacity>, 172 + 'accessibilityRole' | 'accessibilityHint' | 'accessibilityLabel' 173 + > { 174 + testID?: string 175 + icon: JSX.Element 176 + notificationCount?: string 177 + onPress?: (event: GestureResponderEvent) => void 178 + onLongPress?: (event: GestureResponderEvent) => void 179 + } 180 + 162 181 function Btn({ 163 182 testID, 164 183 icon, 165 184 notificationCount, 166 185 onPress, 167 186 onLongPress, 168 - }: { 169 - testID?: string 170 - icon: JSX.Element 171 - notificationCount?: string 172 - onPress?: (event: GestureResponderEvent) => void 173 - onLongPress?: (event: GestureResponderEvent) => void 174 - }) { 187 + accessibilityHint, 188 + accessibilityLabel, 189 + }: BtnProps) { 175 190 return ( 176 191 <TouchableOpacity 177 192 testID={testID} 178 193 style={styles.ctrl} 179 194 onPress={onLongPress ? onPress : undefined} 180 195 onPressIn={onLongPress ? undefined : onPress} 181 - onLongPress={onLongPress}> 196 + onLongPress={onLongPress} 197 + accessibilityLabel={accessibilityLabel} 198 + accessibilityHint={accessibilityHint}> 182 199 {notificationCount ? ( 183 200 <View style={[styles.notificationCount]}> 184 201 <Text style={styles.notificationCountLabel}>{notificationCount}</Text>
+37 -25
src/view/shell/desktop/LeftNav.tsx
··· 2 2 import {observer} from 'mobx-react-lite' 3 3 import {StyleSheet, TouchableOpacity, View} from 'react-native' 4 4 import {PressableWithHover} from 'view/com/util/PressableWithHover' 5 - import {useNavigation, useNavigationState} from '@react-navigation/native' 5 + import { 6 + useLinkProps, 7 + useNavigation, 8 + useNavigationState, 9 + } from '@react-navigation/native' 6 10 import { 7 11 FontAwesomeIcon, 8 12 FontAwesomeIconStyle, ··· 59 63 <TouchableOpacity 60 64 testID="viewHeaderBackOrMenuBtn" 61 65 onPress={onPressBack} 62 - style={styles.backBtn}> 66 + style={styles.backBtn} 67 + accessibilityRole="button" 68 + accessibilityLabel="Go back" 69 + accessibilityHint="Navigates to the previous screen"> 63 70 <FontAwesomeIcon 64 71 size={24} 65 72 icon="angle-left" ··· 86 93 } 87 94 return getCurrentRoute(state).name 88 95 }) 96 + 89 97 const isCurrent = isTab(currentRouteName, pathName) 98 + const {onPress} = useLinkProps({to: href}) 90 99 91 100 return ( 92 101 <PressableWithHover 93 102 style={styles.navItemWrapper} 94 - hoverStyle={pal.viewLight}> 95 - <Link href={href} style={styles.navItem}> 96 - <View style={[styles.navItemIconWrapper]}> 97 - {isCurrent ? iconFilled : icon} 98 - {typeof count === 'string' && count ? ( 99 - <Text type="button" style={styles.navItemCount}> 100 - {count} 101 - </Text> 102 - ) : null} 103 - </View> 104 - <Text type="title" style={[isCurrent ? s.bold : s.normal, pal.text]}> 105 - {label} 106 - </Text> 107 - </Link> 103 + hoverStyle={pal.viewLight} 104 + onPress={onPress} 105 + accessibilityLabel={label} 106 + accessibilityHint={`Navigates to ${label}`}> 107 + <View style={[styles.navItemIconWrapper]}> 108 + {isCurrent ? iconFilled : icon} 109 + {typeof count === 'string' && count ? ( 110 + <Text type="button" style={styles.navItemCount}> 111 + {count} 112 + </Text> 113 + ) : null} 114 + </View> 115 + <Text type="title" style={[isCurrent ? s.bold : s.normal, pal.text]}> 116 + {label} 117 + </Text> 108 118 </PressableWithHover> 109 119 ) 110 120 }, ··· 115 125 const onPressCompose = () => store.shell.openComposer({}) 116 126 117 127 return ( 118 - <TouchableOpacity style={[styles.newPostBtn]} onPress={onPressCompose}> 128 + <TouchableOpacity 129 + style={[styles.newPostBtn]} 130 + onPress={onPressCompose} 131 + accessibilityRole="button" 132 + accessibilityLabel="New post" 133 + accessibilityHint="Opens post composer"> 119 134 <View style={styles.newPostBtnIconWrapper}> 120 135 <ComposeIcon2 121 136 size={19} ··· 202 217 203 218 profileCard: { 204 219 marginVertical: 10, 205 - width: 60, 220 + width: 90, 206 221 paddingLeft: 12, 207 222 }, 208 223 ··· 215 230 }, 216 231 217 232 navItemWrapper: { 233 + flexDirection: 'row', 234 + alignItems: 'center', 218 235 paddingHorizontal: 12, 236 + padding: 12, 219 237 borderRadius: 8, 220 - }, 221 - navItem: { 222 - flexDirection: 'row', 223 - alignItems: 'center', 224 - paddingTop: 12, 225 - paddingBottom: 12, 238 + gap: 10, 226 239 }, 227 240 navItemIconWrapper: { 228 241 alignItems: 'center', 229 242 justifyContent: 'center', 230 243 width: 28, 231 244 height: 28, 232 - marginRight: 10, 233 245 marginTop: 2, 234 246 }, 235 247 navItemCount: {
+18 -2
src/view/shell/desktop/RightNav.tsx
··· 61 61 <View> 62 62 <TouchableOpacity 63 63 style={[styles.darkModeToggle]} 64 - onPress={onDarkmodePress}> 64 + onPress={onDarkmodePress} 65 + accessibilityRole="button" 66 + accessibilityLabel="Toggle dark mode" 67 + accessibilityHint={ 68 + mode === 'Dark' 69 + ? 'Sets display to light mode' 70 + : 'Sets display to dark mode' 71 + }> 65 72 <View style={[pal.viewLight, styles.darkModeToggleIcon]}> 66 73 <MoonIcon size={18} style={pal.textLight} /> 67 74 </View> ··· 78 85 const store = useStores() 79 86 const pal = usePalette('default') 80 87 88 + const {invitesAvailable} = store.me 89 + 81 90 const onPress = React.useCallback(() => { 82 91 store.shell.openModal({name: 'invite-codes'}) 83 92 }, [store]) 84 93 return ( 85 94 <TouchableOpacity 86 95 style={[styles.inviteCodes, pal.border]} 87 - onPress={onPress}> 96 + onPress={onPress} 97 + accessibilityRole="button" 98 + accessibilityLabel={ 99 + invitesAvailable === 1 100 + ? 'Invite codes: 1 available' 101 + : `Invite codes: ${invitesAvailable} available` 102 + } 103 + accessibilityHint="Opens list of invite codes"> 88 104 <FontAwesomeIcon 89 105 icon="ticket" 90 106 style={[
+7 -1
src/view/shell/desktop/Search.tsx
··· 67 67 onBlur={() => setIsInputFocused(false)} 68 68 onChangeText={onChangeQuery} 69 69 onSubmitEditing={onSubmit} 70 + accessibilityRole="search" 70 71 /> 71 72 {query ? ( 72 73 <View style={styles.cancelBtn}> 73 - <TouchableOpacity onPress={onPressCancelSearch}> 74 + <TouchableOpacity 75 + onPress={onPressCancelSearch} 76 + accessibilityRole="button" 77 + accessibilityLabel="Cancel search" 78 + accessibilityHint="Exits inputting search query" 79 + onAccessibilityEscape={onPressCancelSearch}> 74 80 <Text type="lg" style={[pal.link]}> 75 81 Cancel 76 82 </Text>
+3 -1
src/view/shell/index.web.tsx
··· 46 46 {!isDesktop && store.shell.isDrawerOpen && ( 47 47 <TouchableOpacity 48 48 onPress={() => store.shell.closeDrawer()} 49 - style={styles.drawerMask}> 49 + style={styles.drawerMask} 50 + accessibilityLabel="Close navigation footer" 51 + accessibilityHint="Closes bottom navigation bar"> 50 52 <View style={styles.drawerContainer}> 51 53 <DrawerContent /> 52 54 </View>
+8 -4
web/index.html
··· 60 60 } 61 61 }*/ 62 62 63 - /* Remove focus state on inputs */ 64 - *:focus { 65 - outline: 0; 66 - } 67 63 /* Remove default link styling */ 68 64 a { 69 65 color: inherit; ··· 101 97 .ProseMirror a { 102 98 color: #0085ff; 103 99 cursor: pointer; 100 + } 101 + /* OLLIE: TODO -- this is not accessible */ 102 + /* Remove focus state on inputs */ 103 + .ProseMirror-focused { 104 + outline: 0; 105 + } 106 + input:focus { 107 + outline: 0; 104 108 } 105 109 .tippy-content .items { 106 110 border-radius: 6px;
+1216 -1102
yarn.lock
··· 2 2 # yarn lockfile v1 3 3 4 4 5 + "@0no-co/graphql.web@^1.0.1": 6 + version "1.0.1" 7 + resolved "https://registry.yarnpkg.com/@0no-co/graphql.web/-/graphql.web-1.0.1.tgz#db3da0d2cd41548b50f0583c0d2f4743c767e56b" 8 + integrity sha512-6Yaxyv6rOwRkLIvFaL0NrLDgfNqC/Ng9QOPmTmlqW4mORXMEKmh5NYGkIvvt5Yw8fZesnMAqkj8cIqTj8f40cQ== 9 + 10 + "@alloc/quick-lru@^5.2.0": 11 + version "5.2.0" 12 + resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" 13 + integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== 14 + 5 15 "@ampproject/remapping@^2.2.0": 6 - version "2.2.0" 7 - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" 8 - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== 16 + version "2.2.1" 17 + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" 18 + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== 9 19 dependencies: 10 - "@jridgewell/gen-mapping" "^0.1.0" 20 + "@jridgewell/gen-mapping" "^0.3.0" 11 21 "@jridgewell/trace-mapping" "^0.3.9" 12 22 13 23 "@apideck/better-ajv-errors@^0.3.1": ··· 19 29 jsonpointer "^5.0.0" 20 30 leven "^3.1.0" 21 31 22 - "@atproto/api@*": 23 - version "0.2.0" 24 - resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.2.0.tgz#4a60f8f1de91105ad93526d69abcf011bbeaa3be" 25 - integrity sha512-AntqYOVrMalBJapnNBV0akh/PWcsKdWq8zfuvv8hZW/jwOkJTVPTRFOP2OHJFcfz4WezytX43ml/L2kSG9z4+Q== 26 - dependencies: 27 - "@atproto/common-web" "*" 28 - "@atproto/uri" "*" 29 - "@atproto/xrpc" "*" 30 - tlds "^1.234.0" 31 - typed-emitter "^2.1.0" 32 - 33 - "@atproto/api@0.2.11": 32 + "@atproto/api@*", "@atproto/api@0.2.11": 34 33 version "0.2.11" 35 34 resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.2.11.tgz#53b70b0f4942b2e2dd5cb46433f133cde83917bf" 36 35 integrity sha512-5JY1Ii/81Bcy1ZTGRqALsaOdc8fIJTSlMNoSptpGH73uAPQE93weDrb8sc3KoxWi1G2ss3IIBSLPJWxALocJSQ== ··· 41 40 tlds "^1.234.0" 42 41 typed-emitter "^2.1.0" 43 42 44 - "@atproto/auth@*": 45 - version "0.0.1" 46 - resolved "https://registry.yarnpkg.com/@atproto/auth/-/auth-0.0.1.tgz#0ae07bfb6e4e86605504a20f0302e448ba3f8b0e" 47 - integrity sha512-eom7V/LmXttlFE31TcOJ0BInTszkm5ZBS2mqoLqbnA5ZTcTsgQsMKhGzARFf2zwBM9h8pbVa1XMI83gnrTHfxA== 48 - dependencies: 49 - "@atproto/crypto" "*" 50 - "@atproto/did-resolver" "*" 51 - "@ucans/core" "0.11.0" 52 - uint8arrays "3.0.0" 53 - 54 43 "@atproto/common-web@*": 55 44 version "0.1.0" 56 45 resolved "https://registry.yarnpkg.com/@atproto/common-web/-/common-web-0.1.0.tgz#5529fa66f9533aa00cfd13f0a25757df7b26bd3d" ··· 61 50 zod "^3.14.2" 62 51 63 52 "@atproto/common@*": 64 - version "0.1.1" 65 - resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.1.1.tgz#ec33a3b4995c91d3ad2e90fc4cdbc65284ceff84" 66 - integrity sha512-GYwot5wF/z8iYGSPjrLHuratLc0CVgovmwfJss7+BUOB6y2/Vw8+1Vw0n9DDI0gb5vmx3UI8z0uJgC8aa8yuJg== 53 + version "0.2.0" 54 + resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.2.0.tgz#e74502edf636f30e332f516dcb96f7342b71ff1b" 55 + integrity sha512-PVYSC30pyonz2MOxuBLk27uGdwyZQ42gJfCA/NE9jLeuenVDmZnVrK5WqJ7eGg+F88rZj7NcGfRsZdP0GMykEQ== 67 56 dependencies: 57 + "@atproto/common-web" "*" 68 58 "@ipld/dag-cbor" "^7.0.3" 59 + cbor-x "^1.5.1" 69 60 multiformats "^9.6.4" 70 61 pino "^8.6.1" 71 - zod "^3.14.2" 72 62 73 63 "@atproto/common@0.1.0": 74 64 version "0.1.0" ··· 80 70 pino "^8.6.1" 81 71 zod "^3.14.2" 82 72 83 - "@atproto/crypto@*", "@atproto/crypto@0.1.0": 73 + "@atproto/common@0.1.1": 74 + version "0.1.1" 75 + resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.1.1.tgz#ec33a3b4995c91d3ad2e90fc4cdbc65284ceff84" 76 + integrity sha512-GYwot5wF/z8iYGSPjrLHuratLc0CVgovmwfJss7+BUOB6y2/Vw8+1Vw0n9DDI0gb5vmx3UI8z0uJgC8aa8yuJg== 77 + dependencies: 78 + "@ipld/dag-cbor" "^7.0.3" 79 + multiformats "^9.6.4" 80 + pino "^8.6.1" 81 + zod "^3.14.2" 82 + 83 + "@atproto/crypto@*": 84 + version "0.1.1" 85 + resolved "https://registry.yarnpkg.com/@atproto/crypto/-/crypto-0.1.1.tgz#54afad2124c3867091e4d9b271f22d375fcfdf9e" 86 + integrity sha512-/7Ntn55dRZPtCnOd6dVo1IvZzpVut6YTAkZ8iFry9JW29l7ZeNkJd+NTnmWRz3aGQody10jngb4SNxQNi/f3+A== 87 + dependencies: 88 + "@noble/secp256k1" "^1.7.0" 89 + big-integer "^1.6.51" 90 + multiformats "^9.6.4" 91 + one-webcrypto "^1.0.3" 92 + uint8arrays "3.0.0" 93 + 94 + "@atproto/crypto@0.1.0": 84 95 version "0.1.0" 85 96 resolved "https://registry.yarnpkg.com/@atproto/crypto/-/crypto-0.1.0.tgz#bc73a479f9dbe06fa025301c182d7f7ab01bc568" 86 97 integrity sha512-9xgFEPtsCiJEPt9o3HtJT30IdFTGw5cQRSJVIy5CFhqBA4vDLcdXiRDLCjkzHEVbtNCsHUW6CrlfOgbeLPcmcg== ··· 109 120 "@atproto/common-web" "*" 110 121 111 122 "@atproto/lexicon@*": 112 - version "0.0.4" 113 - resolved "https://registry.yarnpkg.com/@atproto/lexicon/-/lexicon-0.0.4.tgz#f0a6688ad54adb2ec4a8d1f11fcbf45e96203c4b" 114 - integrity sha512-00lqIKJetVlxQzNmEhrFzZeT9k+zGPBsHwtYpG7rH4vZ211i5WiDkmQcBwwFs2g/qCBt+nVq0dlgl3JhCLJXQg== 123 + version "0.1.0" 124 + resolved "https://registry.yarnpkg.com/@atproto/lexicon/-/lexicon-0.1.0.tgz#e7784cc868c734314d5bf9af83487aba7ccae0b3" 125 + integrity sha512-Iy+gV9w42xLhrZrmcbZh7VFoHjXuzWvecGHIfz44owNjjv7aE/d2P5BbOX/XicSkmQ8Qkpg0BqwYDD1XBVS+DQ== 115 126 dependencies: 127 + "@atproto/common-web" "*" 128 + "@atproto/identifier" "*" 116 129 "@atproto/nsid" "*" 130 + "@atproto/uri" "*" 117 131 iso-datestring-validator "^2.2.2" 132 + multiformats "^9.6.4" 118 133 zod "^3.14.2" 119 134 120 135 "@atproto/nsid@*": ··· 162 177 uint8arrays "3.0.0" 163 178 164 179 "@atproto/repo@*": 165 - version "0.0.1" 166 - resolved "https://registry.yarnpkg.com/@atproto/repo/-/repo-0.0.1.tgz#41c63943a7e6a0942fc3e721c05d8c836c2fcfc2" 167 - integrity sha512-tBZjaeaRL7fJynZCA5F+ZjRQuf5fpL7Cj5VqP6KtXYacuNP/LufwrHARSOwxJMMZpPOoWmwv4R8bETiQozehEA== 180 + version "0.1.0" 181 + resolved "https://registry.yarnpkg.com/@atproto/repo/-/repo-0.1.0.tgz#8c546af16c30fe5ba4c883ac73b68be9d7eca273" 182 + integrity sha512-O4qs5WfSjEFvUtpOTB4n9cLcK6YP/w/ly6Qxc3S8IFevLGYX58NPPr5zlg3dxs64uLKbWWjzhQM7JAqO44MEKw== 168 183 dependencies: 169 - "@atproto/auth" "*" 170 184 "@atproto/common" "*" 185 + "@atproto/crypto" "*" 186 + "@atproto/did-resolver" "*" 187 + "@atproto/lexicon" "*" 171 188 "@atproto/nsid" "*" 172 189 "@ipld/car" "^3.2.3" 173 190 "@ipld/dag-cbor" "^7.0.0" ··· 176 193 zod "^3.14.2" 177 194 178 195 "@atproto/uri@*": 179 - version "0.0.1" 180 - resolved "https://registry.yarnpkg.com/@atproto/uri/-/uri-0.0.1.tgz#bfab68eda17ec987647f10d102168d417bc8a326" 181 - integrity sha512-Tm+20Bxdie+a4yvberrfWaDhrze/p3AvA5v5IV6XyZJYu2+fnionUrufUjkcs3PIWeSd6VMgVcRp3GaoiUvSvQ== 196 + version "0.0.2" 197 + resolved "https://registry.yarnpkg.com/@atproto/uri/-/uri-0.0.2.tgz#c6d3788e6f12d66ba72690d2d70fe6c291b4acfb" 198 + integrity sha512-/6otLZF7BLpT9suSdHuXLbL12nINcWPsLmcOI+dctqovWUjH+XIRVNXDQgBYSrPVetxMiknuEwWelmnA33AEXg== 199 + dependencies: 200 + "@atproto/identifier" "*" 201 + "@atproto/nsid" "*" 182 202 183 203 "@atproto/xrpc-server@*": 184 - version "0.0.1" 185 - resolved "https://registry.yarnpkg.com/@atproto/xrpc-server/-/xrpc-server-0.0.1.tgz#62891d8e24b0813a7006d8ba947716b7c69e5667" 186 - integrity sha512-W9pb9k9wgDlZdDF3eIDMXhEs1trg3zSRd70f1BfN22h+Or4wsoq5dAxXg6q9os3+DNkVkD9BWeRwVppCF6FxGg== 204 + version "0.1.0" 205 + resolved "https://registry.yarnpkg.com/@atproto/xrpc-server/-/xrpc-server-0.1.0.tgz#2dd3172bb35fbfefb98c3d727d29be8eca5c3d9b" 206 + integrity sha512-I7EjhnLUrlqQKTe2jDEnyAaOTvj26pg9NRjTXflbIOqCOkh+K9+5ztGSI0djF7TSQ7pegXroj3qRnmpVVCBr7Q== 187 207 dependencies: 188 208 "@atproto/common" "*" 189 209 "@atproto/lexicon" "*" 210 + cbor-x "^1.5.1" 190 211 express "^4.17.2" 191 212 http-errors "^2.0.0" 192 213 mime-types "^2.1.35" 214 + uint8arrays "3.0.0" 215 + ws "^8.12.0" 193 216 zod "^3.14.2" 194 217 195 218 "@atproto/xrpc@*": 196 - version "0.0.4" 197 - resolved "https://registry.yarnpkg.com/@atproto/xrpc/-/xrpc-0.0.4.tgz#d7dd45cdb21e29b9715ca30eb18320548f293413" 198 - integrity sha512-Hxh+GgZx21Zvlb2RMlSlJDd3r3GR0vAS6OOZPW2xzWiVHsetb9ZlFB6D0AeAPj2R+U2UUkmdUR8G3U/nkgnQFA== 219 + version "0.1.0" 220 + resolved "https://registry.yarnpkg.com/@atproto/xrpc/-/xrpc-0.1.0.tgz#798569095538ac060475ae51f1b4c071ff8776d6" 221 + integrity sha512-LhBeZkQwPezjEtricGYnG62udFglOqlnmMSS0KyWgEAPi4KMp4H2F4jNoXcf5NPtZ9S4N4hJaErHX4PJYv2lfA== 199 222 dependencies: 200 223 "@atproto/lexicon" "*" 201 224 zod "^3.14.2" ··· 207 230 dependencies: 208 231 "@babel/highlight" "^7.10.4" 209 232 210 - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.8.3": 211 - version "7.18.6" 212 - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" 213 - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== 233 + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4", "@babel/code-frame@^7.8.3": 234 + version "7.21.4" 235 + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39" 236 + integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== 214 237 dependencies: 215 238 "@babel/highlight" "^7.18.6" 216 239 217 - "@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": 218 - version "7.21.0" 219 - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298" 220 - integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== 240 + "@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.21.5": 241 + version "7.21.7" 242 + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.7.tgz#61caffb60776e49a57ba61a88f02bedd8714f6bc" 243 + integrity sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA== 221 244 222 - "@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.16.0", "@babel/core@^7.20.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0": 223 - version "7.21.3" 224 - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.3.tgz#cf1c877284a469da5d1ce1d1e53665253fae712e" 225 - integrity sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw== 245 + "@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.16.0", "@babel/core@^7.20.0", "@babel/core@^7.20.2", "@babel/core@^7.7.2", "@babel/core@^7.8.0": 246 + version "7.21.5" 247 + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.5.tgz#92f753e8b9f96e15d4b398dbe2f25d1408c9c426" 248 + integrity sha512-9M398B/QH5DlfCOTKDZT1ozXr0x8uBEeFd+dJraGUZGiaNpGCDVGCc14hZexsMblw3XxltJ+6kSvogp9J+5a9g== 226 249 dependencies: 227 250 "@ampproject/remapping" "^2.2.0" 228 - "@babel/code-frame" "^7.18.6" 229 - "@babel/generator" "^7.21.3" 230 - "@babel/helper-compilation-targets" "^7.20.7" 231 - "@babel/helper-module-transforms" "^7.21.2" 232 - "@babel/helpers" "^7.21.0" 233 - "@babel/parser" "^7.21.3" 251 + "@babel/code-frame" "^7.21.4" 252 + "@babel/generator" "^7.21.5" 253 + "@babel/helper-compilation-targets" "^7.21.5" 254 + "@babel/helper-module-transforms" "^7.21.5" 255 + "@babel/helpers" "^7.21.5" 256 + "@babel/parser" "^7.21.5" 234 257 "@babel/template" "^7.20.7" 235 - "@babel/traverse" "^7.21.3" 236 - "@babel/types" "^7.21.3" 258 + "@babel/traverse" "^7.21.5" 259 + "@babel/types" "^7.21.5" 237 260 convert-source-map "^1.7.0" 238 261 debug "^4.1.0" 239 262 gensync "^1.0.0-beta.2" ··· 249 272 eslint-visitor-keys "^2.1.0" 250 273 semver "^6.3.0" 251 274 252 - "@babel/generator@^7.20.0", "@babel/generator@^7.21.3", "@babel/generator@^7.7.2": 253 - version "7.21.3" 254 - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.3.tgz#232359d0874b392df04045d72ce2fd9bb5045fce" 255 - integrity sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA== 275 + "@babel/generator@^7.20.0", "@babel/generator@^7.20.4", "@babel/generator@^7.21.5", "@babel/generator@^7.7.2": 276 + version "7.21.5" 277 + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.5.tgz#c0c0e5449504c7b7de8236d99338c3e2a340745f" 278 + integrity sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w== 256 279 dependencies: 257 - "@babel/types" "^7.21.3" 280 + "@babel/types" "^7.21.5" 258 281 "@jridgewell/gen-mapping" "^0.3.2" 259 282 "@jridgewell/trace-mapping" "^0.3.17" 260 283 jsesc "^2.5.1" ··· 267 290 "@babel/types" "^7.18.6" 268 291 269 292 "@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": 270 - version "7.18.9" 271 - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" 272 - integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== 293 + version "7.21.5" 294 + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.21.5.tgz#817f73b6c59726ab39f6ba18c234268a519e5abb" 295 + integrity sha512-uNrjKztPLkUk7bpCNC0jEKDJzzkvel/W+HguzbN8krA+LPfC1CEobJEvAvGka2A/M+ViOqXdcRL0GqPUJSjx9g== 273 296 dependencies: 274 - "@babel/helper-explode-assignable-expression" "^7.18.6" 275 - "@babel/types" "^7.18.9" 297 + "@babel/types" "^7.21.5" 276 298 277 - "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": 278 - version "7.20.7" 279 - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" 280 - integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== 299 + "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.21.5": 300 + version "7.21.5" 301 + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz#631e6cc784c7b660417421349aac304c94115366" 302 + integrity sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w== 281 303 dependencies: 282 - "@babel/compat-data" "^7.20.5" 283 - "@babel/helper-validator-option" "^7.18.6" 304 + "@babel/compat-data" "^7.21.5" 305 + "@babel/helper-validator-option" "^7.21.0" 284 306 browserslist "^4.21.3" 285 307 lru-cache "^5.1.1" 286 308 semver "^6.3.0" 287 309 288 310 "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": 289 - version "7.21.0" 290 - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz#64f49ecb0020532f19b1d014b03bccaa1ab85fb9" 291 - integrity sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ== 311 + version "7.21.5" 312 + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.5.tgz#09a259305467d2020bd2492119ee1c1bc55029e9" 313 + integrity sha512-yNSEck9SuDvPTEUYm4BSXl6ZVC7yO5ZLEMAhG3v3zi7RDxyL/nQDemWWZmw4L0stPWwhpnznRRyJHPRcbXR2jw== 292 314 dependencies: 293 315 "@babel/helper-annotate-as-pure" "^7.18.6" 294 - "@babel/helper-environment-visitor" "^7.18.9" 316 + "@babel/helper-environment-visitor" "^7.21.5" 295 317 "@babel/helper-function-name" "^7.21.0" 296 - "@babel/helper-member-expression-to-functions" "^7.21.0" 318 + "@babel/helper-member-expression-to-functions" "^7.21.5" 297 319 "@babel/helper-optimise-call-expression" "^7.18.6" 298 - "@babel/helper-replace-supers" "^7.20.7" 320 + "@babel/helper-replace-supers" "^7.21.5" 299 321 "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" 300 322 "@babel/helper-split-export-declaration" "^7.18.6" 323 + semver "^6.3.0" 301 324 302 325 "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": 303 - version "7.21.0" 304 - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.0.tgz#53ff78472e5ce10a52664272a239787107603ebb" 305 - integrity sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg== 326 + version "7.21.5" 327 + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.5.tgz#4ce6ffaf497a241aa6c62192416b273987a8daa3" 328 + integrity sha512-1+DPMcln46eNAta/rPIqQYXYRGvQ/LRy6bRKnSt9Dzt/yLjNUbbsh+6yzD6fUHmtzc9kWvVnAhtcMSMyziHmUA== 306 329 dependencies: 307 330 "@babel/helper-annotate-as-pure" "^7.18.6" 308 331 regexpu-core "^5.3.1" 332 + semver "^6.3.0" 309 333 310 334 "@babel/helper-define-polyfill-provider@^0.3.3": 311 335 version "0.3.3" ··· 319 343 resolve "^1.14.2" 320 344 semver "^6.1.2" 321 345 322 - "@babel/helper-environment-visitor@^7.18.9": 323 - version "7.18.9" 324 - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" 325 - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== 326 - 327 - "@babel/helper-explode-assignable-expression@^7.18.6": 328 - version "7.18.6" 329 - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" 330 - integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== 331 - dependencies: 332 - "@babel/types" "^7.18.6" 346 + "@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.21.5": 347 + version "7.21.5" 348 + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz#c769afefd41d171836f7cb63e295bedf689d48ba" 349 + integrity sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ== 333 350 334 351 "@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0", "@babel/helper-function-name@^7.21.0": 335 352 version "7.21.0" ··· 346 363 dependencies: 347 364 "@babel/types" "^7.18.6" 348 365 349 - "@babel/helper-member-expression-to-functions@^7.20.7", "@babel/helper-member-expression-to-functions@^7.21.0": 350 - version "7.21.0" 351 - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz#319c6a940431a133897148515877d2f3269c3ba5" 352 - integrity sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q== 366 + "@babel/helper-member-expression-to-functions@^7.21.5": 367 + version "7.21.5" 368 + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.5.tgz#3b1a009af932e586af77c1030fba9ee0bde396c0" 369 + integrity sha512-nIcGfgwpH2u4n9GG1HpStW5Ogx7x7ekiFHbjjFRKXbn5zUvqO9ZgotCO4x1aNbKn/x/xOUaXEhyNHCwtFCpxWg== 353 370 dependencies: 354 - "@babel/types" "^7.21.0" 371 + "@babel/types" "^7.21.5" 355 372 356 - "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.18.6": 357 - version "7.18.6" 358 - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" 359 - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== 373 + "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.18.6", "@babel/helper-module-imports@^7.21.4": 374 + version "7.21.4" 375 + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af" 376 + integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg== 360 377 dependencies: 361 - "@babel/types" "^7.18.6" 378 + "@babel/types" "^7.21.4" 362 379 363 - "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.2": 364 - version "7.21.2" 365 - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" 366 - integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== 380 + "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.5": 381 + version "7.21.5" 382 + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz#d937c82e9af68d31ab49039136a222b17ac0b420" 383 + integrity sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw== 367 384 dependencies: 368 - "@babel/helper-environment-visitor" "^7.18.9" 369 - "@babel/helper-module-imports" "^7.18.6" 370 - "@babel/helper-simple-access" "^7.20.2" 385 + "@babel/helper-environment-visitor" "^7.21.5" 386 + "@babel/helper-module-imports" "^7.21.4" 387 + "@babel/helper-simple-access" "^7.21.5" 371 388 "@babel/helper-split-export-declaration" "^7.18.6" 372 389 "@babel/helper-validator-identifier" "^7.19.1" 373 390 "@babel/template" "^7.20.7" 374 - "@babel/traverse" "^7.21.2" 375 - "@babel/types" "^7.21.2" 391 + "@babel/traverse" "^7.21.5" 392 + "@babel/types" "^7.21.5" 376 393 377 394 "@babel/helper-optimise-call-expression@^7.18.6": 378 395 version "7.18.6" ··· 381 398 dependencies: 382 399 "@babel/types" "^7.18.6" 383 400 384 - "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": 385 - version "7.20.2" 386 - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" 387 - integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== 401 + "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.21.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": 402 + version "7.21.5" 403 + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz#345f2377d05a720a4e5ecfa39cbf4474a4daed56" 404 + integrity sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg== 388 405 389 406 "@babel/helper-remap-async-to-generator@^7.18.9": 390 407 version "7.18.9" ··· 396 413 "@babel/helper-wrap-function" "^7.18.9" 397 414 "@babel/types" "^7.18.9" 398 415 399 - "@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": 400 - version "7.20.7" 401 - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" 402 - integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== 416 + "@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7", "@babel/helper-replace-supers@^7.21.5": 417 + version "7.21.5" 418 + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.21.5.tgz#a6ad005ba1c7d9bc2973dfde05a1bba7065dde3c" 419 + integrity sha512-/y7vBgsr9Idu4M6MprbOVUfH3vs7tsIfnVWv/Ml2xgwvyH6LTngdfbf5AdsKwkJy4zgy1X/kuNrEKvhhK28Yrg== 403 420 dependencies: 404 - "@babel/helper-environment-visitor" "^7.18.9" 405 - "@babel/helper-member-expression-to-functions" "^7.20.7" 421 + "@babel/helper-environment-visitor" "^7.21.5" 422 + "@babel/helper-member-expression-to-functions" "^7.21.5" 406 423 "@babel/helper-optimise-call-expression" "^7.18.6" 407 424 "@babel/template" "^7.20.7" 408 - "@babel/traverse" "^7.20.7" 409 - "@babel/types" "^7.20.7" 425 + "@babel/traverse" "^7.21.5" 426 + "@babel/types" "^7.21.5" 410 427 411 - "@babel/helper-simple-access@^7.20.2": 412 - version "7.20.2" 413 - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" 414 - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== 428 + "@babel/helper-simple-access@^7.21.5": 429 + version "7.21.5" 430 + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz#d697a7971a5c39eac32c7e63c0921c06c8a249ee" 431 + integrity sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg== 415 432 dependencies: 416 - "@babel/types" "^7.20.2" 433 + "@babel/types" "^7.21.5" 417 434 418 435 "@babel/helper-skip-transparent-expression-wrappers@^7.20.0": 419 436 version "7.20.0" ··· 429 446 dependencies: 430 447 "@babel/types" "^7.18.6" 431 448 432 - "@babel/helper-string-parser@^7.19.4": 433 - version "7.19.4" 434 - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" 435 - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== 449 + "@babel/helper-string-parser@^7.21.5": 450 + version "7.21.5" 451 + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz#2b3eea65443c6bdc31c22d037c65f6d323b6b2bd" 452 + integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w== 436 453 437 454 "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": 438 455 version "7.19.1" ··· 454 471 "@babel/traverse" "^7.20.5" 455 472 "@babel/types" "^7.20.5" 456 473 457 - "@babel/helpers@^7.21.0": 458 - version "7.21.0" 459 - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e" 460 - integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== 474 + "@babel/helpers@^7.21.5": 475 + version "7.21.5" 476 + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.5.tgz#5bac66e084d7a4d2d9696bdf0175a93f7fb63c08" 477 + integrity sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA== 461 478 dependencies: 462 479 "@babel/template" "^7.20.7" 463 - "@babel/traverse" "^7.21.0" 464 - "@babel/types" "^7.21.0" 480 + "@babel/traverse" "^7.21.5" 481 + "@babel/types" "^7.21.5" 465 482 466 483 "@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": 467 484 version "7.18.6" ··· 472 489 chalk "^2.0.0" 473 490 js-tokens "^4.0.0" 474 491 475 - "@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.21.3": 476 - version "7.21.3" 477 - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.3.tgz#1d285d67a19162ff9daa358d4cb41d50c06220b3" 478 - integrity sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ== 492 + "@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.21.5": 493 + version "7.21.5" 494 + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.5.tgz#821bb520118fd25b982eaf8d37421cf5c64a312b" 495 + integrity sha512-J+IxH2IsxV4HbnTrSWgMAQj0UEo61hDA4Ny8h8PCX0MLXiibqHbqIOVneqdocemSBc22VpBKxt4J6FQzy9HarQ== 479 496 480 497 "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": 481 498 version "7.18.6" ··· 484 501 dependencies: 485 502 "@babel/helper-plugin-utils" "^7.18.6" 486 503 487 - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": 504 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.20.7": 488 505 version "7.20.7" 489 506 resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1" 490 507 integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== ··· 493 510 "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" 494 511 "@babel/plugin-proposal-optional-chaining" "^7.20.7" 495 512 496 - "@babel/plugin-proposal-async-generator-functions@^7.0.0", "@babel/plugin-proposal-async-generator-functions@^7.20.1": 513 + "@babel/plugin-proposal-async-generator-functions@^7.0.0", "@babel/plugin-proposal-async-generator-functions@^7.20.7": 497 514 version "7.20.7" 498 515 resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" 499 516 integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== ··· 511 528 "@babel/helper-create-class-features-plugin" "^7.18.6" 512 529 "@babel/helper-plugin-utils" "^7.18.6" 513 530 514 - "@babel/plugin-proposal-class-static-block@^7.18.6": 531 + "@babel/plugin-proposal-class-static-block@^7.21.0": 515 532 version "7.21.0" 516 533 resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz#77bdd66fb7b605f3a61302d224bdfacf5547977d" 517 534 integrity sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw== ··· 563 580 "@babel/helper-plugin-utils" "^7.18.6" 564 581 "@babel/plugin-syntax-json-strings" "^7.8.3" 565 582 566 - "@babel/plugin-proposal-logical-assignment-operators@^7.18.9": 583 + "@babel/plugin-proposal-logical-assignment-operators@^7.20.7": 567 584 version "7.20.7" 568 585 resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" 569 586 integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== ··· 587 604 "@babel/helper-plugin-utils" "^7.18.6" 588 605 "@babel/plugin-syntax-numeric-separator" "^7.10.4" 589 606 590 - "@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.12.13", "@babel/plugin-proposal-object-rest-spread@^7.20.2": 607 + "@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.12.13", "@babel/plugin-proposal-object-rest-spread@^7.20.7": 591 608 version "7.20.7" 592 609 resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" 593 610 integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== ··· 606 623 "@babel/helper-plugin-utils" "^7.18.6" 607 624 "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 608 625 609 - "@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": 626 + "@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.20.7", "@babel/plugin-proposal-optional-chaining@^7.21.0": 610 627 version "7.21.0" 611 628 resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" 612 629 integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== ··· 623 640 "@babel/helper-create-class-features-plugin" "^7.18.6" 624 641 "@babel/helper-plugin-utils" "^7.18.6" 625 642 626 - "@babel/plugin-proposal-private-property-in-object@^7.18.6": 643 + "@babel/plugin-proposal-private-property-in-object@^7.21.0": 627 644 version "7.21.0" 628 645 resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz#19496bd9883dd83c23c7d7fc45dcd9ad02dfa1dc" 629 646 integrity sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw== ··· 698 715 "@babel/helper-plugin-utils" "^7.8.3" 699 716 700 717 "@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.18.6": 701 - version "7.18.6" 702 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz#774d825256f2379d06139be0c723c4dd444f3ca1" 703 - integrity sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A== 718 + version "7.21.4" 719 + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.21.4.tgz#3e37fca4f06d93567c1cd9b75156422e90a67107" 720 + integrity sha512-l9xd3N+XG4fZRxEP3vXdK6RW7vN1Uf5dxzRC/09wV86wqZ/YYQooBIGNsiRdfNR3/q2/5pPzV4B54J/9ctX5jw== 704 721 dependencies: 705 - "@babel/helper-plugin-utils" "^7.18.6" 722 + "@babel/helper-plugin-utils" "^7.20.2" 706 723 707 724 "@babel/plugin-syntax-import-assertions@^7.20.0": 708 725 version "7.20.0" ··· 711 728 dependencies: 712 729 "@babel/helper-plugin-utils" "^7.19.0" 713 730 714 - "@babel/plugin-syntax-import-meta@^7.8.3": 731 + "@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": 715 732 version "7.10.4" 716 733 resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" 717 734 integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== ··· 725 742 dependencies: 726 743 "@babel/helper-plugin-utils" "^7.8.0" 727 744 728 - "@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.18.6", "@babel/plugin-syntax-jsx@^7.7.2": 729 - version "7.18.6" 730 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" 731 - integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== 745 + "@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.21.4", "@babel/plugin-syntax-jsx@^7.7.2": 746 + version "7.21.4" 747 + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz#f264ed7bf40ffc9ec239edabc17a50c4f5b6fea2" 748 + integrity sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ== 732 749 dependencies: 733 - "@babel/helper-plugin-utils" "^7.18.6" 750 + "@babel/helper-plugin-utils" "^7.20.2" 734 751 735 752 "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": 736 753 version "7.10.4" ··· 789 806 "@babel/helper-plugin-utils" "^7.14.5" 790 807 791 808 "@babel/plugin-syntax-typescript@^7.20.0", "@babel/plugin-syntax-typescript@^7.7.2": 792 - version "7.20.0" 793 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" 794 - integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== 809 + version "7.21.4" 810 + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz#2751948e9b7c6d771a8efa59340c15d4a2891ff8" 811 + integrity sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA== 795 812 dependencies: 796 - "@babel/helper-plugin-utils" "^7.19.0" 813 + "@babel/helper-plugin-utils" "^7.20.2" 797 814 798 - "@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.18.6": 799 - version "7.20.7" 800 - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551" 801 - integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== 815 + "@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.21.5": 816 + version "7.21.5" 817 + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz#9bb42a53de447936a57ba256fbf537fc312b6929" 818 + integrity sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA== 802 819 dependencies: 803 - "@babel/helper-plugin-utils" "^7.20.2" 820 + "@babel/helper-plugin-utils" "^7.21.5" 804 821 805 - "@babel/plugin-transform-async-to-generator@^7.0.0", "@babel/plugin-transform-async-to-generator@^7.18.6": 822 + "@babel/plugin-transform-async-to-generator@^7.0.0", "@babel/plugin-transform-async-to-generator@^7.20.7": 806 823 version "7.20.7" 807 824 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" 808 825 integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== ··· 818 835 dependencies: 819 836 "@babel/helper-plugin-utils" "^7.18.6" 820 837 821 - "@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.20.2": 838 + "@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.21.0": 822 839 version "7.21.0" 823 840 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz#e737b91037e5186ee16b76e7ae093358a5634f02" 824 841 integrity sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ== 825 842 dependencies: 826 843 "@babel/helper-plugin-utils" "^7.20.2" 827 844 828 - "@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.20.2": 845 + "@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.21.0": 829 846 version "7.21.0" 830 847 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz#f469d0b07a4c5a7dbb21afad9e27e57b47031665" 831 848 integrity sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ== ··· 840 857 "@babel/helper-split-export-declaration" "^7.18.6" 841 858 globals "^11.1.0" 842 859 843 - "@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.18.9": 844 - version "7.20.7" 845 - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa" 846 - integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== 860 + "@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.21.5": 861 + version "7.21.5" 862 + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz#3a2d8bb771cd2ef1cd736435f6552fe502e11b44" 863 + integrity sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q== 847 864 dependencies: 848 - "@babel/helper-plugin-utils" "^7.20.2" 865 + "@babel/helper-plugin-utils" "^7.21.5" 849 866 "@babel/template" "^7.20.7" 850 867 851 - "@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.20.2": 868 + "@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.21.3": 852 869 version "7.21.3" 853 870 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz#73b46d0fd11cd6ef57dea8a381b1215f4959d401" 854 871 integrity sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA== ··· 878 895 "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" 879 896 "@babel/helper-plugin-utils" "^7.18.6" 880 897 881 - "@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.16.0", "@babel/plugin-transform-flow-strip-types@^7.18.6": 898 + "@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.16.0", "@babel/plugin-transform-flow-strip-types@^7.21.0": 882 899 version "7.21.0" 883 900 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.21.0.tgz#6aeca0adcb81dc627c8986e770bfaa4d9812aff5" 884 901 integrity sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w== ··· 886 903 "@babel/helper-plugin-utils" "^7.20.2" 887 904 "@babel/plugin-syntax-flow" "^7.18.6" 888 905 889 - "@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.18.8": 890 - version "7.21.0" 891 - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz#964108c9988de1a60b4be2354a7d7e245f36e86e" 892 - integrity sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ== 906 + "@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.21.5": 907 + version "7.21.5" 908 + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz#e890032b535f5a2e237a18535f56a9fdaa7b83fc" 909 + integrity sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ== 893 910 dependencies: 894 - "@babel/helper-plugin-utils" "^7.20.2" 911 + "@babel/helper-plugin-utils" "^7.21.5" 895 912 896 913 "@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.18.9": 897 914 version "7.18.9" ··· 916 933 dependencies: 917 934 "@babel/helper-plugin-utils" "^7.18.6" 918 935 919 - "@babel/plugin-transform-modules-amd@^7.19.6": 936 + "@babel/plugin-transform-modules-amd@^7.20.11": 920 937 version "7.20.11" 921 938 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a" 922 939 integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== ··· 924 941 "@babel/helper-module-transforms" "^7.20.11" 925 942 "@babel/helper-plugin-utils" "^7.20.2" 926 943 927 - "@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.19.6": 928 - version "7.21.2" 929 - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz#6ff5070e71e3192ef2b7e39820a06fb78e3058e7" 930 - integrity sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA== 944 + "@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.19.6", "@babel/plugin-transform-modules-commonjs@^7.21.5": 945 + version "7.21.5" 946 + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz#d69fb947eed51af91de82e4708f676864e5e47bc" 947 + integrity sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ== 931 948 dependencies: 932 - "@babel/helper-module-transforms" "^7.21.2" 933 - "@babel/helper-plugin-utils" "^7.20.2" 934 - "@babel/helper-simple-access" "^7.20.2" 949 + "@babel/helper-module-transforms" "^7.21.5" 950 + "@babel/helper-plugin-utils" "^7.21.5" 951 + "@babel/helper-simple-access" "^7.21.5" 935 952 936 - "@babel/plugin-transform-modules-systemjs@^7.19.6": 953 + "@babel/plugin-transform-modules-systemjs@^7.20.11": 937 954 version "7.20.11" 938 955 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" 939 956 integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== ··· 951 968 "@babel/helper-module-transforms" "^7.18.6" 952 969 "@babel/helper-plugin-utils" "^7.18.6" 953 970 954 - "@babel/plugin-transform-named-capturing-groups-regex@^7.0.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": 971 + "@babel/plugin-transform-named-capturing-groups-regex@^7.0.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.20.5": 955 972 version "7.20.5" 956 973 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8" 957 974 integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== ··· 981 998 "@babel/helper-plugin-utils" "^7.18.6" 982 999 "@babel/helper-replace-supers" "^7.18.6" 983 1000 984 - "@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": 1001 + "@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.21.3": 985 1002 version "7.21.3" 986 1003 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz#18fc4e797cf6d6d972cb8c411dbe8a809fa157db" 987 1004 integrity sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ== ··· 1031 1048 "@babel/helper-plugin-utils" "^7.19.0" 1032 1049 1033 1050 "@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.12.17", "@babel/plugin-transform-react-jsx@^7.18.6": 1034 - version "7.21.0" 1035 - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.21.0.tgz#656b42c2fdea0a6d8762075d58ef9d4e3c4ab8a2" 1036 - integrity sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg== 1051 + version "7.21.5" 1052 + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.21.5.tgz#bd98f3b429688243e4fa131fe1cbb2ef31ce6f38" 1053 + integrity sha512-ELdlq61FpoEkHO6gFRpfj0kUgSwQTGoaEU8eMRoS8Dv3v6e7BjEAj5WMtIBRdHUeAioMhKP5HyxNzNnP+heKbA== 1037 1054 dependencies: 1038 1055 "@babel/helper-annotate-as-pure" "^7.18.6" 1039 - "@babel/helper-module-imports" "^7.18.6" 1040 - "@babel/helper-plugin-utils" "^7.20.2" 1041 - "@babel/plugin-syntax-jsx" "^7.18.6" 1042 - "@babel/types" "^7.21.0" 1056 + "@babel/helper-module-imports" "^7.21.4" 1057 + "@babel/helper-plugin-utils" "^7.21.5" 1058 + "@babel/plugin-syntax-jsx" "^7.21.4" 1059 + "@babel/types" "^7.21.5" 1043 1060 1044 1061 "@babel/plugin-transform-react-pure-annotations@^7.18.6": 1045 1062 version "7.18.6" ··· 1049 1066 "@babel/helper-annotate-as-pure" "^7.18.6" 1050 1067 "@babel/helper-plugin-utils" "^7.18.6" 1051 1068 1052 - "@babel/plugin-transform-regenerator@^7.18.6": 1053 - version "7.20.5" 1054 - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d" 1055 - integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== 1069 + "@babel/plugin-transform-regenerator@^7.21.5": 1070 + version "7.21.5" 1071 + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz#576c62f9923f94bcb1c855adc53561fd7913724e" 1072 + integrity sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w== 1056 1073 dependencies: 1057 - "@babel/helper-plugin-utils" "^7.20.2" 1074 + "@babel/helper-plugin-utils" "^7.21.5" 1058 1075 regenerator-transform "^0.15.1" 1059 1076 1060 1077 "@babel/plugin-transform-reserved-words@^7.18.6": ··· 1065 1082 "@babel/helper-plugin-utils" "^7.18.6" 1066 1083 1067 1084 "@babel/plugin-transform-runtime@^7.0.0", "@babel/plugin-transform-runtime@^7.12.1", "@babel/plugin-transform-runtime@^7.16.4": 1068 - version "7.21.0" 1069 - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.0.tgz#2a884f29556d0a68cd3d152dcc9e6c71dfb6eee8" 1070 - integrity sha512-ReY6pxwSzEU0b3r2/T/VhqMKg/AkceBT19X0UptA3/tYi5Pe2eXgEUH+NNMC5nok6c6XQz5tyVTUpuezRfSMSg== 1085 + version "7.21.4" 1086 + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz#2e1da21ca597a7d01fc96b699b21d8d2023191aa" 1087 + integrity sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA== 1071 1088 dependencies: 1072 - "@babel/helper-module-imports" "^7.18.6" 1089 + "@babel/helper-module-imports" "^7.21.4" 1073 1090 "@babel/helper-plugin-utils" "^7.20.2" 1074 1091 babel-plugin-polyfill-corejs2 "^0.3.3" 1075 1092 babel-plugin-polyfill-corejs3 "^0.6.0" ··· 1083 1100 dependencies: 1084 1101 "@babel/helper-plugin-utils" "^7.18.6" 1085 1102 1086 - "@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.19.0": 1103 + "@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.20.7": 1087 1104 version "7.20.7" 1088 1105 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" 1089 1106 integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== ··· 1112 1129 dependencies: 1113 1130 "@babel/helper-plugin-utils" "^7.18.9" 1114 1131 1115 - "@babel/plugin-transform-typescript@^7.21.0", "@babel/plugin-transform-typescript@^7.5.0": 1132 + "@babel/plugin-transform-typescript@^7.21.3", "@babel/plugin-transform-typescript@^7.5.0": 1116 1133 version "7.21.3" 1117 1134 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz#316c5be579856ea890a57ebc5116c5d064658f2b" 1118 1135 integrity sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw== ··· 1122 1139 "@babel/helper-plugin-utils" "^7.20.2" 1123 1140 "@babel/plugin-syntax-typescript" "^7.20.0" 1124 1141 1125 - "@babel/plugin-transform-unicode-escapes@^7.18.10": 1126 - version "7.18.10" 1127 - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" 1128 - integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== 1142 + "@babel/plugin-transform-unicode-escapes@^7.21.5": 1143 + version "7.21.5" 1144 + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz#1e55ed6195259b0e9061d81f5ef45a9b009fb7f2" 1145 + integrity sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg== 1129 1146 dependencies: 1130 - "@babel/helper-plugin-utils" "^7.18.9" 1147 + "@babel/helper-plugin-utils" "^7.21.5" 1131 1148 1132 1149 "@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.18.6": 1133 1150 version "7.18.6" ··· 1138 1155 "@babel/helper-plugin-utils" "^7.18.6" 1139 1156 1140 1157 "@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.16.4", "@babel/preset-env@^7.20.0": 1141 - version "7.20.2" 1142 - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506" 1143 - integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== 1158 + version "7.21.5" 1159 + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.21.5.tgz#db2089d99efd2297716f018aeead815ac3decffb" 1160 + integrity sha512-wH00QnTTldTbf/IefEVyChtRdw5RJvODT/Vb4Vcxq1AZvtXj6T0YeX0cAcXhI6/BdGuiP3GcNIL4OQbI2DVNxg== 1144 1161 dependencies: 1145 - "@babel/compat-data" "^7.20.1" 1146 - "@babel/helper-compilation-targets" "^7.20.0" 1147 - "@babel/helper-plugin-utils" "^7.20.2" 1148 - "@babel/helper-validator-option" "^7.18.6" 1162 + "@babel/compat-data" "^7.21.5" 1163 + "@babel/helper-compilation-targets" "^7.21.5" 1164 + "@babel/helper-plugin-utils" "^7.21.5" 1165 + "@babel/helper-validator-option" "^7.21.0" 1149 1166 "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" 1150 - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" 1151 - "@babel/plugin-proposal-async-generator-functions" "^7.20.1" 1167 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.20.7" 1168 + "@babel/plugin-proposal-async-generator-functions" "^7.20.7" 1152 1169 "@babel/plugin-proposal-class-properties" "^7.18.6" 1153 - "@babel/plugin-proposal-class-static-block" "^7.18.6" 1170 + "@babel/plugin-proposal-class-static-block" "^7.21.0" 1154 1171 "@babel/plugin-proposal-dynamic-import" "^7.18.6" 1155 1172 "@babel/plugin-proposal-export-namespace-from" "^7.18.9" 1156 1173 "@babel/plugin-proposal-json-strings" "^7.18.6" 1157 - "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" 1174 + "@babel/plugin-proposal-logical-assignment-operators" "^7.20.7" 1158 1175 "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" 1159 1176 "@babel/plugin-proposal-numeric-separator" "^7.18.6" 1160 - "@babel/plugin-proposal-object-rest-spread" "^7.20.2" 1177 + "@babel/plugin-proposal-object-rest-spread" "^7.20.7" 1161 1178 "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" 1162 - "@babel/plugin-proposal-optional-chaining" "^7.18.9" 1179 + "@babel/plugin-proposal-optional-chaining" "^7.21.0" 1163 1180 "@babel/plugin-proposal-private-methods" "^7.18.6" 1164 - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" 1181 + "@babel/plugin-proposal-private-property-in-object" "^7.21.0" 1165 1182 "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" 1166 1183 "@babel/plugin-syntax-async-generators" "^7.8.4" 1167 1184 "@babel/plugin-syntax-class-properties" "^7.12.13" ··· 1169 1186 "@babel/plugin-syntax-dynamic-import" "^7.8.3" 1170 1187 "@babel/plugin-syntax-export-namespace-from" "^7.8.3" 1171 1188 "@babel/plugin-syntax-import-assertions" "^7.20.0" 1189 + "@babel/plugin-syntax-import-meta" "^7.10.4" 1172 1190 "@babel/plugin-syntax-json-strings" "^7.8.3" 1173 1191 "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" 1174 1192 "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" ··· 1178 1196 "@babel/plugin-syntax-optional-chaining" "^7.8.3" 1179 1197 "@babel/plugin-syntax-private-property-in-object" "^7.14.5" 1180 1198 "@babel/plugin-syntax-top-level-await" "^7.14.5" 1181 - "@babel/plugin-transform-arrow-functions" "^7.18.6" 1182 - "@babel/plugin-transform-async-to-generator" "^7.18.6" 1199 + "@babel/plugin-transform-arrow-functions" "^7.21.5" 1200 + "@babel/plugin-transform-async-to-generator" "^7.20.7" 1183 1201 "@babel/plugin-transform-block-scoped-functions" "^7.18.6" 1184 - "@babel/plugin-transform-block-scoping" "^7.20.2" 1185 - "@babel/plugin-transform-classes" "^7.20.2" 1186 - "@babel/plugin-transform-computed-properties" "^7.18.9" 1187 - "@babel/plugin-transform-destructuring" "^7.20.2" 1202 + "@babel/plugin-transform-block-scoping" "^7.21.0" 1203 + "@babel/plugin-transform-classes" "^7.21.0" 1204 + "@babel/plugin-transform-computed-properties" "^7.21.5" 1205 + "@babel/plugin-transform-destructuring" "^7.21.3" 1188 1206 "@babel/plugin-transform-dotall-regex" "^7.18.6" 1189 1207 "@babel/plugin-transform-duplicate-keys" "^7.18.9" 1190 1208 "@babel/plugin-transform-exponentiation-operator" "^7.18.6" 1191 - "@babel/plugin-transform-for-of" "^7.18.8" 1209 + "@babel/plugin-transform-for-of" "^7.21.5" 1192 1210 "@babel/plugin-transform-function-name" "^7.18.9" 1193 1211 "@babel/plugin-transform-literals" "^7.18.9" 1194 1212 "@babel/plugin-transform-member-expression-literals" "^7.18.6" 1195 - "@babel/plugin-transform-modules-amd" "^7.19.6" 1196 - "@babel/plugin-transform-modules-commonjs" "^7.19.6" 1197 - "@babel/plugin-transform-modules-systemjs" "^7.19.6" 1213 + "@babel/plugin-transform-modules-amd" "^7.20.11" 1214 + "@babel/plugin-transform-modules-commonjs" "^7.21.5" 1215 + "@babel/plugin-transform-modules-systemjs" "^7.20.11" 1198 1216 "@babel/plugin-transform-modules-umd" "^7.18.6" 1199 - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" 1217 + "@babel/plugin-transform-named-capturing-groups-regex" "^7.20.5" 1200 1218 "@babel/plugin-transform-new-target" "^7.18.6" 1201 1219 "@babel/plugin-transform-object-super" "^7.18.6" 1202 - "@babel/plugin-transform-parameters" "^7.20.1" 1220 + "@babel/plugin-transform-parameters" "^7.21.3" 1203 1221 "@babel/plugin-transform-property-literals" "^7.18.6" 1204 - "@babel/plugin-transform-regenerator" "^7.18.6" 1222 + "@babel/plugin-transform-regenerator" "^7.21.5" 1205 1223 "@babel/plugin-transform-reserved-words" "^7.18.6" 1206 1224 "@babel/plugin-transform-shorthand-properties" "^7.18.6" 1207 - "@babel/plugin-transform-spread" "^7.19.0" 1225 + "@babel/plugin-transform-spread" "^7.20.7" 1208 1226 "@babel/plugin-transform-sticky-regex" "^7.18.6" 1209 1227 "@babel/plugin-transform-template-literals" "^7.18.9" 1210 1228 "@babel/plugin-transform-typeof-symbol" "^7.18.9" 1211 - "@babel/plugin-transform-unicode-escapes" "^7.18.10" 1229 + "@babel/plugin-transform-unicode-escapes" "^7.21.5" 1212 1230 "@babel/plugin-transform-unicode-regex" "^7.18.6" 1213 1231 "@babel/preset-modules" "^0.1.5" 1214 - "@babel/types" "^7.20.2" 1232 + "@babel/types" "^7.21.5" 1215 1233 babel-plugin-polyfill-corejs2 "^0.3.3" 1216 1234 babel-plugin-polyfill-corejs3 "^0.6.0" 1217 1235 babel-plugin-polyfill-regenerator "^0.4.1" ··· 1219 1237 semver "^6.3.0" 1220 1238 1221 1239 "@babel/preset-flow@^7.13.13": 1222 - version "7.18.6" 1223 - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.18.6.tgz#83f7602ba566e72a9918beefafef8ef16d2810cb" 1224 - integrity sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ== 1240 + version "7.21.4" 1241 + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.21.4.tgz#a5de2a1cafa61f0e0b3af9b30ff0295d38d3608f" 1242 + integrity sha512-F24cSq4DIBmhq4OzK3dE63NHagb27OPE3eWR+HLekt4Z3Y5MzIIUGF3LlLgV0gN8vzbDViSY7HnrReNVCJXTeA== 1225 1243 dependencies: 1226 - "@babel/helper-plugin-utils" "^7.18.6" 1227 - "@babel/helper-validator-option" "^7.18.6" 1228 - "@babel/plugin-transform-flow-strip-types" "^7.18.6" 1244 + "@babel/helper-plugin-utils" "^7.20.2" 1245 + "@babel/helper-validator-option" "^7.21.0" 1246 + "@babel/plugin-transform-flow-strip-types" "^7.21.0" 1229 1247 1230 1248 "@babel/preset-modules@^0.1.5": 1231 1249 version "0.1.5" ··· 1251 1269 "@babel/plugin-transform-react-pure-annotations" "^7.18.6" 1252 1270 1253 1271 "@babel/preset-typescript@^7.13.0", "@babel/preset-typescript@^7.16.0", "@babel/preset-typescript@^7.16.7": 1254 - version "7.21.0" 1255 - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.21.0.tgz#bcbbca513e8213691fe5d4b23d9251e01f00ebff" 1256 - integrity sha512-myc9mpoVA5m1rF8K8DgLEatOYFDpwC+RkMkjZ0Du6uI62YvDe8uxIEYVs/VCdSJ097nlALiU/yBC7//3nI+hNg== 1272 + version "7.21.5" 1273 + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.21.5.tgz#68292c884b0e26070b4d66b202072d391358395f" 1274 + integrity sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA== 1257 1275 dependencies: 1258 - "@babel/helper-plugin-utils" "^7.20.2" 1276 + "@babel/helper-plugin-utils" "^7.21.5" 1259 1277 "@babel/helper-validator-option" "^7.21.0" 1260 - "@babel/plugin-transform-typescript" "^7.21.0" 1278 + "@babel/plugin-syntax-jsx" "^7.21.4" 1279 + "@babel/plugin-transform-modules-commonjs" "^7.21.5" 1280 + "@babel/plugin-transform-typescript" "^7.21.3" 1261 1281 1262 1282 "@babel/register@^7.13.16": 1263 1283 version "7.21.0" ··· 1275 1295 resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" 1276 1296 integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== 1277 1297 1278 - "@babel/runtime@^7.0.0", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.6", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4": 1279 - version "7.21.0" 1280 - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" 1281 - integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== 1298 + "@babel/runtime@^7.0.0", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.6", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4": 1299 + version "7.21.5" 1300 + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.5.tgz#8492dddda9644ae3bda3b45eabe87382caee7200" 1301 + integrity sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q== 1282 1302 dependencies: 1283 1303 regenerator-runtime "^0.13.11" 1284 1304 ··· 1291 1311 "@babel/parser" "^7.20.7" 1292 1312 "@babel/types" "^7.20.7" 1293 1313 1294 - "@babel/traverse@^7.20.0", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.3", "@babel/traverse@^7.7.2", "@babel/traverse@^7.7.4": 1295 - version "7.21.3" 1296 - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.3.tgz#4747c5e7903d224be71f90788b06798331896f67" 1297 - integrity sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ== 1314 + "@babel/traverse@^7.20.0", "@babel/traverse@^7.20.1", "@babel/traverse@^7.20.5", "@babel/traverse@^7.21.5", "@babel/traverse@^7.7.2", "@babel/traverse@^7.7.4": 1315 + version "7.21.5" 1316 + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.5.tgz#ad22361d352a5154b498299d523cf72998a4b133" 1317 + integrity sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw== 1298 1318 dependencies: 1299 - "@babel/code-frame" "^7.18.6" 1300 - "@babel/generator" "^7.21.3" 1301 - "@babel/helper-environment-visitor" "^7.18.9" 1319 + "@babel/code-frame" "^7.21.4" 1320 + "@babel/generator" "^7.21.5" 1321 + "@babel/helper-environment-visitor" "^7.21.5" 1302 1322 "@babel/helper-function-name" "^7.21.0" 1303 1323 "@babel/helper-hoist-variables" "^7.18.6" 1304 1324 "@babel/helper-split-export-declaration" "^7.18.6" 1305 - "@babel/parser" "^7.21.3" 1306 - "@babel/types" "^7.21.3" 1325 + "@babel/parser" "^7.21.5" 1326 + "@babel/types" "^7.21.5" 1307 1327 debug "^4.1.0" 1308 1328 globals "^11.1.0" 1309 1329 1310 - "@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.3", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": 1311 - version "7.21.3" 1312 - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.3.tgz#4865a5357ce40f64e3400b0f3b737dc6d4f64d05" 1313 - integrity sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg== 1330 + "@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.4", "@babel/types@^7.21.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": 1331 + version "7.21.5" 1332 + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.5.tgz#18dfbd47c39d3904d5db3d3dc2cc80bedb60e5b6" 1333 + integrity sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q== 1314 1334 dependencies: 1315 - "@babel/helper-string-parser" "^7.19.4" 1335 + "@babel/helper-string-parser" "^7.21.5" 1316 1336 "@babel/helper-validator-identifier" "^7.19.1" 1317 1337 to-fast-properties "^2.0.0" 1318 1338 ··· 1330 1350 version "6.0.2" 1331 1351 resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz#6110f918d273fe2af8ea1c4398a88774bb9fc12f" 1332 1352 integrity sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg== 1353 + 1354 + "@cbor-extract/cbor-extract-darwin-arm64@2.1.1": 1355 + version "2.1.1" 1356 + resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.1.1.tgz#5721f6dd3feae0b96d23122853ce977e0671b7a6" 1357 + integrity sha512-blVBy5MXz6m36Vx0DfLd7PChOQKEs8lK2bD1WJn/vVgG4FXZiZmZb2GECHFvVPA5T7OnODd9xZiL3nMCv6QUhA== 1358 + 1359 + "@cbor-extract/cbor-extract-darwin-x64@2.1.1": 1360 + version "2.1.1" 1361 + resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.1.1.tgz#c25e7d0133950d87d101d7b3afafea8d50d83f5f" 1362 + integrity sha512-h6KFOzqk8jXTvkOftyRIWGrd7sKQzQv2jVdTL9nKSf3D2drCvQB/LHUxAOpPXo3pv2clDtKs3xnHalpEh3rDsw== 1363 + 1364 + "@cbor-extract/cbor-extract-linux-arm64@2.1.1": 1365 + version "2.1.1" 1366 + resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.1.1.tgz#48f78e7d8f0fcc84ed074b6bfa6d15dd83187c63" 1367 + integrity sha512-SxAaRcYf8S0QHaMc7gvRSiTSr7nUYMqbUdErBEu+HYA4Q6UNydx1VwFE68hGcp1qvxcy9yT5U7gA+a5XikfwSQ== 1368 + 1369 + "@cbor-extract/cbor-extract-linux-arm@2.1.1": 1370 + version "2.1.1" 1371 + resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.1.1.tgz#7507d346389cb682e44fab8fae9534edd52e2e41" 1372 + integrity sha512-ds0uikdcIGUjPyraV4oJqyVE5gl/qYBpa/Wnh6l6xLE2lj/hwnjT2XcZCChdXwW/YFZ1LUHs6waoYN8PmK0nKQ== 1373 + 1374 + "@cbor-extract/cbor-extract-linux-x64@2.1.1": 1375 + version "2.1.1" 1376 + resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.1.1.tgz#b7c1d2be61c58ec18d58afbad52411ded63cd4cd" 1377 + integrity sha512-GVK+8fNIE9lJQHAlhOROYiI0Yd4bAZ4u++C2ZjlkS3YmO6hi+FUxe6Dqm+OKWTcMpL/l71N6CQAmaRcb4zyJuA== 1378 + 1379 + "@cbor-extract/cbor-extract-win32-x64@2.1.1": 1380 + version "2.1.1" 1381 + resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.1.1.tgz#21b11a1a3f18c3e7d62fd5f87438b7ed2c64c1f7" 1382 + integrity sha512-2Niq1C41dCRIDeD8LddiH+mxGlO7HJ612Ll3D/E73ZWBmycued+8ghTr/Ho3CMOWPUEr08XtyBMVXAjqF+TcKw== 1333 1383 1334 1384 "@cspotcode/source-map-support@^0.8.0": 1335 1385 version "0.8.1" ··· 1445 1495 integrity sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g== 1446 1496 1447 1497 "@csstools/selector-specificity@^2.0.0", "@csstools/selector-specificity@^2.0.2": 1448 - version "2.1.1" 1449 - resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.1.1.tgz#c9c61d9fe5ca5ac664e1153bb0aa0eba1c6d6308" 1450 - integrity sha512-jwx+WCqszn53YHOfvFMJJRd/B2GqkCBt+1MJSG6o5/s8+ytHMvDZXsJgUEWLk12UnLd7HYKac4BYU5i/Ron1Cw== 1498 + version "2.2.0" 1499 + resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz#2cbcf822bf3764c9658c4d2e568bd0c0cb748016" 1500 + integrity sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw== 1501 + 1502 + "@did-plc/lib@*": 1503 + version "0.0.4" 1504 + resolved "https://registry.yarnpkg.com/@did-plc/lib/-/lib-0.0.4.tgz#be5400dc9464ec3088294bd089631e8a8aa98215" 1505 + integrity sha512-Omeawq3b8G/c/5CtkTtzovSOnWuvIuCI4GTJNrt1AmCskwEQV7zbX5d6km1mjJNbE0gHuQPTVqZxLVqetNbfwA== 1506 + dependencies: 1507 + "@atproto/common" "0.1.1" 1508 + "@atproto/crypto" "0.1.0" 1509 + "@ipld/dag-cbor" "^7.0.3" 1510 + axios "^1.3.4" 1511 + multiformats "^9.6.4" 1512 + uint8arrays "3.0.0" 1513 + zod "^3.14.2" 1451 1514 1452 - "@did-plc/lib@*", "@did-plc/lib@^0.0.1": 1515 + "@did-plc/lib@^0.0.1": 1453 1516 version "0.0.1" 1454 1517 resolved "https://registry.yarnpkg.com/@did-plc/lib/-/lib-0.0.1.tgz#5fd78c71901168ac05c5650af3a376c76461991c" 1455 1518 integrity sha512-RkY5w9DbYMco3SjeepqIiMveqz35exjlVDipCs2gz9AXF4/cp9hvmrp9zUWEw2vny+FjV8vGEN7QpaXWaO6nhg== ··· 1494 1557 "@types/hammerjs" "^2.0.36" 1495 1558 1496 1559 "@eslint-community/eslint-utils@^4.2.0": 1497 - version "4.3.0" 1498 - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.3.0.tgz#a556790523a351b4e47e9d385f47265eaaf9780a" 1499 - integrity sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA== 1560 + version "4.4.0" 1561 + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" 1562 + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== 1500 1563 dependencies: 1501 1564 eslint-visitor-keys "^3.3.0" 1502 1565 1503 1566 "@eslint-community/regexpp@^4.4.0": 1504 - version "4.4.0" 1505 - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.4.0.tgz#3e61c564fcd6b921cb789838631c5ee44df09403" 1506 - integrity sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ== 1567 + version "4.5.1" 1568 + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884" 1569 + integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== 1507 1570 1508 - "@eslint/eslintrc@^2.0.1": 1509 - version "2.0.1" 1510 - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.1.tgz#7888fe7ec8f21bc26d646dbd2c11cd776e21192d" 1511 - integrity sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw== 1571 + "@eslint/eslintrc@^2.0.2": 1572 + version "2.0.2" 1573 + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.2.tgz#01575e38707add677cf73ca1589abba8da899a02" 1574 + integrity sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ== 1512 1575 dependencies: 1513 1576 ajv "^6.12.4" 1514 1577 debug "^4.3.2" 1515 - espree "^9.5.0" 1578 + espree "^9.5.1" 1516 1579 globals "^13.19.0" 1517 1580 ignore "^5.2.0" 1518 1581 import-fresh "^3.2.1" ··· 1520 1583 minimatch "^3.1.2" 1521 1584 strip-json-comments "^3.1.1" 1522 1585 1523 - "@eslint/js@8.36.0": 1524 - version "8.36.0" 1525 - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.36.0.tgz#9837f768c03a1e4a30bd304a64fb8844f0e72efe" 1526 - integrity sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg== 1586 + "@eslint/js@8.39.0": 1587 + version "8.39.0" 1588 + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.39.0.tgz#58b536bcc843f4cd1e02a7e6171da5c040f4d44b" 1589 + integrity sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng== 1527 1590 1528 1591 "@expo/bunyan@4.0.0", "@expo/bunyan@^4.0.0": 1529 1592 version "4.0.0" ··· 1913 1976 integrity sha512-TI+l71+5aSKnShYclFa14Kum+hQMZ86b95SH6tQUG3qZEmLTarvWpKwqtTwQKqvlJSJrpFiSFu3eCuZokY6zWA== 1914 1977 1915 1978 "@expo/webpack-config@^18.0.1": 1916 - version "18.0.1" 1917 - resolved "https://registry.yarnpkg.com/@expo/webpack-config/-/webpack-config-18.0.1.tgz#e657ae4490052a9ada6bf703cfd721324a5be741" 1918 - integrity sha512-0C+wjmmQ0usySdhtzeRp0yYuf9zkUZ/kNgA6AHQ9N7eG4JIr0DM1c87g119smxcJTbd8N+//mv5znPxSJqBqmg== 1979 + version "18.0.4" 1980 + resolved "https://registry.yarnpkg.com/@expo/webpack-config/-/webpack-config-18.0.4.tgz#4743428a546c2affb7a551cfc01139b5973193ec" 1981 + integrity sha512-TfQSQCJ9o5MXat+y6cqTnix2adBA61fgYpotDXONxVB8aZ8xi81D/Wp3CBT6WnNeukEyKzQFCBqrX3BTfewyJQ== 1919 1982 dependencies: 1920 - "@babel/core" "^7.16.0" 1983 + "@babel/core" "^7.20.2" 1921 1984 "@expo/config" "6.0.20" 1922 - babel-loader "^8.2.3" 1985 + babel-loader "^8.3.0" 1923 1986 chalk "^4.0.0" 1924 1987 clean-webpack-plugin "^4.0.0" 1925 1988 copy-webpack-plugin "^10.2.0" ··· 1951 2014 find-up "^5.0.0" 1952 2015 js-yaml "^4.1.0" 1953 2016 1954 - "@fortawesome/fontawesome-common-types@6.3.0": 1955 - version "6.3.0" 1956 - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.3.0.tgz#51f734e64511dbc3674cd347044d02f4dd26e86b" 1957 - integrity sha512-4BC1NMoacEBzSXRwKjZ/X/gmnbp/HU5Qqat7E8xqorUtBFZS+bwfGH5/wqOC2K6GV0rgEobp3OjGRMa5fK9pFg== 2017 + "@fortawesome/fontawesome-common-types@6.4.0": 2018 + version "6.4.0" 2019 + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.0.tgz#88da2b70d6ca18aaa6ed3687832e11f39e80624b" 2020 + integrity sha512-HNii132xfomg5QVZw0HwXXpN22s7VBHQBv9CeOu9tfJnhsWQNd2lmTNi8CSrnw5B+5YOmzu1UoPAyxaXsJ6RgQ== 1958 2021 1959 2022 "@fortawesome/fontawesome-svg-core@^6.1.1": 1960 - version "6.3.0" 1961 - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.3.0.tgz#b6a17d48d231ac1fad93e43fca7271676bf316cf" 1962 - integrity sha512-uz9YifyKlixV6AcKlOX8WNdtF7l6nakGyLYxYaCa823bEBqyj/U2ssqtctO38itNEwXb8/lMzjdoJ+aaJuOdrw== 2023 + version "6.4.0" 2024 + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.0.tgz#3727552eff9179506e9203d72feb5b1063c11a21" 2025 + integrity sha512-Bertv8xOiVELz5raB2FlXDPKt+m94MQ3JgDfsVbrqNpLU9+UE2E18GKjLKw+d3XbeYPqg1pzyQKGsrzbw+pPaw== 1963 2026 dependencies: 1964 - "@fortawesome/fontawesome-common-types" "6.3.0" 2027 + "@fortawesome/fontawesome-common-types" "6.4.0" 1965 2028 1966 2029 "@fortawesome/free-regular-svg-icons@^6.1.1": 1967 - version "6.3.0" 1968 - resolved "https://registry.yarnpkg.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.3.0.tgz#286f87f777e6c96af59151e86647c81083029ee2" 1969 - integrity sha512-cZnwiVHZ51SVzWHOaNCIA+u9wevZjCuAGSvSYpNlm6A4H4Vhwh8481Bf/5rwheIC3fFKlgXxLKaw8Xeroz8Ntg== 2030 + version "6.4.0" 2031 + resolved "https://registry.yarnpkg.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.4.0.tgz#cacc53bd8d832d46feead412d9ea9ce80a55e13a" 2032 + integrity sha512-ZfycI7D0KWPZtf7wtMFnQxs8qjBXArRzczABuMQqecA/nXohquJ5J/RCR77PmY5qGWkxAZDxpnUFVXKwtY/jPw== 1970 2033 dependencies: 1971 - "@fortawesome/fontawesome-common-types" "6.3.0" 2034 + "@fortawesome/fontawesome-common-types" "6.4.0" 1972 2035 1973 2036 "@fortawesome/free-solid-svg-icons@^6.1.1": 1974 - version "6.3.0" 1975 - resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.3.0.tgz#d3bd33ae18bb15fdfc3ca136e2fea05f32768a65" 1976 - integrity sha512-x5tMwzF2lTH8pyv8yeZRodItP2IVlzzmBuD1M7BjawWgg9XAvktqJJ91Qjgoaf8qJpHQ8FEU9VxRfOkLhh86QA== 2037 + version "6.4.0" 2038 + resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.0.tgz#48c0e790847fa56299e2f26b82b39663b8ad7119" 2039 + integrity sha512-kutPeRGWm8V5dltFP1zGjQOEAzaLZj4StdQhWVZnfGFCvAPVvHh8qk5bRrU4KXnRRRNni5tKQI9PBAdI6MP8nQ== 1977 2040 dependencies: 1978 - "@fortawesome/fontawesome-common-types" "6.3.0" 2041 + "@fortawesome/fontawesome-common-types" "6.4.0" 1979 2042 1980 2043 "@fortawesome/react-native-fontawesome@^0.3.0": 1981 2044 version "0.3.0" ··· 1991 2054 integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== 1992 2055 1993 2056 "@gorhom/bottom-sheet@^4": 1994 - version "4.4.5" 1995 - resolved "https://registry.yarnpkg.com/@gorhom/bottom-sheet/-/bottom-sheet-4.4.5.tgz#b9041b01ce1af9a936e7c0fc1d78f026d759eebe" 1996 - integrity sha512-Z5Z20wshLUB8lIdtMKoJaRnjd64wBR/q8EeVPThrg+skrcBwBPHfUwZJ2srB0rEszA/01ejSJy/ixyd7Ra7vUA== 2057 + version "4.4.6" 2058 + resolved "https://registry.yarnpkg.com/@gorhom/bottom-sheet/-/bottom-sheet-4.4.6.tgz#49fa6728f10133de772baaeb67ebe0f63125cf80" 2059 + integrity sha512-okqJPtFQjfqPZdh6wGDzQKkMevG1IfplQeoWY0VqOFCp3E0p7WHNeW41voK7KXXCVTQaGXibPfd9GNGjXgFNyg== 1997 2060 dependencies: 1998 2061 "@gorhom/portal" "1.0.14" 1999 2062 invariant "^2.2.4" ··· 2006 2069 nanoid "^3.3.1" 2007 2070 2008 2071 "@graphql-typed-document-node/core@^3.1.0": 2009 - version "3.1.2" 2010 - resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.1.2.tgz#6fc464307cbe3c8ca5064549b806360d84457b04" 2011 - integrity sha512-9anpBMM9mEgZN4wr2v8wHJI2/u5TnnggewRN6OlvXTTnuVyoY19X6rOv9XTqKRw6dcGKwZsBi8n0kDE2I5i4VA== 2072 + version "3.2.0" 2073 + resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" 2074 + integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== 2012 2075 2013 2076 "@hapi/hoek@^9.0.0": 2014 2077 version "9.3.0" ··· 2494 2557 "@types/yargs" "^17.0.8" 2495 2558 chalk "^4.0.0" 2496 2559 2497 - "@jridgewell/gen-mapping@^0.1.0": 2498 - version "0.1.1" 2499 - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" 2500 - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== 2501 - dependencies: 2502 - "@jridgewell/set-array" "^1.0.0" 2503 - "@jridgewell/sourcemap-codec" "^1.4.10" 2504 - 2505 2560 "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": 2506 - version "0.3.2" 2507 - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" 2508 - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 2561 + version "0.3.3" 2562 + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" 2563 + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== 2509 2564 dependencies: 2510 2565 "@jridgewell/set-array" "^1.0.1" 2511 2566 "@jridgewell/sourcemap-codec" "^1.4.10" 2512 2567 "@jridgewell/trace-mapping" "^0.3.9" 2513 2568 2514 - "@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3": 2569 + "@jridgewell/resolve-uri@3.1.0": 2515 2570 version "3.1.0" 2516 2571 resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 2517 2572 integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 2518 2573 2519 - "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": 2574 + "@jridgewell/resolve-uri@^3.0.3": 2575 + version "3.1.1" 2576 + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" 2577 + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== 2578 + 2579 + "@jridgewell/set-array@^1.0.1": 2520 2580 version "1.1.2" 2521 2581 resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 2522 2582 integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 2523 2583 2524 2584 "@jridgewell/source-map@^0.3.2": 2525 - version "0.3.2" 2526 - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" 2527 - integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== 2585 + version "0.3.3" 2586 + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.3.tgz#8108265659d4c33e72ffe14e33d6cc5eb59f2fda" 2587 + integrity sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg== 2528 2588 dependencies: 2529 2589 "@jridgewell/gen-mapping" "^0.3.0" 2530 2590 "@jridgewell/trace-mapping" "^0.3.9" 2531 2591 2532 - "@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": 2592 + "@jridgewell/sourcemap-codec@1.4.14": 2533 2593 version "1.4.14" 2534 2594 resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 2535 2595 integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 2536 2596 2597 + "@jridgewell/sourcemap-codec@^1.4.10": 2598 + version "1.4.15" 2599 + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" 2600 + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== 2601 + 2537 2602 "@jridgewell/trace-mapping@0.3.9": 2538 2603 version "0.3.9" 2539 2604 resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" ··· 2543 2608 "@jridgewell/sourcemap-codec" "^1.4.10" 2544 2609 2545 2610 "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": 2546 - version "0.3.17" 2547 - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" 2548 - integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== 2611 + version "0.3.18" 2612 + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" 2613 + integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== 2549 2614 dependencies: 2550 2615 "@jridgewell/resolve-uri" "3.1.0" 2551 2616 "@jridgewell/sourcemap-codec" "1.4.14" ··· 2562 2627 resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" 2563 2628 integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== 2564 2629 2565 - "@linaria/core@3.0.0-beta.13": 2566 - version "3.0.0-beta.13" 2567 - resolved "https://registry.yarnpkg.com/@linaria/core/-/core-3.0.0-beta.13.tgz#049c5be5faa67e341e413a0f6b641d5d78d91056" 2568 - integrity sha512-3zEi5plBCOsEzUneRVuQb+2SAx3qaC1dj0FfFAI6zIJQoDWu0dlSwKijMRack7oO9tUWrchfj3OkKQAd1LBdVg== 2630 + "@linaria/core@4.2.9": 2631 + version "4.2.9" 2632 + resolved "https://registry.yarnpkg.com/@linaria/core/-/core-4.2.9.tgz#4917bde18d064a29cff4fd86aa99621f953a2a2c" 2633 + integrity sha512-ELcu37VNVOT/PU0L6WDIN+aLzNFyJrqoBYT0CucGOCAmODbojUMCv8oJYRbWzA3N34w1t199dN4UFdfRWFG2rg== 2634 + dependencies: 2635 + "@linaria/logger" "^4.0.0" 2636 + "@linaria/tags" "^4.3.4" 2637 + "@linaria/utils" "^4.3.3" 2638 + 2639 + "@linaria/logger@^4.0.0": 2640 + version "4.0.0" 2641 + resolved "https://registry.yarnpkg.com/@linaria/logger/-/logger-4.0.0.tgz#6f73eb3cc11d548967a7caf2e7997439e46fca0d" 2642 + integrity sha512-YnBq0JlDWMEkTOK+tMo5yEVR0f5V//6qMLToGcLhTyM9g9i+IDFn51Z+5q2hLk7RdG4NBPgbcCXYi2w4RKsPeg== 2643 + dependencies: 2644 + debug "^4.1.1" 2645 + picocolors "^1.0.0" 2646 + 2647 + "@linaria/tags@^4.3.4": 2648 + version "4.3.4" 2649 + resolved "https://registry.yarnpkg.com/@linaria/tags/-/tags-4.3.4.tgz#3c98108e4b48b8413662b4c62c2b2abdebacaca4" 2650 + integrity sha512-W8zaLKtC4YFCwkZ9DMu2enCiD/zGyYmFSTzEvJP7ZycdftMizoOrWNOyF9kITyjGdq+jZvAXJz0BZDT6axgIRg== 2651 + dependencies: 2652 + "@babel/generator" "^7.20.4" 2653 + "@linaria/logger" "^4.0.0" 2654 + "@linaria/utils" "^4.3.3" 2655 + 2656 + "@linaria/utils@^4.3.3": 2657 + version "4.3.3" 2658 + resolved "https://registry.yarnpkg.com/@linaria/utils/-/utils-4.3.3.tgz#9f66ae41187e8a2f2cc3471b44935128ebd1dab3" 2659 + integrity sha512-xSe/tod9A44aIMbtds9fWLNe2TT080lLdRSaoqX+UHsBWqClkrw5cXEt3lm8Vr4hZiXT2r/1AldjuHb9YbUlMg== 2660 + dependencies: 2661 + "@babel/core" "^7.20.2" 2662 + "@babel/plugin-proposal-export-namespace-from" "^7.18.9" 2663 + "@babel/plugin-syntax-dynamic-import" "^7.8.3" 2664 + "@babel/plugin-transform-modules-commonjs" "^7.19.6" 2665 + "@babel/traverse" "^7.20.1" 2666 + "@babel/types" "^7.20.2" 2667 + "@linaria/logger" "^4.0.0" 2668 + babel-merge "^3.0.0" 2569 2669 2570 2670 "@lukeed/csprng@^1.1.0": 2571 2671 version "1.1.0" ··· 2625 2725 fastq "^1.6.0" 2626 2726 2627 2727 "@notifee/react-native@^7.4.0": 2628 - version "7.6.1" 2629 - resolved "https://registry.yarnpkg.com/@notifee/react-native/-/react-native-7.6.1.tgz#e215428787396ec57ea424106cc88666f7efe70d" 2630 - integrity sha512-OjhLPODh6FICYZmF9/0UZbcl2JPaPpcrWi1Cvs/OLFbPSJTIEwPZgXFrCHv/cA3wUX4YQCXreSqQGSVQgvNItQ== 2728 + version "7.7.1" 2729 + resolved "https://registry.yarnpkg.com/@notifee/react-native/-/react-native-7.7.1.tgz#ce3f982fb7354519406cb7716f8e861bab0056ce" 2730 + integrity sha512-E+W91ulI4dxdIrhK6YCyjWqXgrUsVNZYYCSn3gDADmveuR2Yd2uGvbbSW2vUIFU4N4gQQT/5HJdk9Jk83KHbVA== 2631 2731 2632 2732 "@npmcli/fs@^1.0.0": 2633 2733 version "1.1.1" ··· 2661 2761 source-map "^0.7.3" 2662 2762 2663 2763 "@popperjs/core@^2.9.0": 2664 - version "2.11.6" 2665 - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45" 2666 - integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== 2764 + version "2.11.7" 2765 + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.7.tgz#ccab5c8f7dc557a52ca3288c10075c9ccd37fff7" 2766 + integrity sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw== 2667 2767 2668 2768 "@react-native-async-storage/async-storage@^1.15.15", "@react-native-async-storage/async-storage@^1.17.6": 2669 - version "1.17.12" 2670 - resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.17.12.tgz#a39e4df5b06795ce49b2ca5b7ca9b8faadf8e621" 2671 - integrity sha512-BXg4OxFdjPTRt+8MvN6jz4muq0/2zII3s7HeT/11e4Zeh3WCgk/BleLzUcDfVqF3OzFHUqEkSrb76d6Ndjd/Nw== 2769 + version "1.18.1" 2770 + resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.18.1.tgz#b1aea4f07fb1dba3325b857b770671517ddab221" 2771 + integrity sha512-70aFW8fVCKl+oA1AKPFDpE6s4t9pulj2QeLX+MabEmzfT3urd/3cckv45WJvtocdoIH/oXA3Y+YcCRJCcNa8mA== 2672 2772 dependencies: 2673 2773 merge-options "^3.0.4" 2674 2774 2675 2775 "@react-native-camera-roll/camera-roll@^5.2.2": 2676 - version "5.3.1" 2677 - resolved "https://registry.yarnpkg.com/@react-native-camera-roll/camera-roll/-/camera-roll-5.3.1.tgz#0b6d363c0f6c83fc93ff033826f8fa96274a01a7" 2678 - integrity sha512-2XKMkb/pLBC6vYkNh+bJ4UEj49V2ZSyWFHmaxsUJU9beLo1QbM3XJnySV6F1uv7aC+I2RBlDuAusCqNiTQiCOw== 2776 + version "5.4.0" 2777 + resolved "https://registry.yarnpkg.com/@react-native-camera-roll/camera-roll/-/camera-roll-5.4.0.tgz#f9dfb2fb37f6f88b70801e727282dd9157bf62be" 2778 + integrity sha512-SMEhc+2hQWubwzxR6Zac0CmrJ2rdoHHBo0ibG2iNMsxR0dnU5AdRGnYF/tyK9i20/i7ZNxn+qsEJ69shpkd6gg== 2679 2779 2680 2780 "@react-native-clipboard/clipboard@^1.10.0": 2681 2781 version "1.11.2" ··· 2683 2783 integrity sha512-bHyZVW62TuleiZsXNHS1Pv16fWc0fh8O9WvBzl4h2fykqZRW9a+Pv/RGTH56E3X2PqzHP38K5go8zmCZUoIsoQ== 2684 2784 2685 2785 "@react-native-community/blur@^4.3.0": 2686 - version "4.3.0" 2687 - resolved "https://registry.yarnpkg.com/@react-native-community/blur/-/blur-4.3.0.tgz#e5018b3b0bd6de9632ac6cf34e9f8e0f1a9a28ec" 2688 - integrity sha512-d6phh39kKcbZ4IluDftiVWqfeFOgjl1AbQWzN47x+hLKQ5GvQJ6QhRvgAuDZ+xbJksrbXgNpMjVYkjsbcVehxg== 2786 + version "4.3.1" 2787 + resolved "https://registry.yarnpkg.com/@react-native-community/blur/-/blur-4.3.1.tgz#817a9b9762f738e578a2cd5306902f4510a6df34" 2788 + integrity sha512-XVjTKs+nSXG7DCmxIr7HSjeAB276OO9KZ7XUVCdjK+RGTlvlCRZIPV0ygi+WN87zsdvfWsQOTZv3k0/BI86gsA== 2689 2789 2690 2790 "@react-native-community/cli-clean@^10.1.1": 2691 2791 version "10.1.1" ··· 2948 3048 dependencies: 2949 3049 nanoid "^3.1.23" 2950 3050 2951 - "@remirror/core-constants@^2.0.0": 2952 - version "2.0.0" 2953 - resolved "https://registry.yarnpkg.com/@remirror/core-constants/-/core-constants-2.0.0.tgz#a52f89059d93955e00810023cc76b4f7db9650bf" 2954 - integrity sha512-vpePPMecHJllBqCWXl6+FIcZqS+tRUM2kSCCKFeEo1H3XUEv3ocijBIPhnlSAa7g6maX+12ATTgxrOsLpWVr2g== 3051 + "@remirror/core-constants@^2.0.1": 3052 + version "2.0.1" 3053 + resolved "https://registry.yarnpkg.com/@remirror/core-constants/-/core-constants-2.0.1.tgz#19b4ae221880762cd98452f44288fcc66baaec0f" 3054 + integrity sha512-ZR4aihtnnT9lMbhh5DEbsriJRlukRXmLZe7HmM+6ufJNNUDoazc75UX26xbgQlNUqgAqMcUdGFAnPc1JwgAdLQ== 2955 3055 dependencies: 2956 - "@babel/runtime" "^7.13.10" 3056 + "@babel/runtime" "^7.21.0" 2957 3057 2958 - "@remirror/core-helpers@^2.0.1": 2959 - version "2.0.1" 2960 - resolved "https://registry.yarnpkg.com/@remirror/core-helpers/-/core-helpers-2.0.1.tgz#6847666a009ada8c9b9f3a093c13a6d07a95d9bb" 2961 - integrity sha512-s8M1pn33aBUhduvD1QR02uUQMegnFkGaTr4c1iBzxTTyg0rbQstzuQ7Q8TkL6n64JtgCdJS9jLz2dONb2meBKQ== 3058 + "@remirror/core-helpers@^2.0.2": 3059 + version "2.0.3" 3060 + resolved "https://registry.yarnpkg.com/@remirror/core-helpers/-/core-helpers-2.0.3.tgz#fa4a0224a612016b9f16052ed0c5d817c69daa39" 3061 + integrity sha512-LqIPF4stGG69l9qu/FFicv9d9B+YaItzgDMC5A0CEvDQfKkGD3BfabLmfpnuWbsc06oKGdTduilgWcALLZoYLg== 2962 3062 dependencies: 2963 - "@babel/runtime" "^7.13.10" 2964 - "@linaria/core" "3.0.0-beta.13" 2965 - "@remirror/core-constants" "^2.0.0" 2966 - "@remirror/types" "^1.0.0" 3063 + "@babel/runtime" "^7.21.0" 3064 + "@linaria/core" "4.2.9" 3065 + "@remirror/core-constants" "^2.0.1" 3066 + "@remirror/types" "^1.0.1" 2967 3067 "@types/object.omit" "^3.0.0" 2968 - "@types/object.pick" "^1.3.1" 3068 + "@types/object.pick" "^1.3.2" 2969 3069 "@types/throttle-debounce" "^2.1.0" 2970 3070 case-anything "^2.1.10" 2971 3071 dash-get "^1.0.2" 2972 - deepmerge "^4.2.2" 3072 + deepmerge "^4.3.1" 2973 3073 fast-deep-equal "^3.1.3" 2974 3074 make-error "^1.3.6" 2975 3075 object.omit "^3.0.0" 2976 3076 object.pick "^1.3.0" 2977 3077 throttle-debounce "^3.0.1" 2978 3078 2979 - "@remirror/types@^1.0.0": 2980 - version "1.0.0" 2981 - resolved "https://registry.yarnpkg.com/@remirror/types/-/types-1.0.0.tgz#cc8764440089a2ada71f149c409739575b73b12e" 2982 - integrity sha512-7HQbW7k8VxrAtfzs9FxwO6XSDabn8tSFDi1wwzShOnU+cvaYpfxu0ygyTk3TpXsag1hgFKY3ZIlAfB4WVz2LkQ== 3079 + "@remirror/types@^1.0.1": 3080 + version "1.0.1" 3081 + resolved "https://registry.yarnpkg.com/@remirror/types/-/types-1.0.1.tgz#768502497a0fbbc23338a1586b893f729310cf70" 3082 + integrity sha512-VlZQxwGnt1jtQ18D6JqdIF+uFZo525WEqrfp9BOc3COPpK4+AWCgdnAWL+ho6imWcoINlGjR/+3b6y5C1vBVEA== 2983 3083 dependencies: 2984 - type-fest "^2.0.0" 3084 + type-fest "^2.19.0" 2985 3085 2986 3086 "@rollup/plugin-babel@^5.2.0": 2987 3087 version "5.3.1" ··· 3025 3125 resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728" 3026 3126 integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg== 3027 3127 3028 - "@segment/analytics-core@1.2.3": 3029 - version "1.2.3" 3030 - resolved "https://registry.yarnpkg.com/@segment/analytics-core/-/analytics-core-1.2.3.tgz#729c5b72d6d940341ea8cba9d3ff3eef39baef7a" 3031 - integrity sha512-/B4f4Hxmwd9WpEba/ChYkUwhILz5cPhG4Sto03IlLc8vbV7gAOCGH021EKvU3Wv70WlRK6EgJkuDLPnRl2a2aA== 3128 + "@segment/analytics-core@1.2.4": 3129 + version "1.2.4" 3130 + resolved "https://registry.yarnpkg.com/@segment/analytics-core/-/analytics-core-1.2.4.tgz#a01f0c87246292e0b9790e12c73d2f7e5fceb168" 3131 + integrity sha512-M16osD6+z/bQPSVCZdlU+BAhCk968ppi+SGxU2gVa4B196Qr8SEkBPr3NxUCGTSoULo4/T+k8Ea5cF+pXlgf6Q== 3032 3132 dependencies: 3033 3133 "@lukeed/uuid" "^2.0.0" 3034 3134 dset "^3.1.2" 3035 3135 tslib "^2.4.1" 3036 3136 3037 3137 "@segment/analytics-next@^1.51.3": 3038 - version "1.51.3" 3039 - resolved "https://registry.yarnpkg.com/@segment/analytics-next/-/analytics-next-1.51.3.tgz#4720691d2bac43bb8390d4a7a15881e52dc9529f" 3040 - integrity sha512-c22GDz6rrhliIsgtLQjEcRiZdqb70+0hEyfTI6YpRXZzEXBwdJybO5ZCD7NRlVFHf/qXp1qcjHuQ5xyOGr2lJg== 3138 + version "1.51.6" 3139 + resolved "https://registry.yarnpkg.com/@segment/analytics-next/-/analytics-next-1.51.6.tgz#56c99782fc333025906dbf8f5efd9b7f9f87c197" 3140 + integrity sha512-SiuuCHLq2sWM3fwF0peQ9J9Ku+FAbsx5XsGl9pL4rfHoaItlQuBETxkmT3BD2YltFxhr4FCQ5+phdT0/X5QUFA== 3041 3141 dependencies: 3042 3142 "@lukeed/uuid" "^2.0.0" 3043 - "@segment/analytics-core" "1.2.3" 3143 + "@segment/analytics-core" "1.2.4" 3044 3144 "@segment/analytics.js-video-plugins" "^0.2.1" 3045 3145 "@segment/facade" "^3.4.9" 3046 3146 "@segment/tsub" "1.0.1" ··· 3052 3152 unfetch "^4.1.0" 3053 3153 3054 3154 "@segment/analytics-react-native@^2.10.1": 3055 - version "2.13.4" 3056 - resolved "https://registry.yarnpkg.com/@segment/analytics-react-native/-/analytics-react-native-2.13.4.tgz#52216972bf0a1f8722ddf18088340c9d4d90ca5a" 3057 - integrity sha512-47z2TmODJpeA7Pf1P8kE5dNTiqmxJ7khQ/NgiFR3eoiSy/ir0QOpT49QFrwVMeG35fEl+wDGLXUoYWoAMvBy6w== 3155 + version "2.13.5" 3156 + resolved "https://registry.yarnpkg.com/@segment/analytics-react-native/-/analytics-react-native-2.13.5.tgz#e8373d1584812afbe39e9fb935b83655d15ce750" 3157 + integrity sha512-uWezHOghP3yf3tgEfpe2OxP/54l9SM7+YNwkrFhumhoe4cw4xTptlFi6zU4p8lRdmmoJQgQ+/rh3AUP/i4yFTA== 3058 3158 dependencies: 3059 3159 "@segment/sovran-react-native" "^1" 3060 3160 deepmerge "^4.2.2" ··· 3116 3216 shell-quote "1.7.3" 3117 3217 3118 3218 "@segment/sovran-react-native@^1": 3119 - version "1.0.1" 3120 - resolved "https://registry.yarnpkg.com/@segment/sovran-react-native/-/sovran-react-native-1.0.1.tgz#4311f0af2e2b606d2c17e535b293c096c6a3c2e8" 3121 - integrity sha512-7VZrIa7/VP59d4QDvAs0ZOhiadlJ+2YC8K8dKOF0fGwiFC0UmQUZVs4IN9GZfbBavXsagVVMgL2GzjVGLLQdBw== 3219 + version "1.0.2" 3220 + resolved "https://registry.yarnpkg.com/@segment/sovran-react-native/-/sovran-react-native-1.0.2.tgz#b9b260368d95546b8dfd028970ba01756e63f20c" 3221 + integrity sha512-2zr37YDWD9vdBHvsTTP2yXJ6qtNH1gAvocHFkzZBQ9E4YcO3FbbvO4gUoscHqYfRyo/+kUovysRKtUsXCcrm/Q== 3122 3222 dependencies: 3123 3223 ansi-regex "5.0.1" 3124 3224 deepmerge "^4.2.2" 3125 - shell-quote "1.7.3" 3225 + shell-quote "1.8.0" 3126 3226 3127 3227 "@segment/tsub@1.0.1": 3128 3228 version "1.0.1" ··· 3159 3259 which "^2.0.2" 3160 3260 3161 3261 "@sentry/cli@^1.72.0": 3162 - version "1.75.0" 3163 - resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.75.0.tgz#4a5e71b5619cd4e9e6238cc77857c66f6b38d86a" 3164 - integrity sha512-vT8NurHy00GcN8dNqur4CMIYvFH3PaKdkX3qllVvi4syybKqjwoz+aWRCvprbYv0knweneFkLt1SmBWqazUMfA== 3262 + version "1.75.2" 3263 + resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.75.2.tgz#2c38647b38300e52c9839612d42b7c23f8d6455b" 3264 + integrity sha512-CG0CKH4VCKWzEaegouWfCLQt9SFN+AieFESCatJ7zSuJmzF05ywpMusjxqRul6lMwfUhRKjGKOzcRJ1jLsfTBw== 3165 3265 dependencies: 3166 3266 https-proxy-agent "^5.0.0" 3167 3267 mkdirp "^0.5.5" ··· 4310 4410 pretty-format "^29.0.0" 4311 4411 4312 4412 "@tiptap/core@^2.0.0-beta.220": 4313 - version "2.0.0-beta.220" 4314 - resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.0.0-beta.220.tgz#ced4b8f13ad6361f957275510bd0c005de29d18c" 4315 - integrity sha512-F2Q666xJqijBU5o+GqekqseNgIEMTs6BhsLDaf9DwThhljGLS8RXKnSvQxrxLNrYEPpw39n/G3Qt8YAOk5qR6w== 4413 + version "2.0.3" 4414 + resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.0.3.tgz#dfd55124b3e7b0482e5ccb8be46eb9c3189167e2" 4415 + integrity sha512-jLyVIWAdjjlNzrsRhSE2lVL/7N8228/1R1QtaVU85UlMIwHFAcdzhD8FeiKkqxpTnGpaDVaTy7VNEtEgaYdCyA== 4316 4416 4317 - "@tiptap/extension-bubble-menu@^2.0.0-beta.220": 4318 - version "2.0.0-beta.220" 4319 - resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.0-beta.220.tgz#3fea0c846f73a237f562fdce05671ef1fa025943" 4320 - integrity sha512-wthyec7s0vZlTSEAAZEgoFfx/1Arwg1zxDUrrE+YAost/Yn+w4xQksz/ts5Bx90iOk2qsJ+jzzttLRV17Ku7lA== 4417 + "@tiptap/extension-bubble-menu@^2.0.3": 4418 + version "2.0.3" 4419 + resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.3.tgz#44b3c4e35fd478c42467d8fb7dbc9532614e5b18" 4420 + integrity sha512-lPt1ELrYCuoQrQEUukqjp9xt38EwgPUwaKHI3wwt2Rbv+C6q1gmRsK1yeO/KqCNmFxNqF2p9ZF9srOnug/RZDQ== 4321 4421 dependencies: 4322 - lodash "^4.17.21" 4323 4422 tippy.js "^6.3.7" 4324 4423 4325 4424 "@tiptap/extension-document@^2.0.0-beta.220": 4326 - version "2.0.0-beta.220" 4327 - resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.0.0-beta.220.tgz#15b4db7a92659eff7efc6d4d877dcf72e3fd61b6" 4328 - integrity sha512-2sja4ZvOb4iynHrzinnclCSFgLyo6fJc1fBV5fIYaOgZOYcvz9KK8fgKiq+wIpG58sJEmQ5kcwwBlkXv+NTK+g== 4425 + version "2.0.3" 4426 + resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.0.3.tgz#b58af5b4f71c0acea953a7ebe8b1d24341bfaf68" 4427 + integrity sha512-PsYeNQQBYIU9ayz1R11Kv/kKNPFNIV8tApJ9pxelXjzcAhkjncNUazPN/dyho60mzo+WpsmS3ceTj/gK3bCtWA== 4329 4428 4330 - "@tiptap/extension-floating-menu@^2.0.0-beta.220": 4331 - version "2.0.0-beta.220" 4332 - resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.0-beta.220.tgz#35eb154227533ada738c922be2f8cf18426fe4bf" 4333 - integrity sha512-+WfcBEedm82ntaVIEQAGz0Om96Rpav7a+4f7e8N4PrLKm6nZ3gBaEkZVQ6vjJ6S/1htiWCv1XosYIwRboPBG0w== 4429 + "@tiptap/extension-floating-menu@^2.0.3": 4430 + version "2.0.3" 4431 + resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.3.tgz#8d9943246aa3247442c1993f235617094fe705b5" 4432 + integrity sha512-zN1vRGRvyK3pO2aHRmQSOTpl4UJraXYwKYM009n6WviYKUNm0LPGo+VD4OAtdzUhPXyccnlsTv2p6LIqFty6Bg== 4334 4433 dependencies: 4335 4434 tippy.js "^6.3.7" 4336 4435 ··· 4340 4439 integrity sha512-00KHIcJ8kivn2ARI6NQYphv2LfllVCXViHGm0EhzDW6NQxCrriJKE3tKDcTFCu7LlC5doMpq9Z6KXdljc4oVeQ== 4341 4440 4342 4441 "@tiptap/extension-link@^2.0.0-beta.220": 4343 - version "2.0.0-beta.220" 4344 - resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.0.0-beta.220.tgz#c9954613cd1e0a0f1527853b732ef50dff734eac" 4345 - integrity sha512-vjEA8cE37ZZVVgPHSpttw3kbJoClb+ya/BVukDtJ1h6C7mIR1rqzNxTgpbnXJuA8xww0JOjpa5dpzEgcs294fA== 4442 + version "2.0.3" 4443 + resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.0.3.tgz#4714a4c23d04032e75b5b8364a9c532f7a385aba" 4444 + integrity sha512-H72tXQ5rkVCkAhFaf08fbEU7EBUCK0uocsqOF+4th9sOlrhfgyJtc8Jv5EXPDpxNgG5jixSqWBo0zKXQm9s9eg== 4346 4445 dependencies: 4347 4446 linkifyjs "^4.1.0" 4348 4447 4349 4448 "@tiptap/extension-mention@^2.0.0-beta.220": 4350 - version "2.0.0-beta.220" 4351 - resolved "https://registry.yarnpkg.com/@tiptap/extension-mention/-/extension-mention-2.0.0-beta.220.tgz#c3745895096157b09412bd49544f4ae741e8d0da" 4352 - integrity sha512-mjFNBuLxLaZ48CaIp/AdyHB2X1UKptpv6NVG0JaP2vBxW22eUy709JmCbRnWjeYe8pHbJjW22WC4/M1C44SFWg== 4449 + version "2.0.3" 4450 + resolved "https://registry.yarnpkg.com/@tiptap/extension-mention/-/extension-mention-2.0.3.tgz#7ef0968c31543b806e431982ca697161439410ce" 4451 + integrity sha512-mT+tMJyf15gN3kW7UfZrP+J0jlhlBnR50SHj0PnDWqGnJ70qKSZTxcHfohrxU6On6yaOFsd+5Omn5seGK4XFWA== 4353 4452 4354 4453 "@tiptap/extension-paragraph@^2.0.0-beta.220": 4355 - version "2.0.0-beta.220" 4356 - resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.0.0-beta.220.tgz#d552dfdeeab9856e9eb8f0a7cf850f37d7cced69" 4357 - integrity sha512-ZGCzNGFYV4wa3l1nXtDIaYp7O6f0DrGTSl3alKkDTQe3SOmzXS2HjgWl9yPw8VXpU9W5mMGhXd+nGn/jUk+f/A== 4454 + version "2.0.3" 4455 + resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.0.3.tgz#88d332158c70622d36849256f90e43ca4d226dfe" 4456 + integrity sha512-a+tKtmj4bU3GVCH1NE8VHWnhVexxX5boTVxsHIr4yGG3UoKo1c5AO7YMaeX2W5xB5iIA+BQqOPCDPEAx34dd2A== 4358 4457 4359 4458 "@tiptap/extension-placeholder@^2.0.0-beta.220": 4360 - version "2.0.0-beta.220" 4361 - resolved "https://registry.yarnpkg.com/@tiptap/extension-placeholder/-/extension-placeholder-2.0.0-beta.220.tgz#1d6057e5ae950d9a1ed43c03d26df60c08368f87" 4362 - integrity sha512-Pq79BH/JqhjTNgxHkmbzcmwATsSJdRRSLHrnLx5upSmwEkQwCzqni9jL10rL2NM1ZyR+o25xC+r5loujx0aQ+Q== 4459 + version "2.0.3" 4460 + resolved "https://registry.yarnpkg.com/@tiptap/extension-placeholder/-/extension-placeholder-2.0.3.tgz#69575353f09fc7524c9cdbfbf16c04f73c29d154" 4461 + integrity sha512-Z42jo0termRAf0S0L8oxrts94IWX5waU4isS2CUw8xCUigYyCFslkhQXkWATO1qRbjNFLKN2C9qvCgGf4UeBrw== 4363 4462 4364 4463 "@tiptap/extension-text@^2.0.0-beta.220": 4365 - version "2.0.0-beta.220" 4366 - resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.0.0-beta.220.tgz#3f51d4aac11c16d79cf8ca22502898b67f5bc2f5" 4367 - integrity sha512-3tnffc2YMjNyv7Lbad6fx9wYDE/Buz8vhx76M2AOSrjYbzmTJf7mLkgdlPM0VTy7FGZD5CGgHJAgYNt5HIqPkQ== 4464 + version "2.0.3" 4465 + resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.0.3.tgz#12b6400a31ac6d35cbaf1822600f4c425457902f" 4466 + integrity sha512-LvzChcTCcPSMNLUjZe/A9SHXWGDHtvk73fR7CBqAeNU0MxhBPEBI03GFQ6RzW3xX0CmDmjpZoDxFMB+hDEtW1A== 4368 4467 4369 4468 "@tiptap/pm@^2.0.0-beta.220": 4370 - version "2.0.0-beta.220" 4371 - resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-2.0.0-beta.220.tgz#04e4c98e4d042ea8d67148ec6676f7078c6bac5a" 4372 - integrity sha512-O9mGcmwUpEr630HY9RylIyZJKnpXi3xWINWNiAEfRJ1br5j5pHRoVRJQ1HzU+6+Z+i/8qp3zRHGLTBqihaZETA== 4469 + version "2.0.3" 4470 + resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-2.0.3.tgz#e8bb47df765fc1b7acd52f2800c52d7ff945c5ec" 4471 + integrity sha512-I9dsInD89Agdm1QjFRO9dmJtU1ldVSILNPW0pEhv9wYqYVvl4HUj/JMtYNqu2jWrCHNXQcaX/WkdSdvGJtmg5g== 4373 4472 dependencies: 4374 4473 prosemirror-changeset "^2.2.0" 4375 4474 prosemirror-collab "^1.3.0" ··· 4391 4490 prosemirror-view "^1.28.2" 4392 4491 4393 4492 "@tiptap/react@^2.0.0-beta.220": 4394 - version "2.0.0-beta.220" 4395 - resolved "https://registry.yarnpkg.com/@tiptap/react/-/react-2.0.0-beta.220.tgz#c79df680ee2002061078704e4f35b232588a4a20" 4396 - integrity sha512-AZWaCGjm2FcJWNl1dxRCHOjGYvUV8R39L7tAcnKxHGajOHdFk8JQHc0XbVZhdBi2YgwvwEr7Tw9G2lzi9e6/fg== 4493 + version "2.0.3" 4494 + resolved "https://registry.yarnpkg.com/@tiptap/react/-/react-2.0.3.tgz#4b7155ed4bfe3fa9cb691adbbcf3713173ca7a6c" 4495 + integrity sha512-fiAh8Lk+/NBPAR/PE4Kc/aLiBUbUYI/CpAopz8DI9eInNyV8h8LAGa9uFILJQF/TNu0tclJ4rV0sWc7Se0FZMw== 4397 4496 dependencies: 4398 - "@tiptap/extension-bubble-menu" "^2.0.0-beta.220" 4399 - "@tiptap/extension-floating-menu" "^2.0.0-beta.220" 4497 + "@tiptap/extension-bubble-menu" "^2.0.3" 4498 + "@tiptap/extension-floating-menu" "^2.0.3" 4400 4499 4401 4500 "@tiptap/suggestion@^2.0.0-beta.220": 4402 - version "2.0.0-beta.220" 4403 - resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.0.0-beta.220.tgz#2dc05f65e89006ffaad9f2b6a3468311a305e5ee" 4404 - integrity sha512-lYb2HOAKJLjEBbTx5VXA32wRryQiMwaKkNfr3v6UhlwoNgD6NkCYID08UJbpMV7iM+iFQp9408D/vVWFwvOuKg== 4501 + version "2.0.3" 4502 + resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.0.3.tgz#3f25e20f50de6748f2b65a88e264d9b5887ca16a" 4503 + integrity sha512-1y3palQStGZq13UtHjouZ50k4sotM+N56cIlFeygIv3gqdai2zGPaPQtqV9FOVVQizXpUbQMTlPSDC5Ej4SPnQ== 4405 4504 4406 4505 "@tokenizer/token@^0.3.0": 4407 4506 version "0.3.0" ··· 4475 4574 "@babel/types" "^7.0.0" 4476 4575 4477 4576 "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": 4478 - version "7.18.3" 4479 - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d" 4480 - integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== 4577 + version "7.18.5" 4578 + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.5.tgz#c107216842905afafd3b6e774f6f935da6f5db80" 4579 + integrity sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q== 4481 4580 dependencies: 4482 4581 "@babel/types" "^7.3.0" 4483 4582 ··· 4497 4596 "@types/node" "*" 4498 4597 4499 4598 "@types/connect-history-api-fallback@^1.3.5": 4500 - version "1.3.5" 4501 - resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz#d1f7a8a09d0ed5a57aee5ae9c18ab9b803205dae" 4502 - integrity sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw== 4599 + version "1.5.0" 4600 + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#9fd20b3974bdc2bcd4ac6567e2e0f6885cb2cf41" 4601 + integrity sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig== 4503 4602 dependencies: 4504 4603 "@types/express-serve-static-core" "*" 4505 4604 "@types/node" "*" ··· 4520 4619 "@types/estree" "*" 4521 4620 4522 4621 "@types/eslint@*", "@types/eslint@^7.29.0 || ^8.4.1": 4523 - version "8.21.3" 4524 - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.21.3.tgz#5794b3911f0f19e34e3a272c49cbdf48d6f543f2" 4525 - integrity sha512-fa7GkppZVEByMWGbTtE5MbmXWJTVbrjjaS8K6uQj+XtuuUv1fsuPAxhygfqLmsb/Ufb3CV8deFCpiMfAgi00Sw== 4622 + version "8.37.0" 4623 + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.37.0.tgz#29cebc6c2a3ac7fea7113207bf5a828fdf4d7ef1" 4624 + integrity sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ== 4526 4625 dependencies: 4527 4626 "@types/estree" "*" 4528 4627 "@types/json-schema" "*" 4529 4628 4530 - "@types/estree@*": 4531 - version "1.0.0" 4532 - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" 4533 - integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== 4629 + "@types/estree@*", "@types/estree@^1.0.0": 4630 + version "1.0.1" 4631 + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" 4632 + integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== 4534 4633 4535 4634 "@types/estree@0.0.39": 4536 4635 version "0.0.39" 4537 4636 resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 4538 4637 integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== 4539 - 4540 - "@types/estree@^0.0.51": 4541 - version "0.0.51" 4542 - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" 4543 - integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== 4544 4638 4545 4639 "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": 4546 - version "4.17.33" 4547 - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz#de35d30a9d637dc1450ad18dd583d75d5733d543" 4548 - integrity sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA== 4640 + version "4.17.34" 4641 + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz#c119e85b75215178bc127de588e93100698ab4cc" 4642 + integrity sha512-fvr49XlCGoUj2Pp730AItckfjat4WNb0lb3kfrLWffd+RLeoGAMsq7UOy04PAPtoL01uKwcp6u8nhzpgpDYr3w== 4549 4643 dependencies: 4550 4644 "@types/node" "*" 4551 4645 "@types/qs" "*" 4552 4646 "@types/range-parser" "*" 4647 + "@types/send" "*" 4553 4648 4554 4649 "@types/express@*", "@types/express@^4.17.13": 4555 4650 version "4.17.17" ··· 4592 4687 integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== 4593 4688 4594 4689 "@types/http-proxy@^1.17.8": 4595 - version "1.17.10" 4596 - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.10.tgz#e576c8e4a0cc5c6a138819025a88e167ebb38d6c" 4597 - integrity sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g== 4690 + version "1.17.11" 4691 + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.11.tgz#0ca21949a5588d55ac2b659b69035c84bd5da293" 4692 + integrity sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA== 4598 4693 dependencies: 4599 4694 "@types/node" "*" 4600 4695 ··· 4618 4713 "@types/istanbul-lib-report" "*" 4619 4714 4620 4715 "@types/jest@^29.4.0": 4621 - version "29.5.0" 4622 - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.0.tgz#337b90bbcfe42158f39c2fb5619ad044bbb518ac" 4623 - integrity sha512-3Emr5VOl/aoBwnWcH/EFQvlSAmjV+XtV9GGu5mwdYew5vhQh0IUZx/60x0TzHDu09Bi7HMx10t/namdJw5QIcg== 4716 + version "29.5.1" 4717 + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.1.tgz#83c818aa9a87da27d6da85d3378e5a34d2f31a47" 4718 + integrity sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ== 4624 4719 dependencies: 4625 4720 expect "^29.0.0" 4626 4721 pretty-format "^29.0.0" ··· 4701 4796 "@types/lodash" "*" 4702 4797 4703 4798 "@types/lodash@*": 4704 - version "4.14.191" 4705 - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" 4706 - integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== 4799 + version "4.14.194" 4800 + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.194.tgz#b71eb6f7a0ff11bff59fc987134a093029258a76" 4801 + integrity sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g== 4707 4802 4708 4803 "@types/mime@*": 4709 4804 version "3.0.1" 4710 4805 resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" 4711 4806 integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== 4712 4807 4808 + "@types/mime@^1": 4809 + version "1.3.2" 4810 + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" 4811 + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== 4812 + 4713 4813 "@types/minimatch@*": 4714 4814 version "5.1.2" 4715 4815 resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" 4716 4816 integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== 4717 4817 4718 4818 "@types/node@*": 4719 - version "18.15.3" 4720 - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.3.tgz#f0b991c32cfc6a4e7f3399d6cb4b8cf9a0315014" 4721 - integrity sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw== 4819 + version "18.16.3" 4820 + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.3.tgz#6bda7819aae6ea0b386ebc5b24bdf602f1b42b01" 4821 + integrity sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q== 4722 4822 4723 4823 "@types/object.omit@^3.0.0": 4724 4824 version "3.0.0" 4725 4825 resolved "https://registry.yarnpkg.com/@types/object.omit/-/object.omit-3.0.0.tgz#0d31e1208eac8fe2ad5c9499a1016a8273bbfafc" 4726 4826 integrity sha512-I27IoPpH250TUzc9FzXd0P1BV/BMJuzqD3jOz98ehf9dQqGkxlq+hO1bIqZGWqCg5bVOy0g4AUVJtnxe0klDmw== 4727 4827 4728 - "@types/object.pick@^1.3.1": 4828 + "@types/object.pick@^1.3.2": 4729 4829 version "1.3.2" 4730 4830 resolved "https://registry.yarnpkg.com/@types/object.pick/-/object.pick-1.3.2.tgz#9eb28118240ad8f658b9c9c6caf35359fdb37150" 4731 4831 integrity sha512-sn7L+qQ6RLPdXRoiaE7bZ/Ek+o4uICma/lBFPyJEKDTPTBP1W8u0c4baj3EiS4DiqLs+Hk+KUGvMVJtAw3ePJg== ··· 4768 4868 "@types/react" "*" 4769 4869 4770 4870 "@types/react-native@^0.67.3": 4771 - version "0.67.19" 4772 - resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.67.19.tgz#8f2fb257bd9f7b56b07a98be488aab0d79f087fe" 4773 - integrity sha512-tk3D4HtJ4KBmnoOMiPWY5og0m34cwavCPSlV75hMqut2WgcDF9SXvkqZU0RP6qddHwvEstYIJSvSfLMPOak5vQ== 4871 + version "0.67.20" 4872 + resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.67.20.tgz#0a4293613f26e8ea468b7c4403fc8e9886575dce" 4873 + integrity sha512-a9i1+mpt4Jcztvqfx6SFQVh12vmd4AX2T8Q1NwBhMAFRQm+BPbXwYMjiO7GUS2H6FAx4qysROWMK/OZlfZQ1qA== 4774 4874 dependencies: 4775 4875 "@types/react" "^17" 4776 4876 ··· 4789 4889 "@types/react" "^17" 4790 4890 4791 4891 "@types/react@*", "@types/react@^17": 4792 - version "17.0.53" 4793 - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.53.tgz#10d4d5999b8af3d6bc6a9369d7eb953da82442ab" 4794 - integrity sha512-1yIpQR2zdYu1Z/dc1OxC+MA6GR240u3gcnP4l6mvj/PJiVaqHsQPmWttsvHsfnhfPbU2FuGmo0wSITPygjBmsw== 4892 + version "17.0.58" 4893 + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.58.tgz#c8bbc82114e5c29001548ebe8ed6c4ba4d3c9fb0" 4894 + integrity sha512-c1GzVY97P0fGxwGxhYq989j4XwlcHQoto6wQISOC2v6wm3h0PORRWJFHlkRjfGsiG3y1609WdQ+J+tKxvrEd6A== 4795 4895 dependencies: 4796 4896 "@types/prop-types" "*" 4797 4897 "@types/scheduler" "*" ··· 4810 4910 integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== 4811 4911 4812 4912 "@types/scheduler@*": 4813 - version "0.16.2" 4814 - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 4815 - integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 4913 + version "0.16.3" 4914 + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5" 4915 + integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== 4816 4916 4817 4917 "@types/semver@^7.3.12": 4818 4918 version "7.3.13" 4819 4919 resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" 4820 4920 integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== 4921 + 4922 + "@types/send@*": 4923 + version "0.17.1" 4924 + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.1.tgz#ed4932b8a2a805f1fe362a70f4e62d0ac994e301" 4925 + integrity sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q== 4926 + dependencies: 4927 + "@types/mime" "^1" 4928 + "@types/node" "*" 4821 4929 4822 4930 "@types/serve-index@^1.9.1": 4823 4931 version "1.9.1" ··· 4888 4996 "@types/yargs-parser" "*" 4889 4997 4890 4998 "@types/yargs@^17.0.8": 4891 - version "17.0.22" 4892 - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.22.tgz#7dd37697691b5f17d020f3c63e7a45971ff71e9a" 4893 - integrity sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g== 4999 + version "17.0.24" 5000 + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902" 5001 + integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw== 4894 5002 dependencies: 4895 5003 "@types/yargs-parser" "*" 4896 5004 4897 5005 "@typescript-eslint/eslint-plugin@^5.30.5", "@typescript-eslint/eslint-plugin@^5.48.2", "@typescript-eslint/eslint-plugin@^5.5.0": 4898 - version "5.55.0" 4899 - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.55.0.tgz#bc2400c3a23305e8c9a9c04aa40933868aaaeb47" 4900 - integrity sha512-IZGc50rtbjk+xp5YQoJvmMPmJEYoC53SiKPXyqWfv15XoD2Y5Kju6zN0DwlmaGJp1Iw33JsWJcQ7nw0lGCGjVg== 5006 + version "5.59.2" 5007 + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz#684a2ce7182f3b4dac342eef7caa1c2bae476abd" 5008 + integrity sha512-yVrXupeHjRxLDcPKL10sGQ/QlVrA8J5IYOEWVqk0lJaSZP7X5DfnP7Ns3cc74/blmbipQ1htFNVGsHX6wsYm0A== 4901 5009 dependencies: 4902 5010 "@eslint-community/regexpp" "^4.4.0" 4903 - "@typescript-eslint/scope-manager" "5.55.0" 4904 - "@typescript-eslint/type-utils" "5.55.0" 4905 - "@typescript-eslint/utils" "5.55.0" 5011 + "@typescript-eslint/scope-manager" "5.59.2" 5012 + "@typescript-eslint/type-utils" "5.59.2" 5013 + "@typescript-eslint/utils" "5.59.2" 4906 5014 debug "^4.3.4" 4907 5015 grapheme-splitter "^1.0.4" 4908 5016 ignore "^5.2.0" ··· 4911 5019 tsutils "^3.21.0" 4912 5020 4913 5021 "@typescript-eslint/experimental-utils@^5.0.0": 4914 - version "5.55.0" 4915 - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.55.0.tgz#ea2dd8737834af3a36b6a7be5bee57f57160c942" 4916 - integrity sha512-3ZqXIZhdGyGQAIIGATeMtg7prA6VlyxGtcy5hYIR/3qUqp3t18pWWUYhL9mpsDm7y8F9mr3ISMt83TiqCt7OPQ== 5022 + version "5.59.2" 5023 + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.59.2.tgz#c2785247c4c8929cb6946e46280ea44f54d9cf79" 5024 + integrity sha512-JLw2UImsjHDuVukpA8Nt+UK7JKE/LQAeV3tU5f7wJo2/NNYVwcakzkWjoYzu/2qzWY/Z9c7zojngNDfecNt92g== 4917 5025 dependencies: 4918 - "@typescript-eslint/utils" "5.55.0" 5026 + "@typescript-eslint/utils" "5.59.2" 4919 5027 4920 5028 "@typescript-eslint/parser@^5.30.5", "@typescript-eslint/parser@^5.48.2", "@typescript-eslint/parser@^5.5.0": 4921 - version "5.55.0" 4922 - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.55.0.tgz#8c96a0b6529708ace1dcfa60f5e6aec0f5ed2262" 4923 - integrity sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw== 5029 + version "5.59.2" 5030 + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.2.tgz#c2c443247901d95865b9f77332d9eee7c55655e8" 5031 + integrity sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ== 4924 5032 dependencies: 4925 - "@typescript-eslint/scope-manager" "5.55.0" 4926 - "@typescript-eslint/types" "5.55.0" 4927 - "@typescript-eslint/typescript-estree" "5.55.0" 5033 + "@typescript-eslint/scope-manager" "5.59.2" 5034 + "@typescript-eslint/types" "5.59.2" 5035 + "@typescript-eslint/typescript-estree" "5.59.2" 4928 5036 debug "^4.3.4" 4929 5037 4930 - "@typescript-eslint/scope-manager@5.55.0": 4931 - version "5.55.0" 4932 - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.55.0.tgz#e863bab4d4183ddce79967fe10ceb6c829791210" 4933 - integrity sha512-OK+cIO1ZGhJYNCL//a3ROpsd83psf4dUJ4j7pdNVzd5DmIk+ffkuUIX2vcZQbEW/IR41DYsfJTB19tpCboxQuw== 5038 + "@typescript-eslint/scope-manager@5.59.2": 5039 + version "5.59.2" 5040 + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz#f699fe936ee4e2c996d14f0fdd3a7da5ba7b9a4c" 5041 + integrity sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA== 4934 5042 dependencies: 4935 - "@typescript-eslint/types" "5.55.0" 4936 - "@typescript-eslint/visitor-keys" "5.55.0" 5043 + "@typescript-eslint/types" "5.59.2" 5044 + "@typescript-eslint/visitor-keys" "5.59.2" 4937 5045 4938 - "@typescript-eslint/type-utils@5.55.0": 4939 - version "5.55.0" 4940 - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.55.0.tgz#74bf0233523f874738677bb73cb58094210e01e9" 4941 - integrity sha512-ObqxBgHIXj8rBNm0yh8oORFrICcJuZPZTqtAFh0oZQyr5DnAHZWfyw54RwpEEH+fD8suZaI0YxvWu5tYE/WswA== 5046 + "@typescript-eslint/type-utils@5.59.2": 5047 + version "5.59.2" 5048 + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz#0729c237503604cd9a7084b5af04c496c9a4cdcf" 5049 + integrity sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ== 4942 5050 dependencies: 4943 - "@typescript-eslint/typescript-estree" "5.55.0" 4944 - "@typescript-eslint/utils" "5.55.0" 5051 + "@typescript-eslint/typescript-estree" "5.59.2" 5052 + "@typescript-eslint/utils" "5.59.2" 4945 5053 debug "^4.3.4" 4946 5054 tsutils "^3.21.0" 4947 5055 4948 - "@typescript-eslint/types@5.55.0": 4949 - version "5.55.0" 4950 - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.55.0.tgz#9830f8d3bcbecf59d12f821e5bc6960baaed41fd" 4951 - integrity sha512-M4iRh4AG1ChrOL6Y+mETEKGeDnT7Sparn6fhZ5LtVJF1909D5O4uqK+C5NPbLmpfZ0XIIxCdwzKiijpZUOvOug== 5056 + "@typescript-eslint/types@5.59.2": 5057 + version "5.59.2" 5058 + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.2.tgz#b511d2b9847fe277c5cb002a2318bd329ef4f655" 5059 + integrity sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w== 4952 5060 4953 - "@typescript-eslint/typescript-estree@5.55.0": 4954 - version "5.55.0" 4955 - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.55.0.tgz#8db7c8e47ecc03d49b05362b8db6f1345ee7b575" 4956 - integrity sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ== 5061 + "@typescript-eslint/typescript-estree@5.59.2": 5062 + version "5.59.2" 5063 + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz#6e2fabd3ba01db5d69df44e0b654c0b051fe9936" 5064 + integrity sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q== 4957 5065 dependencies: 4958 - "@typescript-eslint/types" "5.55.0" 4959 - "@typescript-eslint/visitor-keys" "5.55.0" 5066 + "@typescript-eslint/types" "5.59.2" 5067 + "@typescript-eslint/visitor-keys" "5.59.2" 4960 5068 debug "^4.3.4" 4961 5069 globby "^11.1.0" 4962 5070 is-glob "^4.0.3" 4963 5071 semver "^7.3.7" 4964 5072 tsutils "^3.21.0" 4965 5073 4966 - "@typescript-eslint/utils@5.55.0", "@typescript-eslint/utils@^5.10.0", "@typescript-eslint/utils@^5.43.0": 4967 - version "5.55.0" 4968 - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.55.0.tgz#34e97322e7ae5b901e7a870aabb01dad90023341" 4969 - integrity sha512-FkW+i2pQKcpDC3AY6DU54yl8Lfl14FVGYDgBTyGKB75cCwV3KpkpTMFi9d9j2WAJ4271LR2HeC5SEWF/CZmmfw== 5074 + "@typescript-eslint/utils@5.59.2", "@typescript-eslint/utils@^5.10.0", "@typescript-eslint/utils@^5.58.0": 5075 + version "5.59.2" 5076 + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.2.tgz#0c45178124d10cc986115885688db6abc37939f4" 5077 + integrity sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ== 4970 5078 dependencies: 4971 5079 "@eslint-community/eslint-utils" "^4.2.0" 4972 5080 "@types/json-schema" "^7.0.9" 4973 5081 "@types/semver" "^7.3.12" 4974 - "@typescript-eslint/scope-manager" "5.55.0" 4975 - "@typescript-eslint/types" "5.55.0" 4976 - "@typescript-eslint/typescript-estree" "5.55.0" 5082 + "@typescript-eslint/scope-manager" "5.59.2" 5083 + "@typescript-eslint/types" "5.59.2" 5084 + "@typescript-eslint/typescript-estree" "5.59.2" 4977 5085 eslint-scope "^5.1.1" 4978 5086 semver "^7.3.7" 4979 5087 4980 - "@typescript-eslint/visitor-keys@5.55.0": 4981 - version "5.55.0" 4982 - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.55.0.tgz#01ad414fca8367706d76cdb94adf788dc5b664a2" 4983 - integrity sha512-q2dlHHwWgirKh1D3acnuApXG+VNXpEY5/AwRxDVuEQpxWaB0jCDe0jFMVMALJ3ebSfuOVE8/rMS+9ZOYGg1GWw== 5088 + "@typescript-eslint/visitor-keys@5.59.2": 5089 + version "5.59.2" 5090 + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz#37a419dc2723a3eacbf722512b86d6caf7d3b750" 5091 + integrity sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig== 4984 5092 dependencies: 4985 - "@typescript-eslint/types" "5.55.0" 5093 + "@typescript-eslint/types" "5.59.2" 4986 5094 eslint-visitor-keys "^3.3.0" 4987 5095 4988 - "@ucans/core@0.11.0": 4989 - version "0.11.0" 4990 - resolved "https://registry.yarnpkg.com/@ucans/core/-/core-0.11.0.tgz#8201680294d980f2b1f5edfaf77b42a86d3a5688" 4991 - integrity sha512-SHX67e313kKBaur5Cp+6WFeOLC7aBhkf1i1jIFpFb9f0f1cvM/lC3mjzOyUBeDg3QwmcN5QSZzaogVFvuVvzvg== 4992 - dependencies: 4993 - uint8arrays "3.0.0" 4994 - 4995 5096 "@urql/core@2.3.6": 4996 5097 version "2.3.6" 4997 5098 resolved "https://registry.yarnpkg.com/@urql/core/-/core-2.3.6.tgz#ee0a6f8fde02251e9560c5f17dce5cd90f948552" ··· 5001 5102 wonka "^4.0.14" 5002 5103 5003 5104 "@urql/core@>=2.3.1": 5004 - version "3.2.2" 5005 - resolved "https://registry.yarnpkg.com/@urql/core/-/core-3.2.2.tgz#2a44015b536d72981822f715c96393d8e0ddc576" 5006 - integrity sha512-i046Cz8cZ4xIzGMTyHZrbdgzcFMcKD7+yhCAH5FwWBRjcKrc+RjEOuR9X5AMuBvr8c6IAaE92xAqa4wmlGfWTQ== 5105 + version "4.0.7" 5106 + resolved "https://registry.yarnpkg.com/@urql/core/-/core-4.0.7.tgz#8918a956f8e2ffbaeb3aae58190d728813de5841" 5107 + integrity sha512-UtZ9oSbSFODXzFydgLCXpAQz26KGT1d6uEfcylKphiRWNXSWZi8k7vhJXNceNm/Dn0MiZ+kaaJHKcnGY1jvHRQ== 5007 5108 dependencies: 5008 - wonka "^6.1.2" 5109 + "@0no-co/graphql.web" "^1.0.1" 5110 + wonka "^6.3.2" 5009 5111 5010 5112 "@urql/exchange-retry@0.3.0": 5011 5113 version "0.3.0" ··· 5015 5117 "@urql/core" ">=2.3.1" 5016 5118 wonka "^4.0.14" 5017 5119 5018 - "@webassemblyjs/ast@1.11.1": 5019 - version "1.11.1" 5020 - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" 5021 - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== 5120 + "@webassemblyjs/ast@1.11.5", "@webassemblyjs/ast@^1.11.5": 5121 + version "1.11.5" 5122 + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.5.tgz#6e818036b94548c1fb53b754b5cae3c9b208281c" 5123 + integrity sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ== 5022 5124 dependencies: 5023 - "@webassemblyjs/helper-numbers" "1.11.1" 5024 - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 5125 + "@webassemblyjs/helper-numbers" "1.11.5" 5126 + "@webassemblyjs/helper-wasm-bytecode" "1.11.5" 5025 5127 5026 - "@webassemblyjs/floating-point-hex-parser@1.11.1": 5027 - version "1.11.1" 5028 - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" 5029 - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== 5128 + "@webassemblyjs/floating-point-hex-parser@1.11.5": 5129 + version "1.11.5" 5130 + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.5.tgz#e85dfdb01cad16b812ff166b96806c050555f1b4" 5131 + integrity sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ== 5030 5132 5031 - "@webassemblyjs/helper-api-error@1.11.1": 5032 - version "1.11.1" 5033 - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" 5034 - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== 5133 + "@webassemblyjs/helper-api-error@1.11.5": 5134 + version "1.11.5" 5135 + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.5.tgz#1e82fa7958c681ddcf4eabef756ce09d49d442d1" 5136 + integrity sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA== 5035 5137 5036 - "@webassemblyjs/helper-buffer@1.11.1": 5037 - version "1.11.1" 5038 - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" 5039 - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== 5138 + "@webassemblyjs/helper-buffer@1.11.5": 5139 + version "1.11.5" 5140 + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.5.tgz#91381652ea95bb38bbfd270702351c0c89d69fba" 5141 + integrity sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg== 5040 5142 5041 - "@webassemblyjs/helper-numbers@1.11.1": 5042 - version "1.11.1" 5043 - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" 5044 - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== 5143 + "@webassemblyjs/helper-numbers@1.11.5": 5144 + version "1.11.5" 5145 + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.5.tgz#23380c910d56764957292839006fecbe05e135a9" 5146 + integrity sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA== 5045 5147 dependencies: 5046 - "@webassemblyjs/floating-point-hex-parser" "1.11.1" 5047 - "@webassemblyjs/helper-api-error" "1.11.1" 5148 + "@webassemblyjs/floating-point-hex-parser" "1.11.5" 5149 + "@webassemblyjs/helper-api-error" "1.11.5" 5048 5150 "@xtuc/long" "4.2.2" 5049 5151 5050 - "@webassemblyjs/helper-wasm-bytecode@1.11.1": 5051 - version "1.11.1" 5052 - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" 5053 - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== 5152 + "@webassemblyjs/helper-wasm-bytecode@1.11.5": 5153 + version "1.11.5" 5154 + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.5.tgz#e258a25251bc69a52ef817da3001863cc1c24b9f" 5155 + integrity sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA== 5054 5156 5055 - "@webassemblyjs/helper-wasm-section@1.11.1": 5056 - version "1.11.1" 5057 - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" 5058 - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== 5157 + "@webassemblyjs/helper-wasm-section@1.11.5": 5158 + version "1.11.5" 5159 + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.5.tgz#966e855a6fae04d5570ad4ec87fbcf29b42ba78e" 5160 + integrity sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA== 5059 5161 dependencies: 5060 - "@webassemblyjs/ast" "1.11.1" 5061 - "@webassemblyjs/helper-buffer" "1.11.1" 5062 - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 5063 - "@webassemblyjs/wasm-gen" "1.11.1" 5162 + "@webassemblyjs/ast" "1.11.5" 5163 + "@webassemblyjs/helper-buffer" "1.11.5" 5164 + "@webassemblyjs/helper-wasm-bytecode" "1.11.5" 5165 + "@webassemblyjs/wasm-gen" "1.11.5" 5064 5166 5065 - "@webassemblyjs/ieee754@1.11.1": 5066 - version "1.11.1" 5067 - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" 5068 - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== 5167 + "@webassemblyjs/ieee754@1.11.5": 5168 + version "1.11.5" 5169 + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.5.tgz#b2db1b33ce9c91e34236194c2b5cba9b25ca9d60" 5170 + integrity sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg== 5069 5171 dependencies: 5070 5172 "@xtuc/ieee754" "^1.2.0" 5071 5173 5072 - "@webassemblyjs/leb128@1.11.1": 5073 - version "1.11.1" 5074 - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" 5075 - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== 5174 + "@webassemblyjs/leb128@1.11.5": 5175 + version "1.11.5" 5176 + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.5.tgz#482e44d26b6b949edf042a8525a66c649e38935a" 5177 + integrity sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ== 5076 5178 dependencies: 5077 5179 "@xtuc/long" "4.2.2" 5078 5180 5079 - "@webassemblyjs/utf8@1.11.1": 5080 - version "1.11.1" 5081 - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" 5082 - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== 5181 + "@webassemblyjs/utf8@1.11.5": 5182 + version "1.11.5" 5183 + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.5.tgz#83bef94856e399f3740e8df9f63bc47a987eae1a" 5184 + integrity sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ== 5083 5185 5084 - "@webassemblyjs/wasm-edit@1.11.1": 5085 - version "1.11.1" 5086 - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" 5087 - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== 5186 + "@webassemblyjs/wasm-edit@^1.11.5": 5187 + version "1.11.5" 5188 + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.5.tgz#93ee10a08037657e21c70de31c47fdad6b522b2d" 5189 + integrity sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ== 5088 5190 dependencies: 5089 - "@webassemblyjs/ast" "1.11.1" 5090 - "@webassemblyjs/helper-buffer" "1.11.1" 5091 - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 5092 - "@webassemblyjs/helper-wasm-section" "1.11.1" 5093 - "@webassemblyjs/wasm-gen" "1.11.1" 5094 - "@webassemblyjs/wasm-opt" "1.11.1" 5095 - "@webassemblyjs/wasm-parser" "1.11.1" 5096 - "@webassemblyjs/wast-printer" "1.11.1" 5191 + "@webassemblyjs/ast" "1.11.5" 5192 + "@webassemblyjs/helper-buffer" "1.11.5" 5193 + "@webassemblyjs/helper-wasm-bytecode" "1.11.5" 5194 + "@webassemblyjs/helper-wasm-section" "1.11.5" 5195 + "@webassemblyjs/wasm-gen" "1.11.5" 5196 + "@webassemblyjs/wasm-opt" "1.11.5" 5197 + "@webassemblyjs/wasm-parser" "1.11.5" 5198 + "@webassemblyjs/wast-printer" "1.11.5" 5097 5199 5098 - "@webassemblyjs/wasm-gen@1.11.1": 5099 - version "1.11.1" 5100 - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" 5101 - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== 5200 + "@webassemblyjs/wasm-gen@1.11.5": 5201 + version "1.11.5" 5202 + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.5.tgz#ceb1c82b40bf0cf67a492c53381916756ef7f0b1" 5203 + integrity sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA== 5102 5204 dependencies: 5103 - "@webassemblyjs/ast" "1.11.1" 5104 - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 5105 - "@webassemblyjs/ieee754" "1.11.1" 5106 - "@webassemblyjs/leb128" "1.11.1" 5107 - "@webassemblyjs/utf8" "1.11.1" 5205 + "@webassemblyjs/ast" "1.11.5" 5206 + "@webassemblyjs/helper-wasm-bytecode" "1.11.5" 5207 + "@webassemblyjs/ieee754" "1.11.5" 5208 + "@webassemblyjs/leb128" "1.11.5" 5209 + "@webassemblyjs/utf8" "1.11.5" 5108 5210 5109 - "@webassemblyjs/wasm-opt@1.11.1": 5110 - version "1.11.1" 5111 - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" 5112 - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== 5211 + "@webassemblyjs/wasm-opt@1.11.5": 5212 + version "1.11.5" 5213 + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.5.tgz#b52bac29681fa62487e16d3bb7f0633d5e62ca0a" 5214 + integrity sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw== 5113 5215 dependencies: 5114 - "@webassemblyjs/ast" "1.11.1" 5115 - "@webassemblyjs/helper-buffer" "1.11.1" 5116 - "@webassemblyjs/wasm-gen" "1.11.1" 5117 - "@webassemblyjs/wasm-parser" "1.11.1" 5216 + "@webassemblyjs/ast" "1.11.5" 5217 + "@webassemblyjs/helper-buffer" "1.11.5" 5218 + "@webassemblyjs/wasm-gen" "1.11.5" 5219 + "@webassemblyjs/wasm-parser" "1.11.5" 5118 5220 5119 - "@webassemblyjs/wasm-parser@1.11.1": 5120 - version "1.11.1" 5121 - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" 5122 - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== 5221 + "@webassemblyjs/wasm-parser@1.11.5", "@webassemblyjs/wasm-parser@^1.11.5": 5222 + version "1.11.5" 5223 + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz#7ba0697ca74c860ea13e3ba226b29617046982e2" 5224 + integrity sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew== 5123 5225 dependencies: 5124 - "@webassemblyjs/ast" "1.11.1" 5125 - "@webassemblyjs/helper-api-error" "1.11.1" 5126 - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 5127 - "@webassemblyjs/ieee754" "1.11.1" 5128 - "@webassemblyjs/leb128" "1.11.1" 5129 - "@webassemblyjs/utf8" "1.11.1" 5226 + "@webassemblyjs/ast" "1.11.5" 5227 + "@webassemblyjs/helper-api-error" "1.11.5" 5228 + "@webassemblyjs/helper-wasm-bytecode" "1.11.5" 5229 + "@webassemblyjs/ieee754" "1.11.5" 5230 + "@webassemblyjs/leb128" "1.11.5" 5231 + "@webassemblyjs/utf8" "1.11.5" 5130 5232 5131 - "@webassemblyjs/wast-printer@1.11.1": 5132 - version "1.11.1" 5133 - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" 5134 - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== 5233 + "@webassemblyjs/wast-printer@1.11.5": 5234 + version "1.11.5" 5235 + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.5.tgz#7a5e9689043f3eca82d544d7be7a8e6373a6fa98" 5236 + integrity sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA== 5135 5237 dependencies: 5136 - "@webassemblyjs/ast" "1.11.1" 5238 + "@webassemblyjs/ast" "1.11.5" 5137 5239 "@xtuc/long" "4.2.2" 5138 5240 5139 5241 "@webpack-cli/configtest@^2.0.1": ··· 5146 5248 resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.1.tgz#eed745799c910d20081e06e5177c2b2569f166c0" 5147 5249 integrity sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA== 5148 5250 5149 - "@webpack-cli/serve@^2.0.1": 5150 - version "2.0.1" 5151 - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.1.tgz#34bdc31727a1889198855913db2f270ace6d7bf8" 5152 - integrity sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw== 5251 + "@webpack-cli/serve@^2.0.2": 5252 + version "2.0.2" 5253 + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.2.tgz#10aa290e44a182c02e173a89452781b1acbc86d9" 5254 + integrity sha512-S9h3GmOmzUseyeFW3tYNnWS7gNUuwxZ3mmMq0JyW78Vx1SGKPSkt5bT4pB0rUnVfHjP0EL9gW2bOzmtiTfQt0A== 5153 5255 5154 5256 "@xmldom/xmldom@~0.7.0", "@xmldom/xmldom@~0.7.7": 5155 - version "0.7.9" 5156 - resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.9.tgz#7f9278a50e737920e21b297b8a35286e9942c056" 5157 - integrity sha512-yceMpm/xd4W2a85iqZyO09gTnHvXF6pyiWjD2jcOJs7hRoZtNNOO1eJlhHj1ixA+xip2hOyGn+LgcvLCMo5zXA== 5257 + version "0.7.10" 5258 + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.10.tgz#b1f4a7dc63ac35b2750847644d5dacf5b4ead12f" 5259 + integrity sha512-hb9QhOg5MGmpVkFcoZ9XJMe1em5gd0e2eqqjK87O1dwULedXsnY/Zg/Ju6lcohA+t6jVkmKpe7I1etqhvdRdrQ== 5158 5260 5159 5261 "@xtuc/ieee754@^1.2.0": 5160 5262 version "1.2.0" ··· 5227 5329 resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" 5228 5330 integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 5229 5331 5230 - acorn-node@^1.8.2: 5231 - version "1.8.2" 5232 - resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" 5233 - integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== 5234 - dependencies: 5235 - acorn "^7.0.0" 5236 - acorn-walk "^7.0.0" 5237 - xtend "^4.0.2" 5238 - 5239 - acorn-walk@^7.0.0, acorn-walk@^7.1.1: 5332 + acorn-walk@^7.1.1: 5240 5333 version "7.2.0" 5241 5334 resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" 5242 5335 integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== ··· 5246 5339 resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" 5247 5340 integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== 5248 5341 5249 - acorn@^7.0.0, acorn@^7.1.1: 5342 + acorn@^7.1.1: 5250 5343 version "7.4.1" 5251 5344 resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 5252 5345 integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== ··· 5296 5389 resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" 5297 5390 integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== 5298 5391 5299 - ajv-keywords@^5.0.0: 5392 + ajv-keywords@^5.1.0: 5300 5393 version "5.1.0" 5301 5394 resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" 5302 5395 integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== ··· 5313 5406 json-schema-traverse "^0.4.1" 5314 5407 uri-js "^4.2.2" 5315 5408 5316 - ajv@^8.0.0, ajv@^8.11.0, ajv@^8.6.0, ajv@^8.6.3, ajv@^8.8.0: 5409 + ajv@^8.0.0, ajv@^8.11.0, ajv@^8.6.0, ajv@^8.6.3, ajv@^8.9.0: 5317 5410 version "8.12.0" 5318 5411 resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" 5319 5412 integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== ··· 5341 5434 type-fest "^0.21.3" 5342 5435 5343 5436 ansi-escapes@^6.0.0: 5344 - version "6.1.0" 5345 - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.1.0.tgz#f2912cdaa10785f3f51f4b562a2497b885aadc5e" 5346 - integrity sha512-bQyg9bzRntwR/8b89DOEhGwctcwCrbWW/TuqTQnpqpy5Fz3aovcOTj5i8NJV6AHc8OGNdMaqdxAWww8pz2kiKg== 5437 + version "6.2.0" 5438 + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.2.0.tgz#8a13ce75286f417f1963487d86ba9f90dccf9947" 5439 + integrity sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw== 5347 5440 dependencies: 5348 5441 type-fest "^3.0.0" 5349 5442 ··· 5668 5761 integrity sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw== 5669 5762 5670 5763 axe-core@^4.6.2: 5671 - version "4.6.3" 5672 - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.3.tgz#fc0db6fdb65cc7a80ccf85286d91d64ababa3ece" 5673 - integrity sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg== 5764 + version "4.7.0" 5765 + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" 5766 + integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== 5674 5767 5675 5768 axios@^0.24.0: 5676 5769 version "0.24.0" ··· 5680 5773 follow-redirects "^1.14.4" 5681 5774 5682 5775 axios@^1.3.4: 5683 - version "1.3.4" 5684 - resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.4.tgz#f5760cefd9cfb51fd2481acf88c05f67c4523024" 5685 - integrity sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ== 5776 + version "1.4.0" 5777 + resolved "https://registry.yarnpkg.com/axios/-/axios-1.4.0.tgz#38a7bf1224cd308de271146038b551d725f0be1f" 5778 + integrity sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA== 5686 5779 dependencies: 5687 5780 follow-redirects "^1.15.0" 5688 5781 form-data "^4.0.0" ··· 5727 5820 graceful-fs "^4.2.9" 5728 5821 slash "^3.0.0" 5729 5822 5730 - babel-loader@^8.2.3: 5823 + babel-loader@^8.2.3, babel-loader@^8.3.0: 5731 5824 version "8.3.0" 5732 5825 resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" 5733 5826 integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== ··· 5745 5838 find-cache-dir "^3.3.2" 5746 5839 schema-utils "^4.0.0" 5747 5840 5841 + babel-merge@^3.0.0: 5842 + version "3.0.0" 5843 + resolved "https://registry.yarnpkg.com/babel-merge/-/babel-merge-3.0.0.tgz#9bd368d48116dab18b8f3e8022835479d80f3b50" 5844 + integrity sha512-eBOBtHnzt9xvnjpYNI5HmaPp/b2vMveE5XggzqHnQeHJ8mFIBrBv6WZEVIj5jJ2uwTItkqKo9gWzEEcBxEq0yw== 5845 + dependencies: 5846 + deepmerge "^2.2.1" 5847 + object.omit "^3.0.0" 5848 + 5748 5849 babel-plugin-istanbul@^6.1.1: 5749 5850 version "6.1.1" 5750 5851 resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" ··· 6089 6190 unpipe "1.0.0" 6090 6191 6091 6192 bonjour-service@^1.0.11: 6092 - version "1.1.0" 6093 - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.1.0.tgz#424170268d68af26ff83a5c640b95def01803a13" 6094 - integrity sha512-LVRinRB3k1/K0XzZ2p58COnWvkQknIY6sf0zF2rpErvcJXpMBttEPQSxK+HEXSS9VmpZlDoDnQWv8ftJT20B0Q== 6193 + version "1.1.1" 6194 + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.1.1.tgz#960948fa0e0153f5d26743ab15baf8e33752c135" 6195 + integrity sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg== 6095 6196 dependencies: 6096 6197 array-flatten "^2.1.2" 6097 6198 dns-equal "^1.0.0" ··· 6390 6491 lodash.uniq "^4.5.0" 6391 6492 6392 6493 caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001449, caniuse-lite@^1.0.30001464: 6393 - version "1.0.30001468" 6394 - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001468.tgz#0101837c6a4e38e6331104c33dcfb3bdf367a4b7" 6395 - integrity sha512-zgAo8D5kbOyUcRAgSmgyuvBkjrGk5CGYG5TYgFdpQv+ywcyEpo1LOWoG8YmoflGnh+V+UsNuKYedsoYs0hzV5A== 6494 + version "1.0.30001482" 6495 + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001482.tgz#8b3fad73dc35b2674a5c96df2d4f9f1c561435de" 6496 + integrity sha512-F1ZInsg53cegyjroxLNW9DmrEQ1SuGRTO1QlpA0o2/6OpQ0gFeDRoq1yFmnr8Sakn9qwwt9DmbxHB6w167OSuQ== 6396 6497 6397 6498 case-anything@^2.1.10: 6398 6499 version "2.1.10" ··· 6409 6510 resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 6410 6511 integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== 6411 6512 6513 + cbor-extract@^2.1.1: 6514 + version "2.1.1" 6515 + resolved "https://registry.yarnpkg.com/cbor-extract/-/cbor-extract-2.1.1.tgz#f154b31529fdb6b7c70fb3ca448f44eda96a1b42" 6516 + integrity sha512-1UX977+L+zOJHsp0mWFG13GLwO6ucKgSmSW6JTl8B9GUvACvHeIVpFqhU92299Z6PfD09aTXDell5p+lp1rUFA== 6517 + dependencies: 6518 + node-gyp-build-optional-packages "5.0.3" 6519 + optionalDependencies: 6520 + "@cbor-extract/cbor-extract-darwin-arm64" "2.1.1" 6521 + "@cbor-extract/cbor-extract-darwin-x64" "2.1.1" 6522 + "@cbor-extract/cbor-extract-linux-arm" "2.1.1" 6523 + "@cbor-extract/cbor-extract-linux-arm64" "2.1.1" 6524 + "@cbor-extract/cbor-extract-linux-x64" "2.1.1" 6525 + "@cbor-extract/cbor-extract-win32-x64" "2.1.1" 6526 + 6527 + cbor-x@^1.5.1: 6528 + version "1.5.2" 6529 + resolved "https://registry.yarnpkg.com/cbor-x/-/cbor-x-1.5.2.tgz#ceabc48bda06185de1f3a078bb4a793e6e222de5" 6530 + integrity sha512-JArE6xcgj3eo13fpnShO42QFBUuXP2uG12RLeF2Nb+dJcETFYxkUa27gXQrRYp67Ahtaxyfbg+ihc62XTyQqsQ== 6531 + optionalDependencies: 6532 + cbor-extract "^2.1.1" 6533 + 6412 6534 cborg@^1.6.0: 6413 6535 version "1.10.1" 6414 6536 resolved "https://registry.yarnpkg.com/cborg/-/cborg-1.10.1.tgz#24cfe52c69ec0f66f95e23dc57f2086954c8d718" ··· 6562 6684 restore-cursor "^3.1.0" 6563 6685 6564 6686 cli-spinners@^2.0.0, cli-spinners@^2.5.0: 6565 - version "2.7.0" 6566 - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" 6567 - integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== 6687 + version "2.8.0" 6688 + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.8.0.tgz#e97a3e2bd00e6d85aa0c13d7f9e3ce236f7787fc" 6689 + integrity sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ== 6568 6690 6569 6691 cli-width@^2.0.0: 6570 6692 version "2.2.1" ··· 6668 6790 resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 6669 6791 integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 6670 6792 6671 - color-name@^1.0.0, color-name@^1.1.4, color-name@~1.1.4: 6793 + color-name@^1.0.0, color-name@~1.1.4: 6672 6794 version "1.1.4" 6673 6795 resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 6674 6796 integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== ··· 6700 6822 integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== 6701 6823 6702 6824 colorette@^2.0.10, colorette@^2.0.14: 6703 - version "2.0.19" 6704 - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" 6705 - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== 6825 + version "2.0.20" 6826 + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" 6827 + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== 6706 6828 6707 6829 combined-stream@^1.0.8: 6708 6830 version "1.0.8" ··· 6720 6842 version "2.20.0" 6721 6843 resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" 6722 6844 integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== 6845 + 6846 + commander@^10.0.1: 6847 + version "10.0.1" 6848 + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" 6849 + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== 6723 6850 6724 6851 commander@^2.20.0: 6725 6852 version "2.20.3" ··· 6886 7013 serialize-javascript "^6.0.0" 6887 7014 6888 7015 core-js-compat@^3.25.1: 6889 - version "3.29.1" 6890 - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.29.1.tgz#15c0fb812ea27c973c18d425099afa50b934b41b" 6891 - integrity sha512-QmchCua884D8wWskMX8tW5ydINzd8oSJVx38lx/pVkFGqztxt73GYre3pm/hyYq8bPf+MW5In4I/uRShFDsbrA== 7016 + version "3.30.1" 7017 + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.30.1.tgz#961541e22db9c27fc48bfc13a3cafa8734171dfe" 7018 + integrity sha512-d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw== 6892 7019 dependencies: 6893 7020 browserslist "^4.21.5" 6894 7021 6895 7022 core-js-pure@^3.23.3: 6896 - version "3.29.1" 6897 - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.29.1.tgz#1be6ca2b8772f6b4df7fc4621743286e676c6162" 6898 - integrity sha512-4En6zYVi0i0XlXHVz/bi6l1XDjCqkKRq765NXuX+SnaIatlE96Odt5lMLjdxUiNI1v9OXI5DSLWYPlmTfkTktg== 7023 + version "3.30.1" 7024 + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.30.1.tgz#7d93dc89e7d47b8ef05d7e79f507b0e99ea77eec" 7025 + integrity sha512-nXBEVpmUnNRhz83cHd9JRQC52cTMcuXAmR56+9dSMpRdpeA4I1PX6yjmhd71Eyc/wXNsdBdUDIj1QTIeZpU5Tg== 6899 7026 6900 7027 core-js@^3.19.2: 6901 - version "3.29.1" 6902 - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.29.1.tgz#40ff3b41588b091aaed19ca1aa5cb111803fa9a6" 6903 - integrity sha512-+jwgnhg6cQxKYIIjGtAHq2nwUOolo9eoFZ4sHfUH09BLXBgxnH4gA0zEd+t+BO2cNB8idaBtZFcFTRjQJRJmAw== 7028 + version "3.30.1" 7029 + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.30.1.tgz#fc9c5adcc541d8e9fa3e381179433cbf795628ba" 7030 + integrity sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ== 6904 7031 6905 7032 core-util-is@~1.0.0: 6906 7033 version "1.0.3" ··· 7023 7150 postcss-selector-parser "^6.0.9" 7024 7151 7025 7152 css-declaration-sorter@^6.3.1: 7026 - version "6.3.1" 7027 - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz#be5e1d71b7a992433fb1c542c7a1b835e45682ec" 7028 - integrity sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w== 7153 + version "6.4.0" 7154 + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz#630618adc21724484b3e9505bce812def44000ad" 7155 + integrity sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew== 7029 7156 7030 7157 css-has-pseudo@^3.0.4: 7031 7158 version "3.0.4" ··· 7141 7268 integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== 7142 7269 7143 7270 cssdb@^7.1.0: 7144 - version "7.4.1" 7145 - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.4.1.tgz#61d55c0173126689922a219e15e131e4b5caf422" 7146 - integrity sha512-0Q8NOMpXJ3iTDDbUv9grcmQAfdDx4qz+fN/+Md2FGbevT+6+bJNQ2LjB2YIUlLbpBTM32idU1Sb+tb/uGt6/XQ== 7271 + version "7.5.4" 7272 + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.5.4.tgz#e34dafee5184d67634604e345e389ca79ac179ea" 7273 + integrity sha512-fGD+J6Jlq+aurfE1VDXlLS4Pt0VtNlu2+YgfGOdMxRyl/HQ9bDiHTwSck1Yz8A97Dt/82izSK6Bp/4nVqacOsg== 7147 7274 7148 7275 cssesc@^3.0.0: 7149 7276 version "3.0.0" ··· 7229 7356 cssom "~0.3.6" 7230 7357 7231 7358 csstype@^3.0.2: 7232 - version "3.1.1" 7233 - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" 7234 - integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== 7359 + version "3.1.2" 7360 + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" 7361 + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== 7235 7362 7236 7363 dag-map@~1.0.0: 7237 7364 version "1.0.2" ··· 7325 7452 integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== 7326 7453 7327 7454 deep-equal@^2.0.5: 7328 - version "2.2.0" 7329 - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.0.tgz#5caeace9c781028b9ff459f33b779346637c43e6" 7330 - integrity sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw== 7455 + version "2.2.1" 7456 + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.1.tgz#c72ab22f3a7d3503a4ca87dde976fe9978816739" 7457 + integrity sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ== 7331 7458 dependencies: 7459 + array-buffer-byte-length "^1.0.0" 7332 7460 call-bind "^1.0.2" 7333 - es-get-iterator "^1.1.2" 7334 - get-intrinsic "^1.1.3" 7461 + es-get-iterator "^1.1.3" 7462 + get-intrinsic "^1.2.0" 7335 7463 is-arguments "^1.1.1" 7336 - is-array-buffer "^3.0.1" 7464 + is-array-buffer "^3.0.2" 7337 7465 is-date-object "^1.0.5" 7338 7466 is-regex "^1.1.4" 7339 7467 is-shared-array-buffer "^1.0.2" ··· 7341 7469 object-is "^1.1.5" 7342 7470 object-keys "^1.1.1" 7343 7471 object.assign "^4.1.4" 7344 - regexp.prototype.flags "^1.4.3" 7472 + regexp.prototype.flags "^1.5.0" 7345 7473 side-channel "^1.0.4" 7346 7474 which-boxed-primitive "^1.0.2" 7347 7475 which-collection "^1.0.1" ··· 7357 7485 resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 7358 7486 integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 7359 7487 7488 + deepmerge@^2.2.1: 7489 + version "2.2.1" 7490 + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.2.1.tgz#5d3ff22a01c00f645405a2fbc17d0778a1801170" 7491 + integrity sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA== 7492 + 7360 7493 deepmerge@^3.2.0: 7361 7494 version "3.3.0" 7362 7495 resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-3.3.0.tgz#d3c47fd6f3a93d517b14426b0628a17b0125f5f7" 7363 7496 integrity sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA== 7364 7497 7365 - deepmerge@^4.2.2: 7498 + deepmerge@^4.2.2, deepmerge@^4.3.1: 7366 7499 version "4.3.1" 7367 7500 resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" 7368 7501 integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== ··· 7394 7527 resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" 7395 7528 integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== 7396 7529 7397 - define-properties@^1.1.3, define-properties@^1.1.4: 7530 + define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: 7398 7531 version "1.2.0" 7399 7532 resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" 7400 7533 integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== ··· 7424 7557 is-descriptor "^1.0.2" 7425 7558 isobject "^3.0.1" 7426 7559 7427 - defined@^1.0.0: 7428 - version "1.0.1" 7429 - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf" 7430 - integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== 7431 - 7432 7560 del@^4.1.1: 7433 7561 version "4.1.1" 7434 7562 resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" ··· 7528 7656 address "^1.0.1" 7529 7657 debug "^2.6.0" 7530 7658 7531 - detective@^5.2.1: 7532 - version "5.2.1" 7533 - resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034" 7534 - integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw== 7535 - dependencies: 7536 - acorn-node "^1.8.2" 7537 - defined "^1.0.0" 7538 - minimist "^1.2.6" 7539 - 7540 7659 detox@^20.1.2: 7541 - version "20.5.0" 7542 - resolved "https://registry.yarnpkg.com/detox/-/detox-20.5.0.tgz#70f1aa7ed4a2b652b5787a806e680fafaab2fcb3" 7543 - integrity sha512-iFDqU5UZ5f1usgRowyiauO83ffMqvN7qFdF5+TVJelfcHTIVHRbZwI/D4MjtAnpuowljfwBhN0tYhTSEOMjCmg== 7660 + version "20.7.1" 7661 + resolved "https://registry.yarnpkg.com/detox/-/detox-20.7.1.tgz#3e3981a8eaa223135ca85d44aa9dc3b742b8ed46" 7662 + integrity sha512-a8y+M40g4goqWnyHZnestmVL/EII8Hq4utCK4kuSpvRHWkBA5KuQFlXErfNrrOcqXuXhPqdBnxqO9VsMAlLHFA== 7544 7663 dependencies: 7545 7664 ajv "^8.6.3" 7546 7665 bunyan "^1.8.12" 7547 7666 bunyan-debug-stream "^3.1.0" 7548 7667 caf "^15.0.1" 7549 - chalk "^2.4.2" 7668 + chalk "^4.0.0" 7550 7669 child-process-promise "^2.2.0" 7551 7670 execa "^5.1.1" 7552 - find-up "^4.1.0" 7553 - fs-extra "^4.0.2" 7671 + find-up "^5.0.0" 7672 + fs-extra "^11.0.0" 7554 7673 funpermaproxy "^1.1.0" 7555 7674 glob "^8.0.3" 7556 7675 ini "^1.3.4" ··· 7558 7677 lodash "^4.17.11" 7559 7678 multi-sort-stream "^1.0.3" 7560 7679 multipipe "^4.0.0" 7561 - node-ipc "^9.2.1" 7680 + node-ipc "9.2.1" 7562 7681 proper-lockfile "^3.0.2" 7563 7682 resolve-from "^5.0.0" 7564 7683 sanitize-filename "^1.6.1" ··· 7573 7692 trace-event-lib "^1.3.1" 7574 7693 which "^1.3.1" 7575 7694 ws "^7.0.0" 7576 - yargs "^16.0.3" 7577 - yargs-parser "^20.2.9" 7695 + yargs "^17.0.0" 7696 + yargs-parser "^21.0.0" 7578 7697 yargs-unparser "^2.0.0" 7579 7698 7580 7699 did-resolver@^4.0.0: ··· 7620 7739 integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== 7621 7740 7622 7741 dns-packet@^5.2.2: 7623 - version "5.4.0" 7624 - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.4.0.tgz#1f88477cf9f27e78a213fb6d118ae38e759a879b" 7625 - integrity sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g== 7742 + version "5.6.0" 7743 + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.0.tgz#2202c947845c7a63c23ece58f2f70ff6ab4c2f7d" 7744 + integrity sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ== 7626 7745 dependencies: 7627 7746 "@leichtgewicht/ip-codec" "^2.0.1" 7628 7747 ··· 7704 7823 dependencies: 7705 7824 domelementtype "^2.2.0" 7706 7825 7707 - domhandler@^5.0.1, domhandler@^5.0.2: 7826 + domhandler@^5.0.2, domhandler@^5.0.3: 7708 7827 version "5.0.3" 7709 7828 resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" 7710 7829 integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== ··· 7729 7848 domhandler "^4.2.0" 7730 7849 7731 7850 domutils@^3.0.1: 7732 - version "3.0.1" 7733 - resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.0.1.tgz#696b3875238338cb186b6c0612bd4901c89a4f1c" 7734 - integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q== 7851 + version "3.1.0" 7852 + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" 7853 + integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== 7735 7854 dependencies: 7736 7855 dom-serializer "^2.0.0" 7737 7856 domelementtype "^2.3.0" 7738 - domhandler "^5.0.1" 7857 + domhandler "^5.0.3" 7739 7858 7740 7859 dot-case@^3.0.4: 7741 7860 version "3.0.4" ··· 7809 7928 jake "^10.8.5" 7810 7929 7811 7930 electron-to-chromium@^1.4.284: 7812 - version "1.4.333" 7813 - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.333.tgz#ebb21f860f8a29923717b06ec0cb54e77ed34c04" 7814 - integrity sha512-YyE8+GKyGtPEP1/kpvqsdhD6rA/TP1DUFDN4uiU/YI52NzDxmwHkEb3qjId8hLBa5siJvG0sfC3O66501jMruQ== 7931 + version "1.4.378" 7932 + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.378.tgz#73431ffd5fffebc18b4e897fac2e7d4ae6d559d9" 7933 + integrity sha512-RfCD26kGStl6+XalfX3DGgt3z2DNwJS5DKRHCpkPq5T/PqpZMPB1moSRXuK9xhkt/sF57LlpzJgNoYl7mO7Z6w== 7815 7934 7816 7935 email-validator@^2.0.4: 7817 7936 version "2.0.4" ··· 7860 7979 dependencies: 7861 7980 once "^1.4.0" 7862 7981 7863 - enhanced-resolve@^5.10.0: 7864 - version "5.12.0" 7865 - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" 7866 - integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== 7982 + enhanced-resolve@^5.13.0: 7983 + version "5.13.0" 7984 + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz#26d1ecc448c02de997133217b5c1053f34a0a275" 7985 + integrity sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg== 7867 7986 dependencies: 7868 7987 graceful-fs "^4.2.4" 7869 7988 tapable "^2.2.0" ··· 7874 7993 integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== 7875 7994 7876 7995 entities@^4.2.0, entities@^4.4.0: 7877 - version "4.4.0" 7878 - resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" 7879 - integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== 7996 + version "4.5.0" 7997 + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" 7998 + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== 7880 7999 7881 8000 entities@~3.0.1: 7882 8001 version "3.0.1" ··· 7920 8039 accepts "~1.3.7" 7921 8040 escape-html "~1.0.3" 7922 8041 7923 - es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.20.4: 8042 + es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.20.4, es-abstract@^1.21.2: 7924 8043 version "1.21.2" 7925 8044 resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" 7926 8045 integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== ··· 7965 8084 resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" 7966 8085 integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== 7967 8086 7968 - es-get-iterator@^1.1.2: 8087 + es-get-iterator@^1.1.3: 7969 8088 version "1.1.3" 7970 8089 resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" 7971 8090 integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== ··· 7980 8099 isarray "^2.0.5" 7981 8100 stop-iteration-iterator "^1.0.0" 7982 8101 7983 - es-module-lexer@^0.9.0: 7984 - version "0.9.3" 7985 - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" 7986 - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== 8102 + es-module-lexer@^1.2.1: 8103 + version "1.2.1" 8104 + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.2.1.tgz#ba303831f63e6a394983fde2f97ad77b22324527" 8105 + integrity sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg== 7987 8106 7988 8107 es-set-tostringtag@^2.0.1: 7989 8108 version "2.0.1" ··· 8048 8167 source-map "~0.6.1" 8049 8168 8050 8169 eslint-config-prettier@^8.5.0: 8051 - version "8.7.0" 8052 - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.7.0.tgz#f1cc58a8afebc50980bd53475451df146c13182d" 8053 - integrity sha512-HHVXLSlVUhMSmyW4ZzEuvjpwqamgmlfkutD53cYXLikh4pt/modINRcCIApJ84czDxM4GZInwUrromsDdTImTA== 8170 + version "8.8.0" 8171 + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348" 8172 + integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA== 8054 8173 8055 8174 eslint-config-react-app@^7.0.1: 8056 8175 version "7.0.1" ··· 8082 8201 resolve "^1.22.1" 8083 8202 8084 8203 eslint-module-utils@^2.7.4: 8085 - version "2.7.4" 8086 - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" 8087 - integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== 8204 + version "2.8.0" 8205 + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" 8206 + integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== 8088 8207 dependencies: 8089 8208 debug "^3.2.7" 8090 8209 ··· 8188 8307 resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" 8189 8308 integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== 8190 8309 8310 + eslint-plugin-react-native-a11y@^3.3.0: 8311 + version "3.3.0" 8312 + resolved "https://registry.yarnpkg.com/eslint-plugin-react-native-a11y/-/eslint-plugin-react-native-a11y-3.3.0.tgz#0485a8f18474bf54ec68d004b50167f75ffbf201" 8313 + integrity sha512-21bIs/0yROcMq7KtAG+OVNDWAh8M+6scII0iXcO3i9NYHe2xZ443yPs5KSUMSvQJeRLLjuKB7V5saqNjoMWDHA== 8314 + dependencies: 8315 + "@babel/runtime" "^7.15.4" 8316 + ast-types-flow "^0.0.7" 8317 + jsx-ast-utils "^3.2.1" 8318 + 8191 8319 eslint-plugin-react-native-globals@^0.1.1: 8192 8320 version "0.1.2" 8193 8321 resolved "https://registry.yarnpkg.com/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz#ee1348bc2ceb912303ce6bdbd22e2f045ea86ea2" ··· 8223 8351 string.prototype.matchall "^4.0.8" 8224 8352 8225 8353 eslint-plugin-testing-library@^5.0.1: 8226 - version "5.10.2" 8227 - resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.10.2.tgz#12f231ad9b52b6aef45c801fd00aa129a932e0c2" 8228 - integrity sha512-f1DmDWcz5SDM+IpCkEX0lbFqrrTs8HRsEElzDEqN/EBI0hpRj8Cns5+IVANXswE8/LeybIJqPAOQIFu2j5Y5sw== 8354 + version "5.10.3" 8355 + resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.10.3.tgz#e613fbaf9a145e9eef115d080b32cb488fae622e" 8356 + integrity sha512-0yhsKFsjHLud5PM+f2dWr9K3rqYzMy4cSHs3lcmFYMa1CdSzRvHGgXvsFarBjZ41gU8jhTdMIkg8jHLxGJqLqw== 8229 8357 dependencies: 8230 - "@typescript-eslint/utils" "^5.43.0" 8358 + "@typescript-eslint/utils" "^5.58.0" 8231 8359 8232 8360 eslint-scope@5.1.1, eslint-scope@^5.1.1: 8233 8361 version "5.1.1" ··· 8237 8365 esrecurse "^4.3.0" 8238 8366 estraverse "^4.1.1" 8239 8367 8240 - eslint-scope@^7.1.1: 8241 - version "7.1.1" 8242 - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" 8243 - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== 8368 + eslint-scope@^7.2.0: 8369 + version "7.2.0" 8370 + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b" 8371 + integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== 8244 8372 dependencies: 8245 8373 esrecurse "^4.3.0" 8246 8374 estraverse "^5.2.0" ··· 8250 8378 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" 8251 8379 integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== 8252 8380 8253 - eslint-visitor-keys@^3.3.0: 8254 - version "3.3.0" 8255 - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" 8256 - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== 8381 + eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.0: 8382 + version "3.4.0" 8383 + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc" 8384 + integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ== 8257 8385 8258 8386 eslint-webpack-plugin@^3.1.1: 8259 8387 version "3.2.0" ··· 8267 8395 schema-utils "^4.0.0" 8268 8396 8269 8397 eslint@^8.19.0, eslint@^8.3.0: 8270 - version "8.36.0" 8271 - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.36.0.tgz#1bd72202200a5492f91803b113fb8a83b11285cf" 8272 - integrity sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw== 8398 + version "8.39.0" 8399 + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.39.0.tgz#7fd20a295ef92d43809e914b70c39fd5a23cf3f1" 8400 + integrity sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og== 8273 8401 dependencies: 8274 8402 "@eslint-community/eslint-utils" "^4.2.0" 8275 8403 "@eslint-community/regexpp" "^4.4.0" 8276 - "@eslint/eslintrc" "^2.0.1" 8277 - "@eslint/js" "8.36.0" 8404 + "@eslint/eslintrc" "^2.0.2" 8405 + "@eslint/js" "8.39.0" 8278 8406 "@humanwhocodes/config-array" "^0.11.8" 8279 8407 "@humanwhocodes/module-importer" "^1.0.1" 8280 8408 "@nodelib/fs.walk" "^1.2.8" ··· 8284 8412 debug "^4.3.2" 8285 8413 doctrine "^3.0.0" 8286 8414 escape-string-regexp "^4.0.0" 8287 - eslint-scope "^7.1.1" 8288 - eslint-visitor-keys "^3.3.0" 8289 - espree "^9.5.0" 8415 + eslint-scope "^7.2.0" 8416 + eslint-visitor-keys "^3.4.0" 8417 + espree "^9.5.1" 8290 8418 esquery "^1.4.2" 8291 8419 esutils "^2.0.2" 8292 8420 fast-deep-equal "^3.1.3" ··· 8312 8440 strip-json-comments "^3.1.0" 8313 8441 text-table "^0.2.0" 8314 8442 8315 - espree@^9.5.0: 8316 - version "9.5.0" 8317 - resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.0.tgz#3646d4e3f58907464edba852fa047e6a27bdf113" 8318 - integrity sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw== 8443 + espree@^9.5.1: 8444 + version "9.5.1" 8445 + resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.1.tgz#4f26a4d5f18905bf4f2e0bd99002aab807e96dd4" 8446 + integrity sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg== 8319 8447 dependencies: 8320 8448 acorn "^8.8.0" 8321 8449 acorn-jsx "^5.3.2" 8322 - eslint-visitor-keys "^3.3.0" 8450 + eslint-visitor-keys "^3.4.0" 8323 8451 8324 8452 esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: 8325 8453 version "4.0.1" ··· 8505 8633 uuid "^3.3.2" 8506 8634 8507 8635 expo-dev-client@~2.1.1: 8508 - version "2.1.5" 8509 - resolved "https://registry.yarnpkg.com/expo-dev-client/-/expo-dev-client-2.1.5.tgz#a0f0a7e319c09813a001c9df1935adef4eb378d5" 8510 - integrity sha512-Xcz+4cQhuUgbQ3krEGqjeC6rwVIZsCnOWLHQyuHuiKGtJLJ6CfKHyuCPY53b7c0DI7ThWafKMD3vc78E7ux3TQ== 8636 + version "2.1.6" 8637 + resolved "https://registry.yarnpkg.com/expo-dev-client/-/expo-dev-client-2.1.6.tgz#b5f614dfcdd2793afda3d57e7fcadc7507ab8158" 8638 + integrity sha512-6XJS+giOUBA1onRFsT4rtaTkG96cw0tBrnn8LEW5lAM96mN/bl1IZsmyUmLgKfpE40lqvc9ZuYN3Uv2EwTGS/Q== 8511 8639 dependencies: 8512 - expo-dev-launcher "2.1.5" 8513 - expo-dev-menu "2.1.3" 8640 + expo-dev-launcher "2.1.6" 8641 + expo-dev-menu "2.1.4" 8514 8642 expo-dev-menu-interface "1.1.1" 8515 8643 expo-manifests "~0.5.0" 8516 8644 expo-updates-interface "~0.9.0" 8517 8645 8518 - expo-dev-launcher@2.1.5: 8519 - version "2.1.5" 8520 - resolved "https://registry.yarnpkg.com/expo-dev-launcher/-/expo-dev-launcher-2.1.5.tgz#1ed3a407ac8a8f83cd92b0c06e7dcfdfc2dcaf1f" 8521 - integrity sha512-zwQ21JBEpL1FCTlJrPv3cOaDH9UN7MDPPx8k1j9i4ZxRMdLLYIDmgGiP/oz5dcLf4Z1yi3Ofur42eDYDkKgRlQ== 8646 + expo-dev-launcher@2.1.6: 8647 + version "2.1.6" 8648 + resolved "https://registry.yarnpkg.com/expo-dev-launcher/-/expo-dev-launcher-2.1.6.tgz#4be192cfae397b2024947a437c5b65d154270c1b" 8649 + integrity sha512-fk2Vb7sJgk++CFfwxuL5A8yZXUghqTOZy0fXqpYBJlskSq2sQr8LPoOrqxEQhnA06/CEzS2OC6FTFo+aY9UkBQ== 8522 8650 dependencies: 8523 - expo-dev-menu "2.1.3" 8651 + expo-dev-menu "2.1.4" 8524 8652 resolve-from "^5.0.0" 8525 8653 semver "^7.3.5" 8526 8654 ··· 8529 8657 resolved "https://registry.yarnpkg.com/expo-dev-menu-interface/-/expo-dev-menu-interface-1.1.1.tgz#8a0d979f62d9a192696f66a77f75d8fab79e604b" 8530 8658 integrity sha512-doT+7WrSBnxCcTGZw9QIEZoL+43U4RywbG8XZwbhkcsFWGsh9scp0y/bv3ieFHxRtIdImxbxOoYh7fy1O6g28w== 8531 8659 8532 - expo-dev-menu@2.1.3: 8533 - version "2.1.3" 8534 - resolved "https://registry.yarnpkg.com/expo-dev-menu/-/expo-dev-menu-2.1.3.tgz#e349d157b284e68c3eebec924c9bdc2f22174dbf" 8535 - integrity sha512-meQ3irhGNGyx6jKEpHy18WDS7on0iAJSmDnhT3+Jx55Ya+hdIvebF+aHDd4TrE/C5/Hlsn9/Fpm8bFAgmC1xpw== 8660 + expo-dev-menu@2.1.4: 8661 + version "2.1.4" 8662 + resolved "https://registry.yarnpkg.com/expo-dev-menu/-/expo-dev-menu-2.1.4.tgz#8bf8ae605d75199a72b603d7ac246e853b8404ca" 8663 + integrity sha512-T9YPrfo3M+tf4kH61wp36QI2XU2FxeG7EMYg1bcF4BjYx4fUs6i/QvxJ32o5eB+96fXraG2bhiv0Q2QlYWU8Tg== 8536 8664 dependencies: 8537 8665 expo-dev-menu-interface "1.1.1" 8538 8666 semver "^7.3.5" ··· 8868 8996 integrity sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w== 8869 8997 8870 8998 fast-xml-parser@^4.0.12: 8871 - version "4.1.3" 8872 - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.1.3.tgz#0254ad0d4d27f07e6b48254b068c0c137488dd97" 8873 - integrity sha512-LsNDahCiCcJPe8NO7HijcnukHB24tKbfDDA5IILx9dmW3Frb52lhbeX6MPNUSvyGNfav2VTYpJ/OqkRoVLrh2Q== 8999 + version "4.2.2" 9000 + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.2.tgz#cb7310d1e9cf42d22c687b0fae41f3c926629368" 9001 + integrity sha512-DLzIPtQqmvmdq3VUKR7T6omPK/VCRNqgFlGtbESfyhcH2R4I8EzK1/K6E8PkRCK2EabWrUHK32NjYRbEFnnz0Q== 8874 9002 dependencies: 8875 9003 strnum "^1.0.5" 8876 9004 ··· 9109 9237 integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== 9110 9238 9111 9239 flow-parser@0.*: 9112 - version "0.202.0" 9113 - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.202.0.tgz#534178266d3ceec5368415e59990db97eece5bd0" 9114 - integrity sha512-ZiXxSIXK3zPmY3zrzCofFonM2T+/3Jz5QZKJyPVtUERQEJUnYkXBQ+0H3FzyqiyJs+VXqb/UNU6/K6sziVYdxw== 9240 + version "0.205.0" 9241 + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.205.0.tgz#8756173b6488dedc31ab838e80c8f008d7a44e05" 9242 + integrity sha512-ZJ6VuLe/BoqeI4GsF+ZuzlpfGi3FCnBrb4xDYhgEJxRt7SAj3ibRuRSsuJSRcY+lQhPZRPNbNWiQqFMxramUzw== 9115 9243 9116 9244 flow-parser@^0.185.0: 9117 9245 version "0.185.2" ··· 9228 9356 jsonfile "^6.0.1" 9229 9357 universalify "^2.0.0" 9230 9358 9231 - fs-extra@^4.0.2: 9232 - version "4.0.3" 9233 - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" 9234 - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== 9359 + fs-extra@^11.0.0: 9360 + version "11.1.1" 9361 + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" 9362 + integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== 9235 9363 dependencies: 9236 - graceful-fs "^4.1.2" 9237 - jsonfile "^4.0.0" 9238 - universalify "^0.1.0" 9364 + graceful-fs "^4.2.0" 9365 + jsonfile "^6.0.1" 9366 + universalify "^2.0.0" 9239 9367 9240 9368 fs-extra@^8.1.0, fs-extra@~8.1.0: 9241 9369 version "8.1.0" ··· 9293 9421 es-abstract "^1.19.0" 9294 9422 functions-have-names "^1.2.2" 9295 9423 9296 - functions-have-names@^1.2.2: 9424 + functions-have-names@^1.2.2, functions-have-names@^1.2.3: 9297 9425 version "1.2.3" 9298 9426 resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" 9299 9427 integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== ··· 9786 9914 minimist "^1.2.5" 9787 9915 9788 9916 html-webpack-plugin@^5.5.0: 9789 - version "5.5.0" 9790 - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz#c3911936f57681c1f9f4d8b68c158cd9dfe52f50" 9791 - integrity sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw== 9917 + version "5.5.1" 9918 + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.1.tgz#826838e31b427f5f7f30971f8d8fa2422dfa6763" 9919 + integrity sha512-cTUzZ1+NqjGEKjmVgZKLMdiFg3m9MdRXkZW2OEe69WYVi5ONLMmlnSZdXzGGMOq0C8jGDrL6EWyEDDUioHO/pA== 9792 9920 dependencies: 9793 9921 "@types/html-minifier-terser" "^6.0.0" 9794 9922 html-minifier-terser "^6.0.2" ··· 9960 10088 integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== 9961 10089 9962 10090 immer@^9.0.7: 9963 - version "9.0.19" 9964 - resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.19.tgz#67fb97310555690b5f9cd8380d38fc0aabb6b38b" 9965 - integrity sha512-eY+Y0qcsB4TZKwgQzLaE/lqYMlKhv5J9dyd2RhhtGhNo2njPXDqU9XPfcNfa3MIDsdtZt5KlkIsirlo4dHsWdQ== 10091 + version "9.0.21" 10092 + resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" 10093 + integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== 9966 10094 9967 10095 import-fresh@^2.0.0: 9968 10096 version "2.0.0" ··· 10183 10311 ci-info "^2.0.0" 10184 10312 10185 10313 is-core-module@^2.11.0, is-core-module@^2.9.0: 10186 - version "2.11.0" 10187 - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" 10188 - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== 10314 + version "2.12.0" 10315 + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4" 10316 + integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ== 10189 10317 dependencies: 10190 10318 has "^1.0.3" 10191 10319 ··· 11518 11646 resolved "https://registry.yarnpkg.com/jimp-compact/-/jimp-compact-0.16.1.tgz#9582aea06548a2c1e04dd148d7c3ab92075aefa3" 11519 11647 integrity sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww== 11520 11648 11649 + jiti@^1.18.2: 11650 + version "1.18.2" 11651 + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.18.2.tgz#80c3ef3d486ebf2450d9335122b32d121f2a83cd" 11652 + integrity sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg== 11653 + 11521 11654 joi@^17.2.1: 11522 - version "17.8.4" 11523 - resolved "https://registry.yarnpkg.com/joi/-/joi-17.8.4.tgz#f2d91ab8acd3cca4079ba70669c65891739234aa" 11524 - integrity sha512-jjdRHb5WtL+KgSHvOULQEPPv4kcl+ixd1ybOFQq3rWLgEEqc03QMmilodL0GVJE14U/SQDXkUhQUSZANGDH/AA== 11655 + version "17.9.2" 11656 + resolved "https://registry.yarnpkg.com/joi/-/joi-17.9.2.tgz#8b2e4724188369f55451aebd1d0b1d9482470690" 11657 + integrity sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw== 11525 11658 dependencies: 11526 11659 "@hapi/hoek" "^9.0.0" 11527 11660 "@hapi/topo" "^5.0.0" ··· 11557 11690 easy-stack "^1.0.1" 11558 11691 11559 11692 js-sdsl@^4.1.4: 11560 - version "4.3.0" 11561 - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711" 11562 - integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== 11693 + version "4.4.0" 11694 + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.0.tgz#8b437dbe642daa95760400b602378ed8ffea8430" 11695 + integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg== 11563 11696 11564 11697 js-sha256@^0.9.0: 11565 11698 version "0.9.0" ··· 11692 11825 integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== 11693 11826 11694 11827 json-cycle@^1.3.0: 11695 - version "1.3.0" 11696 - resolved "https://registry.yarnpkg.com/json-cycle/-/json-cycle-1.3.0.tgz#c4f6f7d926c2979012cba173b06f9cae9e866d3f" 11697 - integrity sha512-FD/SedD78LCdSvJaOUQAXseT8oQBb5z6IVYaQaCrVUlu9zOAr1BDdKyVYQaSD/GDsAMrXpKcOyBD4LIl8nfjHw== 11828 + version "1.5.0" 11829 + resolved "https://registry.yarnpkg.com/json-cycle/-/json-cycle-1.5.0.tgz#b1f1d976eee16cef51d5f3d3b3caece3e90ba23a" 11830 + integrity sha512-GOehvd5PO2FeZ5T4c+RxobeT5a1PiGpF4u9/3+UvrMU4bhnVqzJY7hm39wg8PDCqkU91fWGH8qjWR4bn+wgq9w== 11698 11831 11699 11832 json-parse-better-errors@^1.0.1: 11700 11833 version "1.0.2" ··· 11794 11927 ms "^2.1.1" 11795 11928 semver "^5.6.0" 11796 11929 11797 - "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3: 11930 + "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1, jsx-ast-utils@^3.3.3: 11798 11931 version "3.3.3" 11799 11932 resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" 11800 11933 integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== ··· 11925 12058 dependencies: 11926 12059 immediate "~3.0.5" 11927 12060 11928 - lilconfig@^2.0.3, lilconfig@^2.0.5, lilconfig@^2.0.6: 12061 + lilconfig@^2.0.3, lilconfig@^2.0.5, lilconfig@^2.1.0: 11929 12062 version "2.1.0" 11930 12063 resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" 11931 12064 integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== ··· 11943 12076 uc.micro "^1.0.1" 11944 12077 11945 12078 linkifyjs@^4.1.0: 11946 - version "4.1.0" 11947 - resolved "https://registry.yarnpkg.com/linkifyjs/-/linkifyjs-4.1.0.tgz#0460bfcc37d3348fa80e078d92e7bbc82588db15" 11948 - integrity sha512-Ffv8VoY3+ixI1b3aZ3O+jM6x17cOsgwfB1Wq7pkytbo1WlyRp6ZO0YDMqiWT/gQPY/CmtiGuKfzDIVqxh1aCTA== 12079 + version "4.1.1" 12080 + resolved "https://registry.yarnpkg.com/linkifyjs/-/linkifyjs-4.1.1.tgz#73d427e3bbaaf4ca8e71c589ad4ffda11a9a5fde" 12081 + integrity sha512-zFN/CTVmbcVef+WaDXT63dNzzkfRBKT1j464NJQkV7iSgJU0sLBus9W0HBwnXK13/hf168pbrx/V/bjEHOXNHA== 11949 12082 11950 12083 loader-runner@^4.2.0: 11951 12084 version "4.3.0" ··· 12280 12413 integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== 12281 12414 12282 12415 memfs@^3.1.2, memfs@^3.4.3: 12283 - version "3.4.13" 12284 - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.13.tgz#248a8bd239b3c240175cd5ec548de5227fc4f345" 12285 - integrity sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg== 12416 + version "3.5.1" 12417 + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.5.1.tgz#f0cd1e2bfaef58f6fe09bfb9c2288f07fea099ec" 12418 + integrity sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA== 12286 12419 dependencies: 12287 12420 fs-monkey "^1.0.3" 12288 12421 ··· 12416 12549 dependencies: 12417 12550 uglify-es "^3.1.9" 12418 12551 12419 - metro-react-native-babel-preset@0.73.9: 12552 + metro-react-native-babel-preset@0.73.9, metro-react-native-babel-preset@^0.73.7: 12420 12553 version "0.73.9" 12421 12554 resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.9.tgz#ef54637dd20f025197beb49e71309a9c539e73e2" 12422 12555 integrity sha512-AoD7v132iYDV4K78yN2OLgTPwtAKn0XlD2pOhzyBxiI8PeXzozhbKyPV7zUOJUPETj+pcEVfuYj5ZN/8+bhbCw== ··· 12460 12593 "@babel/template" "^7.0.0" 12461 12594 react-refresh "^0.4.0" 12462 12595 12463 - metro-react-native-babel-preset@^0.73.7: 12464 - version "0.73.8" 12465 - resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.8.tgz#04908f264f5d99c944ae20b5b11f659431328431" 12466 - integrity sha512-spNrcQJTbQntEIqJnCA6yL4S+dzV9fXCk7U+Rm7yJasZ4o4Frn7jP23isu7FlZIp1Azx1+6SbP7SgQM+IP5JgQ== 12467 - dependencies: 12468 - "@babel/core" "^7.20.0" 12469 - "@babel/plugin-proposal-async-generator-functions" "^7.0.0" 12470 - "@babel/plugin-proposal-class-properties" "^7.0.0" 12471 - "@babel/plugin-proposal-export-default-from" "^7.0.0" 12472 - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" 12473 - "@babel/plugin-proposal-object-rest-spread" "^7.0.0" 12474 - "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" 12475 - "@babel/plugin-proposal-optional-chaining" "^7.0.0" 12476 - "@babel/plugin-syntax-dynamic-import" "^7.0.0" 12477 - "@babel/plugin-syntax-export-default-from" "^7.0.0" 12478 - "@babel/plugin-syntax-flow" "^7.18.0" 12479 - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0" 12480 - "@babel/plugin-syntax-optional-chaining" "^7.0.0" 12481 - "@babel/plugin-transform-arrow-functions" "^7.0.0" 12482 - "@babel/plugin-transform-async-to-generator" "^7.0.0" 12483 - "@babel/plugin-transform-block-scoping" "^7.0.0" 12484 - "@babel/plugin-transform-classes" "^7.0.0" 12485 - "@babel/plugin-transform-computed-properties" "^7.0.0" 12486 - "@babel/plugin-transform-destructuring" "^7.0.0" 12487 - "@babel/plugin-transform-flow-strip-types" "^7.0.0" 12488 - "@babel/plugin-transform-function-name" "^7.0.0" 12489 - "@babel/plugin-transform-literals" "^7.0.0" 12490 - "@babel/plugin-transform-modules-commonjs" "^7.0.0" 12491 - "@babel/plugin-transform-named-capturing-groups-regex" "^7.0.0" 12492 - "@babel/plugin-transform-parameters" "^7.0.0" 12493 - "@babel/plugin-transform-react-display-name" "^7.0.0" 12494 - "@babel/plugin-transform-react-jsx" "^7.0.0" 12495 - "@babel/plugin-transform-react-jsx-self" "^7.0.0" 12496 - "@babel/plugin-transform-react-jsx-source" "^7.0.0" 12497 - "@babel/plugin-transform-runtime" "^7.0.0" 12498 - "@babel/plugin-transform-shorthand-properties" "^7.0.0" 12499 - "@babel/plugin-transform-spread" "^7.0.0" 12500 - "@babel/plugin-transform-sticky-regex" "^7.0.0" 12501 - "@babel/plugin-transform-template-literals" "^7.0.0" 12502 - "@babel/plugin-transform-typescript" "^7.5.0" 12503 - "@babel/plugin-transform-unicode-regex" "^7.0.0" 12504 - "@babel/template" "^7.0.0" 12505 - react-refresh "^0.4.0" 12506 - 12507 12596 metro-react-native-babel-transformer@0.73.9: 12508 12597 version "0.73.9" 12509 12598 resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.9.tgz#4f4f0cfa5119bab8b53e722fabaf90687d0cbff0" ··· 12780 12869 yallist "^4.0.0" 12781 12870 12782 12871 minipass@^4.0.0: 12783 - version "4.2.5" 12784 - resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.5.tgz#9e0e5256f1e3513f8c34691dd68549e85b2c8ceb" 12785 - integrity sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q== 12872 + version "4.2.8" 12873 + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" 12874 + integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== 12786 12875 12787 12876 minizlib@^2.1.1: 12788 12877 version "2.1.2" ··· 12828 12917 integrity sha512-lzJtxOWgj3Dp2HeXviInV3ZRY4YhThzRHXuy90oKXDH2g+ymJGIts4bdjb7NQuSi34V25cMZoQX7TkHJQuKLOQ== 12829 12918 12830 12919 mobx@^6.6.1: 12831 - version "6.8.0" 12832 - resolved "https://registry.yarnpkg.com/mobx/-/mobx-6.8.0.tgz#59051755fdb5c8a9f3f2e0a9b6abaf86bab7f843" 12833 - integrity sha512-+o/DrHa4zykFMSKfS8Z+CPSEg5LW9tSNGTuN8o6MF1GKxlfkSHSeJn5UtgxvPkGgaouplnrLXCF+duAsmm6FHQ== 12920 + version "6.9.0" 12921 + resolved "https://registry.yarnpkg.com/mobx/-/mobx-6.9.0.tgz#8a894c26417c05bed2cf7499322e589ee9787397" 12922 + integrity sha512-HdKewQEREEJgsWnErClfbFoVebze6rGazxFLU/XUyrII8dORfVszN1V0BMRnQSzcgsNNtkX8DHj3nC6cdWE9YQ== 12834 12923 12835 12924 moment@^2.19.3: 12836 12925 version "2.29.4" ··· 12906 12995 resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" 12907 12996 integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== 12908 12997 12909 - nanoid@^3.1.23, nanoid@^3.3.1, nanoid@^3.3.4: 12910 - version "3.3.4" 12911 - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 12912 - integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 12998 + nanoid@^3.1.23, nanoid@^3.3.1, nanoid@^3.3.6: 12999 + version "3.3.6" 13000 + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" 13001 + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== 12913 13002 12914 13003 nanomatch@^1.2.9: 12915 13004 version "1.2.13" ··· 12989 13078 integrity sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw== 12990 13079 12991 13080 node-abi@^3.3.0: 12992 - version "3.33.0" 12993 - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.33.0.tgz#8b23a0cec84e1c5f5411836de6a9b84bccf26e7f" 12994 - integrity sha512-7GGVawqyHF4pfd0YFybhv/eM9JwTtPqx0mAanQ146O3FlSh3pA24zf9IRQTOsfTSqXTNzPSP5iagAJ94jjuVog== 13081 + version "3.40.0" 13082 + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.40.0.tgz#51d8ed44534f70ff1357dfbc3a89717b1ceac1b4" 13083 + integrity sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA== 12995 13084 dependencies: 12996 13085 semver "^7.3.5" 12997 13086 ··· 13026 13115 resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" 13027 13116 integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== 13028 13117 13118 + node-gyp-build-optional-packages@5.0.3: 13119 + version "5.0.3" 13120 + resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz#92a89d400352c44ad3975010368072b41ad66c17" 13121 + integrity sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA== 13122 + 13029 13123 node-html-parser@^5.2.0: 13030 13124 version "5.4.2" 13031 13125 resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-5.4.2.tgz#93e004038c17af80226c942336990a0eaed8136a" ··· 13039 13133 resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" 13040 13134 integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== 13041 13135 13042 - node-ipc@^9.2.1: 13136 + node-ipc@9.2.1: 13043 13137 version "9.2.1" 13044 13138 resolved "https://registry.yarnpkg.com/node-ipc/-/node-ipc-9.2.1.tgz#b32f66115f9d6ce841dc4ec2009d6a733f98bb6b" 13045 13139 integrity sha512-mJzaM6O3xHf9VT8BULvJSbdVbmHUKRNOH7zDDkCrA1/T+CVjq2WVIDfLt0azZRXpgArJtl3rtmEozrbXPZ9GaQ== ··· 13159 13253 integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== 13160 13254 13161 13255 nwsapi@^2.2.0, nwsapi@^2.2.2: 13162 - version "2.2.2" 13163 - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" 13164 - integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== 13256 + version "2.2.4" 13257 + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.4.tgz#fd59d5e904e8e1f03c25a7d5a15cfa16c714a1e5" 13258 + integrity sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g== 13165 13259 13166 13260 ob1@0.73.9: 13167 13261 version "0.73.9" ··· 13246 13340 es-abstract "^1.20.4" 13247 13341 13248 13342 object.getownpropertydescriptors@^2.1.0: 13249 - version "2.1.5" 13250 - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz#db5a9002489b64eef903df81d6623c07e5b4b4d3" 13251 - integrity sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw== 13343 + version "2.1.6" 13344 + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz#5e5c384dd209fa4efffead39e3a0512770ccc312" 13345 + integrity sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ== 13252 13346 dependencies: 13253 13347 array.prototype.reduce "^1.0.5" 13254 13348 call-bind "^1.0.2" 13255 - define-properties "^1.1.4" 13256 - es-abstract "^1.20.4" 13349 + define-properties "^1.2.0" 13350 + es-abstract "^1.21.2" 13351 + safe-array-concat "^1.0.0" 13257 13352 13258 13353 object.hasown@^1.1.2: 13259 13354 version "1.1.2" ··· 13808 13903 process-warning "^2.0.0" 13809 13904 13810 13905 pino-std-serializers@^6.0.0: 13811 - version "6.1.0" 13812 - resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-6.1.0.tgz#307490fd426eefc95e06067e85d8558603e8e844" 13813 - integrity sha512-KO0m2f1HkrPe9S0ldjx7za9BJjeHqBku5Ch8JyxETxT8dEFGz1PwgrHaOQupVYitpzbFSYm7nnljxD8dik2c+g== 13906 + version "6.2.0" 13907 + resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-6.2.0.tgz#169048c0df3f61352fce56aeb7fb962f1b66ab43" 13908 + integrity sha512-IWgSzUL8X1w4BIWTwErRgtV8PyOGOOi60uqv0oKuS/fOA8Nco/OeI6lBuc4dyP8MMfdFwyHqTMcBIA7nDiqEqA== 13814 13909 13815 13910 pino@^8.0.0, pino@^8.11.0, pino@^8.6.1: 13816 13911 version "8.11.0" ··· 14043 14138 dependencies: 14044 14139 postcss-value-parser "^4.2.0" 14045 14140 14046 - postcss-import@^14.1.0: 14047 - version "14.1.0" 14048 - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" 14049 - integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== 14141 + postcss-import@^15.1.0: 14142 + version "15.1.0" 14143 + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" 14144 + integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== 14050 14145 dependencies: 14051 14146 postcss-value-parser "^4.0.0" 14052 14147 read-cache "^1.0.0" ··· 14057 14152 resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" 14058 14153 integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== 14059 14154 14060 - postcss-js@^4.0.0: 14155 + postcss-js@^4.0.1: 14061 14156 version "4.0.1" 14062 14157 resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" 14063 14158 integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== ··· 14072 14167 "@csstools/postcss-progressive-custom-properties" "^1.1.0" 14073 14168 postcss-value-parser "^4.2.0" 14074 14169 14075 - postcss-load-config@^3.1.4: 14076 - version "3.1.4" 14077 - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855" 14078 - integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== 14170 + postcss-load-config@^4.0.1: 14171 + version "4.0.1" 14172 + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz#152383f481c2758274404e4962743191d73875bd" 14173 + integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA== 14079 14174 dependencies: 14080 14175 lilconfig "^2.0.5" 14081 - yaml "^1.10.2" 14176 + yaml "^2.1.1" 14082 14177 14083 14178 postcss-loader@^6.2.1: 14084 14179 version "6.2.1" ··· 14177 14272 dependencies: 14178 14273 icss-utils "^5.0.0" 14179 14274 14180 - postcss-nested@6.0.0: 14181 - version "6.0.0" 14182 - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.0.tgz#1572f1984736578f360cffc7eb7dca69e30d1735" 14183 - integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w== 14275 + postcss-nested@^6.0.1: 14276 + version "6.0.1" 14277 + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c" 14278 + integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== 14184 14279 dependencies: 14185 - postcss-selector-parser "^6.0.10" 14280 + postcss-selector-parser "^6.0.11" 14186 14281 14187 14282 postcss-nesting@^10.2.0: 14188 14283 version "10.2.0" ··· 14386 14481 postcss-selector-parser "^6.0.10" 14387 14482 14388 14483 postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: 14389 - version "6.0.11" 14390 - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" 14391 - integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== 14484 + version "6.0.12" 14485 + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz#2efae5ffab3c8bfb2b7fbf0c426e3bca616c4abb" 14486 + integrity sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg== 14392 14487 dependencies: 14393 14488 cssesc "^3.0.0" 14394 14489 util-deprecate "^1.0.2" ··· 14421 14516 picocolors "^0.2.1" 14422 14517 source-map "^0.6.1" 14423 14518 14424 - postcss@^8.0.9, postcss@^8.3.5, postcss@^8.4.19, postcss@^8.4.4: 14425 - version "8.4.21" 14426 - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" 14427 - integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== 14519 + postcss@^8.3.5, postcss@^8.4.19, postcss@^8.4.23, postcss@^8.4.4: 14520 + version "8.4.23" 14521 + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.23.tgz#df0aee9ac7c5e53e1075c24a3613496f9e6552ab" 14522 + integrity sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA== 14428 14523 dependencies: 14429 - nanoid "^3.3.4" 14524 + nanoid "^3.3.6" 14430 14525 picocolors "^1.0.0" 14431 14526 source-map-js "^1.0.2" 14432 14527 ··· 14493 14588 fast-diff "^1.1.2" 14494 14589 14495 14590 prettier@^2.8.3: 14496 - version "2.8.4" 14497 - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" 14498 - integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== 14591 + version "2.8.8" 14592 + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" 14593 + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== 14499 14594 14500 14595 pretty-bytes@5.6.0, pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: 14501 14596 version "5.6.0" ··· 14554 14649 integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 14555 14650 14556 14651 process-warning@^2.0.0: 14557 - version "2.1.0" 14558 - resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-2.1.0.tgz#1e60e3bfe8183033bbc1e702c2da74f099422d1a" 14559 - integrity sha512-9C20RLxrZU/rFnxWncDkuF6O999NdIf3E1ws4B0ZeY3sRVPzWBMsYDE2lxjxhiXxg464cQTgKUGm8/i6y2YGXg== 14652 + version "2.2.0" 14653 + resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-2.2.0.tgz#008ec76b579820a8e5c35d81960525ca64feb626" 14654 + integrity sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg== 14560 14655 14561 14656 process@^0.11.10: 14562 14657 version "0.11.10" ··· 14642 14737 prosemirror-transform "^1.0.0" 14643 14738 14644 14739 prosemirror-dropcursor@^1.5.0: 14645 - version "1.7.1" 14646 - resolved "https://registry.yarnpkg.com/prosemirror-dropcursor/-/prosemirror-dropcursor-1.7.1.tgz#b6921ef866ca95b6f6c8b197767f60dc39598416" 14647 - integrity sha512-GmWk9bAwhfHwA8xmJhBFjPcebxUG9zAPYtqpIr7NTDigWZZEJCgUYyUQeqgyscLr8ZHoh9aeprX9kW7BihUT+w== 14740 + version "1.8.0" 14741 + resolved "https://registry.yarnpkg.com/prosemirror-dropcursor/-/prosemirror-dropcursor-1.8.0.tgz#7bfa11925e0da41d1db869954fe51e1aa55158e4" 14742 + integrity sha512-TZMitR8nlp9Xh42pDYGcWopCoFPmJduoyGJ7FjYM2/7gZKnfD41TIaZN5Q1cQjm6Fm/P5vk/DpVYFhS8kDdigw== 14648 14743 dependencies: 14649 14744 prosemirror-state "^1.0.0" 14650 14745 prosemirror-transform "^1.1.0" ··· 14661 14756 prosemirror-view "^1.0.0" 14662 14757 14663 14758 prosemirror-history@^1.0.0, prosemirror-history@^1.3.0: 14664 - version "1.3.0" 14665 - resolved "https://registry.yarnpkg.com/prosemirror-history/-/prosemirror-history-1.3.0.tgz#bf5a1ff7759aca759ddf0c722c2fa5b14fb0ddc1" 14666 - integrity sha512-qo/9Wn4B/Bq89/YD+eNWFbAytu6dmIM85EhID+fz9Jcl9+DfGEo8TTSrRhP15+fFEoaPqpHSxlvSzSEbmlxlUA== 14759 + version "1.3.1" 14760 + resolved "https://registry.yarnpkg.com/prosemirror-history/-/prosemirror-history-1.3.1.tgz#d0dba9ed1cc2bce55a45ce9c7c8224e641f276b8" 14761 + integrity sha512-YMV/IWBZ+LZSfaNcBbPcaQUiAiJRYFyJW2aapuNzL8nhIRsI7fIO0ykJFSe802+mWeoTsVJ1jxvRWPYqaUqljQ== 14667 14762 dependencies: 14668 14763 prosemirror-state "^1.2.2" 14669 14764 prosemirror-transform "^1.0.0" 14765 + prosemirror-view "^1.31.0" 14670 14766 rope-sequence "^1.3.0" 14671 14767 14672 14768 prosemirror-inputrules@^1.2.0: ··· 14747 14843 prosemirror-view "^1.13.3" 14748 14844 14749 14845 prosemirror-trailing-node@^2.0.2: 14750 - version "2.0.3" 14751 - resolved "https://registry.yarnpkg.com/prosemirror-trailing-node/-/prosemirror-trailing-node-2.0.3.tgz#213fc0e545a434ff3c37b5218a0de69561bf3892" 14752 - integrity sha512-lGrjMrn97KWkjQSW/FjdvnhJmqFACmQIyr6lKYApvHitDnKsCoZz6XzrHB7RZYHni/0NxQmZ01p/2vyK2SkvaA== 14846 + version "2.0.4" 14847 + resolved "https://registry.yarnpkg.com/prosemirror-trailing-node/-/prosemirror-trailing-node-2.0.4.tgz#60febdeb947550ee93a224f2e56dbd5cb2cdd607" 14848 + integrity sha512-0Yl9w7IdHkaCdqR+NE3FOucePME4OmiGcybnF1iasarEILP5U8+4xTnl53yafULjmwcg1SrSG65Hg7Zk2H2v3g== 14753 14849 dependencies: 14754 - "@babel/runtime" "^7.13.10" 14755 - "@remirror/core-constants" "^2.0.0" 14756 - "@remirror/core-helpers" "^2.0.1" 14850 + "@babel/runtime" "^7.21.0" 14851 + "@remirror/core-constants" "^2.0.1" 14852 + "@remirror/core-helpers" "^2.0.2" 14757 14853 escape-string-regexp "^4.0.0" 14758 14854 14759 14855 prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transform@^1.2.1, prosemirror-transform@^1.7.0: ··· 14763 14859 dependencies: 14764 14860 prosemirror-model "^1.0.0" 14765 14861 14766 - prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.13.3, prosemirror-view@^1.27.0, prosemirror-view@^1.28.2: 14767 - version "1.30.2" 14768 - resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.30.2.tgz#57a9d15c5baa454f0d0f4a3028ddbd9be1e8ed9b" 14769 - integrity sha512-nTNzZvalQf9kHeEyO407LiV6DoOs/pXsid88UqW9Vvybo4ozJW2PJhkfZUxCUF1hR/9vJLdhxX84wuw9P9HsXA== 14862 + prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.13.3, prosemirror-view@^1.27.0, prosemirror-view@^1.28.2, prosemirror-view@^1.31.0: 14863 + version "1.31.1" 14864 + resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.31.1.tgz#706611f134018a4dd832110911bdd908e3af92c1" 14865 + integrity sha512-9NKJdXnGV4+1qFRi16XFZxpnx6zNok9MEj/HElkqUJ1HtOyKOICffKxqoXUUCAdHrrP+yMDvdXc6wT7GGWBL3A== 14770 14866 dependencies: 14771 14867 prosemirror-model "^1.16.0" 14772 14868 prosemirror-state "^1.0.0" ··· 14809 14905 integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== 14810 14906 14811 14907 pure-rand@^6.0.0: 14812 - version "6.0.1" 14813 - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.1.tgz#31207dddd15d43f299fdcdb2f572df65030c19af" 14814 - integrity sha512-t+x1zEHDjBwkDGY5v5ApnZ/utcd4XYDiJsaQQoptTXgUXX95sDg1elCdJghzicm7n2mbCBJ3uYWr6M22SO19rg== 14908 + version "6.0.2" 14909 + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.2.tgz#a9c2ddcae9b68d736a8163036f088a2781c8b306" 14910 + integrity sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ== 14815 14911 14816 14912 q@^1.1.2: 14817 14913 version "1.5.1" ··· 14855 14951 resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" 14856 14952 integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== 14857 14953 14858 - quick-lru@^5.1.1: 14859 - version "5.1.1" 14860 - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" 14861 - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== 14862 - 14863 14954 r2@^2.0.1: 14864 14955 version "2.0.1" 14865 14956 resolved "https://registry.yarnpkg.com/r2/-/r2-2.0.1.tgz#94cd802ecfce9a622549c8182032d8e4a2b2e612" ··· 14975 15066 text-table "^0.2.0" 14976 15067 14977 15068 react-devtools-core@^4.26.1: 14978 - version "4.27.2" 14979 - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.27.2.tgz#d20fc57e258c656eedabafc2c851d38b33583148" 14980 - integrity sha512-8SzmIkpO87alD7Xr6gWIEa1jHkMjawOZ+6egjazlnjB4UUcbnzGDf/vBJ4BzGuWWEM+pzrxuzsPpcMqlQkYK2g== 15069 + version "4.27.6" 15070 + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.27.6.tgz#e5a613014f7506801ed6c1a97bd0e6316cc9c48a" 15071 + integrity sha512-jeFNhEzcSwpiqmw+zix5IFibNEPmUodICN7ClrlRKGktzO/3FMteMb52l1NRUiz/ABSYt9hOZ9IPgVDrg5pyUw== 14981 15072 dependencies: 14982 15073 shell-quote "^1.6.1" 14983 15074 ws "^7" ··· 15133 15224 integrity sha512-sdmLElNs5PDWqmZmj4/aNH4anyxreaPm61c4ZkRiR8SO/GzLg6KjAbb0e17RmMdnBdD0AIQbS38h/l55YKN4ZA== 15134 15225 15135 15226 react-native-safe-area-context@^4.4.1: 15136 - version "4.5.0" 15137 - resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.5.0.tgz#9208313236e8f49e1920ac1e2a2c975f03aed284" 15138 - integrity sha512-0WORnk9SkREGUg2V7jHZbuN5x4vcxj/1B0QOcXJjdYWrzZHgLcUzYWWIUecUPJh747Mwjt/42RZDOaFn3L8kPQ== 15227 + version "4.5.2" 15228 + resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.5.2.tgz#38438c7a52ce2a6a05fc4de6cd3ee47f78a9366e" 15229 + integrity sha512-oH4/Dm7/PWOOZtFRiA4HE08lsfA948BRq8Fn7TEndYjoDXFoNdbjQRahXzCV8JGP/tv3qrVNeaDE8rmdRRUOlA== 15139 15230 15140 15231 react-native-screens@^3.13.1: 15141 15232 version "3.20.0" ··· 15471 15562 resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" 15472 15563 integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== 15473 15564 15474 - regexp.prototype.flags@^1.4.3: 15475 - version "1.4.3" 15476 - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" 15477 - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== 15565 + regexp.prototype.flags@^1.4.3, regexp.prototype.flags@^1.5.0: 15566 + version "1.5.0" 15567 + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" 15568 + integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== 15478 15569 dependencies: 15479 15570 call-bind "^1.0.2" 15480 - define-properties "^1.1.3" 15481 - functions-have-names "^1.2.2" 15571 + define-properties "^1.2.0" 15572 + functions-have-names "^1.2.3" 15482 15573 15483 15574 regexpu-core@^5.3.1: 15484 15575 version "5.3.2" ··· 15580 15671 integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== 15581 15672 15582 15673 reselect@^4.0.0, reselect@^4.1.7: 15583 - version "4.1.7" 15584 - resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.7.tgz#56480d9ff3d3188970ee2b76527bd94a95567a42" 15585 - integrity sha512-Zu1xbUt3/OPwsXL46hvOOoQrap2azE7ZQbokq61BQfiXvhewsKDwhMeZjTX9sX0nvw1t/U5Audyn1I9P/m9z0A== 15674 + version "4.1.8" 15675 + resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.8.tgz#3f5dc671ea168dccdeb3e141236f69f02eaec524" 15676 + integrity sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ== 15586 15677 15587 15678 resolve-cwd@^3.0.0: 15588 15679 version "3.0.0" ··· 15628 15719 integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== 15629 15720 15630 15721 resolve.exports@^2.0.0: 15631 - version "2.0.1" 15632 - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.1.tgz#cee884cd4e3f355660e501fa3276b27d7ffe5a20" 15633 - integrity sha512-OEJWVeimw8mgQuj3HfkNl4KqRevH7lzeQNaWRPfx0PPse7Jk6ozcsG4FKVgtzDsC1KUF+YlTHh17NcgHOPykLw== 15722 + version "2.0.2" 15723 + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" 15724 + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== 15634 15725 15635 - resolve@^1.1.7, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1: 15636 - version "1.22.1" 15637 - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 15638 - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 15726 + resolve@^1.1.7, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2: 15727 + version "1.22.2" 15728 + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" 15729 + integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== 15639 15730 dependencies: 15640 - is-core-module "^2.9.0" 15731 + is-core-module "^2.11.0" 15641 15732 path-parse "^1.0.7" 15642 15733 supports-preserve-symlinks-flag "^1.0.0" 15643 15734 ··· 15740 15831 glob "7.0.6" 15741 15832 15742 15833 roarr@^7.0.4: 15743 - version "7.14.3" 15744 - resolved "https://registry.yarnpkg.com/roarr/-/roarr-7.14.3.tgz#ff163bf9488222f327ee65cdee18018e790eb645" 15745 - integrity sha512-AvUQY27C6/biXEAyYUXc8ONBtP1cA3MQM88e24Fmsl3LAqtNR309nMaWFALYk7ORTqgGrgrjBJ1vE20DZAc5qA== 15834 + version "7.15.0" 15835 + resolved "https://registry.yarnpkg.com/roarr/-/roarr-7.15.0.tgz#09b792f0cd31b4a7f91030bb1c47550ceec98ee4" 15836 + integrity sha512-CV9WefQfUXTX6wr8CrEMhfNef3sjIt9wNhE/5PNu4tNWsaoDNDXqq+OGn/RW9A1UPb0qc7FQlswXRaJJJsqn8A== 15746 15837 dependencies: 15747 15838 boolean "^3.1.4" 15748 15839 fast-json-stringify "^2.7.10" ··· 15798 15889 tslib "^1.9.0" 15799 15890 15800 15891 rxjs@^7.5.2: 15801 - version "7.8.0" 15802 - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" 15803 - integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== 15892 + version "7.8.1" 15893 + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" 15894 + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== 15804 15895 dependencies: 15805 15896 tslib "^2.1.0" 15806 15897 15898 + safe-array-concat@^1.0.0: 15899 + version "1.0.0" 15900 + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz#2064223cba3c08d2ee05148eedbc563cd6d84060" 15901 + integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ== 15902 + dependencies: 15903 + call-bind "^1.0.2" 15904 + get-intrinsic "^1.2.0" 15905 + has-symbols "^1.0.3" 15906 + isarray "^2.0.5" 15907 + 15807 15908 safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 15808 15909 version "5.1.2" 15809 15910 resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" ··· 15909 16010 ajv "^6.12.4" 15910 16011 ajv-keywords "^3.5.2" 15911 16012 15912 - schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: 15913 - version "3.1.1" 15914 - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" 15915 - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== 16013 + schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.1.2: 16014 + version "3.1.2" 16015 + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.2.tgz#36c10abca6f7577aeae136c804b0c741edeadc99" 16016 + integrity sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg== 15916 16017 dependencies: 15917 16018 "@types/json-schema" "^7.0.8" 15918 16019 ajv "^6.12.5" 15919 16020 ajv-keywords "^3.5.2" 15920 16021 15921 16022 schema-utils@^4.0.0: 15922 - version "4.0.0" 15923 - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7" 15924 - integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg== 16023 + version "4.0.1" 16024 + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.1.tgz#eb2d042df8b01f4b5c276a2dfd41ba0faab72e8d" 16025 + integrity sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ== 15925 16026 dependencies: 15926 16027 "@types/json-schema" "^7.0.9" 15927 - ajv "^8.8.0" 16028 + ajv "^8.9.0" 15928 16029 ajv-formats "^2.1.1" 15929 - ajv-keywords "^5.0.0" 16030 + ajv-keywords "^5.1.0" 15930 16031 15931 16032 select-hose@^2.0.0: 15932 16033 version "2.0.0" ··· 15950 16051 resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" 15951 16052 integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== 15952 16053 15953 - semver@7.3.8, semver@^7.0.0, semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@~7.3.2: 16054 + semver@7.3.8, semver@~7.3.2: 15954 16055 version "7.3.8" 15955 16056 resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" 15956 16057 integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== ··· 15966 16067 version "6.3.0" 15967 16068 resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 15968 16069 integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 16070 + 16071 + semver@^7.0.0, semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: 16072 + version "7.5.0" 16073 + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.0.tgz#ed8c5dc8efb6c629c88b23d41dc9bf40c1d96cd0" 16074 + integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== 16075 + dependencies: 16076 + lru-cache "^6.0.0" 15969 16077 15970 16078 send@0.18.0, send@^0.18.0: 15971 16079 version "0.18.0" ··· 16140 16248 resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" 16141 16249 integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== 16142 16250 16143 - shell-quote@^1.6.1, shell-quote@^1.7.2, shell-quote@^1.7.3: 16251 + shell-quote@1.8.0: 16144 16252 version "1.8.0" 16145 16253 resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.0.tgz#20d078d0eaf71d54f43bd2ba14a1b5b9bfa5c8ba" 16146 16254 integrity sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ== 16147 16255 16256 + shell-quote@^1.6.1, shell-quote@^1.7.2, shell-quote@^1.7.3: 16257 + version "1.8.1" 16258 + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" 16259 + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== 16260 + 16148 16261 side-channel@^1.0.4: 16149 16262 version "1.0.4" 16150 16263 resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" ··· 16210 16323 integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== 16211 16324 16212 16325 slash@^5.0.0: 16213 - version "5.0.0" 16214 - resolved "https://registry.yarnpkg.com/slash/-/slash-5.0.0.tgz#8c18a871096b71ee0e002976a4fe3374991c3074" 16215 - integrity sha512-n6KkmvKS0623igEVj3FF0OZs1gYYJ0o0Hj939yc1fyxl2xt+xYpLnzJB6xBSqOfV9ZFLEWodBBN/heZJahuIJQ== 16326 + version "5.0.1" 16327 + resolved "https://registry.yarnpkg.com/slash/-/slash-5.0.1.tgz#c354c3a49c0d3b4da1cb0bbeb15a85c2a6defa71" 16328 + integrity sha512-ywNzUOiXwetmLvTUiCBZpLi+vxqN3i+zDqjs2HHfUSV3wN4UJxVVKWrS1JZDeiJIeBFNgB5pmioC2g0IUTL+rQ== 16216 16329 16217 16330 slice-ansi@^2.0.0: 16218 16331 version "2.1.0" ··· 16224 16337 is-fullwidth-code-point "^2.0.0" 16225 16338 16226 16339 slugify@^1.3.4: 16227 - version "1.6.5" 16228 - resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.5.tgz#c8f5c072bf2135b80703589b39a3d41451fbe8c8" 16229 - integrity sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ== 16340 + version "1.6.6" 16341 + resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.6.tgz#2d4ac0eacb47add6af9e04d3be79319cbcc7924b" 16342 + integrity sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw== 16230 16343 16231 16344 snapdragon-node@^2.0.1: 16232 16345 version "2.1.1" ··· 16268 16381 websocket-driver "^0.7.4" 16269 16382 16270 16383 sonic-boom@^3.1.0: 16271 - version "3.2.1" 16272 - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-3.2.1.tgz#972ceab831b5840a08a002fa95a672008bda1c38" 16273 - integrity sha512-iITeTHxy3B9FGu8aVdiDXUVAcHMF9Ss0cCsAOo2HfCrmVGT3/DT5oYaeu0M/YKZDlKTvChEyPq0zI9Hf33EX6A== 16384 + version "3.3.0" 16385 + resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-3.3.0.tgz#cffab6dafee3b2bcb88d08d589394198bee1838c" 16386 + integrity sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g== 16274 16387 dependencies: 16275 16388 atomic-sleep "^1.0.0" 16276 16389 ··· 16393 16506 extend-shallow "^3.0.0" 16394 16507 16395 16508 split2@^4.0.0, split2@^4.1.0: 16396 - version "4.1.0" 16397 - resolved "https://registry.yarnpkg.com/split2/-/split2-4.1.0.tgz#101907a24370f85bb782f08adaabe4e281ecf809" 16398 - integrity sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ== 16509 + version "4.2.0" 16510 + resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" 16511 + integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== 16399 16512 16400 16513 split@^1.0.1: 16401 16514 version "1.0.1" ··· 16721 16834 resolved "https://registry.yarnpkg.com/styleq/-/styleq-0.1.3.tgz#8efb2892debd51ce7b31dc09c227ad920decab71" 16722 16835 integrity sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA== 16723 16836 16724 - sucrase@^3.20.0: 16725 - version "3.29.0" 16726 - resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.29.0.tgz#3207c5bc1b980fdae1e539df3f8a8a518236da7d" 16727 - integrity sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A== 16837 + sucrase@^3.20.0, sucrase@^3.32.0: 16838 + version "3.32.0" 16839 + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.32.0.tgz#c4a95e0f1e18b6847127258a75cf360bc568d4a7" 16840 + integrity sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ== 16728 16841 dependencies: 16842 + "@jridgewell/gen-mapping" "^0.3.2" 16729 16843 commander "^4.0.0" 16730 16844 glob "7.1.6" 16731 16845 lines-and-columns "^1.1.6" ··· 16825 16939 integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== 16826 16940 16827 16941 tailwindcss@^3.0.2: 16828 - version "3.2.7" 16829 - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.2.7.tgz#5936dd08c250b05180f0944500c01dce19188c07" 16830 - integrity sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ== 16942 + version "3.3.2" 16943 + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.2.tgz#2f9e35d715fdf0bbf674d90147a0684d7054a2d3" 16944 + integrity sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w== 16831 16945 dependencies: 16946 + "@alloc/quick-lru" "^5.2.0" 16832 16947 arg "^5.0.2" 16833 16948 chokidar "^3.5.3" 16834 - color-name "^1.1.4" 16835 - detective "^5.2.1" 16836 16949 didyoumean "^1.2.2" 16837 16950 dlv "^1.1.3" 16838 16951 fast-glob "^3.2.12" 16839 16952 glob-parent "^6.0.2" 16840 16953 is-glob "^4.0.3" 16841 - lilconfig "^2.0.6" 16954 + jiti "^1.18.2" 16955 + lilconfig "^2.1.0" 16842 16956 micromatch "^4.0.5" 16843 16957 normalize-path "^3.0.0" 16844 16958 object-hash "^3.0.0" 16845 16959 picocolors "^1.0.0" 16846 - postcss "^8.0.9" 16847 - postcss-import "^14.1.0" 16848 - postcss-js "^4.0.0" 16849 - postcss-load-config "^3.1.4" 16850 - postcss-nested "6.0.0" 16960 + postcss "^8.4.23" 16961 + postcss-import "^15.1.0" 16962 + postcss-js "^4.0.1" 16963 + postcss-load-config "^4.0.1" 16964 + postcss-nested "^6.0.1" 16851 16965 postcss-selector-parser "^6.0.11" 16852 16966 postcss-value-parser "^4.2.0" 16853 - quick-lru "^5.1.1" 16854 - resolve "^1.22.1" 16967 + resolve "^1.22.2" 16968 + sucrase "^3.32.0" 16855 16969 16856 16970 tapable@^1.0.0: 16857 16971 version "1.1.3" ··· 16974 17088 ansi-escapes "^4.2.1" 16975 17089 supports-hyperlinks "^2.0.0" 16976 17090 16977 - terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.5, terser-webpack-plugin@^5.3.0: 17091 + terser-webpack-plugin@^5.2.5, terser-webpack-plugin@^5.3.0, terser-webpack-plugin@^5.3.7: 16978 17092 version "5.3.7" 16979 17093 resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz#ef760632d24991760f339fe9290deb936ad1ffc7" 16980 17094 integrity sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw== ··· 16986 17100 terser "^5.16.5" 16987 17101 16988 17102 terser@^5.0.0, terser@^5.10.0, terser@^5.15.0, terser@^5.16.5: 16989 - version "5.16.6" 16990 - resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.6.tgz#f6c7a14a378ee0630fbe3ac8d1f41b4681109533" 16991 - integrity sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg== 17103 + version "5.17.1" 17104 + resolved "https://registry.yarnpkg.com/terser/-/terser-5.17.1.tgz#948f10830454761e2eeedc6debe45c532c83fd69" 17105 + integrity sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw== 16992 17106 dependencies: 16993 17107 "@jridgewell/source-map" "^0.3.2" 16994 17108 acorn "^8.5.0" ··· 17315 17429 resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" 17316 17430 integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== 17317 17431 17318 - type-fest@^2.0.0, type-fest@^2.3.3: 17432 + type-fest@^2.19.0, type-fest@^2.3.3: 17319 17433 version "2.19.0" 17320 17434 resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" 17321 17435 integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== 17322 17436 17323 17437 type-fest@^3.0.0: 17324 - version "3.6.1" 17325 - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.6.1.tgz#cf8025edeebfd6cf48de73573a5e1423350b9993" 17326 - integrity sha512-htXWckxlT6U4+ilVgweNliPqlsVSSucbxVexRYllyMVJDtf5rTjv6kF/s+qAd4QSL1BZcnJPEJavYBPQiWuZDA== 17438 + version "3.9.0" 17439 + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.9.0.tgz#36a9e46e6583649f9e6098b267bc577275e9e4f4" 17440 + integrity sha512-hR8JP2e8UiH7SME5JZjsobBlEiatFoxpzCP+R3ZeCo7kAaG1jXQE5X/buLzogM6GJu8le9Y4OcfNuIQX0rZskA== 17327 17441 17328 17442 type-is@~1.6.18: 17329 17443 version "1.6.18" ··· 17361 17475 resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" 17362 17476 integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== 17363 17477 17364 - ua-parser-js@^0.7.30: 17365 - version "0.7.34" 17366 - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.34.tgz#afb439e2e3e394bdc90080acb661a39c685b67d7" 17367 - integrity sha512-cJMeh/eOILyGu0ejgTKB95yKT3zOenSe9UGE3vj6WfiOwgGYnmATUsnDixMFvdU+rNMvWih83hrUP8VwhF9yXQ== 17368 - 17369 - ua-parser-js@^0.7.33: 17478 + ua-parser-js@^0.7.30, ua-parser-js@^0.7.33: 17370 17479 version "0.7.35" 17371 17480 resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.35.tgz#8bda4827be4f0b1dda91699a29499575a1f1d307" 17372 17481 integrity sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g== ··· 17521 17630 integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== 17522 17631 17523 17632 update-browserslist-db@^1.0.10: 17524 - version "1.0.10" 17525 - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" 17526 - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== 17633 + version "1.0.11" 17634 + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" 17635 + integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== 17527 17636 dependencies: 17528 17637 escalade "^3.1.1" 17529 17638 picocolors "^1.0.0" ··· 17571 17680 requires-port "^1.0.0" 17572 17681 17573 17682 use-latest-callback@^0.1.5: 17574 - version "0.1.5" 17575 - resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.1.5.tgz#a4a836c08fa72f6608730b5b8f4bbd9c57c04f51" 17576 - integrity sha512-HtHatS2U4/h32NlkhupDsPlrbiD27gSH5swBdtXbCAlc6pfOFzaj0FehW/FO12rx8j2Vy4/lJScCiJyM01E+bQ== 17683 + version "0.1.6" 17684 + resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.1.6.tgz#3fa6e7babbb5f9bfa24b5094b22939e1e92ebcf6" 17685 + integrity sha512-VO/P91A/PmKH9bcN9a7O3duSuxe6M14ZoYXgA6a8dab8doWNdhiIHzEkX/jFeTTRBsX0Ubk6nG4q2NIjNsj+bg== 17577 17686 17578 17687 use-sync-external-store@^1.0.0: 17579 17688 version "1.2.0" ··· 17776 17885 integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== 17777 17886 17778 17887 webpack-cli@^5.0.1: 17779 - version "5.0.1" 17780 - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.0.1.tgz#95fc0495ac4065e9423a722dec9175560b6f2d9a" 17781 - integrity sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A== 17888 + version "5.0.2" 17889 + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.0.2.tgz#2954c10ecb61c5d4dad6f68ee2d77f051741946c" 17890 + integrity sha512-4y3W5Dawri5+8dXm3+diW6Mn1Ya+Dei6eEVAdIduAmYNLzv1koKVAqsfgrrc9P2mhrYHQphx5htnGkcNwtubyQ== 17782 17891 dependencies: 17783 17892 "@discoveryjs/json-ext" "^0.5.0" 17784 17893 "@webpack-cli/configtest" "^2.0.1" 17785 17894 "@webpack-cli/info" "^2.0.1" 17786 - "@webpack-cli/serve" "^2.0.1" 17895 + "@webpack-cli/serve" "^2.0.2" 17787 17896 colorette "^2.0.14" 17788 - commander "^9.4.1" 17897 + commander "^10.0.1" 17789 17898 cross-spawn "^7.0.3" 17790 17899 envinfo "^7.7.3" 17791 17900 fastest-levenshtein "^1.0.12" ··· 17806 17915 schema-utils "^4.0.0" 17807 17916 17808 17917 webpack-dev-server@^4.11.1, webpack-dev-server@^4.6.0: 17809 - version "4.13.1" 17810 - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.13.1.tgz#6417a9b5d2f528e7644b68d6ed335e392dccffe8" 17811 - integrity sha512-5tWg00bnWbYgkN+pd5yISQKDejRBYGEw15RaEEslH+zdbNDxxaZvEAO2WulaSaFKb5n3YG8JXsGaDsut1D0xdA== 17918 + version "4.13.3" 17919 + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.13.3.tgz#9feb740b8b56b886260bae1360286818a221bae8" 17920 + integrity sha512-KqqzrzMRSRy5ePz10VhjyL27K2dxqwXQLP5rAKwRJBPUahe7Z2bBWzHw37jeb8GCPKxZRO79ZdQUAPesMh/Nug== 17812 17921 dependencies: 17813 17922 "@types/bonjour" "^3.5.9" 17814 17923 "@types/connect-history-api-fallback" "^1.3.5" ··· 17879 17988 integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== 17880 17989 17881 17990 webpack@^5.64.4, webpack@^5.75.0: 17882 - version "5.76.2" 17883 - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.76.2.tgz#6f80d1c1d1e3bf704db571b2504a0461fac80230" 17884 - integrity sha512-Th05ggRm23rVzEOlX8y67NkYCHa9nTNcwHPBhdg+lKG+mtiW7XgggjAeeLnADAe7mLjJ6LUNfgHAuRRh+Z6J7w== 17991 + version "5.81.0" 17992 + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.81.0.tgz#27a2e8466c8b4820d800a8d90f06ef98294f9956" 17993 + integrity sha512-AAjaJ9S4hYCVODKLQTgG5p5e11hiMawBwV2v8MYLE0C/6UAGLuAF4n1qa9GOwdxnicaP+5k6M5HrLmD4+gIB8Q== 17885 17994 dependencies: 17886 17995 "@types/eslint-scope" "^3.7.3" 17887 - "@types/estree" "^0.0.51" 17888 - "@webassemblyjs/ast" "1.11.1" 17889 - "@webassemblyjs/wasm-edit" "1.11.1" 17890 - "@webassemblyjs/wasm-parser" "1.11.1" 17996 + "@types/estree" "^1.0.0" 17997 + "@webassemblyjs/ast" "^1.11.5" 17998 + "@webassemblyjs/wasm-edit" "^1.11.5" 17999 + "@webassemblyjs/wasm-parser" "^1.11.5" 17891 18000 acorn "^8.7.1" 17892 18001 acorn-import-assertions "^1.7.6" 17893 18002 browserslist "^4.14.5" 17894 18003 chrome-trace-event "^1.0.2" 17895 - enhanced-resolve "^5.10.0" 17896 - es-module-lexer "^0.9.0" 18004 + enhanced-resolve "^5.13.0" 18005 + es-module-lexer "^1.2.1" 17897 18006 eslint-scope "5.1.1" 17898 18007 events "^3.2.0" 17899 18008 glob-to-regexp "^0.4.1" ··· 17902 18011 loader-runner "^4.2.0" 17903 18012 mime-types "^2.1.27" 17904 18013 neo-async "^2.6.2" 17905 - schema-utils "^3.1.0" 18014 + schema-utils "^3.1.2" 17906 18015 tapable "^2.1.1" 17907 - terser-webpack-plugin "^5.1.3" 18016 + terser-webpack-plugin "^5.3.7" 17908 18017 watchpack "^2.4.0" 17909 18018 webpack-sources "^3.2.3" 17910 18019 ··· 18016 18125 is-weakset "^2.0.1" 18017 18126 18018 18127 which-module@^2.0.0: 18019 - version "2.0.0" 18020 - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 18021 - integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== 18128 + version "2.0.1" 18129 + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" 18130 + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== 18022 18131 18023 18132 which-typed-array@^1.1.9: 18024 18133 version "1.1.9" ··· 18054 18163 string-width "^1.0.2 || 2 || 3 || 4" 18055 18164 18056 18165 wildcard@^2.0.0: 18057 - version "2.0.0" 18058 - resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" 18059 - integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== 18166 + version "2.0.1" 18167 + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" 18168 + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== 18060 18169 18061 18170 wonka@^4.0.14: 18062 18171 version "4.0.15" 18063 18172 resolved "https://registry.yarnpkg.com/wonka/-/wonka-4.0.15.tgz#9aa42046efa424565ab8f8f451fcca955bf80b89" 18064 18173 integrity sha512-U0IUQHKXXn6PFo9nqsHphVCE5m3IntqZNB9Jjn7EB1lrR7YTDY3YWgFvEvwniTzXSvOH/XMzAZaIfJF/LvHYXg== 18065 18174 18066 - wonka@^6.1.2: 18067 - version "6.2.5" 18068 - resolved "https://registry.yarnpkg.com/wonka/-/wonka-6.2.5.tgz#26e54a6827b96a6164b845106f4d925ede4089bb" 18069 - integrity sha512-adhGYKm5xWIZYXRkzEqHbRbRl2gXHqOudjQJMXpRgSyboFmaKOjGm3RIThBk4tZdiZx1DXuKK0H9wKBgXHhzZg== 18175 + wonka@^6.3.2: 18176 + version "6.3.2" 18177 + resolved "https://registry.yarnpkg.com/wonka/-/wonka-6.3.2.tgz#6f32992b332251d7b696b038990f4dc284b3b33d" 18178 + integrity sha512-2xXbQ1LnwNS7egVm1HPhW2FyKrekolzhpM3mCwXdQr55gO+tAiY76rhb32OL9kKsW8taj++iP7C6hxlVzbnvrw== 18070 18179 18071 18180 word-wrap@^1.2.3, word-wrap@~1.2.3: 18072 18181 version "1.2.3" ··· 18309 18418 resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" 18310 18419 integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== 18311 18420 18312 - ws@^8.11.0, ws@^8.12.1, ws@^8.13.0: 18421 + ws@^8.11.0, ws@^8.12.0, ws@^8.12.1, ws@^8.13.0: 18313 18422 version "8.13.0" 18314 18423 resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" 18315 18424 integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== ··· 18372 18481 resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" 18373 18482 integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== 18374 18483 18375 - xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1: 18484 + xtend@^4.0.0, xtend@~4.0.1: 18376 18485 version "4.0.2" 18377 18486 resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 18378 18487 integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== ··· 18407 18516 resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 18408 18517 integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 18409 18518 18519 + yaml@^2.1.1: 18520 + version "2.2.2" 18521 + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.2.tgz#ec551ef37326e6d42872dad1970300f8eb83a073" 18522 + integrity sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA== 18523 + 18410 18524 yargs-parser@^18.1.2: 18411 18525 version "18.1.3" 18412 18526 resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" ··· 18415 18529 camelcase "^5.0.0" 18416 18530 decamelize "^1.2.0" 18417 18531 18418 - yargs-parser@^20.2.2, yargs-parser@^20.2.9: 18532 + yargs-parser@^20.2.2: 18419 18533 version "20.2.9" 18420 18534 resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" 18421 18535 integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== 18422 18536 18423 - yargs-parser@^21.1.1: 18537 + yargs-parser@^21.0.0, yargs-parser@^21.1.1: 18424 18538 version "21.1.1" 18425 18539 resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" 18426 18540 integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== ··· 18452 18566 y18n "^4.0.0" 18453 18567 yargs-parser "^18.1.2" 18454 18568 18455 - yargs@^16.0.3, yargs@^16.2.0: 18569 + yargs@^16.2.0: 18456 18570 version "16.2.0" 18457 18571 resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 18458 18572 integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== ··· 18465 18579 y18n "^5.0.5" 18466 18580 yargs-parser "^20.2.2" 18467 18581 18468 - yargs@^17.3.1, yargs@^17.5.1: 18469 - version "17.7.1" 18470 - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.1.tgz#34a77645201d1a8fc5213ace787c220eabbd0967" 18471 - integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw== 18582 + yargs@^17.0.0, yargs@^17.3.1, yargs@^17.5.1: 18583 + version "17.7.2" 18584 + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" 18585 + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== 18472 18586 dependencies: 18473 18587 cliui "^8.0.1" 18474 18588 escalade "^3.1.1"