tangled mirror of catsky-🐱 Soothing soft social-app fork with all the niche toggles! (Unofficial); for issues and PRs please put them on github:NekoDrone/catsky-social

Unit testing (#32)

* add testing lib

* remove coverage folder from git

* finished basic test setup

* fix tests typescript and import paths

* add first snapshot

* testing utils

* rename test files; update script flags; ++tests

* testing utils functions

* testing downloadAndResize wip

* remove download test

* specify unwanted coverage paths;
remove update snapshots flag

* fix strings tests

* testing downloadAndResize method

* increasing testing

* fixing snapshots wip

* fixed shell mobile snapshot

* adding snapshots for the screens

* fix onboard snapshot

* fix typescript issues

* fix TabsSelector snapshot

* Account for testing device's locale in ago() tests

* Remove platform detection on regex

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

authored by João Ferreiro Paul Frazee and committed by GitHub 7517b65d 4913a07e

+3
.gitignore
··· 59 # Ruby / CocoaPods 60 /ios/Pods/ 61 /vendor/bundle/
··· 59 # Ruby / CocoaPods 60 /ios/Pods/ 61 /vendor/bundle/ 62 + 63 + # Testing 64 + coverage/
+3
__mocks__/@react-native-camera-roll/camera-roll.js
···
··· 1 + export default { 2 + CameraRoll: jest.fn(), 3 + }
-1
__mocks__/async-storage.js
··· 1 - export default from '@react-native-async-storage/async-storage/jest/async-storage-mock'
···
+3
__mocks__/react-native-image-crop-picker.js
···
··· 1 + export default { 2 + openPicker: jest.fn().mockImplementation(() => Promise.resolve(result)), 3 + }
+10
__mocks__/rn-fetch-blob.js
···
··· 1 + jest.mock('rn-fetch-blob', () => { 2 + return { 3 + __esModule: true, 4 + default: { 5 + fs: { 6 + unlink: jest.fn(), 7 + }, 8 + }, 9 + } 10 + })
-16
__tests__/App-test.tsx
··· 1 - // /** 2 - // * @format 3 - // */ 4 - 5 - // import 'react-native' 6 - // import React from 'react' 7 - // import App from '../src/App' 8 - 9 - // // Note: test renderer must be required after react-native. 10 - // import renderer from 'react-test-renderer' 11 - 12 - // it('renders correctly', () => { 13 - // renderer.act(() => { 14 - // renderer.create(<App />) 15 - // }) 16 - // })
···
+93
__tests__/lib/download.test.ts
···
··· 1 + import {downloadAndResize, DownloadAndResizeOpts} from '../../src/lib/download' 2 + import ImageResizer from '@bam.tech/react-native-image-resizer' 3 + import RNFetchBlob from 'rn-fetch-blob' 4 + 5 + jest.mock('rn-fetch-blob', () => ({ 6 + config: jest.fn().mockReturnThis(), 7 + cancel: jest.fn(), 8 + fetch: jest.fn(), 9 + })) 10 + jest.mock('@bam.tech/react-native-image-resizer', () => ({ 11 + createResizedImage: jest.fn(), 12 + })) 13 + 14 + describe('downloadAndResize', () => { 15 + const errorSpy = jest.spyOn(global.console, 'error') 16 + 17 + const mockResizedImage = { 18 + path: jest.fn().mockReturnValue('file://resized-image.jpg'), 19 + } 20 + 21 + beforeEach(() => { 22 + jest.clearAllMocks() 23 + 24 + const mockedCreateResizedImage = 25 + ImageResizer.createResizedImage as jest.Mock 26 + mockedCreateResizedImage.mockResolvedValue(mockResizedImage) 27 + }) 28 + 29 + it('should return resized image for valid URI and options', async () => { 30 + const mockedFetch = RNFetchBlob.fetch as jest.Mock 31 + mockedFetch.mockResolvedValueOnce({ 32 + path: jest.fn().mockReturnValue('file://downloaded-image.jpg'), 33 + flush: jest.fn(), 34 + }) 35 + 36 + const opts: DownloadAndResizeOpts = { 37 + uri: 'https://example.com/image.jpg', 38 + width: 100, 39 + height: 100, 40 + mode: 'cover', 41 + timeout: 10000, 42 + } 43 + 44 + const result = await downloadAndResize(opts) 45 + expect(result).toEqual(mockResizedImage) 46 + expect(RNFetchBlob.config).toHaveBeenCalledWith({ 47 + fileCache: true, 48 + appendExt: 'jpeg', 49 + }) 50 + expect(RNFetchBlob.fetch).toHaveBeenCalledWith( 51 + 'GET', 52 + 'https://example.com/image.jpg', 53 + ) 54 + expect(ImageResizer.createResizedImage).toHaveBeenCalledWith( 55 + 'file://downloaded-image.jpg', 56 + 100, 57 + 100, 58 + 'JPEG', 59 + 0.7, 60 + undefined, 61 + undefined, 62 + undefined, 63 + {mode: 'cover'}, 64 + ) 65 + }) 66 + 67 + it('should return undefined for invalid URI', async () => { 68 + const opts: DownloadAndResizeOpts = { 69 + uri: 'invalid-uri', 70 + width: 100, 71 + height: 100, 72 + mode: 'cover', 73 + timeout: 10000, 74 + } 75 + 76 + const result = await downloadAndResize(opts) 77 + expect(errorSpy).toHaveBeenCalled() 78 + expect(result).toBeUndefined() 79 + }) 80 + 81 + it('should return undefined for unsupported file type', async () => { 82 + const opts: DownloadAndResizeOpts = { 83 + uri: 'https://example.com/image.bmp', 84 + width: 100, 85 + height: 100, 86 + mode: 'cover', 87 + timeout: 10000, 88 + } 89 + 90 + const result = await downloadAndResize(opts) 91 + expect(result).toBeUndefined() 92 + }) 93 + })
+19
__tests__/lib/errors.test.ts
···
··· 1 + import {isNetworkError} from '../../src/lib/errors' 2 + 3 + describe('isNetworkError', () => { 4 + const inputs = [ 5 + 'TypeError: Network request failed', 6 + 'Uncaught TypeError: Cannot read property x of undefined', 7 + 'Uncaught RangeError', 8 + 'Error: Aborted', 9 + ] 10 + const outputs = [true, false, false, true] 11 + 12 + it('correctly distinguishes network errors', () => { 13 + for (let i = 0; i < inputs.length; i++) { 14 + const input = inputs[i] 15 + const result = isNetworkError(input) 16 + expect(result).toEqual(outputs[i]) 17 + } 18 + }) 19 + })
+24
__tests__/lib/numbers.test.ts
···
··· 1 + import {clamp} from '../../src/lib/numbers' 2 + 3 + describe('clamp', () => { 4 + const inputs: [number, number, number][] = [ 5 + [100, 0, 200], 6 + [100, 0, 100], 7 + [0, 0, 100], 8 + [100, 0, -1], 9 + [4, 1, 1], 10 + [100, -100, 0], 11 + [400, 100, -100], 12 + [70, -1, 1], 13 + [Infinity, Infinity, Infinity], 14 + ] 15 + const outputs = [100, 100, 0, -1, 1, 0, -100, 1, Infinity] 16 + 17 + it('correctly clamps any given number and range', () => { 18 + for (let i = 0; i < inputs.length; i++) { 19 + const input = inputs[i] 20 + const result = clamp(...input) 21 + expect(result).toEqual(outputs[i]) 22 + } 23 + }) 24 + })
+214 -1
__tests__/string-utils.ts __tests__/lib/string.test.ts
··· 2 extractEntities, 3 detectLinkables, 4 extractHtmlMeta, 5 - } from '../src/lib/strings' 6 7 describe('extractEntities', () => { 8 const knownHandles = new Set(['handle.com', 'full123.test-of-chars']) ··· 317 } 318 }) 319 })
··· 2 extractEntities, 3 detectLinkables, 4 extractHtmlMeta, 5 + pluralize, 6 + makeRecordUri, 7 + ago, 8 + makeValidHandle, 9 + createFullHandle, 10 + enforceLen, 11 + cleanError, 12 + toNiceDomain, 13 + toShortUrl, 14 + toShareUrl, 15 + } from '../../src/lib/strings' 16 17 describe('extractEntities', () => { 18 const knownHandles = new Set(['handle.com', 'full123.test-of-chars']) ··· 327 } 328 }) 329 }) 330 + 331 + describe('pluralize', () => { 332 + const inputs: [number, string, string?][] = [ 333 + [1, 'follower'], 334 + [1, 'member'], 335 + [100, 'post'], 336 + [1000, 'repost'], 337 + [10000, 'upvote'], 338 + [100000, 'other'], 339 + [2, 'man', 'men'], 340 + ] 341 + const outputs = [ 342 + 'follower', 343 + 'member', 344 + 'posts', 345 + 'reposts', 346 + 'upvotes', 347 + 'others', 348 + 'men', 349 + ] 350 + 351 + it('correctly pluralizes a set of words', () => { 352 + for (let i = 0; i < inputs.length; i++) { 353 + const input = inputs[i] 354 + const output = pluralize(...input) 355 + expect(output).toEqual(outputs[i]) 356 + } 357 + }) 358 + }) 359 + 360 + describe('makeRecordUri', () => { 361 + const inputs: [string, string, string][] = [ 362 + ['alice.test', 'app.bsky.feed.post', '3jk7x4irgv52r'], 363 + ] 364 + const outputs = ['at://alice.test/app.bsky.feed.post/3jk7x4irgv52r'] 365 + 366 + it('correctly builds a record URI', () => { 367 + for (let i = 0; i < inputs.length; i++) { 368 + const input = inputs[i] 369 + const result = makeRecordUri(...input) 370 + expect(result).toEqual(outputs[i]) 371 + } 372 + }) 373 + }) 374 + 375 + describe('ago', () => { 376 + const inputs = [ 377 + 1671461038, 378 + '04 Dec 1995 00:12:00 GMT', 379 + new Date(), 380 + new Date().setMinutes(new Date().getMinutes() - 10), 381 + new Date().setHours(new Date().getHours() - 1), 382 + new Date().setDate(new Date().getDate() - 1), 383 + new Date().setMonth(new Date().getMonth() - 1), 384 + ] 385 + const outputs = [ 386 + new Date(1671461038).toLocaleDateString(), 387 + new Date('04 Dec 1995 00:12:00 GMT').toLocaleDateString(), 388 + '0s', 389 + '10m', 390 + '1h', 391 + '1d', 392 + '1mo', 393 + ] 394 + 395 + it('correctly calculates how much time passed, in a string', () => { 396 + for (let i = 0; i < inputs.length; i++) { 397 + const result = ago(inputs[i]) 398 + expect(result).toEqual(outputs[i]) 399 + } 400 + }) 401 + }) 402 + 403 + describe('makeValidHandle', () => { 404 + const inputs = [ 405 + 'test-handle-123', 406 + 'test!"#$%&/()=?_', 407 + 'this-handle-should-be-too-big', 408 + ] 409 + const outputs = ['test-handle-123', 'test', 'this-handle-should-b'] 410 + 411 + it('correctly parses and corrects handles', () => { 412 + for (let i = 0; i < inputs.length; i++) { 413 + const result = makeValidHandle(inputs[i]) 414 + expect(result).toEqual(outputs[i]) 415 + } 416 + }) 417 + }) 418 + 419 + describe('createFullHandle', () => { 420 + const inputs: [string, string][] = [ 421 + ['test-handle-123', 'test'], 422 + ['.test.handle', 'test.test.'], 423 + ['test.handle.', '.test.test'], 424 + ] 425 + const outputs = [ 426 + 'test-handle-123.test', 427 + '.test.handle.test.test.', 428 + 'test.handle.test.test', 429 + ] 430 + 431 + it('correctly parses and corrects handles', () => { 432 + for (let i = 0; i < inputs.length; i++) { 433 + const input = inputs[i] 434 + const result = createFullHandle(...input) 435 + expect(result).toEqual(outputs[i]) 436 + } 437 + }) 438 + }) 439 + 440 + describe('enforceLen', () => { 441 + const inputs: [string, number][] = [ 442 + ['Hello World!', 5], 443 + ['Hello World!', 20], 444 + ['', 5], 445 + ] 446 + const outputs = ['Hello', 'Hello World!', ''] 447 + 448 + it('correctly enforces defined length on a given string', () => { 449 + for (let i = 0; i < inputs.length; i++) { 450 + const input = inputs[i] 451 + const result = enforceLen(...input) 452 + expect(result).toEqual(outputs[i]) 453 + } 454 + }) 455 + }) 456 + 457 + describe('cleanError', () => { 458 + const inputs = [ 459 + 'TypeError: Network request failed', 460 + 'Error: Aborted', 461 + 'Error: TypeError "x" is not a function', 462 + 'Error: SyntaxError unexpected token "export"', 463 + 'Some other error', 464 + ] 465 + const outputs = [ 466 + 'Unable to connect. Please check your internet connection and try again.', 467 + 'Unable to connect. Please check your internet connection and try again.', 468 + 'TypeError "x" is not a function', 469 + 'SyntaxError unexpected token "export"', 470 + 'Some other error', 471 + ] 472 + 473 + it('removes extra content from error message', () => { 474 + for (let i = 0; i < inputs.length; i++) { 475 + const result = cleanError(inputs[i]) 476 + expect(result).toEqual(outputs[i]) 477 + } 478 + }) 479 + }) 480 + 481 + describe('toNiceDomain', () => { 482 + const inputs = [ 483 + 'https://example.com/index.html', 484 + 'https://bsky.app', 485 + 'https://bsky.social', 486 + '#123123123', 487 + ] 488 + const outputs = ['example.com', 'bsky.app', 'Bluesky Social', '#123123123'] 489 + 490 + it("displays the url's host in a easily readable manner", () => { 491 + for (let i = 0; i < inputs.length; i++) { 492 + const result = toNiceDomain(inputs[i]) 493 + expect(result).toEqual(outputs[i]) 494 + } 495 + }) 496 + }) 497 + 498 + describe('toShortUrl', () => { 499 + const inputs = [ 500 + 'https://bsky.app', 501 + 'https://bsky.app/3jk7x4irgv52r', 502 + 'https://bsky.app/3jk7x4irgv52r2313y182h9', 503 + ] 504 + const outputs = [ 505 + 'bsky.app', 506 + 'bsky.app/3jk7x4irgv52r', 507 + 'bsky.app/3jk7x4irgv52r2313y...', 508 + ] 509 + 510 + it('shortens the url', () => { 511 + for (let i = 0; i < inputs.length; i++) { 512 + const result = toShortUrl(inputs[i]) 513 + expect(result).toEqual(outputs[i]) 514 + } 515 + }) 516 + }) 517 + 518 + describe('toShareUrl', () => { 519 + const inputs = ['https://bsky.app', '/3jk7x4irgv52r', 'item/test/123'] 520 + const outputs = [ 521 + 'https://bsky.app', 522 + 'https://bsky.app/3jk7x4irgv52r', 523 + 'https://bsky.app/item/test/123', 524 + ] 525 + 526 + it('appends https, when not present', () => { 527 + for (let i = 0; i < inputs.length; i++) { 528 + const result = toShareUrl(inputs[i]) 529 + expect(result).toEqual(outputs[i]) 530 + } 531 + }) 532 + })
+16
__tests__/view/screens/Contacts.test.tsx
···
··· 1 + import React from 'react' 2 + import {Contacts} from '../../../src/view/screens/Contacts' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('Contacts', () => { 7 + const mockedProps = { 8 + navIdx: [0, 0] as [number, number], 9 + params: {}, 10 + visible: true, 11 + } 12 + it('renders correctly', () => { 13 + const tree = renderer.create(<Contacts {...mockedProps} />).toJSON() 14 + expect(tree).toMatchSnapshot() 15 + }) 16 + })
+16
__tests__/view/screens/Home.test.tsx
···
··· 1 + import React from 'react' 2 + import {Home} from '../../../src/view/screens/Home' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('Home', () => { 7 + const mockedProps = { 8 + navIdx: [0, 0] as [number, number], 9 + params: {}, 10 + visible: true, 11 + } 12 + it('renders correctly', () => { 13 + const tree = renderer.create(<Home {...mockedProps} />).toJSON() 14 + expect(tree).toMatchSnapshot() 15 + }) 16 + })
+11
__tests__/view/screens/Login.test.tsx
···
··· 1 + import React from 'react' 2 + import {Login} from '../../../src/view/screens/Login' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('Login', () => { 7 + it('renders correctly', () => { 8 + const tree = renderer.create(<Login />).toJSON() 9 + expect(tree).toMatchSnapshot() 10 + }) 11 + })
+11
__tests__/view/screens/NotFound.test.tsx
···
··· 1 + import React from 'react' 2 + import {NotFound} from '../../../src/view/screens/NotFound' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('NotFound', () => { 7 + it('renders correctly', () => { 8 + const tree = renderer.create(<NotFound />).toJSON() 9 + expect(tree).toMatchSnapshot() 10 + }) 11 + })
+16
__tests__/view/screens/Notifications.test.tsx
···
··· 1 + import React from 'react' 2 + import {Notifications} from '../../../src/view/screens/Notifications' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('Notifications', () => { 7 + const mockedProps = { 8 + navIdx: [0, 0] as [number, number], 9 + params: {}, 10 + visible: true, 11 + } 12 + it('renders correctly', () => { 13 + const tree = renderer.create(<Notifications {...mockedProps} />).toJSON() 14 + expect(tree).toMatchSnapshot() 15 + }) 16 + })
+11
__tests__/view/screens/Onboard.test.tsx
···
··· 1 + import React from 'react' 2 + import {Onboard} from '../../../src/view/screens/Onboard' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('Onboard', () => { 7 + it('renders correctly', () => { 8 + const tree = renderer.create(<Onboard />).toJSON() 9 + expect(tree).toMatchSnapshot() 10 + }) 11 + })
+19
__tests__/view/screens/PostDownvotedBy.test.tsx
···
··· 1 + import React from 'react' 2 + import {PostDownvotedBy} from '../../../src/view/screens/PostDownvotedBy' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('PostDownvotedBy', () => { 7 + const mockedProps = { 8 + navIdx: [0, 0] as [number, number], 9 + params: { 10 + name: 'test name', 11 + rkey: '123123123', 12 + }, 13 + visible: true, 14 + } 15 + it('renders correctly', () => { 16 + const tree = renderer.create(<PostDownvotedBy {...mockedProps} />).toJSON() 17 + expect(tree).toMatchSnapshot() 18 + }) 19 + })
+19
__tests__/view/screens/PostRepostedBy.test.tsx
···
··· 1 + import React from 'react' 2 + import {PostRepostedBy} from '../../../src/view/screens/PostRepostedBy' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('PostRepostedBy', () => { 7 + const mockedProps = { 8 + navIdx: [0, 0] as [number, number], 9 + params: { 10 + name: 'test name', 11 + rkey: '123123123', 12 + }, 13 + visible: true, 14 + } 15 + it('renders correctly', () => { 16 + const tree = renderer.create(<PostRepostedBy {...mockedProps} />).toJSON() 17 + expect(tree).toMatchSnapshot() 18 + }) 19 + })
+19
__tests__/view/screens/PostThread.test.tsx
···
··· 1 + import React from 'react' 2 + import {PostThread} from '../../../src/view/screens/PostThread' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('PostThread', () => { 7 + const mockedProps = { 8 + navIdx: [0, 0] as [number, number], 9 + params: { 10 + name: 'test name', 11 + rkey: '123123123', 12 + }, 13 + visible: true, 14 + } 15 + it('renders correctly', () => { 16 + const tree = renderer.create(<PostThread {...mockedProps} />).toJSON() 17 + expect(tree).toMatchSnapshot() 18 + }) 19 + })
+19
__tests__/view/screens/PostUpvotedBy.test.tsx
···
··· 1 + import React from 'react' 2 + import {PostUpvotedBy} from '../../../src/view/screens/PostUpvotedBy' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('PostUpvotedBy', () => { 7 + const mockedProps = { 8 + navIdx: [0, 0] as [number, number], 9 + params: { 10 + name: 'test name', 11 + rkey: '123123123', 12 + }, 13 + visible: true, 14 + } 15 + it('renders correctly', () => { 16 + const tree = renderer.create(<PostUpvotedBy {...mockedProps} />).toJSON() 17 + expect(tree).toMatchSnapshot() 18 + }) 19 + })
+19
__tests__/view/screens/Profile.test.tsx
···
··· 1 + import React from 'react' 2 + import {Profile} from '../../../src/view/screens/Profile' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('Profile', () => { 7 + const mockedProps = { 8 + navIdx: [0, 0] as [number, number], 9 + params: { 10 + name: 'test name', 11 + user: 'test.user', 12 + }, 13 + visible: true, 14 + } 15 + it('renders correctly', () => { 16 + const tree = renderer.create(<Profile {...mockedProps} />).toJSON() 17 + expect(tree).toMatchSnapshot() 18 + }) 19 + })
+18
__tests__/view/screens/ProfileFollowers.test.tsx
···
··· 1 + import React from 'react' 2 + import {ProfileFollowers} from '../../../src/view/screens/ProfileFollowers' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('ProfileFollowers', () => { 7 + const mockedProps = { 8 + navIdx: [0, 0] as [number, number], 9 + params: { 10 + name: 'test name', 11 + }, 12 + visible: true, 13 + } 14 + it('renders correctly', () => { 15 + const tree = renderer.create(<ProfileFollowers {...mockedProps} />).toJSON() 16 + expect(tree).toMatchSnapshot() 17 + }) 18 + })
+18
__tests__/view/screens/ProfileFollows.test.tsx
···
··· 1 + import React from 'react' 2 + import {ProfileFollows} from '../../../src/view/screens/ProfileFollows' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('ProfileFollows', () => { 7 + const mockedProps = { 8 + navIdx: [0, 0] as [number, number], 9 + params: { 10 + name: 'test name', 11 + }, 12 + visible: true, 13 + } 14 + it('renders correctly', () => { 15 + const tree = renderer.create(<ProfileFollows {...mockedProps} />).toJSON() 16 + expect(tree).toMatchSnapshot() 17 + }) 18 + })
+18
__tests__/view/screens/ProfileMembers.test.tsx
···
··· 1 + import React from 'react' 2 + import {ProfileMembers} from '../../../src/view/screens/ProfileMembers' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('ProfileMembers', () => { 7 + const mockedProps = { 8 + navIdx: [0, 0] as [number, number], 9 + params: { 10 + name: 'test name', 11 + }, 12 + visible: true, 13 + } 14 + it('renders correctly', () => { 15 + const tree = renderer.create(<ProfileMembers {...mockedProps} />).toJSON() 16 + expect(tree).toMatchSnapshot() 17 + }) 18 + })
+18
__tests__/view/screens/Search.test.tsx
···
··· 1 + import React from 'react' 2 + import {Search} from '../../../src/view/screens/Search' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('Search', () => { 7 + const mockedProps = { 8 + navIdx: [0, 0] as [number, number], 9 + params: { 10 + name: 'test name', 11 + }, 12 + visible: true, 13 + } 14 + it('renders correctly', () => { 15 + const tree = renderer.create(<Search {...mockedProps} />).toJSON() 16 + expect(tree).toMatchSnapshot() 17 + }) 18 + })
+16
__tests__/view/screens/Settings.test.tsx
···
··· 1 + import React from 'react' 2 + import {Settings} from '../../../src/view/screens/Settings' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('Settings', () => { 7 + const mockedProps = { 8 + navIdx: [0, 0] as [number, number], 9 + params: {}, 10 + visible: true, 11 + } 12 + it('renders correctly', () => { 13 + const tree = renderer.create(<Settings {...mockedProps} />).toJSON() 14 + expect(tree).toMatchSnapshot() 15 + }) 16 + })
+205
__tests__/view/screens/__snapshots__/Contacts.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`Contacts renders correctly 1`] = ` 4 + <View> 5 + <View 6 + style={ 7 + Object { 8 + "backgroundColor": "#ffffff", 9 + } 10 + } 11 + > 12 + <Text 13 + style={ 14 + Array [ 15 + Object { 16 + "color": "#000000", 17 + }, 18 + Object { 19 + "fontSize": 30, 20 + "fontWeight": "bold", 21 + "paddingHorizontal": 12, 22 + "paddingVertical": 6, 23 + }, 24 + ] 25 + } 26 + > 27 + Contacts 28 + </Text> 29 + </View> 30 + <View 31 + style={ 32 + Object { 33 + "backgroundColor": "#ffffff", 34 + } 35 + } 36 + > 37 + <View 38 + style={ 39 + Object { 40 + "backgroundColor": "#f8f3f3", 41 + "borderRadius": 4, 42 + "flexDirection": "row", 43 + "marginBottom": 6, 44 + "marginHorizontal": 10, 45 + "paddingHorizontal": 8, 46 + "paddingVertical": 8, 47 + } 48 + } 49 + > 50 + < 51 + icon="magnifying-glass" 52 + size={16} 53 + style={ 54 + Object { 55 + "color": "#645454", 56 + "marginRight": 8, 57 + } 58 + } 59 + /> 60 + <TextInput 61 + onChangeText={[Function]} 62 + placeholder="Search" 63 + placeholderTextColor="#968d8d" 64 + style={ 65 + Object { 66 + "color": "#000000", 67 + "flex": 1, 68 + } 69 + } 70 + value="" 71 + /> 72 + </View> 73 + </View> 74 + <View 75 + onLayout={[Function]} 76 + style={ 77 + Array [ 78 + Object { 79 + "backgroundColor": "#ffffff", 80 + "flexDirection": "row", 81 + "paddingBottom": 12, 82 + "paddingHorizontal": 14, 83 + "paddingTop": 8, 84 + }, 85 + ] 86 + } 87 + > 88 + <View 89 + collapsable={false} 90 + style={ 91 + Object { 92 + "backgroundColor": "#000000", 93 + "bottom": 0, 94 + "height": 4, 95 + "left": 0, 96 + "position": "absolute", 97 + "width": 0, 98 + } 99 + } 100 + /> 101 + <View 102 + accessible={true} 103 + focusable={true} 104 + onClick={[Function]} 105 + onResponderGrant={[Function]} 106 + onResponderMove={[Function]} 107 + onResponderRelease={[Function]} 108 + onResponderTerminate={[Function]} 109 + onResponderTerminationRequest={[Function]} 110 + onStartShouldSetResponder={[Function]} 111 + style={ 112 + Object { 113 + "marginRight": 14, 114 + "paddingHorizontal": 10, 115 + } 116 + } 117 + > 118 + <Text 119 + style={ 120 + Array [ 121 + Object { 122 + "color": "#000000", 123 + }, 124 + Object { 125 + "color": "#000000", 126 + "fontSize": 16, 127 + "fontWeight": "600", 128 + }, 129 + ] 130 + } 131 + > 132 + All 133 + </Text> 134 + </View> 135 + <View 136 + accessible={true} 137 + focusable={true} 138 + onClick={[Function]} 139 + onResponderGrant={[Function]} 140 + onResponderMove={[Function]} 141 + onResponderRelease={[Function]} 142 + onResponderTerminate={[Function]} 143 + onResponderTerminationRequest={[Function]} 144 + onStartShouldSetResponder={[Function]} 145 + style={ 146 + Object { 147 + "marginRight": 14, 148 + "paddingHorizontal": 10, 149 + } 150 + } 151 + > 152 + <Text 153 + style={ 154 + Array [ 155 + Object { 156 + "color": "#000000", 157 + }, 158 + Object { 159 + "color": "#645454", 160 + "fontSize": 16, 161 + "fontWeight": "600", 162 + }, 163 + ] 164 + } 165 + > 166 + Following 167 + </Text> 168 + </View> 169 + <View 170 + accessible={true} 171 + focusable={true} 172 + onClick={[Function]} 173 + onResponderGrant={[Function]} 174 + onResponderMove={[Function]} 175 + onResponderRelease={[Function]} 176 + onResponderTerminate={[Function]} 177 + onResponderTerminationRequest={[Function]} 178 + onStartShouldSetResponder={[Function]} 179 + style={ 180 + Object { 181 + "marginRight": 14, 182 + "paddingHorizontal": 10, 183 + } 184 + } 185 + > 186 + <Text 187 + style={ 188 + Array [ 189 + Object { 190 + "color": "#000000", 191 + }, 192 + Object { 193 + "color": "#645454", 194 + "fontSize": 16, 195 + "fontWeight": "600", 196 + }, 197 + ] 198 + } 199 + > 200 + Scenes 201 + </Text> 202 + </View> 203 + </View> 204 + </View> 205 + `;
+594
__tests__/view/screens/__snapshots__/Home.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`Home renders correctly 1`] = ` 4 + <View 5 + style={ 6 + Object { 7 + "flex": 1, 8 + } 9 + } 10 + > 11 + <View 12 + style={ 13 + Object { 14 + "alignItems": "center", 15 + "backgroundColor": "#ffffff", 16 + "borderBottomColor": "#f8f3f3", 17 + "borderBottomWidth": 1, 18 + "flexDirection": "row", 19 + "paddingBottom": 6, 20 + "paddingHorizontal": 12, 21 + "paddingTop": 6, 22 + } 23 + } 24 + > 25 + <View 26 + accessible={true} 27 + collapsable={false} 28 + focusable={true} 29 + hitSlop={ 30 + Object { 31 + "bottom": 10, 32 + "left": 10, 33 + "right": 30, 34 + "top": 10, 35 + } 36 + } 37 + onClick={[Function]} 38 + onResponderGrant={[Function]} 39 + onResponderMove={[Function]} 40 + onResponderRelease={[Function]} 41 + onResponderTerminate={[Function]} 42 + onResponderTerminationRequest={[Function]} 43 + onStartShouldSetResponder={[Function]} 44 + style={ 45 + Object { 46 + "height": 30, 47 + "opacity": 1, 48 + "width": 40, 49 + } 50 + } 51 + > 52 + <RNSVGSvgView 53 + align="xMidYMid" 54 + bbHeight={30} 55 + bbWidth={30} 56 + focusable={false} 57 + height={30} 58 + meetOrSlice={0} 59 + minX={0} 60 + minY={0} 61 + style={ 62 + Array [ 63 + Object { 64 + "backgroundColor": "transparent", 65 + "borderWidth": 0, 66 + }, 67 + Object { 68 + "flex": 0, 69 + "height": 30, 70 + "width": 30, 71 + }, 72 + ] 73 + } 74 + vbHeight={100} 75 + vbWidth={100} 76 + width={30} 77 + > 78 + <RNSVGGroup> 79 + <RNSVGDefs> 80 + <RNSVGLinearGradient 81 + gradient={ 82 + Array [ 83 + 0, 84 + -1292135, 85 + 1, 86 + -2424577, 87 + ] 88 + } 89 + gradientTransform={null} 90 + gradientUnits={0} 91 + name="grad" 92 + x1="0" 93 + x2="1" 94 + y1="0" 95 + y2="1" 96 + /> 97 + </RNSVGDefs> 98 + <RNSVGCircle 99 + cx="50" 100 + cy="50" 101 + fill={ 102 + Array [ 103 + 1, 104 + "grad", 105 + ] 106 + } 107 + propList={ 108 + Array [ 109 + "fill", 110 + ] 111 + } 112 + r="50" 113 + /> 114 + <RNSVGText 115 + content={null} 116 + dx={Array []} 117 + dy={Array []} 118 + fill={4294967295} 119 + font={ 120 + Object { 121 + "fontSize": "50", 122 + "fontWeight": "bold", 123 + "textAnchor": "middle", 124 + } 125 + } 126 + propList={ 127 + Array [ 128 + "fill", 129 + ] 130 + } 131 + rotate={Array []} 132 + x={ 133 + Array [ 134 + "50", 135 + ] 136 + } 137 + y={ 138 + Array [ 139 + "67", 140 + ] 141 + } 142 + > 143 + <RNSVGTSpan 144 + content="X" 145 + dx={Array []} 146 + dy={Array []} 147 + font={Object {}} 148 + rotate={Array []} 149 + x={Array []} 150 + y={Array []} 151 + /> 152 + </RNSVGText> 153 + </RNSVGGroup> 154 + </RNSVGSvgView> 155 + </View> 156 + <View 157 + pointerEvents="none" 158 + style={ 159 + Object { 160 + "alignItems": "baseline", 161 + "flexDirection": "row", 162 + "marginRight": "auto", 163 + } 164 + } 165 + > 166 + <Text 167 + style={ 168 + Array [ 169 + Object { 170 + "color": "#000000", 171 + }, 172 + Object { 173 + "color": "#000000", 174 + "fontSize": 21, 175 + "fontWeight": "600", 176 + }, 177 + ] 178 + } 179 + > 180 + Bluesky 181 + </Text> 182 + <Text 183 + numberOfLines={1} 184 + style={ 185 + Array [ 186 + Object { 187 + "color": "#000000", 188 + }, 189 + Object { 190 + "color": "#968d8d", 191 + "fontSize": 18, 192 + "marginLeft": 6, 193 + "maxWidth": 200, 194 + }, 195 + ] 196 + } 197 + > 198 + Private Beta 199 + </Text> 200 + </View> 201 + <View 202 + accessible={true} 203 + collapsable={false} 204 + focusable={true} 205 + hitSlop={ 206 + Object { 207 + "bottom": 10, 208 + "left": 10, 209 + "right": 10, 210 + "top": 10, 211 + } 212 + } 213 + onClick={[Function]} 214 + onResponderGrant={[Function]} 215 + onResponderMove={[Function]} 216 + onResponderRelease={[Function]} 217 + onResponderTerminate={[Function]} 218 + onResponderTerminationRequest={[Function]} 219 + onStartShouldSetResponder={[Function]} 220 + style={ 221 + Object { 222 + "alignItems": "center", 223 + "backgroundColor": "#f8f3f3", 224 + "borderRadius": 20, 225 + "flexDirection": "row", 226 + "height": 36, 227 + "justifyContent": "center", 228 + "opacity": 1, 229 + "width": 36, 230 + } 231 + } 232 + > 233 + < 234 + icon="plus" 235 + size={18} 236 + /> 237 + </View> 238 + <View 239 + accessible={true} 240 + collapsable={false} 241 + focusable={true} 242 + hitSlop={ 243 + Object { 244 + "bottom": 10, 245 + "left": 10, 246 + "right": 10, 247 + "top": 10, 248 + } 249 + } 250 + onClick={[Function]} 251 + onResponderGrant={[Function]} 252 + onResponderMove={[Function]} 253 + onResponderRelease={[Function]} 254 + onResponderTerminate={[Function]} 255 + onResponderTerminationRequest={[Function]} 256 + onStartShouldSetResponder={[Function]} 257 + style={ 258 + Object { 259 + "alignItems": "center", 260 + "backgroundColor": "#f8f3f3", 261 + "borderRadius": 20, 262 + "flexDirection": "row", 263 + "height": 36, 264 + "justifyContent": "center", 265 + "marginLeft": 8, 266 + "opacity": 1, 267 + "width": 36, 268 + } 269 + } 270 + > 271 + <RNSVGSvgView 272 + align="xMidYMid" 273 + bbHeight={18} 274 + bbWidth={18} 275 + color={4278190080} 276 + fill="none" 277 + focusable={false} 278 + height={18} 279 + meetOrSlice={0} 280 + minX={0} 281 + minY={0} 282 + stroke="currentColor" 283 + strokeWidth={3} 284 + style={ 285 + Array [ 286 + Object { 287 + "backgroundColor": "transparent", 288 + "borderWidth": 0, 289 + }, 290 + Object { 291 + "color": "#000000", 292 + "position": "relative", 293 + "top": -1, 294 + }, 295 + Object { 296 + "flex": 0, 297 + "height": 18, 298 + "width": 18, 299 + }, 300 + ] 301 + } 302 + tintColor={4278190080} 303 + vbHeight={24} 304 + vbWidth={24} 305 + width={18} 306 + > 307 + <RNSVGGroup 308 + fill={null} 309 + propList={ 310 + Array [ 311 + "fill", 312 + "stroke", 313 + "strokeWidth", 314 + ] 315 + } 316 + stroke={ 317 + Array [ 318 + 2, 319 + ] 320 + } 321 + strokeWidth={3} 322 + > 323 + <RNSVGPath 324 + d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 325 + propList={ 326 + Array [ 327 + "strokeLinecap", 328 + "strokeLinejoin", 329 + ] 330 + } 331 + strokeLinecap={1} 332 + strokeLinejoin={1} 333 + /> 334 + </RNSVGGroup> 335 + </RNSVGSvgView> 336 + </View> 337 + <View 338 + accessible={true} 339 + collapsable={false} 340 + focusable={true} 341 + onClick={[Function]} 342 + onResponderGrant={[Function]} 343 + onResponderMove={[Function]} 344 + onResponderRelease={[Function]} 345 + onResponderTerminate={[Function]} 346 + onResponderTerminationRequest={[Function]} 347 + onStartShouldSetResponder={[Function]} 348 + style={ 349 + Object { 350 + "alignItems": "center", 351 + "backgroundColor": "#ffffff", 352 + "borderRadius": 20, 353 + "flexDirection": "row", 354 + "height": 36, 355 + "justifyContent": "center", 356 + "marginLeft": 8, 357 + "opacity": 1, 358 + "width": 36, 359 + } 360 + } 361 + > 362 + < 363 + icon="signal" 364 + size={18} 365 + style={ 366 + Array [ 367 + Object { 368 + "color": "#000000", 369 + }, 370 + ] 371 + } 372 + /> 373 + < 374 + icon="x" 375 + size={12} 376 + style={ 377 + Object { 378 + "backgroundColor": "#ffffff", 379 + "color": "#d1106f", 380 + "left": -4, 381 + "position": "relative", 382 + "top": 6, 383 + } 384 + } 385 + /> 386 + </View> 387 + </View> 388 + <View 389 + style={ 390 + Object { 391 + "flex": 1, 392 + } 393 + } 394 + > 395 + <View 396 + accessible={true} 397 + collapsable={false} 398 + focusable={true} 399 + onClick={[Function]} 400 + onResponderGrant={[Function]} 401 + onResponderMove={[Function]} 402 + onResponderRelease={[Function]} 403 + onResponderTerminate={[Function]} 404 + onResponderTerminationRequest={[Function]} 405 + onStartShouldSetResponder={[Function]} 406 + style={ 407 + Object { 408 + "alignItems": "center", 409 + "backgroundColor": "#ffffff", 410 + "borderRadius": 6, 411 + "flexDirection": "row", 412 + "margin": 2, 413 + "marginBottom": 0, 414 + "opacity": 1, 415 + "paddingHorizontal": 10, 416 + "paddingVertical": 10, 417 + } 418 + } 419 + > 420 + <View 421 + accessible={true} 422 + collapsable={false} 423 + focusable={true} 424 + onClick={[Function]} 425 + onResponderGrant={[Function]} 426 + onResponderMove={[Function]} 427 + onResponderRelease={[Function]} 428 + onResponderTerminate={[Function]} 429 + onResponderTerminationRequest={[Function]} 430 + onStartShouldSetResponder={[Function]} 431 + style={ 432 + Object { 433 + "opacity": 1, 434 + "width": 50, 435 + } 436 + } 437 + > 438 + <RNSVGSvgView 439 + align="xMidYMid" 440 + bbHeight={50} 441 + bbWidth={50} 442 + focusable={false} 443 + height={50} 444 + meetOrSlice={0} 445 + minX={0} 446 + minY={0} 447 + style={ 448 + Array [ 449 + Object { 450 + "backgroundColor": "transparent", 451 + "borderWidth": 0, 452 + }, 453 + Object { 454 + "flex": 0, 455 + "height": 50, 456 + "width": 50, 457 + }, 458 + ] 459 + } 460 + vbHeight={100} 461 + vbWidth={100} 462 + width={50} 463 + > 464 + <RNSVGGroup> 465 + <RNSVGDefs> 466 + <RNSVGLinearGradient 467 + gradient={ 468 + Array [ 469 + 0, 470 + -1292135, 471 + 1, 472 + -2424577, 473 + ] 474 + } 475 + gradientTransform={null} 476 + gradientUnits={0} 477 + name="grad" 478 + x1="0" 479 + x2="1" 480 + y1="0" 481 + y2="1" 482 + /> 483 + </RNSVGDefs> 484 + <RNSVGCircle 485 + cx="50" 486 + cy="50" 487 + fill={ 488 + Array [ 489 + 1, 490 + "grad", 491 + ] 492 + } 493 + propList={ 494 + Array [ 495 + "fill", 496 + ] 497 + } 498 + r="50" 499 + /> 500 + <RNSVGText 501 + content={null} 502 + dx={Array []} 503 + dy={Array []} 504 + fill={4294967295} 505 + font={ 506 + Object { 507 + "fontSize": "50", 508 + "fontWeight": "bold", 509 + "textAnchor": "middle", 510 + } 511 + } 512 + propList={ 513 + Array [ 514 + "fill", 515 + ] 516 + } 517 + rotate={Array []} 518 + x={ 519 + Array [ 520 + "50", 521 + ] 522 + } 523 + y={ 524 + Array [ 525 + "67", 526 + ] 527 + } 528 + > 529 + <RNSVGTSpan 530 + content="X" 531 + dx={Array []} 532 + dy={Array []} 533 + font={Object {}} 534 + rotate={Array []} 535 + x={Array []} 536 + y={Array []} 537 + /> 538 + </RNSVGText> 539 + </RNSVGGroup> 540 + </RNSVGSvgView> 541 + </View> 542 + <View 543 + style={ 544 + Object { 545 + "flex": 1, 546 + "marginLeft": 10, 547 + } 548 + } 549 + > 550 + <Text 551 + style={ 552 + Array [ 553 + Object { 554 + "color": "#000000", 555 + }, 556 + Object { 557 + "color": "#968d8d", 558 + "fontSize": 17, 559 + }, 560 + ] 561 + } 562 + > 563 + What's up? 564 + </Text> 565 + </View> 566 + <View 567 + style={ 568 + Object { 569 + "backgroundColor": "#f8f3f3", 570 + "borderRadius": 30, 571 + "paddingHorizontal": 14, 572 + "paddingVertical": 6, 573 + } 574 + } 575 + > 576 + <Text 577 + style={ 578 + Array [ 579 + Object { 580 + "color": "#000000", 581 + }, 582 + Object { 583 + "color": "#645454", 584 + }, 585 + ] 586 + } 587 + > 588 + Post 589 + </Text> 590 + </View> 591 + </View> 592 + </View> 593 + </View> 594 + `;
+371
__tests__/view/screens/__snapshots__/Login.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`Login renders correctly 1`] = ` 4 + <View 5 + style={ 6 + Object { 7 + "flex": 1, 8 + } 9 + } 10 + > 11 + <View 12 + style={ 13 + Object { 14 + "flex": 2, 15 + "justifyContent": "center", 16 + } 17 + } 18 + > 19 + <View 20 + style={ 21 + Object { 22 + "flexDirection": "row", 23 + "justifyContent": "center", 24 + } 25 + } 26 + > 27 + <RNSVGSvgView 28 + bbHeight="100" 29 + bbWidth="100" 30 + focusable={false} 31 + height="100" 32 + style={ 33 + Array [ 34 + Object { 35 + "backgroundColor": "transparent", 36 + "borderWidth": 0, 37 + }, 38 + Object { 39 + "flex": 0, 40 + "height": 100, 41 + "width": 100, 42 + }, 43 + ] 44 + } 45 + width="100" 46 + > 47 + <RNSVGGroup> 48 + <RNSVGCircle 49 + cx="50" 50 + cy="50" 51 + fill={null} 52 + propList={ 53 + Array [ 54 + "fill", 55 + "stroke", 56 + "strokeWidth", 57 + ] 58 + } 59 + r="46" 60 + stroke={4294967295} 61 + strokeWidth={2} 62 + /> 63 + <RNSVGLine 64 + propList={ 65 + Array [ 66 + "stroke", 67 + "strokeWidth", 68 + ] 69 + } 70 + stroke={4294967295} 71 + strokeWidth={1} 72 + x1="30" 73 + x2="30" 74 + y1="0" 75 + y2="100" 76 + /> 77 + <RNSVGLine 78 + propList={ 79 + Array [ 80 + "stroke", 81 + "strokeWidth", 82 + ] 83 + } 84 + stroke={4294967295} 85 + strokeWidth={1} 86 + x1="74" 87 + x2="74" 88 + y1="0" 89 + y2="100" 90 + /> 91 + <RNSVGLine 92 + propList={ 93 + Array [ 94 + "stroke", 95 + "strokeWidth", 96 + ] 97 + } 98 + stroke={4294967295} 99 + strokeWidth={1} 100 + x1="0" 101 + x2="100" 102 + y1="22" 103 + y2="22" 104 + /> 105 + <RNSVGLine 106 + propList={ 107 + Array [ 108 + "stroke", 109 + "strokeWidth", 110 + ] 111 + } 112 + stroke={4294967295} 113 + strokeWidth={1} 114 + x1="0" 115 + x2="100" 116 + y1="74" 117 + y2="74" 118 + /> 119 + <RNSVGText 120 + content={null} 121 + dx={Array []} 122 + dy={Array []} 123 + fill={null} 124 + font={ 125 + Object { 126 + "fontSize": "60", 127 + "fontWeight": "bold", 128 + "textAnchor": "middle", 129 + } 130 + } 131 + propList={ 132 + Array [ 133 + "fill", 134 + "stroke", 135 + "strokeWidth", 136 + ] 137 + } 138 + rotate={Array []} 139 + stroke={4294967295} 140 + strokeWidth={2} 141 + x={ 142 + Array [ 143 + "52", 144 + ] 145 + } 146 + y={ 147 + Array [ 148 + "70", 149 + ] 150 + } 151 + > 152 + <RNSVGTSpan 153 + content="B" 154 + dx={Array []} 155 + dy={Array []} 156 + font={Object {}} 157 + rotate={Array []} 158 + x={Array []} 159 + y={Array []} 160 + /> 161 + </RNSVGText> 162 + </RNSVGGroup> 163 + </RNSVGSvgView> 164 + </View> 165 + <Text 166 + style={ 167 + Array [ 168 + Object { 169 + "color": "#000000", 170 + }, 171 + Object { 172 + "color": "#ffffff", 173 + "fontSize": 68, 174 + "fontWeight": "bold", 175 + "textAlign": "center", 176 + }, 177 + ] 178 + } 179 + > 180 + Bluesky 181 + </Text> 182 + <Text 183 + style={ 184 + Array [ 185 + Object { 186 + "color": "#000000", 187 + }, 188 + Object { 189 + "color": "#ffffff", 190 + "fontSize": 18, 191 + "textAlign": "center", 192 + }, 193 + ] 194 + } 195 + > 196 + [ private beta ] 197 + </Text> 198 + </View> 199 + <View 200 + style={ 201 + Object { 202 + "flex": 1, 203 + } 204 + } 205 + > 206 + <View 207 + accessible={true} 208 + collapsable={false} 209 + focusable={true} 210 + onClick={[Function]} 211 + onResponderGrant={[Function]} 212 + onResponderMove={[Function]} 213 + onResponderRelease={[Function]} 214 + onResponderTerminate={[Function]} 215 + onResponderTerminationRequest={[Function]} 216 + onStartShouldSetResponder={[Function]} 217 + style={ 218 + Object { 219 + "backgroundColor": "#0085ff", 220 + "borderColor": "#ffffff", 221 + "borderRadius": 10, 222 + "borderWidth": 1, 223 + "marginBottom": 20, 224 + "marginHorizontal": 20, 225 + "opacity": 1, 226 + "paddingVertical": 16, 227 + } 228 + } 229 + > 230 + <Text 231 + style={ 232 + Array [ 233 + Object { 234 + "color": "#000000", 235 + }, 236 + Object { 237 + "color": "#ffffff", 238 + "fontSize": 18, 239 + "fontWeight": "bold", 240 + "textAlign": "center", 241 + }, 242 + ] 243 + } 244 + > 245 + Create a new account 246 + </Text> 247 + </View> 248 + <View 249 + style={ 250 + Object { 251 + "marginBottom": 20, 252 + } 253 + } 254 + > 255 + <RNSVGSvgView 256 + bbHeight="1" 257 + bbWidth={750} 258 + focusable={false} 259 + height="1" 260 + style={ 261 + Array [ 262 + Object { 263 + "backgroundColor": "transparent", 264 + "borderWidth": 0, 265 + }, 266 + Object { 267 + "position": "absolute", 268 + "top": 10, 269 + }, 270 + Object { 271 + "flex": 0, 272 + "height": 1, 273 + "width": 750, 274 + }, 275 + ] 276 + } 277 + width={750} 278 + > 279 + <RNSVGGroup> 280 + <RNSVGLine 281 + propList={ 282 + Array [ 283 + "stroke", 284 + "strokeWidth", 285 + ] 286 + } 287 + stroke={4294967295} 288 + strokeWidth="1" 289 + x1="30" 290 + x2={355} 291 + y1="0" 292 + y2="0" 293 + /> 294 + <RNSVGLine 295 + propList={ 296 + Array [ 297 + "stroke", 298 + "strokeWidth", 299 + ] 300 + } 301 + stroke={4294967295} 302 + strokeWidth="1" 303 + x1={395} 304 + x2={720} 305 + y1="0" 306 + y2="0" 307 + /> 308 + </RNSVGGroup> 309 + </RNSVGSvgView> 310 + <Text 311 + style={ 312 + Array [ 313 + Object { 314 + "color": "#000000", 315 + }, 316 + Object { 317 + "color": "#ffffff", 318 + "fontSize": 16, 319 + "textAlign": "center", 320 + }, 321 + ] 322 + } 323 + > 324 + or 325 + </Text> 326 + </View> 327 + <View 328 + accessible={true} 329 + collapsable={false} 330 + focusable={true} 331 + onClick={[Function]} 332 + onResponderGrant={[Function]} 333 + onResponderMove={[Function]} 334 + onResponderRelease={[Function]} 335 + onResponderTerminate={[Function]} 336 + onResponderTerminationRequest={[Function]} 337 + onStartShouldSetResponder={[Function]} 338 + style={ 339 + Object { 340 + "backgroundColor": "#0085ff", 341 + "borderColor": "#ffffff", 342 + "borderRadius": 10, 343 + "borderWidth": 1, 344 + "marginBottom": 20, 345 + "marginHorizontal": 20, 346 + "opacity": 1, 347 + "paddingVertical": 16, 348 + } 349 + } 350 + > 351 + <Text 352 + style={ 353 + Array [ 354 + Object { 355 + "color": "#000000", 356 + }, 357 + Object { 358 + "color": "#ffffff", 359 + "fontSize": 18, 360 + "fontWeight": "bold", 361 + "textAlign": "center", 362 + }, 363 + ] 364 + } 365 + > 366 + Sign in 367 + </Text> 368 + </View> 369 + </View> 370 + </View> 371 + `;
+431
__tests__/view/screens/__snapshots__/NotFound.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`NotFound renders correctly 1`] = ` 4 + <View> 5 + <View 6 + style={ 7 + Object { 8 + "alignItems": "center", 9 + "backgroundColor": "#ffffff", 10 + "borderBottomColor": "#f8f3f3", 11 + "borderBottomWidth": 1, 12 + "flexDirection": "row", 13 + "paddingBottom": 6, 14 + "paddingHorizontal": 12, 15 + "paddingTop": 6, 16 + } 17 + } 18 + > 19 + <View 20 + accessible={true} 21 + collapsable={false} 22 + focusable={true} 23 + hitSlop={ 24 + Object { 25 + "bottom": 10, 26 + "left": 10, 27 + "right": 30, 28 + "top": 10, 29 + } 30 + } 31 + onClick={[Function]} 32 + onResponderGrant={[Function]} 33 + onResponderMove={[Function]} 34 + onResponderRelease={[Function]} 35 + onResponderTerminate={[Function]} 36 + onResponderTerminationRequest={[Function]} 37 + onStartShouldSetResponder={[Function]} 38 + style={ 39 + Object { 40 + "height": 30, 41 + "opacity": 1, 42 + "width": 40, 43 + } 44 + } 45 + > 46 + <RNSVGSvgView 47 + align="xMidYMid" 48 + bbHeight={30} 49 + bbWidth={30} 50 + focusable={false} 51 + height={30} 52 + meetOrSlice={0} 53 + minX={0} 54 + minY={0} 55 + style={ 56 + Array [ 57 + Object { 58 + "backgroundColor": "transparent", 59 + "borderWidth": 0, 60 + }, 61 + Object { 62 + "flex": 0, 63 + "height": 30, 64 + "width": 30, 65 + }, 66 + ] 67 + } 68 + vbHeight={100} 69 + vbWidth={100} 70 + width={30} 71 + > 72 + <RNSVGGroup> 73 + <RNSVGDefs> 74 + <RNSVGLinearGradient 75 + gradient={ 76 + Array [ 77 + 0, 78 + -1292135, 79 + 1, 80 + -2424577, 81 + ] 82 + } 83 + gradientTransform={null} 84 + gradientUnits={0} 85 + name="grad" 86 + x1="0" 87 + x2="1" 88 + y1="0" 89 + y2="1" 90 + /> 91 + </RNSVGDefs> 92 + <RNSVGCircle 93 + cx="50" 94 + cy="50" 95 + fill={ 96 + Array [ 97 + 1, 98 + "grad", 99 + ] 100 + } 101 + propList={ 102 + Array [ 103 + "fill", 104 + ] 105 + } 106 + r="50" 107 + /> 108 + <RNSVGText 109 + content={null} 110 + dx={Array []} 111 + dy={Array []} 112 + fill={4294967295} 113 + font={ 114 + Object { 115 + "fontSize": "50", 116 + "fontWeight": "bold", 117 + "textAnchor": "middle", 118 + } 119 + } 120 + propList={ 121 + Array [ 122 + "fill", 123 + ] 124 + } 125 + rotate={Array []} 126 + x={ 127 + Array [ 128 + "50", 129 + ] 130 + } 131 + y={ 132 + Array [ 133 + "67", 134 + ] 135 + } 136 + > 137 + <RNSVGTSpan 138 + content="X" 139 + dx={Array []} 140 + dy={Array []} 141 + font={Object {}} 142 + rotate={Array []} 143 + x={Array []} 144 + y={Array []} 145 + /> 146 + </RNSVGText> 147 + </RNSVGGroup> 148 + </RNSVGSvgView> 149 + </View> 150 + <View 151 + pointerEvents="none" 152 + style={ 153 + Object { 154 + "alignItems": "baseline", 155 + "flexDirection": "row", 156 + "marginRight": "auto", 157 + } 158 + } 159 + > 160 + <Text 161 + style={ 162 + Array [ 163 + Object { 164 + "color": "#000000", 165 + }, 166 + Object { 167 + "color": "#000000", 168 + "fontSize": 21, 169 + "fontWeight": "600", 170 + }, 171 + ] 172 + } 173 + > 174 + Page not found 175 + </Text> 176 + </View> 177 + <View 178 + accessible={true} 179 + collapsable={false} 180 + focusable={true} 181 + hitSlop={ 182 + Object { 183 + "bottom": 10, 184 + "left": 10, 185 + "right": 10, 186 + "top": 10, 187 + } 188 + } 189 + onClick={[Function]} 190 + onResponderGrant={[Function]} 191 + onResponderMove={[Function]} 192 + onResponderRelease={[Function]} 193 + onResponderTerminate={[Function]} 194 + onResponderTerminationRequest={[Function]} 195 + onStartShouldSetResponder={[Function]} 196 + style={ 197 + Object { 198 + "alignItems": "center", 199 + "backgroundColor": "#f8f3f3", 200 + "borderRadius": 20, 201 + "flexDirection": "row", 202 + "height": 36, 203 + "justifyContent": "center", 204 + "opacity": 1, 205 + "width": 36, 206 + } 207 + } 208 + > 209 + < 210 + icon="plus" 211 + size={18} 212 + /> 213 + </View> 214 + <View 215 + accessible={true} 216 + collapsable={false} 217 + focusable={true} 218 + hitSlop={ 219 + Object { 220 + "bottom": 10, 221 + "left": 10, 222 + "right": 10, 223 + "top": 10, 224 + } 225 + } 226 + onClick={[Function]} 227 + onResponderGrant={[Function]} 228 + onResponderMove={[Function]} 229 + onResponderRelease={[Function]} 230 + onResponderTerminate={[Function]} 231 + onResponderTerminationRequest={[Function]} 232 + onStartShouldSetResponder={[Function]} 233 + style={ 234 + Object { 235 + "alignItems": "center", 236 + "backgroundColor": "#f8f3f3", 237 + "borderRadius": 20, 238 + "flexDirection": "row", 239 + "height": 36, 240 + "justifyContent": "center", 241 + "marginLeft": 8, 242 + "opacity": 1, 243 + "width": 36, 244 + } 245 + } 246 + > 247 + <RNSVGSvgView 248 + align="xMidYMid" 249 + bbHeight={18} 250 + bbWidth={18} 251 + color={4278190080} 252 + fill="none" 253 + focusable={false} 254 + height={18} 255 + meetOrSlice={0} 256 + minX={0} 257 + minY={0} 258 + stroke="currentColor" 259 + strokeWidth={3} 260 + style={ 261 + Array [ 262 + Object { 263 + "backgroundColor": "transparent", 264 + "borderWidth": 0, 265 + }, 266 + Object { 267 + "color": "#000000", 268 + "position": "relative", 269 + "top": -1, 270 + }, 271 + Object { 272 + "flex": 0, 273 + "height": 18, 274 + "width": 18, 275 + }, 276 + ] 277 + } 278 + tintColor={4278190080} 279 + vbHeight={24} 280 + vbWidth={24} 281 + width={18} 282 + > 283 + <RNSVGGroup 284 + fill={null} 285 + propList={ 286 + Array [ 287 + "fill", 288 + "stroke", 289 + "strokeWidth", 290 + ] 291 + } 292 + stroke={ 293 + Array [ 294 + 2, 295 + ] 296 + } 297 + strokeWidth={3} 298 + > 299 + <RNSVGPath 300 + d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 301 + propList={ 302 + Array [ 303 + "strokeLinecap", 304 + "strokeLinejoin", 305 + ] 306 + } 307 + strokeLinecap={1} 308 + strokeLinejoin={1} 309 + /> 310 + </RNSVGGroup> 311 + </RNSVGSvgView> 312 + </View> 313 + <View 314 + accessible={true} 315 + collapsable={false} 316 + focusable={true} 317 + onClick={[Function]} 318 + onResponderGrant={[Function]} 319 + onResponderMove={[Function]} 320 + onResponderRelease={[Function]} 321 + onResponderTerminate={[Function]} 322 + onResponderTerminationRequest={[Function]} 323 + onStartShouldSetResponder={[Function]} 324 + style={ 325 + Object { 326 + "alignItems": "center", 327 + "backgroundColor": "#ffffff", 328 + "borderRadius": 20, 329 + "flexDirection": "row", 330 + "height": 36, 331 + "justifyContent": "center", 332 + "marginLeft": 8, 333 + "opacity": 1, 334 + "width": 36, 335 + } 336 + } 337 + > 338 + < 339 + icon="signal" 340 + size={18} 341 + style={ 342 + Array [ 343 + Object { 344 + "color": "#000000", 345 + }, 346 + ] 347 + } 348 + /> 349 + < 350 + icon="x" 351 + size={12} 352 + style={ 353 + Object { 354 + "backgroundColor": "#ffffff", 355 + "color": "#d1106f", 356 + "left": -4, 357 + "position": "relative", 358 + "top": 6, 359 + } 360 + } 361 + /> 362 + </View> 363 + </View> 364 + <View 365 + style={ 366 + Object { 367 + "alignItems": "center", 368 + "justifyContent": "center", 369 + "paddingTop": 100, 370 + } 371 + } 372 + > 373 + <Text 374 + style={ 375 + Array [ 376 + Object { 377 + "color": "#000000", 378 + }, 379 + Object { 380 + "fontSize": 40, 381 + "fontWeight": "bold", 382 + }, 383 + ] 384 + } 385 + > 386 + Page not found 387 + </Text> 388 + <View 389 + accessibilityRole="button" 390 + accessible={true} 391 + collapsable={false} 392 + focusable={true} 393 + onClick={[Function]} 394 + onResponderGrant={[Function]} 395 + onResponderMove={[Function]} 396 + onResponderRelease={[Function]} 397 + onResponderTerminate={[Function]} 398 + onResponderTerminationRequest={[Function]} 399 + onStartShouldSetResponder={[Function]} 400 + style={ 401 + Object { 402 + "opacity": 1, 403 + } 404 + } 405 + > 406 + <View 407 + style={ 408 + Array [ 409 + Object {}, 410 + ] 411 + } 412 + > 413 + <Text 414 + style={ 415 + Array [ 416 + Object { 417 + "color": "#007AFF", 418 + "fontSize": 18, 419 + "margin": 8, 420 + "textAlign": "center", 421 + }, 422 + ] 423 + } 424 + > 425 + Home 426 + </Text> 427 + </View> 428 + </View> 429 + </View> 430 + </View> 431 + `;
+378
__tests__/view/screens/__snapshots__/Notifications.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`Notifications renders correctly 1`] = ` 4 + <View 5 + style={ 6 + Object { 7 + "flex": 1, 8 + } 9 + } 10 + > 11 + <View 12 + style={ 13 + Object { 14 + "alignItems": "center", 15 + "backgroundColor": "#ffffff", 16 + "borderBottomColor": "#f8f3f3", 17 + "borderBottomWidth": 1, 18 + "flexDirection": "row", 19 + "paddingBottom": 6, 20 + "paddingHorizontal": 12, 21 + "paddingTop": 6, 22 + } 23 + } 24 + > 25 + <View 26 + accessible={true} 27 + collapsable={false} 28 + focusable={true} 29 + hitSlop={ 30 + Object { 31 + "bottom": 10, 32 + "left": 10, 33 + "right": 30, 34 + "top": 10, 35 + } 36 + } 37 + onClick={[Function]} 38 + onResponderGrant={[Function]} 39 + onResponderMove={[Function]} 40 + onResponderRelease={[Function]} 41 + onResponderTerminate={[Function]} 42 + onResponderTerminationRequest={[Function]} 43 + onStartShouldSetResponder={[Function]} 44 + style={ 45 + Object { 46 + "height": 30, 47 + "opacity": 1, 48 + "width": 40, 49 + } 50 + } 51 + > 52 + <RNSVGSvgView 53 + align="xMidYMid" 54 + bbHeight={30} 55 + bbWidth={30} 56 + focusable={false} 57 + height={30} 58 + meetOrSlice={0} 59 + minX={0} 60 + minY={0} 61 + style={ 62 + Array [ 63 + Object { 64 + "backgroundColor": "transparent", 65 + "borderWidth": 0, 66 + }, 67 + Object { 68 + "flex": 0, 69 + "height": 30, 70 + "width": 30, 71 + }, 72 + ] 73 + } 74 + vbHeight={100} 75 + vbWidth={100} 76 + width={30} 77 + > 78 + <RNSVGGroup> 79 + <RNSVGDefs> 80 + <RNSVGLinearGradient 81 + gradient={ 82 + Array [ 83 + 0, 84 + -1292135, 85 + 1, 86 + -2424577, 87 + ] 88 + } 89 + gradientTransform={null} 90 + gradientUnits={0} 91 + name="grad" 92 + x1="0" 93 + x2="1" 94 + y1="0" 95 + y2="1" 96 + /> 97 + </RNSVGDefs> 98 + <RNSVGCircle 99 + cx="50" 100 + cy="50" 101 + fill={ 102 + Array [ 103 + 1, 104 + "grad", 105 + ] 106 + } 107 + propList={ 108 + Array [ 109 + "fill", 110 + ] 111 + } 112 + r="50" 113 + /> 114 + <RNSVGText 115 + content={null} 116 + dx={Array []} 117 + dy={Array []} 118 + fill={4294967295} 119 + font={ 120 + Object { 121 + "fontSize": "50", 122 + "fontWeight": "bold", 123 + "textAnchor": "middle", 124 + } 125 + } 126 + propList={ 127 + Array [ 128 + "fill", 129 + ] 130 + } 131 + rotate={Array []} 132 + x={ 133 + Array [ 134 + "50", 135 + ] 136 + } 137 + y={ 138 + Array [ 139 + "67", 140 + ] 141 + } 142 + > 143 + <RNSVGTSpan 144 + content="X" 145 + dx={Array []} 146 + dy={Array []} 147 + font={Object {}} 148 + rotate={Array []} 149 + x={Array []} 150 + y={Array []} 151 + /> 152 + </RNSVGText> 153 + </RNSVGGroup> 154 + </RNSVGSvgView> 155 + </View> 156 + <View 157 + pointerEvents="none" 158 + style={ 159 + Object { 160 + "alignItems": "baseline", 161 + "flexDirection": "row", 162 + "marginRight": "auto", 163 + } 164 + } 165 + > 166 + <Text 167 + style={ 168 + Array [ 169 + Object { 170 + "color": "#000000", 171 + }, 172 + Object { 173 + "color": "#000000", 174 + "fontSize": 21, 175 + "fontWeight": "600", 176 + }, 177 + ] 178 + } 179 + > 180 + Notifications 181 + </Text> 182 + </View> 183 + <View 184 + accessible={true} 185 + collapsable={false} 186 + focusable={true} 187 + hitSlop={ 188 + Object { 189 + "bottom": 10, 190 + "left": 10, 191 + "right": 10, 192 + "top": 10, 193 + } 194 + } 195 + onClick={[Function]} 196 + onResponderGrant={[Function]} 197 + onResponderMove={[Function]} 198 + onResponderRelease={[Function]} 199 + onResponderTerminate={[Function]} 200 + onResponderTerminationRequest={[Function]} 201 + onStartShouldSetResponder={[Function]} 202 + style={ 203 + Object { 204 + "alignItems": "center", 205 + "backgroundColor": "#f8f3f3", 206 + "borderRadius": 20, 207 + "flexDirection": "row", 208 + "height": 36, 209 + "justifyContent": "center", 210 + "opacity": 1, 211 + "width": 36, 212 + } 213 + } 214 + > 215 + < 216 + icon="plus" 217 + size={18} 218 + /> 219 + </View> 220 + <View 221 + accessible={true} 222 + collapsable={false} 223 + focusable={true} 224 + hitSlop={ 225 + Object { 226 + "bottom": 10, 227 + "left": 10, 228 + "right": 10, 229 + "top": 10, 230 + } 231 + } 232 + onClick={[Function]} 233 + onResponderGrant={[Function]} 234 + onResponderMove={[Function]} 235 + onResponderRelease={[Function]} 236 + onResponderTerminate={[Function]} 237 + onResponderTerminationRequest={[Function]} 238 + onStartShouldSetResponder={[Function]} 239 + style={ 240 + Object { 241 + "alignItems": "center", 242 + "backgroundColor": "#f8f3f3", 243 + "borderRadius": 20, 244 + "flexDirection": "row", 245 + "height": 36, 246 + "justifyContent": "center", 247 + "marginLeft": 8, 248 + "opacity": 1, 249 + "width": 36, 250 + } 251 + } 252 + > 253 + <RNSVGSvgView 254 + align="xMidYMid" 255 + bbHeight={18} 256 + bbWidth={18} 257 + color={4278190080} 258 + fill="none" 259 + focusable={false} 260 + height={18} 261 + meetOrSlice={0} 262 + minX={0} 263 + minY={0} 264 + stroke="currentColor" 265 + strokeWidth={3} 266 + style={ 267 + Array [ 268 + Object { 269 + "backgroundColor": "transparent", 270 + "borderWidth": 0, 271 + }, 272 + Object { 273 + "color": "#000000", 274 + "position": "relative", 275 + "top": -1, 276 + }, 277 + Object { 278 + "flex": 0, 279 + "height": 18, 280 + "width": 18, 281 + }, 282 + ] 283 + } 284 + tintColor={4278190080} 285 + vbHeight={24} 286 + vbWidth={24} 287 + width={18} 288 + > 289 + <RNSVGGroup 290 + fill={null} 291 + propList={ 292 + Array [ 293 + "fill", 294 + "stroke", 295 + "strokeWidth", 296 + ] 297 + } 298 + stroke={ 299 + Array [ 300 + 2, 301 + ] 302 + } 303 + strokeWidth={3} 304 + > 305 + <RNSVGPath 306 + d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 307 + propList={ 308 + Array [ 309 + "strokeLinecap", 310 + "strokeLinejoin", 311 + ] 312 + } 313 + strokeLinecap={1} 314 + strokeLinejoin={1} 315 + /> 316 + </RNSVGGroup> 317 + </RNSVGSvgView> 318 + </View> 319 + <View 320 + accessible={true} 321 + collapsable={false} 322 + focusable={true} 323 + onClick={[Function]} 324 + onResponderGrant={[Function]} 325 + onResponderMove={[Function]} 326 + onResponderRelease={[Function]} 327 + onResponderTerminate={[Function]} 328 + onResponderTerminationRequest={[Function]} 329 + onStartShouldSetResponder={[Function]} 330 + style={ 331 + Object { 332 + "alignItems": "center", 333 + "backgroundColor": "#ffffff", 334 + "borderRadius": 20, 335 + "flexDirection": "row", 336 + "height": 36, 337 + "justifyContent": "center", 338 + "marginLeft": 8, 339 + "opacity": 1, 340 + "width": 36, 341 + } 342 + } 343 + > 344 + < 345 + icon="signal" 346 + size={18} 347 + style={ 348 + Array [ 349 + Object { 350 + "color": "#000000", 351 + }, 352 + ] 353 + } 354 + /> 355 + < 356 + icon="x" 357 + size={12} 358 + style={ 359 + Object { 360 + "backgroundColor": "#ffffff", 361 + "color": "#d1106f", 362 + "left": -4, 363 + "position": "relative", 364 + "top": 6, 365 + } 366 + } 367 + /> 368 + </View> 369 + </View> 370 + <View 371 + style={ 372 + Object { 373 + "flex": 1, 374 + } 375 + } 376 + /> 377 + </View> 378 + `;
+388
__tests__/view/screens/__snapshots__/Onboard.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`Onboard renders correctly 1`] = ` 4 + <View 5 + style={ 6 + Object { 7 + "backgroundColor": "#fff", 8 + "flex": 1, 9 + } 10 + } 11 + > 12 + <RCTSafeAreaView 13 + emulateUnlessSupported={true} 14 + style={ 15 + Object { 16 + "flex": 1, 17 + } 18 + } 19 + > 20 + <View 21 + onLayout={[Function]} 22 + style={ 23 + Array [ 24 + Object { 25 + "flex": 1, 26 + "overflow": "hidden", 27 + }, 28 + undefined, 29 + ] 30 + } 31 + > 32 + <RNCViewPager 33 + collapsable={false} 34 + initialPage={0} 35 + keyboardDismissMode="on-drag" 36 + layout={ 37 + Object { 38 + "height": 0, 39 + "width": 750, 40 + } 41 + } 42 + layoutDirection="ltr" 43 + onMoveShouldSetResponderCapture={[Function]} 44 + onPageScroll={[Function]} 45 + onPageScrollStateChanged={[Function]} 46 + onPageSelected={[Function]} 47 + scrollEnabled={true} 48 + style={ 49 + Object { 50 + "flex": 1, 51 + } 52 + } 53 + > 54 + <View 55 + collapsable={false} 56 + style={ 57 + Object { 58 + "bottom": 0, 59 + "left": 0, 60 + "position": "absolute", 61 + "right": 0, 62 + "top": 0, 63 + } 64 + } 65 + > 66 + <View 67 + accessibilityElementsHidden={false} 68 + importantForAccessibility="auto" 69 + style={ 70 + Array [ 71 + Object { 72 + "flex": 1, 73 + "overflow": "hidden", 74 + }, 75 + Object { 76 + "width": 750, 77 + }, 78 + Array [ 79 + undefined, 80 + Object { 81 + "bottom": 0, 82 + "left": 0, 83 + "position": "absolute", 84 + "right": 0, 85 + "top": 0, 86 + }, 87 + ], 88 + ] 89 + } 90 + > 91 + <View 92 + style={ 93 + Object { 94 + "flex": 1, 95 + "paddingHorizontal": 16, 96 + "paddingTop": 80, 97 + } 98 + } 99 + > 100 + <Text 101 + style={ 102 + Array [ 103 + Object { 104 + "color": "#000000", 105 + }, 106 + Array [ 107 + Object { 108 + "fontSize": 42, 109 + "fontWeight": "bold", 110 + "marginBottom": 16, 111 + "textAlign": "center", 112 + }, 113 + Object { 114 + "fontWeight": "400", 115 + }, 116 + Object { 117 + "lineHeight": 60, 118 + "paddingBottom": 50, 119 + "paddingTop": 50, 120 + }, 121 + ], 122 + ] 123 + } 124 + > 125 + Welcome to 126 + <Text 127 + style={ 128 + Array [ 129 + Object { 130 + "color": "#000000", 131 + }, 132 + Array [ 133 + Object { 134 + "fontWeight": "bold", 135 + }, 136 + Object { 137 + "color": "#0085ff", 138 + }, 139 + Object { 140 + "fontSize": 56, 141 + }, 142 + ], 143 + ] 144 + } 145 + > 146 + Bluesky 147 + </Text> 148 + </Text> 149 + <Text 150 + style={ 151 + Array [ 152 + Object { 153 + "color": "#000000", 154 + }, 155 + Array [ 156 + Object { 157 + "fontSize": 18, 158 + "marginBottom": 16, 159 + "textAlign": "center", 160 + }, 161 + Object { 162 + "fontSize": 24, 163 + }, 164 + ], 165 + ] 166 + } 167 + > 168 + Let's do a quick tour through the new features. 169 + </Text> 170 + </View> 171 + </View> 172 + </View> 173 + <View 174 + collapsable={false} 175 + style={ 176 + Object { 177 + "bottom": 0, 178 + "left": 0, 179 + "position": "absolute", 180 + "right": 0, 181 + "top": 0, 182 + } 183 + } 184 + > 185 + <View 186 + accessibilityElementsHidden={true} 187 + importantForAccessibility="no-hide-descendants" 188 + style={ 189 + Array [ 190 + Object { 191 + "flex": 1, 192 + "overflow": "hidden", 193 + }, 194 + Object { 195 + "width": 750, 196 + }, 197 + Array [ 198 + undefined, 199 + Object { 200 + "bottom": 0, 201 + "left": 0, 202 + "position": "absolute", 203 + "right": 0, 204 + "top": 0, 205 + }, 206 + ], 207 + ] 208 + } 209 + /> 210 + </View> 211 + </RNCViewPager> 212 + <View 213 + style={ 214 + Object { 215 + "flexDirection": "row", 216 + } 217 + } 218 + > 219 + <View 220 + style={ 221 + Object { 222 + "flex": 1, 223 + } 224 + } 225 + /> 226 + <View 227 + accessible={true} 228 + collapsable={false} 229 + focusable={true} 230 + onClick={[Function]} 231 + onResponderGrant={[Function]} 232 + onResponderMove={[Function]} 233 + onResponderRelease={[Function]} 234 + onResponderTerminate={[Function]} 235 + onResponderTerminationRequest={[Function]} 236 + onStartShouldSetResponder={[Function]} 237 + style={ 238 + Object { 239 + "alignItems": "center", 240 + "opacity": 1, 241 + "padding": 16, 242 + } 243 + } 244 + > 245 + <Text 246 + collapsable={false} 247 + style={ 248 + Object { 249 + "opacity": 1, 250 + } 251 + } 252 + > 253 + ° 254 + </Text> 255 + </View> 256 + <View 257 + accessible={true} 258 + collapsable={false} 259 + focusable={true} 260 + onClick={[Function]} 261 + onResponderGrant={[Function]} 262 + onResponderMove={[Function]} 263 + onResponderRelease={[Function]} 264 + onResponderTerminate={[Function]} 265 + onResponderTerminationRequest={[Function]} 266 + onStartShouldSetResponder={[Function]} 267 + style={ 268 + Object { 269 + "alignItems": "center", 270 + "opacity": 1, 271 + "padding": 16, 272 + } 273 + } 274 + > 275 + <Text 276 + collapsable={false} 277 + style={ 278 + Object { 279 + "opacity": 0.5, 280 + } 281 + } 282 + > 283 + ° 284 + </Text> 285 + </View> 286 + <View 287 + style={ 288 + Object { 289 + "flex": 1, 290 + } 291 + } 292 + /> 293 + </View> 294 + </View> 295 + <View 296 + style={ 297 + Object { 298 + "flexDirection": "row", 299 + "paddingBottom": 24, 300 + "paddingHorizontal": 32, 301 + } 302 + } 303 + > 304 + <View 305 + accessible={true} 306 + collapsable={false} 307 + focusable={true} 308 + onClick={[Function]} 309 + onResponderGrant={[Function]} 310 + onResponderMove={[Function]} 311 + onResponderRelease={[Function]} 312 + onResponderTerminate={[Function]} 313 + onResponderTerminationRequest={[Function]} 314 + onStartShouldSetResponder={[Function]} 315 + style={ 316 + Object { 317 + "opacity": 1, 318 + } 319 + } 320 + > 321 + <Text 322 + style={ 323 + Array [ 324 + Object { 325 + "color": "#000000", 326 + }, 327 + Array [ 328 + Object { 329 + "color": "#0085ff", 330 + }, 331 + Object { 332 + "fontSize": 18, 333 + }, 334 + ], 335 + ] 336 + } 337 + > 338 + Skip 339 + </Text> 340 + </View> 341 + <View 342 + style={ 343 + Object { 344 + "flex": 1, 345 + } 346 + } 347 + /> 348 + <View 349 + accessible={true} 350 + collapsable={false} 351 + focusable={true} 352 + onClick={[Function]} 353 + onResponderGrant={[Function]} 354 + onResponderMove={[Function]} 355 + onResponderRelease={[Function]} 356 + onResponderTerminate={[Function]} 357 + onResponderTerminationRequest={[Function]} 358 + onStartShouldSetResponder={[Function]} 359 + style={ 360 + Object { 361 + "opacity": 1, 362 + } 363 + } 364 + > 365 + <Text 366 + style={ 367 + Array [ 368 + Object { 369 + "color": "#000000", 370 + }, 371 + Array [ 372 + Object { 373 + "color": "#0085ff", 374 + }, 375 + Object { 376 + "fontSize": 18, 377 + }, 378 + ], 379 + ] 380 + } 381 + > 382 + Next 383 + </Text> 384 + </View> 385 + </View> 386 + </RCTSafeAreaView> 387 + </View> 388 + `;
+368
__tests__/view/screens/__snapshots__/PostDownvotedBy.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`PostDownvotedBy renders correctly 1`] = ` 4 + <View> 5 + <View 6 + style={ 7 + Object { 8 + "alignItems": "center", 9 + "backgroundColor": "#ffffff", 10 + "borderBottomColor": "#f8f3f3", 11 + "borderBottomWidth": 1, 12 + "flexDirection": "row", 13 + "paddingBottom": 6, 14 + "paddingHorizontal": 12, 15 + "paddingTop": 6, 16 + } 17 + } 18 + > 19 + <View 20 + accessible={true} 21 + collapsable={false} 22 + focusable={true} 23 + hitSlop={ 24 + Object { 25 + "bottom": 10, 26 + "left": 10, 27 + "right": 30, 28 + "top": 10, 29 + } 30 + } 31 + onClick={[Function]} 32 + onResponderGrant={[Function]} 33 + onResponderMove={[Function]} 34 + onResponderRelease={[Function]} 35 + onResponderTerminate={[Function]} 36 + onResponderTerminationRequest={[Function]} 37 + onStartShouldSetResponder={[Function]} 38 + style={ 39 + Object { 40 + "height": 30, 41 + "opacity": 1, 42 + "width": 40, 43 + } 44 + } 45 + > 46 + <RNSVGSvgView 47 + align="xMidYMid" 48 + bbHeight={30} 49 + bbWidth={30} 50 + focusable={false} 51 + height={30} 52 + meetOrSlice={0} 53 + minX={0} 54 + minY={0} 55 + style={ 56 + Array [ 57 + Object { 58 + "backgroundColor": "transparent", 59 + "borderWidth": 0, 60 + }, 61 + Object { 62 + "flex": 0, 63 + "height": 30, 64 + "width": 30, 65 + }, 66 + ] 67 + } 68 + vbHeight={100} 69 + vbWidth={100} 70 + width={30} 71 + > 72 + <RNSVGGroup> 73 + <RNSVGDefs> 74 + <RNSVGLinearGradient 75 + gradient={ 76 + Array [ 77 + 0, 78 + -1292135, 79 + 1, 80 + -2424577, 81 + ] 82 + } 83 + gradientTransform={null} 84 + gradientUnits={0} 85 + name="grad" 86 + x1="0" 87 + x2="1" 88 + y1="0" 89 + y2="1" 90 + /> 91 + </RNSVGDefs> 92 + <RNSVGCircle 93 + cx="50" 94 + cy="50" 95 + fill={ 96 + Array [ 97 + 1, 98 + "grad", 99 + ] 100 + } 101 + propList={ 102 + Array [ 103 + "fill", 104 + ] 105 + } 106 + r="50" 107 + /> 108 + <RNSVGText 109 + content={null} 110 + dx={Array []} 111 + dy={Array []} 112 + fill={4294967295} 113 + font={ 114 + Object { 115 + "fontSize": "50", 116 + "fontWeight": "bold", 117 + "textAnchor": "middle", 118 + } 119 + } 120 + propList={ 121 + Array [ 122 + "fill", 123 + ] 124 + } 125 + rotate={Array []} 126 + x={ 127 + Array [ 128 + "50", 129 + ] 130 + } 131 + y={ 132 + Array [ 133 + "67", 134 + ] 135 + } 136 + > 137 + <RNSVGTSpan 138 + content="X" 139 + dx={Array []} 140 + dy={Array []} 141 + font={Object {}} 142 + rotate={Array []} 143 + x={Array []} 144 + y={Array []} 145 + /> 146 + </RNSVGText> 147 + </RNSVGGroup> 148 + </RNSVGSvgView> 149 + </View> 150 + <View 151 + pointerEvents="none" 152 + style={ 153 + Object { 154 + "alignItems": "baseline", 155 + "flexDirection": "row", 156 + "marginRight": "auto", 157 + } 158 + } 159 + > 160 + <Text 161 + style={ 162 + Array [ 163 + Object { 164 + "color": "#000000", 165 + }, 166 + Object { 167 + "color": "#000000", 168 + "fontSize": 21, 169 + "fontWeight": "600", 170 + }, 171 + ] 172 + } 173 + > 174 + Downvoted by 175 + </Text> 176 + </View> 177 + <View 178 + accessible={true} 179 + collapsable={false} 180 + focusable={true} 181 + hitSlop={ 182 + Object { 183 + "bottom": 10, 184 + "left": 10, 185 + "right": 10, 186 + "top": 10, 187 + } 188 + } 189 + onClick={[Function]} 190 + onResponderGrant={[Function]} 191 + onResponderMove={[Function]} 192 + onResponderRelease={[Function]} 193 + onResponderTerminate={[Function]} 194 + onResponderTerminationRequest={[Function]} 195 + onStartShouldSetResponder={[Function]} 196 + style={ 197 + Object { 198 + "alignItems": "center", 199 + "backgroundColor": "#f8f3f3", 200 + "borderRadius": 20, 201 + "flexDirection": "row", 202 + "height": 36, 203 + "justifyContent": "center", 204 + "opacity": 1, 205 + "width": 36, 206 + } 207 + } 208 + > 209 + < 210 + icon="plus" 211 + size={18} 212 + /> 213 + </View> 214 + <View 215 + accessible={true} 216 + collapsable={false} 217 + focusable={true} 218 + hitSlop={ 219 + Object { 220 + "bottom": 10, 221 + "left": 10, 222 + "right": 10, 223 + "top": 10, 224 + } 225 + } 226 + onClick={[Function]} 227 + onResponderGrant={[Function]} 228 + onResponderMove={[Function]} 229 + onResponderRelease={[Function]} 230 + onResponderTerminate={[Function]} 231 + onResponderTerminationRequest={[Function]} 232 + onStartShouldSetResponder={[Function]} 233 + style={ 234 + Object { 235 + "alignItems": "center", 236 + "backgroundColor": "#f8f3f3", 237 + "borderRadius": 20, 238 + "flexDirection": "row", 239 + "height": 36, 240 + "justifyContent": "center", 241 + "marginLeft": 8, 242 + "opacity": 1, 243 + "width": 36, 244 + } 245 + } 246 + > 247 + <RNSVGSvgView 248 + align="xMidYMid" 249 + bbHeight={18} 250 + bbWidth={18} 251 + color={4278190080} 252 + fill="none" 253 + focusable={false} 254 + height={18} 255 + meetOrSlice={0} 256 + minX={0} 257 + minY={0} 258 + stroke="currentColor" 259 + strokeWidth={3} 260 + style={ 261 + Array [ 262 + Object { 263 + "backgroundColor": "transparent", 264 + "borderWidth": 0, 265 + }, 266 + Object { 267 + "color": "#000000", 268 + "position": "relative", 269 + "top": -1, 270 + }, 271 + Object { 272 + "flex": 0, 273 + "height": 18, 274 + "width": 18, 275 + }, 276 + ] 277 + } 278 + tintColor={4278190080} 279 + vbHeight={24} 280 + vbWidth={24} 281 + width={18} 282 + > 283 + <RNSVGGroup 284 + fill={null} 285 + propList={ 286 + Array [ 287 + "fill", 288 + "stroke", 289 + "strokeWidth", 290 + ] 291 + } 292 + stroke={ 293 + Array [ 294 + 2, 295 + ] 296 + } 297 + strokeWidth={3} 298 + > 299 + <RNSVGPath 300 + d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 301 + propList={ 302 + Array [ 303 + "strokeLinecap", 304 + "strokeLinejoin", 305 + ] 306 + } 307 + strokeLinecap={1} 308 + strokeLinejoin={1} 309 + /> 310 + </RNSVGGroup> 311 + </RNSVGSvgView> 312 + </View> 313 + <View 314 + accessible={true} 315 + collapsable={false} 316 + focusable={true} 317 + onClick={[Function]} 318 + onResponderGrant={[Function]} 319 + onResponderMove={[Function]} 320 + onResponderRelease={[Function]} 321 + onResponderTerminate={[Function]} 322 + onResponderTerminationRequest={[Function]} 323 + onStartShouldSetResponder={[Function]} 324 + style={ 325 + Object { 326 + "alignItems": "center", 327 + "backgroundColor": "#ffffff", 328 + "borderRadius": 20, 329 + "flexDirection": "row", 330 + "height": 36, 331 + "justifyContent": "center", 332 + "marginLeft": 8, 333 + "opacity": 1, 334 + "width": 36, 335 + } 336 + } 337 + > 338 + < 339 + icon="signal" 340 + size={18} 341 + style={ 342 + Array [ 343 + Object { 344 + "color": "#000000", 345 + }, 346 + ] 347 + } 348 + /> 349 + < 350 + icon="x" 351 + size={12} 352 + style={ 353 + Object { 354 + "backgroundColor": "#ffffff", 355 + "color": "#d1106f", 356 + "left": -4, 357 + "position": "relative", 358 + "top": 6, 359 + } 360 + } 361 + /> 362 + </View> 363 + </View> 364 + <View> 365 + <ActivityIndicator /> 366 + </View> 367 + </View> 368 + `;
+368
__tests__/view/screens/__snapshots__/PostRepostedBy.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`PostRepostedBy renders correctly 1`] = ` 4 + <View> 5 + <View 6 + style={ 7 + Object { 8 + "alignItems": "center", 9 + "backgroundColor": "#ffffff", 10 + "borderBottomColor": "#f8f3f3", 11 + "borderBottomWidth": 1, 12 + "flexDirection": "row", 13 + "paddingBottom": 6, 14 + "paddingHorizontal": 12, 15 + "paddingTop": 6, 16 + } 17 + } 18 + > 19 + <View 20 + accessible={true} 21 + collapsable={false} 22 + focusable={true} 23 + hitSlop={ 24 + Object { 25 + "bottom": 10, 26 + "left": 10, 27 + "right": 30, 28 + "top": 10, 29 + } 30 + } 31 + onClick={[Function]} 32 + onResponderGrant={[Function]} 33 + onResponderMove={[Function]} 34 + onResponderRelease={[Function]} 35 + onResponderTerminate={[Function]} 36 + onResponderTerminationRequest={[Function]} 37 + onStartShouldSetResponder={[Function]} 38 + style={ 39 + Object { 40 + "height": 30, 41 + "opacity": 1, 42 + "width": 40, 43 + } 44 + } 45 + > 46 + <RNSVGSvgView 47 + align="xMidYMid" 48 + bbHeight={30} 49 + bbWidth={30} 50 + focusable={false} 51 + height={30} 52 + meetOrSlice={0} 53 + minX={0} 54 + minY={0} 55 + style={ 56 + Array [ 57 + Object { 58 + "backgroundColor": "transparent", 59 + "borderWidth": 0, 60 + }, 61 + Object { 62 + "flex": 0, 63 + "height": 30, 64 + "width": 30, 65 + }, 66 + ] 67 + } 68 + vbHeight={100} 69 + vbWidth={100} 70 + width={30} 71 + > 72 + <RNSVGGroup> 73 + <RNSVGDefs> 74 + <RNSVGLinearGradient 75 + gradient={ 76 + Array [ 77 + 0, 78 + -1292135, 79 + 1, 80 + -2424577, 81 + ] 82 + } 83 + gradientTransform={null} 84 + gradientUnits={0} 85 + name="grad" 86 + x1="0" 87 + x2="1" 88 + y1="0" 89 + y2="1" 90 + /> 91 + </RNSVGDefs> 92 + <RNSVGCircle 93 + cx="50" 94 + cy="50" 95 + fill={ 96 + Array [ 97 + 1, 98 + "grad", 99 + ] 100 + } 101 + propList={ 102 + Array [ 103 + "fill", 104 + ] 105 + } 106 + r="50" 107 + /> 108 + <RNSVGText 109 + content={null} 110 + dx={Array []} 111 + dy={Array []} 112 + fill={4294967295} 113 + font={ 114 + Object { 115 + "fontSize": "50", 116 + "fontWeight": "bold", 117 + "textAnchor": "middle", 118 + } 119 + } 120 + propList={ 121 + Array [ 122 + "fill", 123 + ] 124 + } 125 + rotate={Array []} 126 + x={ 127 + Array [ 128 + "50", 129 + ] 130 + } 131 + y={ 132 + Array [ 133 + "67", 134 + ] 135 + } 136 + > 137 + <RNSVGTSpan 138 + content="X" 139 + dx={Array []} 140 + dy={Array []} 141 + font={Object {}} 142 + rotate={Array []} 143 + x={Array []} 144 + y={Array []} 145 + /> 146 + </RNSVGText> 147 + </RNSVGGroup> 148 + </RNSVGSvgView> 149 + </View> 150 + <View 151 + pointerEvents="none" 152 + style={ 153 + Object { 154 + "alignItems": "baseline", 155 + "flexDirection": "row", 156 + "marginRight": "auto", 157 + } 158 + } 159 + > 160 + <Text 161 + style={ 162 + Array [ 163 + Object { 164 + "color": "#000000", 165 + }, 166 + Object { 167 + "color": "#000000", 168 + "fontSize": 21, 169 + "fontWeight": "600", 170 + }, 171 + ] 172 + } 173 + > 174 + Reposted by 175 + </Text> 176 + </View> 177 + <View 178 + accessible={true} 179 + collapsable={false} 180 + focusable={true} 181 + hitSlop={ 182 + Object { 183 + "bottom": 10, 184 + "left": 10, 185 + "right": 10, 186 + "top": 10, 187 + } 188 + } 189 + onClick={[Function]} 190 + onResponderGrant={[Function]} 191 + onResponderMove={[Function]} 192 + onResponderRelease={[Function]} 193 + onResponderTerminate={[Function]} 194 + onResponderTerminationRequest={[Function]} 195 + onStartShouldSetResponder={[Function]} 196 + style={ 197 + Object { 198 + "alignItems": "center", 199 + "backgroundColor": "#f8f3f3", 200 + "borderRadius": 20, 201 + "flexDirection": "row", 202 + "height": 36, 203 + "justifyContent": "center", 204 + "opacity": 1, 205 + "width": 36, 206 + } 207 + } 208 + > 209 + < 210 + icon="plus" 211 + size={18} 212 + /> 213 + </View> 214 + <View 215 + accessible={true} 216 + collapsable={false} 217 + focusable={true} 218 + hitSlop={ 219 + Object { 220 + "bottom": 10, 221 + "left": 10, 222 + "right": 10, 223 + "top": 10, 224 + } 225 + } 226 + onClick={[Function]} 227 + onResponderGrant={[Function]} 228 + onResponderMove={[Function]} 229 + onResponderRelease={[Function]} 230 + onResponderTerminate={[Function]} 231 + onResponderTerminationRequest={[Function]} 232 + onStartShouldSetResponder={[Function]} 233 + style={ 234 + Object { 235 + "alignItems": "center", 236 + "backgroundColor": "#f8f3f3", 237 + "borderRadius": 20, 238 + "flexDirection": "row", 239 + "height": 36, 240 + "justifyContent": "center", 241 + "marginLeft": 8, 242 + "opacity": 1, 243 + "width": 36, 244 + } 245 + } 246 + > 247 + <RNSVGSvgView 248 + align="xMidYMid" 249 + bbHeight={18} 250 + bbWidth={18} 251 + color={4278190080} 252 + fill="none" 253 + focusable={false} 254 + height={18} 255 + meetOrSlice={0} 256 + minX={0} 257 + minY={0} 258 + stroke="currentColor" 259 + strokeWidth={3} 260 + style={ 261 + Array [ 262 + Object { 263 + "backgroundColor": "transparent", 264 + "borderWidth": 0, 265 + }, 266 + Object { 267 + "color": "#000000", 268 + "position": "relative", 269 + "top": -1, 270 + }, 271 + Object { 272 + "flex": 0, 273 + "height": 18, 274 + "width": 18, 275 + }, 276 + ] 277 + } 278 + tintColor={4278190080} 279 + vbHeight={24} 280 + vbWidth={24} 281 + width={18} 282 + > 283 + <RNSVGGroup 284 + fill={null} 285 + propList={ 286 + Array [ 287 + "fill", 288 + "stroke", 289 + "strokeWidth", 290 + ] 291 + } 292 + stroke={ 293 + Array [ 294 + 2, 295 + ] 296 + } 297 + strokeWidth={3} 298 + > 299 + <RNSVGPath 300 + d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 301 + propList={ 302 + Array [ 303 + "strokeLinecap", 304 + "strokeLinejoin", 305 + ] 306 + } 307 + strokeLinecap={1} 308 + strokeLinejoin={1} 309 + /> 310 + </RNSVGGroup> 311 + </RNSVGSvgView> 312 + </View> 313 + <View 314 + accessible={true} 315 + collapsable={false} 316 + focusable={true} 317 + onClick={[Function]} 318 + onResponderGrant={[Function]} 319 + onResponderMove={[Function]} 320 + onResponderRelease={[Function]} 321 + onResponderTerminate={[Function]} 322 + onResponderTerminationRequest={[Function]} 323 + onStartShouldSetResponder={[Function]} 324 + style={ 325 + Object { 326 + "alignItems": "center", 327 + "backgroundColor": "#ffffff", 328 + "borderRadius": 20, 329 + "flexDirection": "row", 330 + "height": 36, 331 + "justifyContent": "center", 332 + "marginLeft": 8, 333 + "opacity": 1, 334 + "width": 36, 335 + } 336 + } 337 + > 338 + < 339 + icon="signal" 340 + size={18} 341 + style={ 342 + Array [ 343 + Object { 344 + "color": "#000000", 345 + }, 346 + ] 347 + } 348 + /> 349 + < 350 + icon="x" 351 + size={12} 352 + style={ 353 + Object { 354 + "backgroundColor": "#ffffff", 355 + "color": "#d1106f", 356 + "left": -4, 357 + "position": "relative", 358 + "top": 6, 359 + } 360 + } 361 + /> 362 + </View> 363 + </View> 364 + <View> 365 + <ActivityIndicator /> 366 + </View> 367 + </View> 368 + `;
+437
__tests__/view/screens/__snapshots__/PostThread.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`PostThread renders correctly 1`] = ` 4 + <View 5 + style={ 6 + Object { 7 + "flex": 1, 8 + } 9 + } 10 + > 11 + <View 12 + style={ 13 + Object { 14 + "alignItems": "center", 15 + "backgroundColor": "#ffffff", 16 + "borderBottomColor": "#f8f3f3", 17 + "borderBottomWidth": 1, 18 + "flexDirection": "row", 19 + "paddingBottom": 6, 20 + "paddingHorizontal": 12, 21 + "paddingTop": 6, 22 + } 23 + } 24 + > 25 + <View 26 + accessible={true} 27 + collapsable={false} 28 + focusable={true} 29 + hitSlop={ 30 + Object { 31 + "bottom": 10, 32 + "left": 10, 33 + "right": 30, 34 + "top": 10, 35 + } 36 + } 37 + onClick={[Function]} 38 + onResponderGrant={[Function]} 39 + onResponderMove={[Function]} 40 + onResponderRelease={[Function]} 41 + onResponderTerminate={[Function]} 42 + onResponderTerminationRequest={[Function]} 43 + onStartShouldSetResponder={[Function]} 44 + style={ 45 + Object { 46 + "height": 30, 47 + "opacity": 1, 48 + "width": 40, 49 + } 50 + } 51 + > 52 + <RNSVGSvgView 53 + align="xMidYMid" 54 + bbHeight={30} 55 + bbWidth={30} 56 + focusable={false} 57 + height={30} 58 + meetOrSlice={0} 59 + minX={0} 60 + minY={0} 61 + style={ 62 + Array [ 63 + Object { 64 + "backgroundColor": "transparent", 65 + "borderWidth": 0, 66 + }, 67 + Object { 68 + "flex": 0, 69 + "height": 30, 70 + "width": 30, 71 + }, 72 + ] 73 + } 74 + vbHeight={100} 75 + vbWidth={100} 76 + width={30} 77 + > 78 + <RNSVGGroup> 79 + <RNSVGDefs> 80 + <RNSVGLinearGradient 81 + gradient={ 82 + Array [ 83 + 0, 84 + -1292135, 85 + 1, 86 + -2424577, 87 + ] 88 + } 89 + gradientTransform={null} 90 + gradientUnits={0} 91 + name="grad" 92 + x1="0" 93 + x2="1" 94 + y1="0" 95 + y2="1" 96 + /> 97 + </RNSVGDefs> 98 + <RNSVGCircle 99 + cx="50" 100 + cy="50" 101 + fill={ 102 + Array [ 103 + 1, 104 + "grad", 105 + ] 106 + } 107 + propList={ 108 + Array [ 109 + "fill", 110 + ] 111 + } 112 + r="50" 113 + /> 114 + <RNSVGText 115 + content={null} 116 + dx={Array []} 117 + dy={Array []} 118 + fill={4294967295} 119 + font={ 120 + Object { 121 + "fontSize": "50", 122 + "fontWeight": "bold", 123 + "textAnchor": "middle", 124 + } 125 + } 126 + propList={ 127 + Array [ 128 + "fill", 129 + ] 130 + } 131 + rotate={Array []} 132 + x={ 133 + Array [ 134 + "50", 135 + ] 136 + } 137 + y={ 138 + Array [ 139 + "67", 140 + ] 141 + } 142 + > 143 + <RNSVGTSpan 144 + content="X" 145 + dx={Array []} 146 + dy={Array []} 147 + font={Object {}} 148 + rotate={Array []} 149 + x={Array []} 150 + y={Array []} 151 + /> 152 + </RNSVGText> 153 + </RNSVGGroup> 154 + </RNSVGSvgView> 155 + </View> 156 + <View 157 + pointerEvents="none" 158 + style={ 159 + Object { 160 + "alignItems": "baseline", 161 + "flexDirection": "row", 162 + "marginRight": "auto", 163 + } 164 + } 165 + > 166 + <Text 167 + style={ 168 + Array [ 169 + Object { 170 + "color": "#000000", 171 + }, 172 + Object { 173 + "color": "#000000", 174 + "fontSize": 21, 175 + "fontWeight": "600", 176 + }, 177 + ] 178 + } 179 + > 180 + Post 181 + </Text> 182 + <Text 183 + numberOfLines={1} 184 + style={ 185 + Array [ 186 + Object { 187 + "color": "#000000", 188 + }, 189 + Object { 190 + "color": "#968d8d", 191 + "fontSize": 18, 192 + "marginLeft": 6, 193 + "maxWidth": 200, 194 + }, 195 + ] 196 + } 197 + > 198 + by test name 199 + </Text> 200 + </View> 201 + <View 202 + accessible={true} 203 + collapsable={false} 204 + focusable={true} 205 + hitSlop={ 206 + Object { 207 + "bottom": 10, 208 + "left": 10, 209 + "right": 10, 210 + "top": 10, 211 + } 212 + } 213 + onClick={[Function]} 214 + onResponderGrant={[Function]} 215 + onResponderMove={[Function]} 216 + onResponderRelease={[Function]} 217 + onResponderTerminate={[Function]} 218 + onResponderTerminationRequest={[Function]} 219 + onStartShouldSetResponder={[Function]} 220 + style={ 221 + Object { 222 + "alignItems": "center", 223 + "backgroundColor": "#f8f3f3", 224 + "borderRadius": 20, 225 + "flexDirection": "row", 226 + "height": 36, 227 + "justifyContent": "center", 228 + "opacity": 1, 229 + "width": 36, 230 + } 231 + } 232 + > 233 + < 234 + icon="plus" 235 + size={18} 236 + /> 237 + </View> 238 + <View 239 + accessible={true} 240 + collapsable={false} 241 + focusable={true} 242 + hitSlop={ 243 + Object { 244 + "bottom": 10, 245 + "left": 10, 246 + "right": 10, 247 + "top": 10, 248 + } 249 + } 250 + onClick={[Function]} 251 + onResponderGrant={[Function]} 252 + onResponderMove={[Function]} 253 + onResponderRelease={[Function]} 254 + onResponderTerminate={[Function]} 255 + onResponderTerminationRequest={[Function]} 256 + onStartShouldSetResponder={[Function]} 257 + style={ 258 + Object { 259 + "alignItems": "center", 260 + "backgroundColor": "#f8f3f3", 261 + "borderRadius": 20, 262 + "flexDirection": "row", 263 + "height": 36, 264 + "justifyContent": "center", 265 + "marginLeft": 8, 266 + "opacity": 1, 267 + "width": 36, 268 + } 269 + } 270 + > 271 + <RNSVGSvgView 272 + align="xMidYMid" 273 + bbHeight={18} 274 + bbWidth={18} 275 + color={4278190080} 276 + fill="none" 277 + focusable={false} 278 + height={18} 279 + meetOrSlice={0} 280 + minX={0} 281 + minY={0} 282 + stroke="currentColor" 283 + strokeWidth={3} 284 + style={ 285 + Array [ 286 + Object { 287 + "backgroundColor": "transparent", 288 + "borderWidth": 0, 289 + }, 290 + Object { 291 + "color": "#000000", 292 + "position": "relative", 293 + "top": -1, 294 + }, 295 + Object { 296 + "flex": 0, 297 + "height": 18, 298 + "width": 18, 299 + }, 300 + ] 301 + } 302 + tintColor={4278190080} 303 + vbHeight={24} 304 + vbWidth={24} 305 + width={18} 306 + > 307 + <RNSVGGroup 308 + fill={null} 309 + propList={ 310 + Array [ 311 + "fill", 312 + "stroke", 313 + "strokeWidth", 314 + ] 315 + } 316 + stroke={ 317 + Array [ 318 + 2, 319 + ] 320 + } 321 + strokeWidth={3} 322 + > 323 + <RNSVGPath 324 + d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 325 + propList={ 326 + Array [ 327 + "strokeLinecap", 328 + "strokeLinejoin", 329 + ] 330 + } 331 + strokeLinecap={1} 332 + strokeLinejoin={1} 333 + /> 334 + </RNSVGGroup> 335 + </RNSVGSvgView> 336 + </View> 337 + <View 338 + accessible={true} 339 + collapsable={false} 340 + focusable={true} 341 + onClick={[Function]} 342 + onResponderGrant={[Function]} 343 + onResponderMove={[Function]} 344 + onResponderRelease={[Function]} 345 + onResponderTerminate={[Function]} 346 + onResponderTerminationRequest={[Function]} 347 + onStartShouldSetResponder={[Function]} 348 + style={ 349 + Object { 350 + "alignItems": "center", 351 + "backgroundColor": "#ffffff", 352 + "borderRadius": 20, 353 + "flexDirection": "row", 354 + "height": 36, 355 + "justifyContent": "center", 356 + "marginLeft": 8, 357 + "opacity": 1, 358 + "width": 36, 359 + } 360 + } 361 + > 362 + < 363 + icon="signal" 364 + size={18} 365 + style={ 366 + Array [ 367 + Object { 368 + "color": "#000000", 369 + }, 370 + ] 371 + } 372 + /> 373 + < 374 + icon="x" 375 + size={12} 376 + style={ 377 + Object { 378 + "backgroundColor": "#ffffff", 379 + "color": "#d1106f", 380 + "left": -4, 381 + "position": "relative", 382 + "top": 6, 383 + } 384 + } 385 + /> 386 + </View> 387 + </View> 388 + <View 389 + style={ 390 + Object { 391 + "flex": 1, 392 + } 393 + } 394 + > 395 + <RCTScrollView 396 + contentContainerStyle={ 397 + Object { 398 + "paddingBottom": 200, 399 + } 400 + } 401 + data={Array []} 402 + getItem={[Function]} 403 + getItemCount={[Function]} 404 + keyExtractor={[Function]} 405 + onContentSizeChange={[Function]} 406 + onLayout={[Function]} 407 + onMomentumScrollBegin={[Function]} 408 + onMomentumScrollEnd={[Function]} 409 + onRefresh={[Function]} 410 + onScroll={[Function]} 411 + onScrollBeginDrag={[Function]} 412 + onScrollEndDrag={[Function]} 413 + onScrollToIndexFailed={[Function]} 414 + refreshControl={ 415 + <RefreshControlMock 416 + onRefresh={[Function]} 417 + refreshing={false} 418 + /> 419 + } 420 + refreshing={false} 421 + removeClippedSubviews={false} 422 + renderItem={[Function]} 423 + scrollEventThrottle={50} 424 + stickyHeaderIndices={Array []} 425 + style={ 426 + Object { 427 + "flex": 1, 428 + } 429 + } 430 + viewabilityConfigCallbackPairs={Array []} 431 + > 432 + <RCTRefreshControl /> 433 + <View /> 434 + </RCTScrollView> 435 + </View> 436 + </View> 437 + `;
+368
__tests__/view/screens/__snapshots__/PostUpvotedBy.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`PostUpvotedBy renders correctly 1`] = ` 4 + <View> 5 + <View 6 + style={ 7 + Object { 8 + "alignItems": "center", 9 + "backgroundColor": "#ffffff", 10 + "borderBottomColor": "#f8f3f3", 11 + "borderBottomWidth": 1, 12 + "flexDirection": "row", 13 + "paddingBottom": 6, 14 + "paddingHorizontal": 12, 15 + "paddingTop": 6, 16 + } 17 + } 18 + > 19 + <View 20 + accessible={true} 21 + collapsable={false} 22 + focusable={true} 23 + hitSlop={ 24 + Object { 25 + "bottom": 10, 26 + "left": 10, 27 + "right": 30, 28 + "top": 10, 29 + } 30 + } 31 + onClick={[Function]} 32 + onResponderGrant={[Function]} 33 + onResponderMove={[Function]} 34 + onResponderRelease={[Function]} 35 + onResponderTerminate={[Function]} 36 + onResponderTerminationRequest={[Function]} 37 + onStartShouldSetResponder={[Function]} 38 + style={ 39 + Object { 40 + "height": 30, 41 + "opacity": 1, 42 + "width": 40, 43 + } 44 + } 45 + > 46 + <RNSVGSvgView 47 + align="xMidYMid" 48 + bbHeight={30} 49 + bbWidth={30} 50 + focusable={false} 51 + height={30} 52 + meetOrSlice={0} 53 + minX={0} 54 + minY={0} 55 + style={ 56 + Array [ 57 + Object { 58 + "backgroundColor": "transparent", 59 + "borderWidth": 0, 60 + }, 61 + Object { 62 + "flex": 0, 63 + "height": 30, 64 + "width": 30, 65 + }, 66 + ] 67 + } 68 + vbHeight={100} 69 + vbWidth={100} 70 + width={30} 71 + > 72 + <RNSVGGroup> 73 + <RNSVGDefs> 74 + <RNSVGLinearGradient 75 + gradient={ 76 + Array [ 77 + 0, 78 + -1292135, 79 + 1, 80 + -2424577, 81 + ] 82 + } 83 + gradientTransform={null} 84 + gradientUnits={0} 85 + name="grad" 86 + x1="0" 87 + x2="1" 88 + y1="0" 89 + y2="1" 90 + /> 91 + </RNSVGDefs> 92 + <RNSVGCircle 93 + cx="50" 94 + cy="50" 95 + fill={ 96 + Array [ 97 + 1, 98 + "grad", 99 + ] 100 + } 101 + propList={ 102 + Array [ 103 + "fill", 104 + ] 105 + } 106 + r="50" 107 + /> 108 + <RNSVGText 109 + content={null} 110 + dx={Array []} 111 + dy={Array []} 112 + fill={4294967295} 113 + font={ 114 + Object { 115 + "fontSize": "50", 116 + "fontWeight": "bold", 117 + "textAnchor": "middle", 118 + } 119 + } 120 + propList={ 121 + Array [ 122 + "fill", 123 + ] 124 + } 125 + rotate={Array []} 126 + x={ 127 + Array [ 128 + "50", 129 + ] 130 + } 131 + y={ 132 + Array [ 133 + "67", 134 + ] 135 + } 136 + > 137 + <RNSVGTSpan 138 + content="X" 139 + dx={Array []} 140 + dy={Array []} 141 + font={Object {}} 142 + rotate={Array []} 143 + x={Array []} 144 + y={Array []} 145 + /> 146 + </RNSVGText> 147 + </RNSVGGroup> 148 + </RNSVGSvgView> 149 + </View> 150 + <View 151 + pointerEvents="none" 152 + style={ 153 + Object { 154 + "alignItems": "baseline", 155 + "flexDirection": "row", 156 + "marginRight": "auto", 157 + } 158 + } 159 + > 160 + <Text 161 + style={ 162 + Array [ 163 + Object { 164 + "color": "#000000", 165 + }, 166 + Object { 167 + "color": "#000000", 168 + "fontSize": 21, 169 + "fontWeight": "600", 170 + }, 171 + ] 172 + } 173 + > 174 + Upvoted by 175 + </Text> 176 + </View> 177 + <View 178 + accessible={true} 179 + collapsable={false} 180 + focusable={true} 181 + hitSlop={ 182 + Object { 183 + "bottom": 10, 184 + "left": 10, 185 + "right": 10, 186 + "top": 10, 187 + } 188 + } 189 + onClick={[Function]} 190 + onResponderGrant={[Function]} 191 + onResponderMove={[Function]} 192 + onResponderRelease={[Function]} 193 + onResponderTerminate={[Function]} 194 + onResponderTerminationRequest={[Function]} 195 + onStartShouldSetResponder={[Function]} 196 + style={ 197 + Object { 198 + "alignItems": "center", 199 + "backgroundColor": "#f8f3f3", 200 + "borderRadius": 20, 201 + "flexDirection": "row", 202 + "height": 36, 203 + "justifyContent": "center", 204 + "opacity": 1, 205 + "width": 36, 206 + } 207 + } 208 + > 209 + < 210 + icon="plus" 211 + size={18} 212 + /> 213 + </View> 214 + <View 215 + accessible={true} 216 + collapsable={false} 217 + focusable={true} 218 + hitSlop={ 219 + Object { 220 + "bottom": 10, 221 + "left": 10, 222 + "right": 10, 223 + "top": 10, 224 + } 225 + } 226 + onClick={[Function]} 227 + onResponderGrant={[Function]} 228 + onResponderMove={[Function]} 229 + onResponderRelease={[Function]} 230 + onResponderTerminate={[Function]} 231 + onResponderTerminationRequest={[Function]} 232 + onStartShouldSetResponder={[Function]} 233 + style={ 234 + Object { 235 + "alignItems": "center", 236 + "backgroundColor": "#f8f3f3", 237 + "borderRadius": 20, 238 + "flexDirection": "row", 239 + "height": 36, 240 + "justifyContent": "center", 241 + "marginLeft": 8, 242 + "opacity": 1, 243 + "width": 36, 244 + } 245 + } 246 + > 247 + <RNSVGSvgView 248 + align="xMidYMid" 249 + bbHeight={18} 250 + bbWidth={18} 251 + color={4278190080} 252 + fill="none" 253 + focusable={false} 254 + height={18} 255 + meetOrSlice={0} 256 + minX={0} 257 + minY={0} 258 + stroke="currentColor" 259 + strokeWidth={3} 260 + style={ 261 + Array [ 262 + Object { 263 + "backgroundColor": "transparent", 264 + "borderWidth": 0, 265 + }, 266 + Object { 267 + "color": "#000000", 268 + "position": "relative", 269 + "top": -1, 270 + }, 271 + Object { 272 + "flex": 0, 273 + "height": 18, 274 + "width": 18, 275 + }, 276 + ] 277 + } 278 + tintColor={4278190080} 279 + vbHeight={24} 280 + vbWidth={24} 281 + width={18} 282 + > 283 + <RNSVGGroup 284 + fill={null} 285 + propList={ 286 + Array [ 287 + "fill", 288 + "stroke", 289 + "strokeWidth", 290 + ] 291 + } 292 + stroke={ 293 + Array [ 294 + 2, 295 + ] 296 + } 297 + strokeWidth={3} 298 + > 299 + <RNSVGPath 300 + d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 301 + propList={ 302 + Array [ 303 + "strokeLinecap", 304 + "strokeLinejoin", 305 + ] 306 + } 307 + strokeLinecap={1} 308 + strokeLinejoin={1} 309 + /> 310 + </RNSVGGroup> 311 + </RNSVGSvgView> 312 + </View> 313 + <View 314 + accessible={true} 315 + collapsable={false} 316 + focusable={true} 317 + onClick={[Function]} 318 + onResponderGrant={[Function]} 319 + onResponderMove={[Function]} 320 + onResponderRelease={[Function]} 321 + onResponderTerminate={[Function]} 322 + onResponderTerminationRequest={[Function]} 323 + onStartShouldSetResponder={[Function]} 324 + style={ 325 + Object { 326 + "alignItems": "center", 327 + "backgroundColor": "#ffffff", 328 + "borderRadius": 20, 329 + "flexDirection": "row", 330 + "height": 36, 331 + "justifyContent": "center", 332 + "marginLeft": 8, 333 + "opacity": 1, 334 + "width": 36, 335 + } 336 + } 337 + > 338 + < 339 + icon="signal" 340 + size={18} 341 + style={ 342 + Array [ 343 + Object { 344 + "color": "#000000", 345 + }, 346 + ] 347 + } 348 + /> 349 + < 350 + icon="x" 351 + size={12} 352 + style={ 353 + Object { 354 + "backgroundColor": "#ffffff", 355 + "color": "#d1106f", 356 + "left": -4, 357 + "position": "relative", 358 + "top": 6, 359 + } 360 + } 361 + /> 362 + </View> 363 + </View> 364 + <View> 365 + <ActivityIndicator /> 366 + </View> 367 + </View> 368 + `;
+513
__tests__/view/screens/__snapshots__/Profile.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`Profile renders correctly 1`] = ` 4 + <View 5 + style={ 6 + Object { 7 + "flexDirection": "column", 8 + "height": "100%", 9 + } 10 + } 11 + > 12 + <View 13 + style={ 14 + Object { 15 + "alignItems": "center", 16 + "backgroundColor": "#ffffff", 17 + "borderBottomColor": "#f8f3f3", 18 + "borderBottomWidth": 1, 19 + "flexDirection": "row", 20 + "paddingBottom": 6, 21 + "paddingHorizontal": 12, 22 + "paddingTop": 6, 23 + } 24 + } 25 + > 26 + <View 27 + accessible={true} 28 + collapsable={false} 29 + focusable={true} 30 + hitSlop={ 31 + Object { 32 + "bottom": 10, 33 + "left": 10, 34 + "right": 30, 35 + "top": 10, 36 + } 37 + } 38 + onClick={[Function]} 39 + onResponderGrant={[Function]} 40 + onResponderMove={[Function]} 41 + onResponderRelease={[Function]} 42 + onResponderTerminate={[Function]} 43 + onResponderTerminationRequest={[Function]} 44 + onStartShouldSetResponder={[Function]} 45 + style={ 46 + Object { 47 + "height": 30, 48 + "opacity": 1, 49 + "width": 40, 50 + } 51 + } 52 + > 53 + <RNSVGSvgView 54 + align="xMidYMid" 55 + bbHeight={30} 56 + bbWidth={30} 57 + focusable={false} 58 + height={30} 59 + meetOrSlice={0} 60 + minX={0} 61 + minY={0} 62 + style={ 63 + Array [ 64 + Object { 65 + "backgroundColor": "transparent", 66 + "borderWidth": 0, 67 + }, 68 + Object { 69 + "flex": 0, 70 + "height": 30, 71 + "width": 30, 72 + }, 73 + ] 74 + } 75 + vbHeight={100} 76 + vbWidth={100} 77 + width={30} 78 + > 79 + <RNSVGGroup> 80 + <RNSVGDefs> 81 + <RNSVGLinearGradient 82 + gradient={ 83 + Array [ 84 + 0, 85 + -1292135, 86 + 1, 87 + -2424577, 88 + ] 89 + } 90 + gradientTransform={null} 91 + gradientUnits={0} 92 + name="grad" 93 + x1="0" 94 + x2="1" 95 + y1="0" 96 + y2="1" 97 + /> 98 + </RNSVGDefs> 99 + <RNSVGCircle 100 + cx="50" 101 + cy="50" 102 + fill={ 103 + Array [ 104 + 1, 105 + "grad", 106 + ] 107 + } 108 + propList={ 109 + Array [ 110 + "fill", 111 + ] 112 + } 113 + r="50" 114 + /> 115 + <RNSVGText 116 + content={null} 117 + dx={Array []} 118 + dy={Array []} 119 + fill={4294967295} 120 + font={ 121 + Object { 122 + "fontSize": "50", 123 + "fontWeight": "bold", 124 + "textAnchor": "middle", 125 + } 126 + } 127 + propList={ 128 + Array [ 129 + "fill", 130 + ] 131 + } 132 + rotate={Array []} 133 + x={ 134 + Array [ 135 + "50", 136 + ] 137 + } 138 + y={ 139 + Array [ 140 + "67", 141 + ] 142 + } 143 + > 144 + <RNSVGTSpan 145 + content="X" 146 + dx={Array []} 147 + dy={Array []} 148 + font={Object {}} 149 + rotate={Array []} 150 + x={Array []} 151 + y={Array []} 152 + /> 153 + </RNSVGText> 154 + </RNSVGGroup> 155 + </RNSVGSvgView> 156 + </View> 157 + <View 158 + pointerEvents="none" 159 + style={ 160 + Object { 161 + "alignItems": "baseline", 162 + "flexDirection": "row", 163 + "marginRight": "auto", 164 + } 165 + } 166 + > 167 + <Text 168 + style={ 169 + Array [ 170 + Object { 171 + "color": "#000000", 172 + }, 173 + Object { 174 + "color": "#000000", 175 + "fontSize": 21, 176 + "fontWeight": "600", 177 + }, 178 + ] 179 + } 180 + > 181 + test name 182 + </Text> 183 + </View> 184 + <View 185 + accessible={true} 186 + collapsable={false} 187 + focusable={true} 188 + hitSlop={ 189 + Object { 190 + "bottom": 10, 191 + "left": 10, 192 + "right": 10, 193 + "top": 10, 194 + } 195 + } 196 + onClick={[Function]} 197 + onResponderGrant={[Function]} 198 + onResponderMove={[Function]} 199 + onResponderRelease={[Function]} 200 + onResponderTerminate={[Function]} 201 + onResponderTerminationRequest={[Function]} 202 + onStartShouldSetResponder={[Function]} 203 + style={ 204 + Object { 205 + "alignItems": "center", 206 + "backgroundColor": "#f8f3f3", 207 + "borderRadius": 20, 208 + "flexDirection": "row", 209 + "height": 36, 210 + "justifyContent": "center", 211 + "opacity": 1, 212 + "width": 36, 213 + } 214 + } 215 + > 216 + < 217 + icon="plus" 218 + size={18} 219 + /> 220 + </View> 221 + <View 222 + accessible={true} 223 + collapsable={false} 224 + focusable={true} 225 + hitSlop={ 226 + Object { 227 + "bottom": 10, 228 + "left": 10, 229 + "right": 10, 230 + "top": 10, 231 + } 232 + } 233 + onClick={[Function]} 234 + onResponderGrant={[Function]} 235 + onResponderMove={[Function]} 236 + onResponderRelease={[Function]} 237 + onResponderTerminate={[Function]} 238 + onResponderTerminationRequest={[Function]} 239 + onStartShouldSetResponder={[Function]} 240 + style={ 241 + Object { 242 + "alignItems": "center", 243 + "backgroundColor": "#f8f3f3", 244 + "borderRadius": 20, 245 + "flexDirection": "row", 246 + "height": 36, 247 + "justifyContent": "center", 248 + "marginLeft": 8, 249 + "opacity": 1, 250 + "width": 36, 251 + } 252 + } 253 + > 254 + <RNSVGSvgView 255 + align="xMidYMid" 256 + bbHeight={18} 257 + bbWidth={18} 258 + color={4278190080} 259 + fill="none" 260 + focusable={false} 261 + height={18} 262 + meetOrSlice={0} 263 + minX={0} 264 + minY={0} 265 + stroke="currentColor" 266 + strokeWidth={3} 267 + style={ 268 + Array [ 269 + Object { 270 + "backgroundColor": "transparent", 271 + "borderWidth": 0, 272 + }, 273 + Object { 274 + "color": "#000000", 275 + "position": "relative", 276 + "top": -1, 277 + }, 278 + Object { 279 + "flex": 0, 280 + "height": 18, 281 + "width": 18, 282 + }, 283 + ] 284 + } 285 + tintColor={4278190080} 286 + vbHeight={24} 287 + vbWidth={24} 288 + width={18} 289 + > 290 + <RNSVGGroup 291 + fill={null} 292 + propList={ 293 + Array [ 294 + "fill", 295 + "stroke", 296 + "strokeWidth", 297 + ] 298 + } 299 + stroke={ 300 + Array [ 301 + 2, 302 + ] 303 + } 304 + strokeWidth={3} 305 + > 306 + <RNSVGPath 307 + d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 308 + propList={ 309 + Array [ 310 + "strokeLinecap", 311 + "strokeLinejoin", 312 + ] 313 + } 314 + strokeLinecap={1} 315 + strokeLinejoin={1} 316 + /> 317 + </RNSVGGroup> 318 + </RNSVGSvgView> 319 + </View> 320 + <View 321 + accessible={true} 322 + collapsable={false} 323 + focusable={true} 324 + onClick={[Function]} 325 + onResponderGrant={[Function]} 326 + onResponderMove={[Function]} 327 + onResponderRelease={[Function]} 328 + onResponderTerminate={[Function]} 329 + onResponderTerminationRequest={[Function]} 330 + onStartShouldSetResponder={[Function]} 331 + style={ 332 + Object { 333 + "alignItems": "center", 334 + "backgroundColor": "#ffffff", 335 + "borderRadius": 20, 336 + "flexDirection": "row", 337 + "height": 36, 338 + "justifyContent": "center", 339 + "marginLeft": 8, 340 + "opacity": 1, 341 + "width": 36, 342 + } 343 + } 344 + > 345 + < 346 + icon="signal" 347 + size={18} 348 + style={ 349 + Array [ 350 + Object { 351 + "color": "#000000", 352 + }, 353 + ] 354 + } 355 + /> 356 + < 357 + icon="x" 358 + size={12} 359 + style={ 360 + Object { 361 + "backgroundColor": "#ffffff", 362 + "color": "#d1106f", 363 + "left": -4, 364 + "position": "relative", 365 + "top": 6, 366 + } 367 + } 368 + /> 369 + </View> 370 + </View> 371 + <View 372 + style={ 373 + Object { 374 + "backgroundColor": "#ffffff", 375 + } 376 + } 377 + > 378 + <View 379 + style={ 380 + Array [ 381 + Object { 382 + "backgroundColor": "#e7e9ea", 383 + "borderRadius": 6, 384 + "height": 120, 385 + "overflow": "hidden", 386 + "width": "100%", 387 + }, 388 + undefined, 389 + ] 390 + } 391 + > 392 + <View 393 + style={ 394 + Object { 395 + "backgroundColor": "#e7e9ea", 396 + "height": 120, 397 + "width": "100%", 398 + } 399 + } 400 + /> 401 + </View> 402 + <View 403 + style={ 404 + Object { 405 + "backgroundColor": "#ffffff", 406 + "borderColor": "#ffffff", 407 + "borderRadius": 42, 408 + "borderWidth": 2, 409 + "height": 84, 410 + "left": 10, 411 + "position": "absolute", 412 + "top": 80, 413 + "width": 84, 414 + } 415 + } 416 + > 417 + <View 418 + style={ 419 + Array [ 420 + Object { 421 + "backgroundColor": "#e7e9ea", 422 + "borderRadius": 6, 423 + "height": 80, 424 + "overflow": "hidden", 425 + "width": 80, 426 + }, 427 + Object { 428 + "borderRadius": 40, 429 + }, 430 + ] 431 + } 432 + > 433 + <View 434 + style={ 435 + Object { 436 + "backgroundColor": "#e7e9ea", 437 + "height": 80, 438 + "width": 80, 439 + } 440 + } 441 + /> 442 + </View> 443 + </View> 444 + <View 445 + style={ 446 + Object { 447 + "paddingBottom": 4, 448 + "paddingHorizontal": 14, 449 + "paddingTop": 8, 450 + } 451 + } 452 + > 453 + <View 454 + style={ 455 + Array [ 456 + Object { 457 + "flexDirection": "row", 458 + "marginBottom": 12, 459 + "marginLeft": "auto", 460 + }, 461 + ] 462 + } 463 + > 464 + <View 465 + style={ 466 + Array [ 467 + Object { 468 + "backgroundColor": "#e7e9ea", 469 + "borderRadius": 6, 470 + "height": 31, 471 + "overflow": "hidden", 472 + "width": 100, 473 + }, 474 + Object { 475 + "borderRadius": 50, 476 + }, 477 + ] 478 + } 479 + > 480 + <View 481 + style={ 482 + Object { 483 + "backgroundColor": "#e7e9ea", 484 + "height": 31, 485 + "width": 100, 486 + } 487 + } 488 + /> 489 + </View> 490 + </View> 491 + <View 492 + style={Object {}} 493 + > 494 + <Text 495 + style={ 496 + Array [ 497 + Object { 498 + "color": "#000000", 499 + }, 500 + Object { 501 + "fontSize": 28, 502 + "fontWeight": "bold", 503 + }, 504 + ] 505 + } 506 + > 507 + 508 + </Text> 509 + </View> 510 + </View> 511 + </View> 512 + </View> 513 + `;
+386
__tests__/view/screens/__snapshots__/ProfileFollowers.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`ProfileFollowers renders correctly 1`] = ` 4 + <View> 5 + <View 6 + style={ 7 + Object { 8 + "alignItems": "center", 9 + "backgroundColor": "#ffffff", 10 + "borderBottomColor": "#f8f3f3", 11 + "borderBottomWidth": 1, 12 + "flexDirection": "row", 13 + "paddingBottom": 6, 14 + "paddingHorizontal": 12, 15 + "paddingTop": 6, 16 + } 17 + } 18 + > 19 + <View 20 + accessible={true} 21 + collapsable={false} 22 + focusable={true} 23 + hitSlop={ 24 + Object { 25 + "bottom": 10, 26 + "left": 10, 27 + "right": 30, 28 + "top": 10, 29 + } 30 + } 31 + onClick={[Function]} 32 + onResponderGrant={[Function]} 33 + onResponderMove={[Function]} 34 + onResponderRelease={[Function]} 35 + onResponderTerminate={[Function]} 36 + onResponderTerminationRequest={[Function]} 37 + onStartShouldSetResponder={[Function]} 38 + style={ 39 + Object { 40 + "height": 30, 41 + "opacity": 1, 42 + "width": 40, 43 + } 44 + } 45 + > 46 + <RNSVGSvgView 47 + align="xMidYMid" 48 + bbHeight={30} 49 + bbWidth={30} 50 + focusable={false} 51 + height={30} 52 + meetOrSlice={0} 53 + minX={0} 54 + minY={0} 55 + style={ 56 + Array [ 57 + Object { 58 + "backgroundColor": "transparent", 59 + "borderWidth": 0, 60 + }, 61 + Object { 62 + "flex": 0, 63 + "height": 30, 64 + "width": 30, 65 + }, 66 + ] 67 + } 68 + vbHeight={100} 69 + vbWidth={100} 70 + width={30} 71 + > 72 + <RNSVGGroup> 73 + <RNSVGDefs> 74 + <RNSVGLinearGradient 75 + gradient={ 76 + Array [ 77 + 0, 78 + -1292135, 79 + 1, 80 + -2424577, 81 + ] 82 + } 83 + gradientTransform={null} 84 + gradientUnits={0} 85 + name="grad" 86 + x1="0" 87 + x2="1" 88 + y1="0" 89 + y2="1" 90 + /> 91 + </RNSVGDefs> 92 + <RNSVGCircle 93 + cx="50" 94 + cy="50" 95 + fill={ 96 + Array [ 97 + 1, 98 + "grad", 99 + ] 100 + } 101 + propList={ 102 + Array [ 103 + "fill", 104 + ] 105 + } 106 + r="50" 107 + /> 108 + <RNSVGText 109 + content={null} 110 + dx={Array []} 111 + dy={Array []} 112 + fill={4294967295} 113 + font={ 114 + Object { 115 + "fontSize": "50", 116 + "fontWeight": "bold", 117 + "textAnchor": "middle", 118 + } 119 + } 120 + propList={ 121 + Array [ 122 + "fill", 123 + ] 124 + } 125 + rotate={Array []} 126 + x={ 127 + Array [ 128 + "50", 129 + ] 130 + } 131 + y={ 132 + Array [ 133 + "67", 134 + ] 135 + } 136 + > 137 + <RNSVGTSpan 138 + content="X" 139 + dx={Array []} 140 + dy={Array []} 141 + font={Object {}} 142 + rotate={Array []} 143 + x={Array []} 144 + y={Array []} 145 + /> 146 + </RNSVGText> 147 + </RNSVGGroup> 148 + </RNSVGSvgView> 149 + </View> 150 + <View 151 + pointerEvents="none" 152 + style={ 153 + Object { 154 + "alignItems": "baseline", 155 + "flexDirection": "row", 156 + "marginRight": "auto", 157 + } 158 + } 159 + > 160 + <Text 161 + style={ 162 + Array [ 163 + Object { 164 + "color": "#000000", 165 + }, 166 + Object { 167 + "color": "#000000", 168 + "fontSize": 21, 169 + "fontWeight": "600", 170 + }, 171 + ] 172 + } 173 + > 174 + Followers 175 + </Text> 176 + <Text 177 + numberOfLines={1} 178 + style={ 179 + Array [ 180 + Object { 181 + "color": "#000000", 182 + }, 183 + Object { 184 + "color": "#968d8d", 185 + "fontSize": 18, 186 + "marginLeft": 6, 187 + "maxWidth": 200, 188 + }, 189 + ] 190 + } 191 + > 192 + of test name 193 + </Text> 194 + </View> 195 + <View 196 + accessible={true} 197 + collapsable={false} 198 + focusable={true} 199 + hitSlop={ 200 + Object { 201 + "bottom": 10, 202 + "left": 10, 203 + "right": 10, 204 + "top": 10, 205 + } 206 + } 207 + onClick={[Function]} 208 + onResponderGrant={[Function]} 209 + onResponderMove={[Function]} 210 + onResponderRelease={[Function]} 211 + onResponderTerminate={[Function]} 212 + onResponderTerminationRequest={[Function]} 213 + onStartShouldSetResponder={[Function]} 214 + style={ 215 + Object { 216 + "alignItems": "center", 217 + "backgroundColor": "#f8f3f3", 218 + "borderRadius": 20, 219 + "flexDirection": "row", 220 + "height": 36, 221 + "justifyContent": "center", 222 + "opacity": 1, 223 + "width": 36, 224 + } 225 + } 226 + > 227 + < 228 + icon="plus" 229 + size={18} 230 + /> 231 + </View> 232 + <View 233 + accessible={true} 234 + collapsable={false} 235 + focusable={true} 236 + hitSlop={ 237 + Object { 238 + "bottom": 10, 239 + "left": 10, 240 + "right": 10, 241 + "top": 10, 242 + } 243 + } 244 + onClick={[Function]} 245 + onResponderGrant={[Function]} 246 + onResponderMove={[Function]} 247 + onResponderRelease={[Function]} 248 + onResponderTerminate={[Function]} 249 + onResponderTerminationRequest={[Function]} 250 + onStartShouldSetResponder={[Function]} 251 + style={ 252 + Object { 253 + "alignItems": "center", 254 + "backgroundColor": "#f8f3f3", 255 + "borderRadius": 20, 256 + "flexDirection": "row", 257 + "height": 36, 258 + "justifyContent": "center", 259 + "marginLeft": 8, 260 + "opacity": 1, 261 + "width": 36, 262 + } 263 + } 264 + > 265 + <RNSVGSvgView 266 + align="xMidYMid" 267 + bbHeight={18} 268 + bbWidth={18} 269 + color={4278190080} 270 + fill="none" 271 + focusable={false} 272 + height={18} 273 + meetOrSlice={0} 274 + minX={0} 275 + minY={0} 276 + stroke="currentColor" 277 + strokeWidth={3} 278 + style={ 279 + Array [ 280 + Object { 281 + "backgroundColor": "transparent", 282 + "borderWidth": 0, 283 + }, 284 + Object { 285 + "color": "#000000", 286 + "position": "relative", 287 + "top": -1, 288 + }, 289 + Object { 290 + "flex": 0, 291 + "height": 18, 292 + "width": 18, 293 + }, 294 + ] 295 + } 296 + tintColor={4278190080} 297 + vbHeight={24} 298 + vbWidth={24} 299 + width={18} 300 + > 301 + <RNSVGGroup 302 + fill={null} 303 + propList={ 304 + Array [ 305 + "fill", 306 + "stroke", 307 + "strokeWidth", 308 + ] 309 + } 310 + stroke={ 311 + Array [ 312 + 2, 313 + ] 314 + } 315 + strokeWidth={3} 316 + > 317 + <RNSVGPath 318 + d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 319 + propList={ 320 + Array [ 321 + "strokeLinecap", 322 + "strokeLinejoin", 323 + ] 324 + } 325 + strokeLinecap={1} 326 + strokeLinejoin={1} 327 + /> 328 + </RNSVGGroup> 329 + </RNSVGSvgView> 330 + </View> 331 + <View 332 + accessible={true} 333 + collapsable={false} 334 + focusable={true} 335 + onClick={[Function]} 336 + onResponderGrant={[Function]} 337 + onResponderMove={[Function]} 338 + onResponderRelease={[Function]} 339 + onResponderTerminate={[Function]} 340 + onResponderTerminationRequest={[Function]} 341 + onStartShouldSetResponder={[Function]} 342 + style={ 343 + Object { 344 + "alignItems": "center", 345 + "backgroundColor": "#ffffff", 346 + "borderRadius": 20, 347 + "flexDirection": "row", 348 + "height": 36, 349 + "justifyContent": "center", 350 + "marginLeft": 8, 351 + "opacity": 1, 352 + "width": 36, 353 + } 354 + } 355 + > 356 + < 357 + icon="signal" 358 + size={18} 359 + style={ 360 + Array [ 361 + Object { 362 + "color": "#000000", 363 + }, 364 + ] 365 + } 366 + /> 367 + < 368 + icon="x" 369 + size={12} 370 + style={ 371 + Object { 372 + "backgroundColor": "#ffffff", 373 + "color": "#d1106f", 374 + "left": -4, 375 + "position": "relative", 376 + "top": 6, 377 + } 378 + } 379 + /> 380 + </View> 381 + </View> 382 + <View> 383 + <ActivityIndicator /> 384 + </View> 385 + </View> 386 + `;
+386
__tests__/view/screens/__snapshots__/ProfileFollows.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`ProfileFollows renders correctly 1`] = ` 4 + <View> 5 + <View 6 + style={ 7 + Object { 8 + "alignItems": "center", 9 + "backgroundColor": "#ffffff", 10 + "borderBottomColor": "#f8f3f3", 11 + "borderBottomWidth": 1, 12 + "flexDirection": "row", 13 + "paddingBottom": 6, 14 + "paddingHorizontal": 12, 15 + "paddingTop": 6, 16 + } 17 + } 18 + > 19 + <View 20 + accessible={true} 21 + collapsable={false} 22 + focusable={true} 23 + hitSlop={ 24 + Object { 25 + "bottom": 10, 26 + "left": 10, 27 + "right": 30, 28 + "top": 10, 29 + } 30 + } 31 + onClick={[Function]} 32 + onResponderGrant={[Function]} 33 + onResponderMove={[Function]} 34 + onResponderRelease={[Function]} 35 + onResponderTerminate={[Function]} 36 + onResponderTerminationRequest={[Function]} 37 + onStartShouldSetResponder={[Function]} 38 + style={ 39 + Object { 40 + "height": 30, 41 + "opacity": 1, 42 + "width": 40, 43 + } 44 + } 45 + > 46 + <RNSVGSvgView 47 + align="xMidYMid" 48 + bbHeight={30} 49 + bbWidth={30} 50 + focusable={false} 51 + height={30} 52 + meetOrSlice={0} 53 + minX={0} 54 + minY={0} 55 + style={ 56 + Array [ 57 + Object { 58 + "backgroundColor": "transparent", 59 + "borderWidth": 0, 60 + }, 61 + Object { 62 + "flex": 0, 63 + "height": 30, 64 + "width": 30, 65 + }, 66 + ] 67 + } 68 + vbHeight={100} 69 + vbWidth={100} 70 + width={30} 71 + > 72 + <RNSVGGroup> 73 + <RNSVGDefs> 74 + <RNSVGLinearGradient 75 + gradient={ 76 + Array [ 77 + 0, 78 + -1292135, 79 + 1, 80 + -2424577, 81 + ] 82 + } 83 + gradientTransform={null} 84 + gradientUnits={0} 85 + name="grad" 86 + x1="0" 87 + x2="1" 88 + y1="0" 89 + y2="1" 90 + /> 91 + </RNSVGDefs> 92 + <RNSVGCircle 93 + cx="50" 94 + cy="50" 95 + fill={ 96 + Array [ 97 + 1, 98 + "grad", 99 + ] 100 + } 101 + propList={ 102 + Array [ 103 + "fill", 104 + ] 105 + } 106 + r="50" 107 + /> 108 + <RNSVGText 109 + content={null} 110 + dx={Array []} 111 + dy={Array []} 112 + fill={4294967295} 113 + font={ 114 + Object { 115 + "fontSize": "50", 116 + "fontWeight": "bold", 117 + "textAnchor": "middle", 118 + } 119 + } 120 + propList={ 121 + Array [ 122 + "fill", 123 + ] 124 + } 125 + rotate={Array []} 126 + x={ 127 + Array [ 128 + "50", 129 + ] 130 + } 131 + y={ 132 + Array [ 133 + "67", 134 + ] 135 + } 136 + > 137 + <RNSVGTSpan 138 + content="X" 139 + dx={Array []} 140 + dy={Array []} 141 + font={Object {}} 142 + rotate={Array []} 143 + x={Array []} 144 + y={Array []} 145 + /> 146 + </RNSVGText> 147 + </RNSVGGroup> 148 + </RNSVGSvgView> 149 + </View> 150 + <View 151 + pointerEvents="none" 152 + style={ 153 + Object { 154 + "alignItems": "baseline", 155 + "flexDirection": "row", 156 + "marginRight": "auto", 157 + } 158 + } 159 + > 160 + <Text 161 + style={ 162 + Array [ 163 + Object { 164 + "color": "#000000", 165 + }, 166 + Object { 167 + "color": "#000000", 168 + "fontSize": 21, 169 + "fontWeight": "600", 170 + }, 171 + ] 172 + } 173 + > 174 + Followed 175 + </Text> 176 + <Text 177 + numberOfLines={1} 178 + style={ 179 + Array [ 180 + Object { 181 + "color": "#000000", 182 + }, 183 + Object { 184 + "color": "#968d8d", 185 + "fontSize": 18, 186 + "marginLeft": 6, 187 + "maxWidth": 200, 188 + }, 189 + ] 190 + } 191 + > 192 + by test name 193 + </Text> 194 + </View> 195 + <View 196 + accessible={true} 197 + collapsable={false} 198 + focusable={true} 199 + hitSlop={ 200 + Object { 201 + "bottom": 10, 202 + "left": 10, 203 + "right": 10, 204 + "top": 10, 205 + } 206 + } 207 + onClick={[Function]} 208 + onResponderGrant={[Function]} 209 + onResponderMove={[Function]} 210 + onResponderRelease={[Function]} 211 + onResponderTerminate={[Function]} 212 + onResponderTerminationRequest={[Function]} 213 + onStartShouldSetResponder={[Function]} 214 + style={ 215 + Object { 216 + "alignItems": "center", 217 + "backgroundColor": "#f8f3f3", 218 + "borderRadius": 20, 219 + "flexDirection": "row", 220 + "height": 36, 221 + "justifyContent": "center", 222 + "opacity": 1, 223 + "width": 36, 224 + } 225 + } 226 + > 227 + < 228 + icon="plus" 229 + size={18} 230 + /> 231 + </View> 232 + <View 233 + accessible={true} 234 + collapsable={false} 235 + focusable={true} 236 + hitSlop={ 237 + Object { 238 + "bottom": 10, 239 + "left": 10, 240 + "right": 10, 241 + "top": 10, 242 + } 243 + } 244 + onClick={[Function]} 245 + onResponderGrant={[Function]} 246 + onResponderMove={[Function]} 247 + onResponderRelease={[Function]} 248 + onResponderTerminate={[Function]} 249 + onResponderTerminationRequest={[Function]} 250 + onStartShouldSetResponder={[Function]} 251 + style={ 252 + Object { 253 + "alignItems": "center", 254 + "backgroundColor": "#f8f3f3", 255 + "borderRadius": 20, 256 + "flexDirection": "row", 257 + "height": 36, 258 + "justifyContent": "center", 259 + "marginLeft": 8, 260 + "opacity": 1, 261 + "width": 36, 262 + } 263 + } 264 + > 265 + <RNSVGSvgView 266 + align="xMidYMid" 267 + bbHeight={18} 268 + bbWidth={18} 269 + color={4278190080} 270 + fill="none" 271 + focusable={false} 272 + height={18} 273 + meetOrSlice={0} 274 + minX={0} 275 + minY={0} 276 + stroke="currentColor" 277 + strokeWidth={3} 278 + style={ 279 + Array [ 280 + Object { 281 + "backgroundColor": "transparent", 282 + "borderWidth": 0, 283 + }, 284 + Object { 285 + "color": "#000000", 286 + "position": "relative", 287 + "top": -1, 288 + }, 289 + Object { 290 + "flex": 0, 291 + "height": 18, 292 + "width": 18, 293 + }, 294 + ] 295 + } 296 + tintColor={4278190080} 297 + vbHeight={24} 298 + vbWidth={24} 299 + width={18} 300 + > 301 + <RNSVGGroup 302 + fill={null} 303 + propList={ 304 + Array [ 305 + "fill", 306 + "stroke", 307 + "strokeWidth", 308 + ] 309 + } 310 + stroke={ 311 + Array [ 312 + 2, 313 + ] 314 + } 315 + strokeWidth={3} 316 + > 317 + <RNSVGPath 318 + d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 319 + propList={ 320 + Array [ 321 + "strokeLinecap", 322 + "strokeLinejoin", 323 + ] 324 + } 325 + strokeLinecap={1} 326 + strokeLinejoin={1} 327 + /> 328 + </RNSVGGroup> 329 + </RNSVGSvgView> 330 + </View> 331 + <View 332 + accessible={true} 333 + collapsable={false} 334 + focusable={true} 335 + onClick={[Function]} 336 + onResponderGrant={[Function]} 337 + onResponderMove={[Function]} 338 + onResponderRelease={[Function]} 339 + onResponderTerminate={[Function]} 340 + onResponderTerminationRequest={[Function]} 341 + onStartShouldSetResponder={[Function]} 342 + style={ 343 + Object { 344 + "alignItems": "center", 345 + "backgroundColor": "#ffffff", 346 + "borderRadius": 20, 347 + "flexDirection": "row", 348 + "height": 36, 349 + "justifyContent": "center", 350 + "marginLeft": 8, 351 + "opacity": 1, 352 + "width": 36, 353 + } 354 + } 355 + > 356 + < 357 + icon="signal" 358 + size={18} 359 + style={ 360 + Array [ 361 + Object { 362 + "color": "#000000", 363 + }, 364 + ] 365 + } 366 + /> 367 + < 368 + icon="x" 369 + size={12} 370 + style={ 371 + Object { 372 + "backgroundColor": "#ffffff", 373 + "color": "#d1106f", 374 + "left": -4, 375 + "position": "relative", 376 + "top": 6, 377 + } 378 + } 379 + /> 380 + </View> 381 + </View> 382 + <View> 383 + <ActivityIndicator /> 384 + </View> 385 + </View> 386 + `;
+386
__tests__/view/screens/__snapshots__/ProfileMembers.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`ProfileMembers renders correctly 1`] = ` 4 + <View> 5 + <View 6 + style={ 7 + Object { 8 + "alignItems": "center", 9 + "backgroundColor": "#ffffff", 10 + "borderBottomColor": "#f8f3f3", 11 + "borderBottomWidth": 1, 12 + "flexDirection": "row", 13 + "paddingBottom": 6, 14 + "paddingHorizontal": 12, 15 + "paddingTop": 6, 16 + } 17 + } 18 + > 19 + <View 20 + accessible={true} 21 + collapsable={false} 22 + focusable={true} 23 + hitSlop={ 24 + Object { 25 + "bottom": 10, 26 + "left": 10, 27 + "right": 30, 28 + "top": 10, 29 + } 30 + } 31 + onClick={[Function]} 32 + onResponderGrant={[Function]} 33 + onResponderMove={[Function]} 34 + onResponderRelease={[Function]} 35 + onResponderTerminate={[Function]} 36 + onResponderTerminationRequest={[Function]} 37 + onStartShouldSetResponder={[Function]} 38 + style={ 39 + Object { 40 + "height": 30, 41 + "opacity": 1, 42 + "width": 40, 43 + } 44 + } 45 + > 46 + <RNSVGSvgView 47 + align="xMidYMid" 48 + bbHeight={30} 49 + bbWidth={30} 50 + focusable={false} 51 + height={30} 52 + meetOrSlice={0} 53 + minX={0} 54 + minY={0} 55 + style={ 56 + Array [ 57 + Object { 58 + "backgroundColor": "transparent", 59 + "borderWidth": 0, 60 + }, 61 + Object { 62 + "flex": 0, 63 + "height": 30, 64 + "width": 30, 65 + }, 66 + ] 67 + } 68 + vbHeight={100} 69 + vbWidth={100} 70 + width={30} 71 + > 72 + <RNSVGGroup> 73 + <RNSVGDefs> 74 + <RNSVGLinearGradient 75 + gradient={ 76 + Array [ 77 + 0, 78 + -1292135, 79 + 1, 80 + -2424577, 81 + ] 82 + } 83 + gradientTransform={null} 84 + gradientUnits={0} 85 + name="grad" 86 + x1="0" 87 + x2="1" 88 + y1="0" 89 + y2="1" 90 + /> 91 + </RNSVGDefs> 92 + <RNSVGCircle 93 + cx="50" 94 + cy="50" 95 + fill={ 96 + Array [ 97 + 1, 98 + "grad", 99 + ] 100 + } 101 + propList={ 102 + Array [ 103 + "fill", 104 + ] 105 + } 106 + r="50" 107 + /> 108 + <RNSVGText 109 + content={null} 110 + dx={Array []} 111 + dy={Array []} 112 + fill={4294967295} 113 + font={ 114 + Object { 115 + "fontSize": "50", 116 + "fontWeight": "bold", 117 + "textAnchor": "middle", 118 + } 119 + } 120 + propList={ 121 + Array [ 122 + "fill", 123 + ] 124 + } 125 + rotate={Array []} 126 + x={ 127 + Array [ 128 + "50", 129 + ] 130 + } 131 + y={ 132 + Array [ 133 + "67", 134 + ] 135 + } 136 + > 137 + <RNSVGTSpan 138 + content="X" 139 + dx={Array []} 140 + dy={Array []} 141 + font={Object {}} 142 + rotate={Array []} 143 + x={Array []} 144 + y={Array []} 145 + /> 146 + </RNSVGText> 147 + </RNSVGGroup> 148 + </RNSVGSvgView> 149 + </View> 150 + <View 151 + pointerEvents="none" 152 + style={ 153 + Object { 154 + "alignItems": "baseline", 155 + "flexDirection": "row", 156 + "marginRight": "auto", 157 + } 158 + } 159 + > 160 + <Text 161 + style={ 162 + Array [ 163 + Object { 164 + "color": "#000000", 165 + }, 166 + Object { 167 + "color": "#000000", 168 + "fontSize": 21, 169 + "fontWeight": "600", 170 + }, 171 + ] 172 + } 173 + > 174 + Members 175 + </Text> 176 + <Text 177 + numberOfLines={1} 178 + style={ 179 + Array [ 180 + Object { 181 + "color": "#000000", 182 + }, 183 + Object { 184 + "color": "#968d8d", 185 + "fontSize": 18, 186 + "marginLeft": 6, 187 + "maxWidth": 200, 188 + }, 189 + ] 190 + } 191 + > 192 + of test name 193 + </Text> 194 + </View> 195 + <View 196 + accessible={true} 197 + collapsable={false} 198 + focusable={true} 199 + hitSlop={ 200 + Object { 201 + "bottom": 10, 202 + "left": 10, 203 + "right": 10, 204 + "top": 10, 205 + } 206 + } 207 + onClick={[Function]} 208 + onResponderGrant={[Function]} 209 + onResponderMove={[Function]} 210 + onResponderRelease={[Function]} 211 + onResponderTerminate={[Function]} 212 + onResponderTerminationRequest={[Function]} 213 + onStartShouldSetResponder={[Function]} 214 + style={ 215 + Object { 216 + "alignItems": "center", 217 + "backgroundColor": "#f8f3f3", 218 + "borderRadius": 20, 219 + "flexDirection": "row", 220 + "height": 36, 221 + "justifyContent": "center", 222 + "opacity": 1, 223 + "width": 36, 224 + } 225 + } 226 + > 227 + < 228 + icon="plus" 229 + size={18} 230 + /> 231 + </View> 232 + <View 233 + accessible={true} 234 + collapsable={false} 235 + focusable={true} 236 + hitSlop={ 237 + Object { 238 + "bottom": 10, 239 + "left": 10, 240 + "right": 10, 241 + "top": 10, 242 + } 243 + } 244 + onClick={[Function]} 245 + onResponderGrant={[Function]} 246 + onResponderMove={[Function]} 247 + onResponderRelease={[Function]} 248 + onResponderTerminate={[Function]} 249 + onResponderTerminationRequest={[Function]} 250 + onStartShouldSetResponder={[Function]} 251 + style={ 252 + Object { 253 + "alignItems": "center", 254 + "backgroundColor": "#f8f3f3", 255 + "borderRadius": 20, 256 + "flexDirection": "row", 257 + "height": 36, 258 + "justifyContent": "center", 259 + "marginLeft": 8, 260 + "opacity": 1, 261 + "width": 36, 262 + } 263 + } 264 + > 265 + <RNSVGSvgView 266 + align="xMidYMid" 267 + bbHeight={18} 268 + bbWidth={18} 269 + color={4278190080} 270 + fill="none" 271 + focusable={false} 272 + height={18} 273 + meetOrSlice={0} 274 + minX={0} 275 + minY={0} 276 + stroke="currentColor" 277 + strokeWidth={3} 278 + style={ 279 + Array [ 280 + Object { 281 + "backgroundColor": "transparent", 282 + "borderWidth": 0, 283 + }, 284 + Object { 285 + "color": "#000000", 286 + "position": "relative", 287 + "top": -1, 288 + }, 289 + Object { 290 + "flex": 0, 291 + "height": 18, 292 + "width": 18, 293 + }, 294 + ] 295 + } 296 + tintColor={4278190080} 297 + vbHeight={24} 298 + vbWidth={24} 299 + width={18} 300 + > 301 + <RNSVGGroup 302 + fill={null} 303 + propList={ 304 + Array [ 305 + "fill", 306 + "stroke", 307 + "strokeWidth", 308 + ] 309 + } 310 + stroke={ 311 + Array [ 312 + 2, 313 + ] 314 + } 315 + strokeWidth={3} 316 + > 317 + <RNSVGPath 318 + d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 319 + propList={ 320 + Array [ 321 + "strokeLinecap", 322 + "strokeLinejoin", 323 + ] 324 + } 325 + strokeLinecap={1} 326 + strokeLinejoin={1} 327 + /> 328 + </RNSVGGroup> 329 + </RNSVGSvgView> 330 + </View> 331 + <View 332 + accessible={true} 333 + collapsable={false} 334 + focusable={true} 335 + onClick={[Function]} 336 + onResponderGrant={[Function]} 337 + onResponderMove={[Function]} 338 + onResponderRelease={[Function]} 339 + onResponderTerminate={[Function]} 340 + onResponderTerminationRequest={[Function]} 341 + onStartShouldSetResponder={[Function]} 342 + style={ 343 + Object { 344 + "alignItems": "center", 345 + "backgroundColor": "#ffffff", 346 + "borderRadius": 20, 347 + "flexDirection": "row", 348 + "height": 36, 349 + "justifyContent": "center", 350 + "marginLeft": 8, 351 + "opacity": 1, 352 + "width": 36, 353 + } 354 + } 355 + > 356 + < 357 + icon="signal" 358 + size={18} 359 + style={ 360 + Array [ 361 + Object { 362 + "color": "#000000", 363 + }, 364 + ] 365 + } 366 + /> 367 + < 368 + icon="x" 369 + size={12} 370 + style={ 371 + Object { 372 + "backgroundColor": "#ffffff", 373 + "color": "#d1106f", 374 + "left": -4, 375 + "position": "relative", 376 + "top": 6, 377 + } 378 + } 379 + /> 380 + </View> 381 + </View> 382 + <View> 383 + <ActivityIndicator /> 384 + </View> 385 + </View> 386 + `;
+514
__tests__/view/screens/__snapshots__/Search.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`Search renders correctly 1`] = ` 4 + <View 5 + style={ 6 + Object { 7 + "backgroundColor": "#ffffff", 8 + "flex": 1, 9 + } 10 + } 11 + > 12 + <View 13 + style={ 14 + Object { 15 + "alignItems": "center", 16 + "backgroundColor": "#ffffff", 17 + "borderBottomColor": "#f8f3f3", 18 + "borderBottomWidth": 1, 19 + "flexDirection": "row", 20 + "paddingBottom": 6, 21 + "paddingHorizontal": 12, 22 + "paddingTop": 6, 23 + } 24 + } 25 + > 26 + <View 27 + accessible={true} 28 + collapsable={false} 29 + focusable={true} 30 + hitSlop={ 31 + Object { 32 + "bottom": 10, 33 + "left": 10, 34 + "right": 30, 35 + "top": 10, 36 + } 37 + } 38 + onClick={[Function]} 39 + onResponderGrant={[Function]} 40 + onResponderMove={[Function]} 41 + onResponderRelease={[Function]} 42 + onResponderTerminate={[Function]} 43 + onResponderTerminationRequest={[Function]} 44 + onStartShouldSetResponder={[Function]} 45 + style={ 46 + Object { 47 + "height": 30, 48 + "opacity": 1, 49 + "width": 40, 50 + } 51 + } 52 + > 53 + <RNSVGSvgView 54 + align="xMidYMid" 55 + bbHeight={30} 56 + bbWidth={30} 57 + focusable={false} 58 + height={30} 59 + meetOrSlice={0} 60 + minX={0} 61 + minY={0} 62 + style={ 63 + Array [ 64 + Object { 65 + "backgroundColor": "transparent", 66 + "borderWidth": 0, 67 + }, 68 + Object { 69 + "flex": 0, 70 + "height": 30, 71 + "width": 30, 72 + }, 73 + ] 74 + } 75 + vbHeight={100} 76 + vbWidth={100} 77 + width={30} 78 + > 79 + <RNSVGGroup> 80 + <RNSVGDefs> 81 + <RNSVGLinearGradient 82 + gradient={ 83 + Array [ 84 + 0, 85 + -1292135, 86 + 1, 87 + -2424577, 88 + ] 89 + } 90 + gradientTransform={null} 91 + gradientUnits={0} 92 + name="grad" 93 + x1="0" 94 + x2="1" 95 + y1="0" 96 + y2="1" 97 + /> 98 + </RNSVGDefs> 99 + <RNSVGCircle 100 + cx="50" 101 + cy="50" 102 + fill={ 103 + Array [ 104 + 1, 105 + "grad", 106 + ] 107 + } 108 + propList={ 109 + Array [ 110 + "fill", 111 + ] 112 + } 113 + r="50" 114 + /> 115 + <RNSVGText 116 + content={null} 117 + dx={Array []} 118 + dy={Array []} 119 + fill={4294967295} 120 + font={ 121 + Object { 122 + "fontSize": "50", 123 + "fontWeight": "bold", 124 + "textAnchor": "middle", 125 + } 126 + } 127 + propList={ 128 + Array [ 129 + "fill", 130 + ] 131 + } 132 + rotate={Array []} 133 + x={ 134 + Array [ 135 + "50", 136 + ] 137 + } 138 + y={ 139 + Array [ 140 + "67", 141 + ] 142 + } 143 + > 144 + <RNSVGTSpan 145 + content="X" 146 + dx={Array []} 147 + dy={Array []} 148 + font={Object {}} 149 + rotate={Array []} 150 + x={Array []} 151 + y={Array []} 152 + /> 153 + </RNSVGText> 154 + </RNSVGGroup> 155 + </RNSVGSvgView> 156 + </View> 157 + <View 158 + pointerEvents="none" 159 + style={ 160 + Object { 161 + "alignItems": "baseline", 162 + "flexDirection": "row", 163 + "marginRight": "auto", 164 + } 165 + } 166 + > 167 + <Text 168 + style={ 169 + Array [ 170 + Object { 171 + "color": "#000000", 172 + }, 173 + Object { 174 + "color": "#000000", 175 + "fontSize": 21, 176 + "fontWeight": "600", 177 + }, 178 + ] 179 + } 180 + > 181 + Search 182 + </Text> 183 + </View> 184 + <View 185 + accessible={true} 186 + collapsable={false} 187 + focusable={true} 188 + hitSlop={ 189 + Object { 190 + "bottom": 10, 191 + "left": 10, 192 + "right": 10, 193 + "top": 10, 194 + } 195 + } 196 + onClick={[Function]} 197 + onResponderGrant={[Function]} 198 + onResponderMove={[Function]} 199 + onResponderRelease={[Function]} 200 + onResponderTerminate={[Function]} 201 + onResponderTerminationRequest={[Function]} 202 + onStartShouldSetResponder={[Function]} 203 + style={ 204 + Object { 205 + "alignItems": "center", 206 + "backgroundColor": "#f8f3f3", 207 + "borderRadius": 20, 208 + "flexDirection": "row", 209 + "height": 36, 210 + "justifyContent": "center", 211 + "opacity": 1, 212 + "width": 36, 213 + } 214 + } 215 + > 216 + < 217 + icon="plus" 218 + size={18} 219 + /> 220 + </View> 221 + <View 222 + accessible={true} 223 + collapsable={false} 224 + focusable={true} 225 + hitSlop={ 226 + Object { 227 + "bottom": 10, 228 + "left": 10, 229 + "right": 10, 230 + "top": 10, 231 + } 232 + } 233 + onClick={[Function]} 234 + onResponderGrant={[Function]} 235 + onResponderMove={[Function]} 236 + onResponderRelease={[Function]} 237 + onResponderTerminate={[Function]} 238 + onResponderTerminationRequest={[Function]} 239 + onStartShouldSetResponder={[Function]} 240 + style={ 241 + Object { 242 + "alignItems": "center", 243 + "backgroundColor": "#f8f3f3", 244 + "borderRadius": 20, 245 + "flexDirection": "row", 246 + "height": 36, 247 + "justifyContent": "center", 248 + "marginLeft": 8, 249 + "opacity": 1, 250 + "width": 36, 251 + } 252 + } 253 + > 254 + <RNSVGSvgView 255 + align="xMidYMid" 256 + bbHeight={18} 257 + bbWidth={18} 258 + color={4278190080} 259 + fill="none" 260 + focusable={false} 261 + height={18} 262 + meetOrSlice={0} 263 + minX={0} 264 + minY={0} 265 + stroke="currentColor" 266 + strokeWidth={3} 267 + style={ 268 + Array [ 269 + Object { 270 + "backgroundColor": "transparent", 271 + "borderWidth": 0, 272 + }, 273 + Object { 274 + "color": "#000000", 275 + "position": "relative", 276 + "top": -1, 277 + }, 278 + Object { 279 + "flex": 0, 280 + "height": 18, 281 + "width": 18, 282 + }, 283 + ] 284 + } 285 + tintColor={4278190080} 286 + vbHeight={24} 287 + vbWidth={24} 288 + width={18} 289 + > 290 + <RNSVGGroup 291 + fill={null} 292 + propList={ 293 + Array [ 294 + "fill", 295 + "stroke", 296 + "strokeWidth", 297 + ] 298 + } 299 + stroke={ 300 + Array [ 301 + 2, 302 + ] 303 + } 304 + strokeWidth={3} 305 + > 306 + <RNSVGPath 307 + d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 308 + propList={ 309 + Array [ 310 + "strokeLinecap", 311 + "strokeLinejoin", 312 + ] 313 + } 314 + strokeLinecap={1} 315 + strokeLinejoin={1} 316 + /> 317 + </RNSVGGroup> 318 + </RNSVGSvgView> 319 + </View> 320 + <View 321 + accessible={true} 322 + collapsable={false} 323 + focusable={true} 324 + onClick={[Function]} 325 + onResponderGrant={[Function]} 326 + onResponderMove={[Function]} 327 + onResponderRelease={[Function]} 328 + onResponderTerminate={[Function]} 329 + onResponderTerminationRequest={[Function]} 330 + onStartShouldSetResponder={[Function]} 331 + style={ 332 + Object { 333 + "alignItems": "center", 334 + "backgroundColor": "#ffffff", 335 + "borderRadius": 20, 336 + "flexDirection": "row", 337 + "height": 36, 338 + "justifyContent": "center", 339 + "marginLeft": 8, 340 + "opacity": 1, 341 + "width": 36, 342 + } 343 + } 344 + > 345 + < 346 + icon="signal" 347 + size={18} 348 + style={ 349 + Array [ 350 + Object { 351 + "color": "#000000", 352 + }, 353 + ] 354 + } 355 + /> 356 + < 357 + icon="x" 358 + size={12} 359 + style={ 360 + Object { 361 + "backgroundColor": "#ffffff", 362 + "color": "#d1106f", 363 + "left": -4, 364 + "position": "relative", 365 + "top": 6, 366 + } 367 + } 368 + /> 369 + </View> 370 + </View> 371 + <View 372 + style={ 373 + Object { 374 + "borderBottomColor": "#f8f3f3", 375 + "borderBottomWidth": 1, 376 + "flexDirection": "row", 377 + "paddingHorizontal": 16, 378 + "paddingVertical": 16, 379 + } 380 + } 381 + > 382 + <RNSVGSvgView 383 + align="xMidYMid" 384 + bbHeight={24} 385 + bbWidth={24} 386 + color={4290886073} 387 + fill="none" 388 + focusable={false} 389 + height={24} 390 + meetOrSlice={0} 391 + minX={0} 392 + minY={0} 393 + stroke="currentColor" 394 + strokeWidth={2} 395 + style={ 396 + Array [ 397 + Object { 398 + "backgroundColor": "transparent", 399 + "borderWidth": 0, 400 + }, 401 + Object { 402 + "alignSelf": "center", 403 + "color": "#c1b9b9", 404 + "marginRight": 10, 405 + }, 406 + Object { 407 + "flex": 0, 408 + "height": 24, 409 + "width": 24, 410 + }, 411 + ] 412 + } 413 + tintColor={4290886073} 414 + vbHeight={24} 415 + vbWidth={24} 416 + width={24} 417 + > 418 + <RNSVGGroup 419 + fill={null} 420 + propList={ 421 + Array [ 422 + "fill", 423 + "stroke", 424 + "strokeWidth", 425 + ] 426 + } 427 + stroke={ 428 + Array [ 429 + 2, 430 + ] 431 + } 432 + strokeWidth={2} 433 + > 434 + <RNSVGPath 435 + d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 436 + propList={ 437 + Array [ 438 + "strokeLinecap", 439 + "strokeLinejoin", 440 + ] 441 + } 442 + strokeLinecap={1} 443 + strokeLinejoin={1} 444 + /> 445 + </RNSVGGroup> 446 + </RNSVGSvgView> 447 + <TextInput 448 + onChangeText={[Function]} 449 + placeholder="Type your query here..." 450 + placeholderTextColor="#968d8d" 451 + returnKeyType="search" 452 + selectTextOnFocus={true} 453 + style={ 454 + Object { 455 + "color": "#000000", 456 + "flex": 1, 457 + "fontSize": 16, 458 + } 459 + } 460 + /> 461 + </View> 462 + <View 463 + style={ 464 + Object { 465 + "backgroundColor": "#f8f3f3", 466 + "flex": 1, 467 + } 468 + } 469 + > 470 + <View 471 + style={ 472 + Object { 473 + "flex": 1, 474 + } 475 + } 476 + > 477 + <View 478 + style={ 479 + Object { 480 + "backgroundColor": "#f8f3f3", 481 + "flex": 1, 482 + } 483 + } 484 + > 485 + <RCTScrollView 486 + data={Array []} 487 + getItem={[Function]} 488 + getItemCount={[Function]} 489 + keyExtractor={[Function]} 490 + onContentSizeChange={[Function]} 491 + onLayout={[Function]} 492 + onMomentumScrollBegin={[Function]} 493 + onMomentumScrollEnd={[Function]} 494 + onScroll={[Function]} 495 + onScrollBeginDrag={[Function]} 496 + onScrollEndDrag={[Function]} 497 + removeClippedSubviews={false} 498 + renderItem={[Function]} 499 + scrollEventThrottle={50} 500 + stickyHeaderIndices={Array []} 501 + style={ 502 + Object { 503 + "flex": 1, 504 + } 505 + } 506 + viewabilityConfigCallbackPairs={Array []} 507 + > 508 + <View /> 509 + </RCTScrollView> 510 + </View> 511 + </View> 512 + </View> 513 + </View> 514 + `;
+631
__tests__/view/screens/__snapshots__/Settings.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`Settings renders correctly 1`] = ` 4 + <View 5 + style={ 6 + Array [ 7 + Object { 8 + "flex": 1, 9 + }, 10 + ] 11 + } 12 + > 13 + <View 14 + style={ 15 + Object { 16 + "alignItems": "center", 17 + "backgroundColor": "#ffffff", 18 + "borderBottomColor": "#f8f3f3", 19 + "borderBottomWidth": 1, 20 + "flexDirection": "row", 21 + "paddingBottom": 6, 22 + "paddingHorizontal": 12, 23 + "paddingTop": 6, 24 + } 25 + } 26 + > 27 + <View 28 + accessible={true} 29 + collapsable={false} 30 + focusable={true} 31 + hitSlop={ 32 + Object { 33 + "bottom": 10, 34 + "left": 10, 35 + "right": 30, 36 + "top": 10, 37 + } 38 + } 39 + onClick={[Function]} 40 + onResponderGrant={[Function]} 41 + onResponderMove={[Function]} 42 + onResponderRelease={[Function]} 43 + onResponderTerminate={[Function]} 44 + onResponderTerminationRequest={[Function]} 45 + onStartShouldSetResponder={[Function]} 46 + style={ 47 + Object { 48 + "height": 30, 49 + "opacity": 1, 50 + "width": 40, 51 + } 52 + } 53 + > 54 + <RNSVGSvgView 55 + align="xMidYMid" 56 + bbHeight={30} 57 + bbWidth={30} 58 + focusable={false} 59 + height={30} 60 + meetOrSlice={0} 61 + minX={0} 62 + minY={0} 63 + style={ 64 + Array [ 65 + Object { 66 + "backgroundColor": "transparent", 67 + "borderWidth": 0, 68 + }, 69 + Object { 70 + "flex": 0, 71 + "height": 30, 72 + "width": 30, 73 + }, 74 + ] 75 + } 76 + vbHeight={100} 77 + vbWidth={100} 78 + width={30} 79 + > 80 + <RNSVGGroup> 81 + <RNSVGDefs> 82 + <RNSVGLinearGradient 83 + gradient={ 84 + Array [ 85 + 0, 86 + -1292135, 87 + 1, 88 + -2424577, 89 + ] 90 + } 91 + gradientTransform={null} 92 + gradientUnits={0} 93 + name="grad" 94 + x1="0" 95 + x2="1" 96 + y1="0" 97 + y2="1" 98 + /> 99 + </RNSVGDefs> 100 + <RNSVGCircle 101 + cx="50" 102 + cy="50" 103 + fill={ 104 + Array [ 105 + 1, 106 + "grad", 107 + ] 108 + } 109 + propList={ 110 + Array [ 111 + "fill", 112 + ] 113 + } 114 + r="50" 115 + /> 116 + <RNSVGText 117 + content={null} 118 + dx={Array []} 119 + dy={Array []} 120 + fill={4294967295} 121 + font={ 122 + Object { 123 + "fontSize": "50", 124 + "fontWeight": "bold", 125 + "textAnchor": "middle", 126 + } 127 + } 128 + propList={ 129 + Array [ 130 + "fill", 131 + ] 132 + } 133 + rotate={Array []} 134 + x={ 135 + Array [ 136 + "50", 137 + ] 138 + } 139 + y={ 140 + Array [ 141 + "67", 142 + ] 143 + } 144 + > 145 + <RNSVGTSpan 146 + content="X" 147 + dx={Array []} 148 + dy={Array []} 149 + font={Object {}} 150 + rotate={Array []} 151 + x={Array []} 152 + y={Array []} 153 + /> 154 + </RNSVGText> 155 + </RNSVGGroup> 156 + </RNSVGSvgView> 157 + </View> 158 + <View 159 + pointerEvents="none" 160 + style={ 161 + Object { 162 + "alignItems": "baseline", 163 + "flexDirection": "row", 164 + "marginRight": "auto", 165 + } 166 + } 167 + > 168 + <Text 169 + style={ 170 + Array [ 171 + Object { 172 + "color": "#000000", 173 + }, 174 + Object { 175 + "color": "#000000", 176 + "fontSize": 21, 177 + "fontWeight": "600", 178 + }, 179 + ] 180 + } 181 + > 182 + Settings 183 + </Text> 184 + </View> 185 + <View 186 + accessible={true} 187 + collapsable={false} 188 + focusable={true} 189 + hitSlop={ 190 + Object { 191 + "bottom": 10, 192 + "left": 10, 193 + "right": 10, 194 + "top": 10, 195 + } 196 + } 197 + onClick={[Function]} 198 + onResponderGrant={[Function]} 199 + onResponderMove={[Function]} 200 + onResponderRelease={[Function]} 201 + onResponderTerminate={[Function]} 202 + onResponderTerminationRequest={[Function]} 203 + onStartShouldSetResponder={[Function]} 204 + style={ 205 + Object { 206 + "alignItems": "center", 207 + "backgroundColor": "#f8f3f3", 208 + "borderRadius": 20, 209 + "flexDirection": "row", 210 + "height": 36, 211 + "justifyContent": "center", 212 + "opacity": 1, 213 + "width": 36, 214 + } 215 + } 216 + > 217 + < 218 + icon="plus" 219 + size={18} 220 + /> 221 + </View> 222 + <View 223 + accessible={true} 224 + collapsable={false} 225 + focusable={true} 226 + hitSlop={ 227 + Object { 228 + "bottom": 10, 229 + "left": 10, 230 + "right": 10, 231 + "top": 10, 232 + } 233 + } 234 + onClick={[Function]} 235 + onResponderGrant={[Function]} 236 + onResponderMove={[Function]} 237 + onResponderRelease={[Function]} 238 + onResponderTerminate={[Function]} 239 + onResponderTerminationRequest={[Function]} 240 + onStartShouldSetResponder={[Function]} 241 + style={ 242 + Object { 243 + "alignItems": "center", 244 + "backgroundColor": "#f8f3f3", 245 + "borderRadius": 20, 246 + "flexDirection": "row", 247 + "height": 36, 248 + "justifyContent": "center", 249 + "marginLeft": 8, 250 + "opacity": 1, 251 + "width": 36, 252 + } 253 + } 254 + > 255 + <RNSVGSvgView 256 + align="xMidYMid" 257 + bbHeight={18} 258 + bbWidth={18} 259 + color={4278190080} 260 + fill="none" 261 + focusable={false} 262 + height={18} 263 + meetOrSlice={0} 264 + minX={0} 265 + minY={0} 266 + stroke="currentColor" 267 + strokeWidth={3} 268 + style={ 269 + Array [ 270 + Object { 271 + "backgroundColor": "transparent", 272 + "borderWidth": 0, 273 + }, 274 + Object { 275 + "color": "#000000", 276 + "position": "relative", 277 + "top": -1, 278 + }, 279 + Object { 280 + "flex": 0, 281 + "height": 18, 282 + "width": 18, 283 + }, 284 + ] 285 + } 286 + tintColor={4278190080} 287 + vbHeight={24} 288 + vbWidth={24} 289 + width={18} 290 + > 291 + <RNSVGGroup 292 + fill={null} 293 + propList={ 294 + Array [ 295 + "fill", 296 + "stroke", 297 + "strokeWidth", 298 + ] 299 + } 300 + stroke={ 301 + Array [ 302 + 2, 303 + ] 304 + } 305 + strokeWidth={3} 306 + > 307 + <RNSVGPath 308 + d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 309 + propList={ 310 + Array [ 311 + "strokeLinecap", 312 + "strokeLinejoin", 313 + ] 314 + } 315 + strokeLinecap={1} 316 + strokeLinejoin={1} 317 + /> 318 + </RNSVGGroup> 319 + </RNSVGSvgView> 320 + </View> 321 + <View 322 + accessible={true} 323 + collapsable={false} 324 + focusable={true} 325 + onClick={[Function]} 326 + onResponderGrant={[Function]} 327 + onResponderMove={[Function]} 328 + onResponderRelease={[Function]} 329 + onResponderTerminate={[Function]} 330 + onResponderTerminationRequest={[Function]} 331 + onStartShouldSetResponder={[Function]} 332 + style={ 333 + Object { 334 + "alignItems": "center", 335 + "backgroundColor": "#ffffff", 336 + "borderRadius": 20, 337 + "flexDirection": "row", 338 + "height": 36, 339 + "justifyContent": "center", 340 + "marginLeft": 8, 341 + "opacity": 1, 342 + "width": 36, 343 + } 344 + } 345 + > 346 + < 347 + icon="signal" 348 + size={18} 349 + style={ 350 + Array [ 351 + Object { 352 + "color": "#000000", 353 + }, 354 + ] 355 + } 356 + /> 357 + < 358 + icon="x" 359 + size={12} 360 + style={ 361 + Object { 362 + "backgroundColor": "#ffffff", 363 + "color": "#d1106f", 364 + "left": -4, 365 + "position": "relative", 366 + "top": 6, 367 + } 368 + } 369 + /> 370 + </View> 371 + </View> 372 + <View 373 + style={ 374 + Array [ 375 + Object { 376 + "marginTop": 10, 377 + }, 378 + Object { 379 + "paddingLeft": 10, 380 + }, 381 + Object { 382 + "paddingRight": 10, 383 + }, 384 + ] 385 + } 386 + > 387 + <View 388 + style={ 389 + Array [ 390 + Object { 391 + "flexDirection": "row", 392 + }, 393 + ] 394 + } 395 + > 396 + <Text 397 + style={ 398 + Array [ 399 + Object { 400 + "color": "#000000", 401 + }, 402 + Object { 403 + "color": "#000000", 404 + }, 405 + ] 406 + } 407 + > 408 + Signed in as 409 + </Text> 410 + <View 411 + style={ 412 + Object { 413 + "flex": 1, 414 + } 415 + } 416 + /> 417 + <View 418 + accessible={true} 419 + collapsable={false} 420 + focusable={true} 421 + onClick={[Function]} 422 + onResponderGrant={[Function]} 423 + onResponderMove={[Function]} 424 + onResponderRelease={[Function]} 425 + onResponderTerminate={[Function]} 426 + onResponderTerminationRequest={[Function]} 427 + onStartShouldSetResponder={[Function]} 428 + style={ 429 + Object { 430 + "opacity": 1, 431 + } 432 + } 433 + > 434 + <Text 435 + style={ 436 + Array [ 437 + Object { 438 + "color": "#000000", 439 + }, 440 + Array [ 441 + Object { 442 + "color": "#0085ff", 443 + }, 444 + Object { 445 + "fontWeight": "bold", 446 + }, 447 + ], 448 + ] 449 + } 450 + > 451 + Sign out 452 + </Text> 453 + </View> 454 + </View> 455 + <View 456 + accessible={true} 457 + focusable={true} 458 + onClick={[Function]} 459 + onResponderGrant={[Function]} 460 + onResponderMove={[Function]} 461 + onResponderRelease={[Function]} 462 + onResponderTerminate={[Function]} 463 + onResponderTerminationRequest={[Function]} 464 + onStartShouldSetResponder={[Function]} 465 + > 466 + <View 467 + style={ 468 + Object { 469 + "backgroundColor": "#ffffff", 470 + "borderRadius": 4, 471 + "flexDirection": "row", 472 + "marginVertical": 6, 473 + "paddingHorizontal": 10, 474 + "paddingVertical": 10, 475 + } 476 + } 477 + > 478 + <RNSVGSvgView 479 + align="xMidYMid" 480 + bbHeight={40} 481 + bbWidth={40} 482 + focusable={false} 483 + height={40} 484 + meetOrSlice={0} 485 + minX={0} 486 + minY={0} 487 + style={ 488 + Array [ 489 + Object { 490 + "backgroundColor": "transparent", 491 + "borderWidth": 0, 492 + }, 493 + Object { 494 + "flex": 0, 495 + "height": 40, 496 + "width": 40, 497 + }, 498 + ] 499 + } 500 + vbHeight={100} 501 + vbWidth={100} 502 + width={40} 503 + > 504 + <RNSVGGroup> 505 + <RNSVGDefs> 506 + <RNSVGLinearGradient 507 + gradient={ 508 + Array [ 509 + 0, 510 + -1292135, 511 + 1, 512 + -2424577, 513 + ] 514 + } 515 + gradientTransform={null} 516 + gradientUnits={0} 517 + name="grad" 518 + x1="0" 519 + x2="1" 520 + y1="0" 521 + y2="1" 522 + /> 523 + </RNSVGDefs> 524 + <RNSVGCircle 525 + cx="50" 526 + cy="50" 527 + fill={ 528 + Array [ 529 + 1, 530 + "grad", 531 + ] 532 + } 533 + propList={ 534 + Array [ 535 + "fill", 536 + ] 537 + } 538 + r="50" 539 + /> 540 + <RNSVGText 541 + content={null} 542 + dx={Array []} 543 + dy={Array []} 544 + fill={4294967295} 545 + font={ 546 + Object { 547 + "fontSize": "50", 548 + "fontWeight": "bold", 549 + "textAnchor": "middle", 550 + } 551 + } 552 + propList={ 553 + Array [ 554 + "fill", 555 + ] 556 + } 557 + rotate={Array []} 558 + x={ 559 + Array [ 560 + "50", 561 + ] 562 + } 563 + y={ 564 + Array [ 565 + "67", 566 + ] 567 + } 568 + > 569 + <RNSVGTSpan 570 + content="X" 571 + dx={Array []} 572 + dy={Array []} 573 + font={Object {}} 574 + rotate={Array []} 575 + x={Array []} 576 + y={Array []} 577 + /> 578 + </RNSVGText> 579 + </RNSVGGroup> 580 + </RNSVGSvgView> 581 + <View 582 + style={ 583 + Array [ 584 + Object { 585 + "marginLeft": 10, 586 + }, 587 + ] 588 + } 589 + > 590 + <Text 591 + style={ 592 + Array [ 593 + Object { 594 + "color": "#000000", 595 + }, 596 + Array [ 597 + Object { 598 + "fontSize": 18, 599 + }, 600 + Object { 601 + "color": "#000000", 602 + }, 603 + ], 604 + ] 605 + } 606 + > 607 + 608 + </Text> 609 + <Text 610 + style={ 611 + Array [ 612 + Object { 613 + "color": "#000000", 614 + }, 615 + Array [ 616 + Object { 617 + "color": "#645454", 618 + }, 619 + ], 620 + ] 621 + } 622 + > 623 + @ 624 + 625 + </Text> 626 + </View> 627 + </View> 628 + </View> 629 + </View> 630 + </View> 631 + `;
+23
__tests__/view/shell/mobile/Composer.test.tsx
···
··· 1 + import React from 'react' 2 + import {Composer} from '../../../../src/view/shell/mobile/Composer' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('Composer', () => { 7 + const mockedProps = { 8 + active: true, 9 + winHeight: 844, 10 + replyTo: { 11 + author: {avatar: undefined, displayName: 'Alice', handle: 'alice.test'}, 12 + cid: 'bafyreieucrv36ylxrut4dr4jj264q2jj2vt2vfvhjfchgw3vua4gksvzia', 13 + text: 'Captain, maybe we ought to turn on the searchlights now. No… that’s just what they’ll be expecting us to do.', 14 + uri: 'at://did:plc:v3xz273ea2dzjpu2szsjzfue/app.bsky.feed.post/3jkcir3fhqv2u', 15 + }, 16 + onPost: jest.fn(), 17 + onClose: jest.fn(), 18 + } 19 + it('renders correctly', () => { 20 + const tree = renderer.create(<Composer {...mockedProps} />).toJSON() 21 + expect(tree).toMatchSnapshot() 22 + }) 23 + })
+15
__tests__/view/shell/mobile/Menu.test.tsx
···
··· 1 + import React from 'react' 2 + import {Menu} from '../../../../src/view/shell/mobile/Menu' 3 + import renderer from 'react-test-renderer' 4 + // import {render} from '../../../../jest/test-utils' 5 + 6 + describe('Menu', () => { 7 + const mockedProps = { 8 + visible: true, 9 + onClose: jest.fn(), 10 + } 11 + it('renders correctly', () => { 12 + const tree = renderer.create(<Menu {...mockedProps} />).toJSON() 13 + expect(tree).toMatchSnapshot() 14 + }) 15 + })
+17
__tests__/view/shell/mobile/TabsSelector.test.tsx
···
··· 1 + import React from 'react' 2 + import {Animated} from 'react-native' 3 + import renderer from 'react-test-renderer' 4 + import {TabsSelector} from '../../../../src/view/shell/mobile/TabsSelector' 5 + // import {render} from '../../../../jest/test-utils' 6 + 7 + describe('TabsSelector', () => { 8 + const mockedProps = { 9 + active: true, 10 + tabMenuInterp: new Animated.Value(0), 11 + onClose: jest.fn(), 12 + } 13 + it('renders correctly', () => { 14 + const tree = renderer.create(<TabsSelector {...mockedProps} />).toJSON() 15 + expect(tree).toMatchSnapshot() 16 + }) 17 + })
+659
__tests__/view/shell/mobile/__snapshots__/Composer.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`Composer renders correctly 1`] = ` 4 + <View 5 + collapsable={false} 6 + style={ 7 + Object { 8 + "backgroundColor": "#fff", 9 + "bottom": 0, 10 + "paddingTop": 24, 11 + "position": "absolute", 12 + "top": 0, 13 + "transform": Array [ 14 + Object { 15 + "translateY": 844, 16 + }, 17 + ], 18 + "width": "100%", 19 + } 20 + } 21 + > 22 + <View 23 + onLayout={[Function]} 24 + style={ 25 + Array [ 26 + Object { 27 + "backgroundColor": "#fff", 28 + "flex": 1, 29 + "flexDirection": "column", 30 + "height": "100%", 31 + "padding": 15, 32 + "paddingBottom": 0, 33 + }, 34 + Object { 35 + "paddingBottom": 0, 36 + }, 37 + ] 38 + } 39 + > 40 + <RCTSafeAreaView 41 + emulateUnlessSupported={true} 42 + style={ 43 + Object { 44 + "flex": 1, 45 + } 46 + } 47 + > 48 + <View 49 + style={ 50 + Object { 51 + "alignItems": "center", 52 + "flexDirection": "row", 53 + "height": 55, 54 + "paddingBottom": 10, 55 + "paddingHorizontal": 5, 56 + } 57 + } 58 + > 59 + <View 60 + accessible={true} 61 + collapsable={false} 62 + focusable={true} 63 + onClick={[Function]} 64 + onResponderGrant={[Function]} 65 + onResponderMove={[Function]} 66 + onResponderRelease={[Function]} 67 + onResponderTerminate={[Function]} 68 + onResponderTerminationRequest={[Function]} 69 + onStartShouldSetResponder={[Function]} 70 + style={ 71 + Object { 72 + "opacity": 1, 73 + } 74 + } 75 + > 76 + <Text 77 + style={ 78 + Array [ 79 + Object { 80 + "color": "#000000", 81 + }, 82 + Array [ 83 + Object { 84 + "color": "#0085ff", 85 + }, 86 + Object { 87 + "fontSize": 18, 88 + }, 89 + ], 90 + ] 91 + } 92 + > 93 + Cancel 94 + </Text> 95 + </View> 96 + <View 97 + style={ 98 + Object { 99 + "flex": 1, 100 + } 101 + } 102 + /> 103 + <View 104 + accessible={true} 105 + collapsable={false} 106 + focusable={true} 107 + onClick={[Function]} 108 + onResponderGrant={[Function]} 109 + onResponderMove={[Function]} 110 + onResponderRelease={[Function]} 111 + onResponderTerminate={[Function]} 112 + onResponderTerminationRequest={[Function]} 113 + onStartShouldSetResponder={[Function]} 114 + style={ 115 + Object { 116 + "opacity": 1, 117 + } 118 + } 119 + > 120 + <BVLinearGradient 121 + colors={ 122 + Array [ 123 + 4292542719, 124 + 4294901882, 125 + ] 126 + } 127 + endPoint={ 128 + Object { 129 + "x": 1, 130 + "y": 1, 131 + } 132 + } 133 + locations={null} 134 + startPoint={ 135 + Object { 136 + "x": 0, 137 + "y": 0, 138 + } 139 + } 140 + style={ 141 + Object { 142 + "borderRadius": 20, 143 + "paddingHorizontal": 20, 144 + "paddingVertical": 6, 145 + } 146 + } 147 + > 148 + <Text 149 + style={ 150 + Array [ 151 + Object { 152 + "color": "#000000", 153 + }, 154 + Array [ 155 + Object { 156 + "color": "#ffffff", 157 + }, 158 + Object { 159 + "fontSize": 16, 160 + }, 161 + Object { 162 + "fontWeight": "bold", 163 + }, 164 + ], 165 + ] 166 + } 167 + > 168 + Reply 169 + </Text> 170 + </BVLinearGradient> 171 + </View> 172 + </View> 173 + <RCTScrollView 174 + style={ 175 + Object { 176 + "flex": 1, 177 + } 178 + } 179 + > 180 + <View> 181 + <View 182 + style={ 183 + Object { 184 + "borderTopColor": "#e4e2e2", 185 + "borderTopWidth": 1, 186 + "flexDirection": "row", 187 + "paddingBottom": 16, 188 + "paddingTop": 16, 189 + } 190 + } 191 + > 192 + <RNSVGSvgView 193 + align="xMidYMid" 194 + bbHeight={50} 195 + bbWidth={50} 196 + focusable={false} 197 + height={50} 198 + meetOrSlice={0} 199 + minX={0} 200 + minY={0} 201 + style={ 202 + Array [ 203 + Object { 204 + "backgroundColor": "transparent", 205 + "borderWidth": 0, 206 + }, 207 + Object { 208 + "flex": 0, 209 + "height": 50, 210 + "width": 50, 211 + }, 212 + ] 213 + } 214 + vbHeight={100} 215 + vbWidth={100} 216 + width={50} 217 + > 218 + <RNSVGGroup> 219 + <RNSVGDefs> 220 + <RNSVGLinearGradient 221 + gradient={ 222 + Array [ 223 + 0, 224 + -16742913, 225 + 1, 226 + -14631929, 227 + ] 228 + } 229 + gradientTransform={null} 230 + gradientUnits={0} 231 + name="grad" 232 + x1="0" 233 + x2="1" 234 + y1="0" 235 + y2="1" 236 + /> 237 + </RNSVGDefs> 238 + <RNSVGCircle 239 + cx="50" 240 + cy="50" 241 + fill={ 242 + Array [ 243 + 1, 244 + "grad", 245 + ] 246 + } 247 + propList={ 248 + Array [ 249 + "fill", 250 + ] 251 + } 252 + r="50" 253 + /> 254 + <RNSVGText 255 + content={null} 256 + dx={Array []} 257 + dy={Array []} 258 + fill={4294967295} 259 + font={ 260 + Object { 261 + "fontSize": "50", 262 + "fontWeight": "bold", 263 + "textAnchor": "middle", 264 + } 265 + } 266 + propList={ 267 + Array [ 268 + "fill", 269 + ] 270 + } 271 + rotate={Array []} 272 + x={ 273 + Array [ 274 + "50", 275 + ] 276 + } 277 + y={ 278 + Array [ 279 + "67", 280 + ] 281 + } 282 + > 283 + <RNSVGTSpan 284 + content="A" 285 + dx={Array []} 286 + dy={Array []} 287 + font={Object {}} 288 + rotate={Array []} 289 + x={Array []} 290 + y={Array []} 291 + /> 292 + </RNSVGText> 293 + </RNSVGGroup> 294 + </RNSVGSvgView> 295 + <View 296 + style={ 297 + Object { 298 + "flex": 1, 299 + "paddingLeft": 13, 300 + "paddingRight": 8, 301 + } 302 + } 303 + > 304 + <Text 305 + onLongPress={[Function]} 306 + onPress={[Function]} 307 + style={ 308 + Array [ 309 + Object { 310 + "color": "#000000", 311 + }, 312 + Array [ 313 + Object { 314 + "fontSize": 16, 315 + }, 316 + Object { 317 + "fontWeight": "bold", 318 + }, 319 + Object { 320 + "color": "#000000", 321 + }, 322 + ], 323 + ] 324 + } 325 + > 326 + Alice 327 + </Text> 328 + <Text 329 + numberOfLines={6} 330 + style={ 331 + Array [ 332 + Object { 333 + "color": "#000000", 334 + }, 335 + Array [ 336 + Object { 337 + "fontSize": 16, 338 + }, 339 + Object { 340 + "lineHeight": 20.8, 341 + }, 342 + Object { 343 + "color": "#000000", 344 + }, 345 + ], 346 + ] 347 + } 348 + > 349 + Captain, maybe we ought to turn on the searchlights now. No… that’s just what they’ll be expecting us to do. 350 + </Text> 351 + </View> 352 + </View> 353 + <View 354 + style={ 355 + Array [ 356 + Object { 357 + "borderTopColor": "#e4e2e2", 358 + "borderTopWidth": 1, 359 + "flexDirection": "row", 360 + "paddingTop": 16, 361 + }, 362 + Object { 363 + "flex": 1, 364 + }, 365 + ] 366 + } 367 + > 368 + <RNSVGSvgView 369 + align="xMidYMid" 370 + bbHeight={50} 371 + bbWidth={50} 372 + focusable={false} 373 + height={50} 374 + meetOrSlice={0} 375 + minX={0} 376 + minY={0} 377 + style={ 378 + Array [ 379 + Object { 380 + "backgroundColor": "transparent", 381 + "borderWidth": 0, 382 + }, 383 + Object { 384 + "flex": 0, 385 + "height": 50, 386 + "width": 50, 387 + }, 388 + ] 389 + } 390 + vbHeight={100} 391 + vbWidth={100} 392 + width={50} 393 + > 394 + <RNSVGGroup> 395 + <RNSVGDefs> 396 + <RNSVGLinearGradient 397 + gradient={ 398 + Array [ 399 + 0, 400 + -1292135, 401 + 1, 402 + -2424577, 403 + ] 404 + } 405 + gradientTransform={null} 406 + gradientUnits={0} 407 + name="grad" 408 + x1="0" 409 + x2="1" 410 + y1="0" 411 + y2="1" 412 + /> 413 + </RNSVGDefs> 414 + <RNSVGCircle 415 + cx="50" 416 + cy="50" 417 + fill={ 418 + Array [ 419 + 1, 420 + "grad", 421 + ] 422 + } 423 + propList={ 424 + Array [ 425 + "fill", 426 + ] 427 + } 428 + r="50" 429 + /> 430 + <RNSVGText 431 + content={null} 432 + dx={Array []} 433 + dy={Array []} 434 + fill={4294967295} 435 + font={ 436 + Object { 437 + "fontSize": "50", 438 + "fontWeight": "bold", 439 + "textAnchor": "middle", 440 + } 441 + } 442 + propList={ 443 + Array [ 444 + "fill", 445 + ] 446 + } 447 + rotate={Array []} 448 + x={ 449 + Array [ 450 + "50", 451 + ] 452 + } 453 + y={ 454 + Array [ 455 + "67", 456 + ] 457 + } 458 + > 459 + <RNSVGTSpan 460 + content="X" 461 + dx={Array []} 462 + dy={Array []} 463 + font={Object {}} 464 + rotate={Array []} 465 + x={Array []} 466 + y={Array []} 467 + /> 468 + </RNSVGText> 469 + </RNSVGGroup> 470 + </RNSVGSvgView> 471 + <TextInput 472 + multiline={true} 473 + onChangeText={[Function]} 474 + placeholder="Write your reply" 475 + placeholderTextColor="#968d8d" 476 + scrollEnabled={true} 477 + style={ 478 + Object { 479 + "alignSelf": "flex-start", 480 + "color": "#000000", 481 + "flex": 1, 482 + "fontSize": 18, 483 + "marginLeft": 8, 484 + "padding": 5, 485 + } 486 + } 487 + /> 488 + </View> 489 + </View> 490 + </RCTScrollView> 491 + <View 492 + style={ 493 + Object { 494 + "alignItems": "center", 495 + "backgroundColor": "#ffffff", 496 + "borderTopColor": "#e4e2e2", 497 + "borderTopWidth": 1, 498 + "flexDirection": "row", 499 + "paddingRight": 5, 500 + "paddingVertical": 10, 501 + } 502 + } 503 + > 504 + <View 505 + accessible={true} 506 + collapsable={false} 507 + focusable={true} 508 + hitSlop={ 509 + Object { 510 + "bottom": 10, 511 + "left": 10, 512 + "right": 10, 513 + "top": 10, 514 + } 515 + } 516 + onClick={[Function]} 517 + onResponderGrant={[Function]} 518 + onResponderMove={[Function]} 519 + onResponderRelease={[Function]} 520 + onResponderTerminate={[Function]} 521 + onResponderTerminationRequest={[Function]} 522 + onStartShouldSetResponder={[Function]} 523 + style={ 524 + Object { 525 + "opacity": 1, 526 + "paddingLeft": 5, 527 + } 528 + } 529 + > 530 + < 531 + icon={ 532 + Array [ 533 + "far", 534 + "image", 535 + ] 536 + } 537 + size={24} 538 + style={ 539 + Object { 540 + "color": "#0085ff", 541 + } 542 + } 543 + /> 544 + </View> 545 + <View 546 + style={ 547 + Object { 548 + "flex": 1, 549 + } 550 + } 551 + /> 552 + <Text 553 + style={ 554 + Array [ 555 + Object { 556 + "color": "#000000", 557 + }, 558 + Array [ 559 + Object { 560 + "marginRight": 10, 561 + }, 562 + Object { 563 + "color": undefined, 564 + }, 565 + ], 566 + ] 567 + } 568 + > 569 + 256 570 + </Text> 571 + <View> 572 + <View 573 + indeterminateAnimationDuration={1000} 574 + style={ 575 + Array [ 576 + Object { 577 + "backgroundColor": "transparent", 578 + "overflow": "hidden", 579 + }, 580 + undefined, 581 + ] 582 + } 583 + > 584 + <RNSVGSvgView 585 + bbHeight={30} 586 + bbWidth={30} 587 + collapsable={false} 588 + focusable={false} 589 + height={30} 590 + style={ 591 + Array [ 592 + Object { 593 + "backgroundColor": "transparent", 594 + "borderWidth": 0, 595 + }, 596 + Object {}, 597 + Object { 598 + "flex": 0, 599 + "height": 30, 600 + "width": 30, 601 + }, 602 + ] 603 + } 604 + width={30} 605 + > 606 + <RNSVGGroup> 607 + <RNSVGPath 608 + d="M15 2.5 609 + A12.5 12.5 0 0 1 15 2.5" 610 + propList={ 611 + Array [ 612 + "stroke", 613 + "strokeWidth", 614 + "strokeLinecap", 615 + ] 616 + } 617 + stroke={4278221567} 618 + strokeLinecap={0} 619 + strokeWidth={3} 620 + /> 621 + <RNSVGPath 622 + d="M15 0.5 623 + a14.5 14.5 0 0 1 0 29 624 + a14.5 14.5 0 0 1 0 -29" 625 + propList={ 626 + Array [ 627 + "stroke", 628 + "strokeWidth", 629 + "strokeLinecap", 630 + ] 631 + } 632 + stroke={4293190370} 633 + strokeLinecap={0} 634 + strokeWidth={1} 635 + /> 636 + </RNSVGGroup> 637 + </RNSVGSvgView> 638 + </View> 639 + </View> 640 + </View> 641 + <View 642 + collapsable={false} 643 + style={ 644 + Object { 645 + "backgroundColor": "#ffffff", 646 + "borderTopColor": "#e4e2e2", 647 + "borderTopWidth": 1, 648 + "bottom": 0, 649 + "left": 0, 650 + "position": "absolute", 651 + "right": 0, 652 + "top": 1334, 653 + } 654 + } 655 + /> 656 + </RCTSafeAreaView> 657 + </View> 658 + </View> 659 + `;
+837
__tests__/view/shell/mobile/__snapshots__/Menu.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`Menu renders correctly 1`] = ` 4 + <View 5 + style={ 6 + Object { 7 + "backgroundColor": "#ffffff", 8 + "flex": 1, 9 + } 10 + } 11 + > 12 + <View 13 + accessible={true} 14 + collapsable={false} 15 + focusable={true} 16 + onClick={[Function]} 17 + onResponderGrant={[Function]} 18 + onResponderMove={[Function]} 19 + onResponderRelease={[Function]} 20 + onResponderTerminate={[Function]} 21 + onResponderTerminationRequest={[Function]} 22 + onStartShouldSetResponder={[Function]} 23 + style={ 24 + Object { 25 + "alignItems": "center", 26 + "flexDirection": "row", 27 + "margin": 10, 28 + "marginBottom": 6, 29 + "opacity": 1, 30 + } 31 + } 32 + > 33 + <RNSVGSvgView 34 + align="xMidYMid" 35 + bbHeight={60} 36 + bbWidth={60} 37 + focusable={false} 38 + height={60} 39 + meetOrSlice={0} 40 + minX={0} 41 + minY={0} 42 + style={ 43 + Array [ 44 + Object { 45 + "backgroundColor": "transparent", 46 + "borderWidth": 0, 47 + }, 48 + Object { 49 + "flex": 0, 50 + "height": 60, 51 + "width": 60, 52 + }, 53 + ] 54 + } 55 + vbHeight={100} 56 + vbWidth={100} 57 + width={60} 58 + > 59 + <RNSVGGroup> 60 + <RNSVGDefs> 61 + <RNSVGLinearGradient 62 + gradient={ 63 + Array [ 64 + 0, 65 + -1292135, 66 + 1, 67 + -2424577, 68 + ] 69 + } 70 + gradientTransform={null} 71 + gradientUnits={0} 72 + name="grad" 73 + x1="0" 74 + x2="1" 75 + y1="0" 76 + y2="1" 77 + /> 78 + </RNSVGDefs> 79 + <RNSVGCircle 80 + cx="50" 81 + cy="50" 82 + fill={ 83 + Array [ 84 + 1, 85 + "grad", 86 + ] 87 + } 88 + propList={ 89 + Array [ 90 + "fill", 91 + ] 92 + } 93 + r="50" 94 + /> 95 + <RNSVGText 96 + content={null} 97 + dx={Array []} 98 + dy={Array []} 99 + fill={4294967295} 100 + font={ 101 + Object { 102 + "fontSize": "50", 103 + "fontWeight": "bold", 104 + "textAnchor": "middle", 105 + } 106 + } 107 + propList={ 108 + Array [ 109 + "fill", 110 + ] 111 + } 112 + rotate={Array []} 113 + x={ 114 + Array [ 115 + "50", 116 + ] 117 + } 118 + y={ 119 + Array [ 120 + "67", 121 + ] 122 + } 123 + > 124 + <RNSVGTSpan 125 + content="X" 126 + dx={Array []} 127 + dy={Array []} 128 + font={Object {}} 129 + rotate={Array []} 130 + x={Array []} 131 + y={Array []} 132 + /> 133 + </RNSVGText> 134 + </RNSVGGroup> 135 + </RNSVGSvgView> 136 + <View 137 + style={ 138 + Object { 139 + "flex": 1, 140 + } 141 + } 142 + > 143 + <Text 144 + style={ 145 + Array [ 146 + Object { 147 + "color": "#000000", 148 + }, 149 + Object { 150 + "color": "#2D2626", 151 + "fontSize": 24, 152 + "fontWeight": "bold", 153 + "marginLeft": 12, 154 + }, 155 + ] 156 + } 157 + > 158 + 159 + </Text> 160 + <Text 161 + style={ 162 + Array [ 163 + Object { 164 + "color": "#000000", 165 + }, 166 + Object { 167 + "color": "#423737", 168 + "fontSize": 18, 169 + "marginLeft": 12, 170 + }, 171 + ] 172 + } 173 + > 174 + 175 + </Text> 176 + </View> 177 + </View> 178 + <View 179 + accessible={true} 180 + collapsable={false} 181 + focusable={true} 182 + onClick={[Function]} 183 + onResponderGrant={[Function]} 184 + onResponderMove={[Function]} 185 + onResponderRelease={[Function]} 186 + onResponderTerminate={[Function]} 187 + onResponderTerminationRequest={[Function]} 188 + onStartShouldSetResponder={[Function]} 189 + style={ 190 + Object { 191 + "backgroundColor": "#f8f3f3", 192 + "borderRadius": 8, 193 + "flexDirection": "row", 194 + "margin": 10, 195 + "marginBottom": 0, 196 + "opacity": 1, 197 + "paddingHorizontal": 12, 198 + "paddingVertical": 10, 199 + } 200 + } 201 + > 202 + <RNSVGSvgView 203 + align="xMidYMid" 204 + bbHeight={25} 205 + bbWidth={25} 206 + color={4284765268} 207 + fill="none" 208 + focusable={false} 209 + height={25} 210 + meetOrSlice={0} 211 + minX={0} 212 + minY={0} 213 + stroke="currentColor" 214 + strokeWidth={2} 215 + style={ 216 + Array [ 217 + Object { 218 + "backgroundColor": "transparent", 219 + "borderWidth": 0, 220 + }, 221 + Object { 222 + "color": "#645454", 223 + }, 224 + Object { 225 + "flex": 0, 226 + "height": 25, 227 + "width": 25, 228 + }, 229 + ] 230 + } 231 + tintColor={4284765268} 232 + vbHeight={24} 233 + vbWidth={24} 234 + width={25} 235 + > 236 + <RNSVGGroup 237 + fill={null} 238 + propList={ 239 + Array [ 240 + "fill", 241 + "stroke", 242 + "strokeWidth", 243 + ] 244 + } 245 + stroke={ 246 + Array [ 247 + 2, 248 + ] 249 + } 250 + strokeWidth={2} 251 + > 252 + <RNSVGPath 253 + d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 254 + propList={ 255 + Array [ 256 + "strokeLinecap", 257 + "strokeLinejoin", 258 + ] 259 + } 260 + strokeLinecap={1} 261 + strokeLinejoin={1} 262 + /> 263 + </RNSVGGroup> 264 + </RNSVGSvgView> 265 + <Text 266 + style={ 267 + Array [ 268 + Object { 269 + "color": "#000000", 270 + }, 271 + Object { 272 + "color": "#423737", 273 + "fontSize": 19, 274 + "marginLeft": 8, 275 + }, 276 + ] 277 + } 278 + > 279 + Search 280 + </Text> 281 + </View> 282 + <View 283 + style={ 284 + Object { 285 + "borderBottomColor": "#f8f3f3", 286 + "borderBottomWidth": 1, 287 + "paddingBottom": 10, 288 + "paddingHorizontal": 10, 289 + "paddingTop": 10, 290 + } 291 + } 292 + > 293 + <View 294 + accessible={true} 295 + collapsable={false} 296 + focusable={true} 297 + onClick={[Function]} 298 + onResponderGrant={[Function]} 299 + onResponderMove={[Function]} 300 + onResponderRelease={[Function]} 301 + onResponderTerminate={[Function]} 302 + onResponderTerminationRequest={[Function]} 303 + onStartShouldSetResponder={[Function]} 304 + style={ 305 + Object { 306 + "alignItems": "center", 307 + "flexDirection": "row", 308 + "opacity": 1, 309 + "paddingHorizontal": 6, 310 + "paddingVertical": 8, 311 + } 312 + } 313 + > 314 + <View 315 + style={ 316 + Array [ 317 + Object { 318 + "alignItems": "center", 319 + "height": 36, 320 + "justifyContent": "center", 321 + "marginRight": 12, 322 + "width": 36, 323 + }, 324 + ] 325 + } 326 + > 327 + <RNSVGSvgView 328 + align="xMidYMid" 329 + bbHeight="26" 330 + bbWidth="26" 331 + color={4282529591} 332 + focusable={false} 333 + height="26" 334 + meetOrSlice={0} 335 + minX={0} 336 + minY={0} 337 + stroke="currentColor" 338 + style={ 339 + Array [ 340 + Object { 341 + "backgroundColor": "transparent", 342 + "borderWidth": 0, 343 + }, 344 + Object { 345 + "color": "#423737", 346 + }, 347 + Object { 348 + "flex": 0, 349 + "height": 26, 350 + "width": 26, 351 + }, 352 + ] 353 + } 354 + tintColor={4282529591} 355 + vbHeight={48} 356 + vbWidth={48} 357 + width="26" 358 + > 359 + <RNSVGGroup 360 + propList={ 361 + Array [ 362 + "stroke", 363 + ] 364 + } 365 + stroke={ 366 + Array [ 367 + 2, 368 + ] 369 + } 370 + > 371 + <RNSVGPath 372 + d="M 23.951 2 C 23.631 2.011 23.323 2.124 23.072 2.322 L 8.859 13.52 C 7.055 14.941 6 17.114 6 19.41 L 6 38.5 C 6 39.864 7.136 41 8.5 41 L 18.5 41 C 19.864 41 21 39.864 21 38.5 L 21 28.5 C 21 28.205 21.205 28 21.5 28 L 26.5 28 C 26.795 28 27 28.205 27 28.5 L 27 38.5 C 27 39.864 28.136 41 29.5 41 L 39.5 41 C 40.864 41 42 39.864 42 38.5 L 42 19.41 C 42 17.114 40.945 14.941 39.141 13.52 L 24.928 2.322 C 24.65 2.103 24.304 1.989 23.951 2 Z" 373 + propList={ 374 + Array [ 375 + "strokeWidth", 376 + ] 377 + } 378 + strokeWidth={4} 379 + /> 380 + </RNSVGGroup> 381 + </RNSVGSvgView> 382 + </View> 383 + <Text 384 + numberOfLines={1} 385 + style={ 386 + Array [ 387 + Object { 388 + "color": "#000000", 389 + }, 390 + Array [ 391 + Object { 392 + "color": "#2D2626", 393 + "fontSize": 19, 394 + }, 395 + undefined, 396 + ], 397 + ] 398 + } 399 + > 400 + Home 401 + </Text> 402 + </View> 403 + <View 404 + accessible={true} 405 + collapsable={false} 406 + focusable={true} 407 + onClick={[Function]} 408 + onResponderGrant={[Function]} 409 + onResponderMove={[Function]} 410 + onResponderRelease={[Function]} 411 + onResponderTerminate={[Function]} 412 + onResponderTerminationRequest={[Function]} 413 + onStartShouldSetResponder={[Function]} 414 + style={ 415 + Object { 416 + "alignItems": "center", 417 + "flexDirection": "row", 418 + "opacity": 1, 419 + "paddingHorizontal": 6, 420 + "paddingVertical": 8, 421 + } 422 + } 423 + > 424 + <View 425 + style={ 426 + Array [ 427 + Object { 428 + "alignItems": "center", 429 + "height": 36, 430 + "justifyContent": "center", 431 + "marginRight": 12, 432 + "width": 36, 433 + }, 434 + ] 435 + } 436 + > 437 + <RNSVGSvgView 438 + align="xMidYMid" 439 + bbHeight="28" 440 + bbWidth="28" 441 + color={4282529591} 442 + fill="none" 443 + focusable={false} 444 + height="28" 445 + meetOrSlice={0} 446 + minX={0} 447 + minY={0} 448 + style={ 449 + Array [ 450 + Object { 451 + "backgroundColor": "transparent", 452 + "borderWidth": 0, 453 + }, 454 + Object { 455 + "color": "#423737", 456 + }, 457 + Object { 458 + "flex": 0, 459 + "height": 28, 460 + "width": 28, 461 + }, 462 + ] 463 + } 464 + tintColor={4282529591} 465 + vbHeight={24} 466 + vbWidth={24} 467 + width="28" 468 + > 469 + <RNSVGGroup 470 + fill={null} 471 + propList={ 472 + Array [ 473 + "fill", 474 + ] 475 + } 476 + > 477 + <RNSVGPath 478 + d="M0 0h24v24H0z" 479 + fill={null} 480 + propList={ 481 + Array [ 482 + "fill", 483 + ] 484 + } 485 + /> 486 + <RNSVGPath 487 + d="M20 17h2v2H2v-2h2v-7a8 8 0 1 1 16 0v7zm-2 0v-7a6 6 0 1 0-12 0v7h12zm-9 4h6v2H9v-2z" 488 + fill={ 489 + Array [ 490 + 2, 491 + ] 492 + } 493 + propList={ 494 + Array [ 495 + "fill", 496 + ] 497 + } 498 + /> 499 + </RNSVGGroup> 500 + </RNSVGSvgView> 501 + </View> 502 + <Text 503 + numberOfLines={1} 504 + style={ 505 + Array [ 506 + Object { 507 + "color": "#000000", 508 + }, 509 + Array [ 510 + Object { 511 + "color": "#2D2626", 512 + "fontSize": 19, 513 + }, 514 + undefined, 515 + ], 516 + ] 517 + } 518 + > 519 + Notifications 520 + </Text> 521 + </View> 522 + </View> 523 + <View 524 + style={ 525 + Object { 526 + "borderBottomColor": "#f8f3f3", 527 + "borderBottomWidth": 1, 528 + "paddingBottom": 10, 529 + "paddingHorizontal": 10, 530 + "paddingTop": 10, 531 + } 532 + } 533 + > 534 + <Text 535 + style={ 536 + Array [ 537 + Object { 538 + "color": "#000000", 539 + }, 540 + Object { 541 + "fontSize": 16, 542 + "fontWeight": "bold", 543 + "paddingHorizontal": 4, 544 + "paddingVertical": 8, 545 + }, 546 + ] 547 + } 548 + > 549 + Scenes 550 + </Text> 551 + </View> 552 + <View 553 + style={ 554 + Object { 555 + "borderBottomColor": "#f8f3f3", 556 + "borderBottomWidth": 1, 557 + "paddingBottom": 10, 558 + "paddingHorizontal": 10, 559 + "paddingTop": 10, 560 + } 561 + } 562 + > 563 + <View 564 + accessible={true} 565 + collapsable={false} 566 + focusable={true} 567 + onClick={[Function]} 568 + onResponderGrant={[Function]} 569 + onResponderMove={[Function]} 570 + onResponderRelease={[Function]} 571 + onResponderTerminate={[Function]} 572 + onResponderTerminationRequest={[Function]} 573 + onStartShouldSetResponder={[Function]} 574 + style={ 575 + Object { 576 + "alignItems": "center", 577 + "flexDirection": "row", 578 + "opacity": 1, 579 + "paddingHorizontal": 6, 580 + "paddingVertical": 8, 581 + } 582 + } 583 + > 584 + <View 585 + style={ 586 + Array [ 587 + Object { 588 + "alignItems": "center", 589 + "height": 36, 590 + "justifyContent": "center", 591 + "marginRight": 12, 592 + "width": 36, 593 + }, 594 + ] 595 + } 596 + > 597 + <RNSVGSvgView 598 + align="xMidYMid" 599 + bbHeight="30" 600 + bbWidth="30" 601 + color={4282529591} 602 + fill="none" 603 + focusable={false} 604 + height="30" 605 + meetOrSlice={0} 606 + minX={0} 607 + minY={0} 608 + stroke="currentColor" 609 + strokeWidth={2} 610 + style={ 611 + Array [ 612 + Object { 613 + "backgroundColor": "transparent", 614 + "borderWidth": 0, 615 + }, 616 + Object { 617 + "color": "#423737", 618 + }, 619 + Object { 620 + "flex": 0, 621 + "height": 30, 622 + "width": 30, 623 + }, 624 + ] 625 + } 626 + tintColor={4282529591} 627 + vbHeight={24} 628 + vbWidth={24} 629 + width="30" 630 + > 631 + <RNSVGGroup 632 + fill={null} 633 + propList={ 634 + Array [ 635 + "fill", 636 + "stroke", 637 + "strokeWidth", 638 + ] 639 + } 640 + stroke={ 641 + Array [ 642 + 2, 643 + ] 644 + } 645 + strokeWidth={2} 646 + > 647 + <RNSVGPath 648 + d="M18 18.72a9.094 9.094 0 003.741-.479 3 3 0 00-4.682-2.72m.94 3.198l.001.031c0 .225-.012.447-.037.666A11.944 11.944 0 0112 21c-2.17 0-4.207-.576-5.963-1.584A6.062 6.062 0 016 18.719m12 0a5.971 5.971 0 00-.941-3.197m0 0A5.995 5.995 0 0012 12.75a5.995 5.995 0 00-5.058 2.772m0 0a3 3 0 00-4.681 2.72 8.986 8.986 0 003.74.477m.94-3.197a5.971 5.971 0 00-.94 3.197M15 6.75a3 3 0 11-6 0 3 3 0 016 0zm6 3a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0zm-13.5 0a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0z" 649 + propList={ 650 + Array [ 651 + "strokeLinecap", 652 + "strokeLinejoin", 653 + ] 654 + } 655 + strokeLinecap={1} 656 + strokeLinejoin={1} 657 + /> 658 + </RNSVGGroup> 659 + </RNSVGSvgView> 660 + </View> 661 + <Text 662 + numberOfLines={1} 663 + style={ 664 + Array [ 665 + Object { 666 + "color": "#000000", 667 + }, 668 + Array [ 669 + Object { 670 + "color": "#2D2626", 671 + "fontSize": 19, 672 + }, 673 + undefined, 674 + ], 675 + ] 676 + } 677 + > 678 + Create a scene 679 + </Text> 680 + </View> 681 + <View 682 + accessible={true} 683 + collapsable={false} 684 + focusable={true} 685 + onClick={[Function]} 686 + onResponderGrant={[Function]} 687 + onResponderMove={[Function]} 688 + onResponderRelease={[Function]} 689 + onResponderTerminate={[Function]} 690 + onResponderTerminationRequest={[Function]} 691 + onStartShouldSetResponder={[Function]} 692 + style={ 693 + Object { 694 + "alignItems": "center", 695 + "flexDirection": "row", 696 + "opacity": 1, 697 + "paddingHorizontal": 6, 698 + "paddingVertical": 8, 699 + } 700 + } 701 + > 702 + <View 703 + style={ 704 + Array [ 705 + Object { 706 + "alignItems": "center", 707 + "height": 36, 708 + "justifyContent": "center", 709 + "marginRight": 12, 710 + "width": 36, 711 + }, 712 + ] 713 + } 714 + > 715 + <RNSVGSvgView 716 + align="xMidYMid" 717 + bbHeight="30" 718 + bbWidth="30" 719 + color={4282529591} 720 + fill="none" 721 + focusable={false} 722 + height="30" 723 + meetOrSlice={0} 724 + minX={0} 725 + minY={0} 726 + stroke="currentColor" 727 + strokeWidth={2} 728 + style={ 729 + Array [ 730 + Object { 731 + "backgroundColor": "transparent", 732 + "borderWidth": 0, 733 + }, 734 + Object { 735 + "color": "#423737", 736 + }, 737 + Object { 738 + "flex": 0, 739 + "height": 30, 740 + "width": 30, 741 + }, 742 + ] 743 + } 744 + tintColor={4282529591} 745 + vbHeight={24} 746 + vbWidth={24} 747 + width="30" 748 + > 749 + <RNSVGGroup 750 + fill={null} 751 + propList={ 752 + Array [ 753 + "fill", 754 + "stroke", 755 + "strokeWidth", 756 + ] 757 + } 758 + stroke={ 759 + Array [ 760 + 2, 761 + ] 762 + } 763 + strokeWidth={2} 764 + > 765 + <RNSVGPath 766 + d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 010 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 01-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 010-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.087.22-.128.332-.183.582-.495.644-.869l.214-1.281z" 767 + propList={ 768 + Array [ 769 + "strokeLinecap", 770 + "strokeLinejoin", 771 + ] 772 + } 773 + strokeLinecap={1} 774 + strokeLinejoin={1} 775 + /> 776 + <RNSVGPath 777 + d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" 778 + propList={ 779 + Array [ 780 + "strokeLinecap", 781 + "strokeLinejoin", 782 + ] 783 + } 784 + strokeLinecap={1} 785 + strokeLinejoin={1} 786 + /> 787 + </RNSVGGroup> 788 + </RNSVGSvgView> 789 + </View> 790 + <Text 791 + numberOfLines={1} 792 + style={ 793 + Array [ 794 + Object { 795 + "color": "#000000", 796 + }, 797 + Array [ 798 + Object { 799 + "color": "#2D2626", 800 + "fontSize": 19, 801 + }, 802 + undefined, 803 + ], 804 + ] 805 + } 806 + > 807 + Settings 808 + </Text> 809 + </View> 810 + </View> 811 + <View 812 + style={ 813 + Object { 814 + "paddingHorizontal": 14, 815 + "paddingVertical": 18, 816 + } 817 + } 818 + > 819 + <Text 820 + style={ 821 + Array [ 822 + Object { 823 + "color": "#000000", 824 + }, 825 + Object { 826 + "color": "#968d8d", 827 + }, 828 + ] 829 + } 830 + > 831 + Build version 832 + ( 833 + ) 834 + </Text> 835 + </View> 836 + </View> 837 + `;
+651
__tests__/view/shell/mobile/__snapshots__/TabsSelector.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`TabsSelector renders correctly 1`] = ` 4 + <View 5 + collapsable={false} 6 + style={ 7 + Object { 8 + "backgroundColor": "#fff", 9 + "borderTopColor": "#e4e2e2", 10 + "borderTopWidth": 1, 11 + "bottom": 55, 12 + "height": 320, 13 + "opacity": 1, 14 + "position": "absolute", 15 + "transform": Array [ 16 + Object { 17 + "translateY": 320, 18 + }, 19 + ], 20 + "width": "100%", 21 + } 22 + } 23 + > 24 + <View 25 + onLayout={[Function]} 26 + > 27 + <View 28 + style={ 29 + Array [ 30 + Object { 31 + "padding": 10, 32 + }, 33 + Object { 34 + "borderBottomColor": "#e4e2e2", 35 + "borderBottomWidth": 1, 36 + }, 37 + ] 38 + } 39 + > 40 + <View 41 + style={ 42 + Object { 43 + "flexDirection": "row", 44 + "paddingTop": 2, 45 + } 46 + } 47 + > 48 + <View 49 + accessible={true} 50 + focusable={true} 51 + onClick={[Function]} 52 + onResponderGrant={[Function]} 53 + onResponderMove={[Function]} 54 + onResponderRelease={[Function]} 55 + onResponderTerminate={[Function]} 56 + onResponderTerminationRequest={[Function]} 57 + onStartShouldSetResponder={[Function]} 58 + style={ 59 + Array [ 60 + Object { 61 + "alignItems": "center", 62 + "backgroundColor": "#f8f3f3", 63 + "borderRadius": 4, 64 + "flex": 1, 65 + "flexDirection": "row", 66 + "justifyContent": "center", 67 + "marginRight": 5, 68 + "paddingLeft": 12, 69 + "paddingRight": 16, 70 + "paddingVertical": 10, 71 + }, 72 + ] 73 + } 74 + > 75 + <View 76 + style={ 77 + Object { 78 + "marginRight": 8, 79 + } 80 + } 81 + > 82 + < 83 + icon="share" 84 + size={16} 85 + /> 86 + </View> 87 + <Text 88 + style={ 89 + Array [ 90 + Object { 91 + "color": "#000000", 92 + }, 93 + Object { 94 + "fontSize": 16, 95 + "fontWeight": "500", 96 + }, 97 + ] 98 + } 99 + > 100 + Share 101 + </Text> 102 + </View> 103 + <View 104 + accessible={true} 105 + focusable={true} 106 + onClick={[Function]} 107 + onResponderGrant={[Function]} 108 + onResponderMove={[Function]} 109 + onResponderRelease={[Function]} 110 + onResponderTerminate={[Function]} 111 + onResponderTerminationRequest={[Function]} 112 + onStartShouldSetResponder={[Function]} 113 + style={ 114 + Array [ 115 + Object { 116 + "alignItems": "center", 117 + "backgroundColor": "#f8f3f3", 118 + "borderRadius": 4, 119 + "flex": 1, 120 + "flexDirection": "row", 121 + "justifyContent": "center", 122 + "marginRight": 5, 123 + "paddingLeft": 12, 124 + "paddingRight": 16, 125 + "paddingVertical": 10, 126 + }, 127 + ] 128 + } 129 + > 130 + <View 131 + style={ 132 + Object { 133 + "marginRight": 8, 134 + } 135 + } 136 + > 137 + < 138 + icon={ 139 + Array [ 140 + "far", 141 + "clone", 142 + ] 143 + } 144 + size={16} 145 + /> 146 + </View> 147 + <Text 148 + style={ 149 + Array [ 150 + Object { 151 + "color": "#000000", 152 + }, 153 + Object { 154 + "fontSize": 16, 155 + "fontWeight": "500", 156 + }, 157 + ] 158 + } 159 + > 160 + Clone tab 161 + </Text> 162 + </View> 163 + <View 164 + accessible={true} 165 + focusable={true} 166 + onClick={[Function]} 167 + onResponderGrant={[Function]} 168 + onResponderMove={[Function]} 169 + onResponderRelease={[Function]} 170 + onResponderTerminate={[Function]} 171 + onResponderTerminationRequest={[Function]} 172 + onStartShouldSetResponder={[Function]} 173 + style={ 174 + Array [ 175 + Object { 176 + "alignItems": "center", 177 + "backgroundColor": "#f8f3f3", 178 + "borderRadius": 4, 179 + "flex": 1, 180 + "flexDirection": "row", 181 + "justifyContent": "center", 182 + "marginRight": 5, 183 + "paddingLeft": 12, 184 + "paddingRight": 16, 185 + "paddingVertical": 10, 186 + }, 187 + ] 188 + } 189 + > 190 + <View 191 + style={ 192 + Object { 193 + "marginRight": 8, 194 + } 195 + } 196 + > 197 + < 198 + icon="plus" 199 + size={16} 200 + /> 201 + </View> 202 + <Text 203 + style={ 204 + Array [ 205 + Object { 206 + "color": "#000000", 207 + }, 208 + Object { 209 + "fontSize": 16, 210 + "fontWeight": "500", 211 + }, 212 + ] 213 + } 214 + > 215 + New tab 216 + </Text> 217 + </View> 218 + </View> 219 + </View> 220 + <View 221 + style={ 222 + Array [ 223 + Object { 224 + "padding": 10, 225 + }, 226 + Object { 227 + "borderBottomColor": "#e4e2e2", 228 + "borderBottomWidth": 1, 229 + }, 230 + Object { 231 + "backgroundColor": "#f8f3f3", 232 + }, 233 + ] 234 + } 235 + > 236 + <RCTScrollView 237 + style={ 238 + Object { 239 + "height": 240, 240 + } 241 + } 242 + > 243 + <View> 244 + <View 245 + collapsable={false} 246 + forwardedRef={[Function]} 247 + handlerTag={1} 248 + handlerType="PanGestureHandler" 249 + onGestureHandlerEvent={[Function]} 250 + onGestureHandlerStateChange={[Function]} 251 + onLayout={[Function]} 252 + style={ 253 + Object { 254 + "overflow": "hidden", 255 + } 256 + } 257 + > 258 + <View 259 + collapsable={false} 260 + style={ 261 + Object { 262 + "bottom": 0, 263 + "flexDirection": "row", 264 + "left": 0, 265 + "position": "absolute", 266 + "right": 0, 267 + "top": 0, 268 + "transform": Array [ 269 + Object { 270 + "translateX": -10000, 271 + }, 272 + ], 273 + } 274 + } 275 + > 276 + <View 277 + style={ 278 + Array [ 279 + Object { 280 + "padding": 2, 281 + }, 282 + ] 283 + } 284 + /> 285 + <View 286 + onLayout={[Function]} 287 + /> 288 + </View> 289 + <View 290 + collapsable={false} 291 + style={ 292 + Object { 293 + "bottom": 0, 294 + "flexDirection": "row-reverse", 295 + "left": 0, 296 + "position": "absolute", 297 + "right": 0, 298 + "top": 0, 299 + "transform": Array [ 300 + Object { 301 + "translateX": -10000, 302 + }, 303 + ], 304 + } 305 + } 306 + > 307 + <View 308 + style={ 309 + Array [ 310 + Object { 311 + "padding": 2, 312 + }, 313 + ] 314 + } 315 + /> 316 + <View 317 + onLayout={[Function]} 318 + /> 319 + </View> 320 + <View 321 + collapsable={false} 322 + forwardedRef={[Function]} 323 + handlerTag={2} 324 + handlerType="TapGestureHandler" 325 + onGestureHandlerEvent={[Function]} 326 + onGestureHandlerStateChange={[Function]} 327 + pointerEvents="auto" 328 + style={ 329 + Object { 330 + "transform": Array [ 331 + Object { 332 + "translateX": -0, 333 + }, 334 + ], 335 + } 336 + } 337 + > 338 + <View 339 + collapsable={false} 340 + style={ 341 + Object { 342 + "height": 46, 343 + "overflow": "hidden", 344 + } 345 + } 346 + > 347 + <View 348 + collapsable={false} 349 + forwardedRef={[Function]} 350 + style={ 351 + Object { 352 + "alignItems": "center", 353 + "backgroundColor": "#ffffff", 354 + "borderColor": "#000000", 355 + "borderRadius": 4, 356 + "borderWidth": 1, 357 + "flexDirection": "row", 358 + "height": 42, 359 + } 360 + } 361 + > 362 + <View 363 + accessible={true} 364 + focusable={true} 365 + onClick={[Function]} 366 + onResponderGrant={[Function]} 367 + onResponderMove={[Function]} 368 + onResponderRelease={[Function]} 369 + onResponderTerminate={[Function]} 370 + onResponderTerminationRequest={[Function]} 371 + onStartShouldSetResponder={[Function]} 372 + style={ 373 + Object { 374 + "alignItems": "center", 375 + "flex": 1, 376 + "flexDirection": "row", 377 + "paddingLeft": 12, 378 + "paddingVertical": 12, 379 + } 380 + } 381 + > 382 + <View 383 + style={Object {}} 384 + > 385 + < 386 + icon="house" 387 + size={20} 388 + /> 389 + </View> 390 + <Text 391 + ellipsizeMode="tail" 392 + numberOfLines={1} 393 + style={ 394 + Array [ 395 + Object { 396 + "color": "#000000", 397 + }, 398 + Array [ 399 + Object { 400 + "flex": 1, 401 + "fontSize": 16, 402 + "paddingHorizontal": 10, 403 + }, 404 + Object { 405 + "fontWeight": "500", 406 + }, 407 + ], 408 + ] 409 + } 410 + suppressHighlighting={true} 411 + > 412 + / 413 + </Text> 414 + </View> 415 + <View 416 + accessible={true} 417 + focusable={true} 418 + onClick={[Function]} 419 + onResponderGrant={[Function]} 420 + onResponderMove={[Function]} 421 + onResponderRelease={[Function]} 422 + onResponderTerminate={[Function]} 423 + onResponderTerminationRequest={[Function]} 424 + onStartShouldSetResponder={[Function]} 425 + style={ 426 + Object { 427 + "paddingRight": 16, 428 + "paddingVertical": 16, 429 + } 430 + } 431 + > 432 + < 433 + icon="x" 434 + size={14} 435 + style={ 436 + Object { 437 + "color": "#655", 438 + } 439 + } 440 + /> 441 + </View> 442 + </View> 443 + </View> 444 + </View> 445 + </View> 446 + <View 447 + collapsable={false} 448 + forwardedRef={[Function]} 449 + handlerTag={3} 450 + handlerType="PanGestureHandler" 451 + onGestureHandlerEvent={[Function]} 452 + onGestureHandlerStateChange={[Function]} 453 + onLayout={[Function]} 454 + style={ 455 + Object { 456 + "overflow": "hidden", 457 + } 458 + } 459 + > 460 + <View 461 + collapsable={false} 462 + style={ 463 + Object { 464 + "bottom": 0, 465 + "flexDirection": "row", 466 + "left": 0, 467 + "position": "absolute", 468 + "right": 0, 469 + "top": 0, 470 + "transform": Array [ 471 + Object { 472 + "translateX": -10000, 473 + }, 474 + ], 475 + } 476 + } 477 + > 478 + <View 479 + style={ 480 + Array [ 481 + Object { 482 + "padding": 2, 483 + }, 484 + ] 485 + } 486 + /> 487 + <View 488 + onLayout={[Function]} 489 + /> 490 + </View> 491 + <View 492 + collapsable={false} 493 + style={ 494 + Object { 495 + "bottom": 0, 496 + "flexDirection": "row-reverse", 497 + "left": 0, 498 + "position": "absolute", 499 + "right": 0, 500 + "top": 0, 501 + "transform": Array [ 502 + Object { 503 + "translateX": -10000, 504 + }, 505 + ], 506 + } 507 + } 508 + > 509 + <View 510 + style={ 511 + Array [ 512 + Object { 513 + "padding": 2, 514 + }, 515 + ] 516 + } 517 + /> 518 + <View 519 + onLayout={[Function]} 520 + /> 521 + </View> 522 + <View 523 + collapsable={false} 524 + forwardedRef={[Function]} 525 + handlerTag={4} 526 + handlerType="TapGestureHandler" 527 + onGestureHandlerEvent={[Function]} 528 + onGestureHandlerStateChange={[Function]} 529 + pointerEvents="auto" 530 + style={ 531 + Object { 532 + "transform": Array [ 533 + Object { 534 + "translateX": -0, 535 + }, 536 + ], 537 + } 538 + } 539 + > 540 + <View 541 + collapsable={false} 542 + style={ 543 + Object { 544 + "height": 46, 545 + "overflow": "hidden", 546 + } 547 + } 548 + > 549 + <View 550 + collapsable={false} 551 + forwardedRef={[Function]} 552 + style={ 553 + Object { 554 + "alignItems": "center", 555 + "backgroundColor": "#f8f3f3", 556 + "borderColor": "#968d8d", 557 + "borderRadius": 4, 558 + "borderWidth": 1, 559 + "flexDirection": "row", 560 + "height": 42, 561 + } 562 + } 563 + > 564 + <View 565 + accessible={true} 566 + focusable={true} 567 + onClick={[Function]} 568 + onResponderGrant={[Function]} 569 + onResponderMove={[Function]} 570 + onResponderRelease={[Function]} 571 + onResponderTerminate={[Function]} 572 + onResponderTerminationRequest={[Function]} 573 + onStartShouldSetResponder={[Function]} 574 + style={ 575 + Object { 576 + "alignItems": "center", 577 + "flex": 1, 578 + "flexDirection": "row", 579 + "paddingLeft": 12, 580 + "paddingVertical": 12, 581 + } 582 + } 583 + > 584 + <View 585 + style={Object {}} 586 + > 587 + < 588 + icon="bell" 589 + size={20} 590 + /> 591 + </View> 592 + <Text 593 + ellipsizeMode="tail" 594 + numberOfLines={1} 595 + style={ 596 + Array [ 597 + Object { 598 + "color": "#000000", 599 + }, 600 + Array [ 601 + Object { 602 + "flex": 1, 603 + "fontSize": 16, 604 + "paddingHorizontal": 10, 605 + }, 606 + false, 607 + ], 608 + ] 609 + } 610 + suppressHighlighting={true} 611 + > 612 + /notifications 613 + </Text> 614 + </View> 615 + <View 616 + accessible={true} 617 + focusable={true} 618 + onClick={[Function]} 619 + onResponderGrant={[Function]} 620 + onResponderMove={[Function]} 621 + onResponderRelease={[Function]} 622 + onResponderTerminate={[Function]} 623 + onResponderTerminationRequest={[Function]} 624 + onStartShouldSetResponder={[Function]} 625 + style={ 626 + Object { 627 + "paddingRight": 16, 628 + "paddingVertical": 16, 629 + } 630 + } 631 + > 632 + < 633 + icon="x" 634 + size={14} 635 + style={ 636 + Object { 637 + "color": "#655", 638 + } 639 + } 640 + /> 641 + </View> 642 + </View> 643 + </View> 644 + </View> 645 + </View> 646 + </View> 647 + </RCTScrollView> 648 + </View> 649 + </View> 650 + </View> 651 + `;
+421
__tests__/view/shell/mobile/__snapshots__/index.test.tsx.snap
···
··· 1 + // Jest Snapshot v1, https://goo.gl/fbAQLP 2 + 3 + exports[`MobileShell renders correctly 1`] = ` 4 + <BVLinearGradient 5 + colors={ 6 + Array [ 7 + 4278222079, 8 + 4278238463, 9 + ] 10 + } 11 + endPoint={ 12 + Object { 13 + "x": 0, 14 + "y": 1, 15 + } 16 + } 17 + locations={null} 18 + startPoint={ 19 + Object { 20 + "x": 0, 21 + "y": 0.8, 22 + } 23 + } 24 + style={ 25 + Object { 26 + "flex": 1, 27 + "height": "100%", 28 + } 29 + } 30 + > 31 + <RCTSafeAreaView 32 + emulateUnlessSupported={true} 33 + style={ 34 + Object { 35 + "flex": 1, 36 + } 37 + } 38 + > 39 + <View 40 + style={ 41 + Object { 42 + "flex": 1, 43 + } 44 + } 45 + > 46 + <View 47 + style={ 48 + Object { 49 + "flex": 2, 50 + "justifyContent": "center", 51 + } 52 + } 53 + > 54 + <View 55 + style={ 56 + Object { 57 + "flexDirection": "row", 58 + "justifyContent": "center", 59 + } 60 + } 61 + > 62 + <RNSVGSvgView 63 + bbHeight="100" 64 + bbWidth="100" 65 + focusable={false} 66 + height="100" 67 + style={ 68 + Array [ 69 + Object { 70 + "backgroundColor": "transparent", 71 + "borderWidth": 0, 72 + }, 73 + Object { 74 + "flex": 0, 75 + "height": 100, 76 + "width": 100, 77 + }, 78 + ] 79 + } 80 + width="100" 81 + > 82 + <RNSVGGroup> 83 + <RNSVGCircle 84 + cx="50" 85 + cy="50" 86 + fill={null} 87 + propList={ 88 + Array [ 89 + "fill", 90 + "stroke", 91 + "strokeWidth", 92 + ] 93 + } 94 + r="46" 95 + stroke={4294967295} 96 + strokeWidth={2} 97 + /> 98 + <RNSVGLine 99 + propList={ 100 + Array [ 101 + "stroke", 102 + "strokeWidth", 103 + ] 104 + } 105 + stroke={4294967295} 106 + strokeWidth={1} 107 + x1="30" 108 + x2="30" 109 + y1="0" 110 + y2="100" 111 + /> 112 + <RNSVGLine 113 + propList={ 114 + Array [ 115 + "stroke", 116 + "strokeWidth", 117 + ] 118 + } 119 + stroke={4294967295} 120 + strokeWidth={1} 121 + x1="74" 122 + x2="74" 123 + y1="0" 124 + y2="100" 125 + /> 126 + <RNSVGLine 127 + propList={ 128 + Array [ 129 + "stroke", 130 + "strokeWidth", 131 + ] 132 + } 133 + stroke={4294967295} 134 + strokeWidth={1} 135 + x1="0" 136 + x2="100" 137 + y1="22" 138 + y2="22" 139 + /> 140 + <RNSVGLine 141 + propList={ 142 + Array [ 143 + "stroke", 144 + "strokeWidth", 145 + ] 146 + } 147 + stroke={4294967295} 148 + strokeWidth={1} 149 + x1="0" 150 + x2="100" 151 + y1="74" 152 + y2="74" 153 + /> 154 + <RNSVGText 155 + content={null} 156 + dx={Array []} 157 + dy={Array []} 158 + fill={null} 159 + font={ 160 + Object { 161 + "fontSize": "60", 162 + "fontWeight": "bold", 163 + "textAnchor": "middle", 164 + } 165 + } 166 + propList={ 167 + Array [ 168 + "fill", 169 + "stroke", 170 + "strokeWidth", 171 + ] 172 + } 173 + rotate={Array []} 174 + stroke={4294967295} 175 + strokeWidth={2} 176 + x={ 177 + Array [ 178 + "52", 179 + ] 180 + } 181 + y={ 182 + Array [ 183 + "70", 184 + ] 185 + } 186 + > 187 + <RNSVGTSpan 188 + content="B" 189 + dx={Array []} 190 + dy={Array []} 191 + font={Object {}} 192 + rotate={Array []} 193 + x={Array []} 194 + y={Array []} 195 + /> 196 + </RNSVGText> 197 + </RNSVGGroup> 198 + </RNSVGSvgView> 199 + </View> 200 + <Text 201 + style={ 202 + Array [ 203 + Object { 204 + "color": "#000000", 205 + }, 206 + Object { 207 + "color": "#ffffff", 208 + "fontSize": 68, 209 + "fontWeight": "bold", 210 + "textAlign": "center", 211 + }, 212 + ] 213 + } 214 + > 215 + Bluesky 216 + </Text> 217 + <Text 218 + style={ 219 + Array [ 220 + Object { 221 + "color": "#000000", 222 + }, 223 + Object { 224 + "color": "#ffffff", 225 + "fontSize": 18, 226 + "textAlign": "center", 227 + }, 228 + ] 229 + } 230 + > 231 + [ private beta ] 232 + </Text> 233 + </View> 234 + <View 235 + style={ 236 + Object { 237 + "flex": 1, 238 + } 239 + } 240 + > 241 + <View 242 + accessible={true} 243 + collapsable={false} 244 + focusable={true} 245 + onClick={[Function]} 246 + onResponderGrant={[Function]} 247 + onResponderMove={[Function]} 248 + onResponderRelease={[Function]} 249 + onResponderTerminate={[Function]} 250 + onResponderTerminationRequest={[Function]} 251 + onStartShouldSetResponder={[Function]} 252 + style={ 253 + Object { 254 + "backgroundColor": "#0085ff", 255 + "borderColor": "#ffffff", 256 + "borderRadius": 10, 257 + "borderWidth": 1, 258 + "marginBottom": 20, 259 + "marginHorizontal": 20, 260 + "opacity": 1, 261 + "paddingVertical": 16, 262 + } 263 + } 264 + > 265 + <Text 266 + style={ 267 + Array [ 268 + Object { 269 + "color": "#000000", 270 + }, 271 + Object { 272 + "color": "#ffffff", 273 + "fontSize": 18, 274 + "fontWeight": "bold", 275 + "textAlign": "center", 276 + }, 277 + ] 278 + } 279 + > 280 + Create a new account 281 + </Text> 282 + </View> 283 + <View 284 + style={ 285 + Object { 286 + "marginBottom": 20, 287 + } 288 + } 289 + > 290 + <RNSVGSvgView 291 + bbHeight="1" 292 + bbWidth={750} 293 + focusable={false} 294 + height="1" 295 + style={ 296 + Array [ 297 + Object { 298 + "backgroundColor": "transparent", 299 + "borderWidth": 0, 300 + }, 301 + Object { 302 + "position": "absolute", 303 + "top": 10, 304 + }, 305 + Object { 306 + "flex": 0, 307 + "height": 1, 308 + "width": 750, 309 + }, 310 + ] 311 + } 312 + width={750} 313 + > 314 + <RNSVGGroup> 315 + <RNSVGLine 316 + propList={ 317 + Array [ 318 + "stroke", 319 + "strokeWidth", 320 + ] 321 + } 322 + stroke={4294967295} 323 + strokeWidth="1" 324 + x1="30" 325 + x2={355} 326 + y1="0" 327 + y2="0" 328 + /> 329 + <RNSVGLine 330 + propList={ 331 + Array [ 332 + "stroke", 333 + "strokeWidth", 334 + ] 335 + } 336 + stroke={4294967295} 337 + strokeWidth="1" 338 + x1={395} 339 + x2={720} 340 + y1="0" 341 + y2="0" 342 + /> 343 + </RNSVGGroup> 344 + </RNSVGSvgView> 345 + <Text 346 + style={ 347 + Array [ 348 + Object { 349 + "color": "#000000", 350 + }, 351 + Object { 352 + "color": "#ffffff", 353 + "fontSize": 16, 354 + "textAlign": "center", 355 + }, 356 + ] 357 + } 358 + > 359 + or 360 + </Text> 361 + </View> 362 + <View 363 + accessible={true} 364 + collapsable={false} 365 + focusable={true} 366 + onClick={[Function]} 367 + onResponderGrant={[Function]} 368 + onResponderMove={[Function]} 369 + onResponderRelease={[Function]} 370 + onResponderTerminate={[Function]} 371 + onResponderTerminationRequest={[Function]} 372 + onStartShouldSetResponder={[Function]} 373 + style={ 374 + Object { 375 + "backgroundColor": "#0085ff", 376 + "borderColor": "#ffffff", 377 + "borderRadius": 10, 378 + "borderWidth": 1, 379 + "marginBottom": 20, 380 + "marginHorizontal": 20, 381 + "opacity": 1, 382 + "paddingVertical": 16, 383 + } 384 + } 385 + > 386 + <Text 387 + style={ 388 + Array [ 389 + Object { 390 + "color": "#000000", 391 + }, 392 + Object { 393 + "color": "#ffffff", 394 + "fontSize": 18, 395 + "fontWeight": "bold", 396 + "textAlign": "center", 397 + }, 398 + ] 399 + } 400 + > 401 + Sign in 402 + </Text> 403 + </View> 404 + </View> 405 + </View> 406 + </RCTSafeAreaView> 407 + <View 408 + enablePanDownToClose={true} 409 + index={-1} 410 + keyboardBehavior="fillParent" 411 + onChange={[Function]} 412 + snapPoints={ 413 + Array [ 414 + "10%", 415 + ] 416 + } 417 + > 418 + <View /> 419 + </View> 420 + </BVLinearGradient> 421 + `;
+18
__tests__/view/shell/mobile/index.test.tsx
···
··· 1 + import React from 'react' 2 + import {MobileShell} from '../../../../src/view/shell/mobile' 3 + import renderer from 'react-test-renderer' 4 + import {SafeAreaProvider} from 'react-native-safe-area-context' 5 + // import {render} from '../../../../jest/test-utils' 6 + 7 + describe('MobileShell', () => { 8 + it('renders correctly', () => { 9 + const tree = renderer 10 + .create( 11 + <SafeAreaProvider> 12 + <MobileShell /> 13 + </SafeAreaProvider>, 14 + ) 15 + .toJSON() 16 + expect(tree).toMatchSnapshot() 17 + }) 18 + })
-3
jest.js
··· 1 - jest.mock('@react-native-async-storage/async-storage', () => 2 - require('@react-native-async-storage/async-storage/jest/async-storage-mock'), 3 - )
···
+39
jest/jestSetup.js
···
··· 1 + jest.mock('@react-native-async-storage/async-storage', () => 2 + require('@react-native-async-storage/async-storage/jest/async-storage-mock'), 3 + ) 4 + jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter') 5 + 6 + jest.mock('@fortawesome/react-native-fontawesome', () => ({ 7 + FontAwesomeIcon: '', 8 + })) 9 + 10 + require('react-native-reanimated/lib/reanimated2/jestUtils').setUpTests() 11 + 12 + // Silence the warning: Animated: `useNativeDriver` is not supported 13 + jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper') 14 + 15 + jest.mock('react-native-safe-area-context', () => { 16 + const inset = {top: 0, right: 0, bottom: 0, left: 0} 17 + return { 18 + SafeAreaProvider: jest.fn().mockImplementation(({children}) => children), 19 + SafeAreaConsumer: jest 20 + .fn() 21 + .mockImplementation(({children}) => children(inset)), 22 + useSafeAreaInsets: jest.fn().mockImplementation(() => inset), 23 + } 24 + }) 25 + 26 + jest.mock('@gorhom/bottom-sheet', () => { 27 + const react = require('react-native') 28 + return { 29 + __esModule: true, 30 + default: react.View, 31 + namedExport: { 32 + ...require('react-native-reanimated/mock'), 33 + ...jest.requireActual('@gorhom/bottom-sheet'), 34 + BottomSheetFlatList: react.FlatList, 35 + }, 36 + } 37 + }) 38 + 39 + jest.useFakeTimers()
+32
jest/test-utils.tsx
···
··· 1 + import React from 'react' 2 + import RN from 'react-native' 3 + import {render} from '@testing-library/react-native' 4 + import {GestureHandlerRootView} from 'react-native-gesture-handler' 5 + import {RootSiblingParent} from 'react-native-root-siblings' 6 + import {SafeAreaProvider} from 'react-native-safe-area-context' 7 + import {DEFAULT_SERVICE, RootStoreModel, RootStoreProvider} from '../src/state' 8 + import {SessionServiceClient} from '../src/third-party/api/src' 9 + import {sessionClient as AtpApi} from '../src/third-party/api' 10 + 11 + const WrappedComponent = ({children}: any) => { 12 + const api = AtpApi.service(DEFAULT_SERVICE) as SessionServiceClient 13 + const rootStore = new RootStoreModel(api) 14 + return ( 15 + <GestureHandlerRootView style={{flex: 1}}> 16 + <RootSiblingParent> 17 + <RootStoreProvider value={rootStore}> 18 + <SafeAreaProvider>{children}</SafeAreaProvider> 19 + </RootStoreProvider> 20 + </RootSiblingParent> 21 + </GestureHandlerRootView> 22 + ) 23 + } 24 + 25 + const customRender = (ui: any, options?: any) => 26 + render(ui, {wrapper: WrappedComponent, ...options}) 27 + 28 + // re-export everything 29 + export * from '@testing-library/react-native' 30 + 31 + // override render method 32 + export {customRender as render}
+15 -3
package.json
··· 8 "web": "react-scripts start", 9 "start": "react-native start", 10 "clean-cache": "rm -rf node_modules/.cache/babel-loader/*", 11 - "test": "jest", 12 - "lint": "eslint . --ext .js,.jsx,.ts,.tsx" 13 }, 14 "dependencies": { 15 "@atproto/api": "^0.0.2", ··· 31 "lru_map": "^0.4.1", 32 "mobx": "^6.6.1", 33 "mobx-react-lite": "^3.4.0", 34 "react": "17.0.2", 35 "react-circular-progressbar": "^2.1.0", 36 "react-dom": "17.0.2", ··· 61 "@babel/core": "^7.12.9", 62 "@babel/runtime": "^7.12.5", 63 "@react-native-community/eslint-config": "^2.0.0", 64 "@types/he": "^1.1.2", 65 "@types/jest": "^26.0.23", 66 "@types/lodash.chunk": "^4.2.7", ··· 85 "jest": { 86 "preset": "react-native", 87 "setupFiles": [ 88 - "./jest.js" 89 ], 90 "moduleFileExtensions": [ 91 "ts", 92 "tsx", ··· 97 ], 98 "transformIgnorePatterns": [ 99 "node_modules/(?!(jest-)?react-native|react-clone-referenced-element|@react-native-community|rollbar-react-native|@fortawesome|@react-native|@react-navigation)" 100 ] 101 }, 102 "browserslist": {
··· 8 "web": "react-scripts start", 9 "start": "react-native start", 10 "clean-cache": "rm -rf node_modules/.cache/babel-loader/*", 11 + "test": "jest --coverage", 12 + "lint": "eslint . --ext .js,.jsx,.ts,.tsx", 13 + "postinstall": "patch-package" 14 }, 15 "dependencies": { 16 "@atproto/api": "^0.0.2", ··· 32 "lru_map": "^0.4.1", 33 "mobx": "^6.6.1", 34 "mobx-react-lite": "^3.4.0", 35 + "patch-package": "^6.5.0", 36 "react": "17.0.2", 37 "react-circular-progressbar": "^2.1.0", 38 "react-dom": "17.0.2", ··· 63 "@babel/core": "^7.12.9", 64 "@babel/runtime": "^7.12.5", 65 "@react-native-community/eslint-config": "^2.0.0", 66 + "@testing-library/jest-native": "^5.3.3", 67 + "@testing-library/react-native": "^11.5.0", 68 "@types/he": "^1.1.2", 69 "@types/jest": "^26.0.23", 70 "@types/lodash.chunk": "^4.2.7", ··· 89 "jest": { 90 "preset": "react-native", 91 "setupFiles": [ 92 + "./jest/jestSetup.js", 93 + "./node_modules/react-native-gesture-handler/jestSetup.js" 94 ], 95 + "setupFilesAfterEnv": ["@testing-library/jest-native/extend-expect"], 96 "moduleFileExtensions": [ 97 "ts", 98 "tsx", ··· 103 ], 104 "transformIgnorePatterns": [ 105 "node_modules/(?!(jest-)?react-native|react-clone-referenced-element|@react-native-community|rollbar-react-native|@fortawesome|@react-native|@react-navigation)" 106 + ], 107 + "coveragePathIgnorePatterns": [ 108 + "<rootDir>/node_modules/", 109 + "<rootDir>/src/platform", 110 + "<rootDir>/src/third-party", 111 + "<rootDir>/__tests__/test-utils.js" 112 ] 113 }, 114 "browserslist": {
+125
patches/react-native-pager-view+5.4.1.patch
···
··· 1 + # HOTFIX - https://github.com/satya164/react-native-tab-view/issues/1104 2 + 3 + diff --git a/node_modules/react-native-pager-view/lib/commonjs/PagerView.js b/node_modules/react-native-pager-view/lib/commonjs/PagerView.js 4 + index 40afb41..850c151 100644 5 + --- a/node_modules/react-native-pager-view/lib/commonjs/PagerView.js 6 + +++ b/node_modules/react-native-pager-view/lib/commonjs/PagerView.js 7 + @@ -131,17 +131,20 @@ class PagerView extends _react.default.Component { 8 + } 9 + 10 + render() { 11 + - return /*#__PURE__*/_react.default.createElement(_PagerViewNative.PagerViewViewManager, _extends({}, this.props, { 12 + - ref: this.PagerView 13 + - /** TODO: Fix ref type */ 14 + - , 15 + + const { 16 + + children, 17 + + forwardedRef, 18 + + ...rest 19 + + } = this.props; 20 + + return /*#__PURE__*/_react.default.createElement(_PagerViewNative.PagerViewViewManager, _extends({}, rest, { 21 + + // ref={this.PagerView as any /** TODO: Fix ref type */} 22 + style: this.props.style, 23 + layoutDirection: this.deducedLayoutDirection, 24 + onPageScroll: this._onPageScroll, 25 + onPageScrollStateChanged: this._onPageScrollStateChanged, 26 + onPageSelected: this._onPageSelected, 27 + onMoveShouldSetResponderCapture: this._onMoveShouldSetResponderCapture, 28 + - children: (0, _utils.childrenWithOverriddenStyle)(this.props.children) 29 + + children: (0, _utils.childrenWithOverriddenStyle)(children) 30 + })); 31 + } 32 + 33 + diff --git a/node_modules/react-native-pager-view/lib/commonjs/PagerView.js.map b/node_modules/react-native-pager-view/lib/commonjs/PagerView.js.map 34 + index ce9ff7f..c55d898 100644 35 + --- a/node_modules/react-native-pager-view/lib/commonjs/PagerView.js.map 36 + +++ b/node_modules/react-native-pager-view/lib/commonjs/PagerView.js.map 37 + @@ -1 +1 @@ 38 + -{"version":3,"sources":["PagerView.tsx"],"names":["PagerView","React","Component","createRef","current","getInnerViewNode","e","props","onPageScroll","Platform","OS","keyboardDismissMode","Keyboard","dismiss","onPageScrollStateChanged","isScrolling","nativeEvent","pageScrollState","onPageSelected","selectedPage","UIManager","dispatchViewManagerCommand","ReactNative","findNodeHandle","Commands","setPage","setPageWithoutAnimation","scrollEnabled","setScrollEnabled","deducedLayoutDirection","shouldUseDeviceRtlSetup","layoutDirection","I18nManager","isRTL","render","style","_onPageScroll","_onPageScrollStateChanged","_onPageSelected","_onMoveShouldSetResponderCapture","children"],"mappings":";;;;;;;AAAA;;AACA;;AASA;;AACA;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEO,MAAMA,SAAN,SAAwBC,eAAMC,SAA9B,CAAwD;AAAA;AAAA;;AAAA,yCACvC,KADuC;;AAAA,oDAEzCD,eAAME,SAAN,EAFyC;;AAAA,8CAInC,MAAoB;AAC5C,aAAO,KAAKH,SAAL,CAAeI,OAAf,CAAwBC,gBAAxB,EAAP;AACD,KAN4D;;AAAA,2CAQpCC,CAAD,IAAmC;AACzD,UAAI,KAAKC,KAAL,CAAWC,YAAf,EAA6B;AAC3B,aAAKD,KAAL,CAAWC,YAAX,CAAwBF,CAAxB;AACD,OAHwD,CAIzD;;;AACA,UAAIG,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7B,YAAI,KAAKH,KAAL,CAAWI,mBAAX,KAAmC,SAAvC,EAAkD;AAChDC,gCAASC,OAAT;AACD;AACF;AACF,KAlB4D;;AAAA,uDAqB3DP,CADkC,IAE/B;AACH,UAAI,KAAKC,KAAL,CAAWO,wBAAf,EAAyC;AACvC,aAAKP,KAAL,CAAWO,wBAAX,CAAoCR,CAApC;AACD;;AACD,WAAKS,WAAL,GAAmBT,CAAC,CAACU,WAAF,CAAcC,eAAd,KAAkC,UAArD;AACD,KA3B4D;;AAAA,6CA6BlCX,CAAD,IAAqC;AAC7D,UAAI,KAAKC,KAAL,CAAWW,cAAf,EAA+B;AAC7B,aAAKX,KAAL,CAAWW,cAAX,CAA0BZ,CAA1B;AACD;AACF,KAjC4D;;AAAA,qCAuC3Ca,YAAD,IAA0B;AACzCC,6BAAUC,0BAAV,CACEC,qBAAYC,cAAZ,CAA2B,IAA3B,CADF,EAEE,6CAAuBC,QAAvB,CAAgCC,OAFlC,EAGE,CAACN,YAAD,CAHF;AAKD,KA7C4D;;AAAA,qDAmD3BA,YAAD,IAA0B;AACzDC,6BAAUC,0BAAV,CACEC,qBAAYC,cAAZ,CAA2B,IAA3B,CADF,EAEE,6CAAuBC,QAAvB,CAAgCE,uBAFlC,EAGE,CAACP,YAAD,CAHF;AAKD,KAzD4D;;AAAA,8CAgElCQ,aAAD,IAA4B;AACpDP,6BAAUC,0BAAV,CACEC,qBAAYC,cAAZ,CAA2B,IAA3B,CADF,EAEE,6CAAuBC,QAAvB,CAAgCI,gBAFlC,EAGE,CAACD,aAAD,CAHF;AAKD,KAtE4D;;AAAA,8DAwElB,MAAM;AAC/C,aAAO,KAAKZ,WAAZ;AACD,KA1E4D;AAAA;;AA4E3B,MAAtBc,sBAAsB,GAAG;AACnC,UAAMC,uBAAuB,GAC3B,CAAC,KAAKvB,KAAL,CAAWwB,eAAZ,IAA+B,KAAKxB,KAAL,CAAWwB,eAAX,KAA+B,QADhE;;AAGA,QAAID,uBAAJ,EAA6B;AAC3B,aAAOE,yBAAYC,KAAZ,GAAoB,KAApB,GAA4B,KAAnC;AACD,KAFD,MAEO;AACL,aAAO,KAAK1B,KAAL,CAAWwB,eAAlB;AACD;AACF;;AAEDG,EAAAA,MAAM,GAAG;AACP,wBACE,6BAAC,qCAAD,eACM,KAAK3B,KADX;AAEE,MAAA,GAAG,EAAE,KAAKP;AAAiB;AAF7B;AAGE,MAAA,KAAK,EAAE,KAAKO,KAAL,CAAW4B,KAHpB;AAIE,MAAA,eAAe,EAAE,KAAKN,sBAJxB;AAKE,MAAA,YAAY,EAAE,KAAKO,aALrB;AAME,MAAA,wBAAwB,EAAE,KAAKC,yBANjC;AAOE,MAAA,cAAc,EAAE,KAAKC,eAPvB;AAQE,MAAA,+BAA+B,EAAE,KAAKC,gCARxC;AASE,MAAA,QAAQ,EAAE,wCAA4B,KAAKhC,KAAL,CAAWiC,QAAvC;AATZ,OADF;AAaD;;AArG4D","sourcesContent":["import React, { ReactElement } from 'react';\nimport { Platform, UIManager, Keyboard } from 'react-native';\nimport ReactNative, { I18nManager } from 'react-native';\nimport type {\n PagerViewOnPageScrollEvent,\n PagerViewOnPageSelectedEvent,\n PageScrollStateChangedNativeEvent,\n PagerViewProps,\n} from './types';\n\nimport { childrenWithOverriddenStyle } from './utils';\nimport { getViewManagerConfig, PagerViewViewManager } from './PagerViewNative';\n\n/**\n * Container that allows to flip left and right between child views. Each\n * child view of the `PagerView` will be treated as a separate page\n * and will be stretched to fill the `PagerView`.\n *\n * It is important all children are `<View>`s and not composite components.\n * You can set style properties like `padding` or `backgroundColor` for each\n * child. It is also important that each child have a `key` prop.\n *\n * Example:\n *\n * ```\n * render: function() {\n * return (\n * <PagerView\n * style={styles.PagerView}\n * initialPage={0}>\n * <View style={styles.pageStyle} key=\"1\">\n * <Text>First page</Text>\n * </View>\n * <View style={styles.pageStyle} key=\"2\">\n * <Text>Second page</Text>\n * </View>\n * </PagerView>\n * );\n * }\n *\n * ...\n *\n * var styles = {\n * ...\n * PagerView: {\n * flex: 1\n * },\n * pageStyle: {\n * alignItems: 'center',\n * padding: 20,\n * }\n * }\n * ```\n */\n\nexport class PagerView extends React.Component<PagerViewProps> {\n private isScrolling = false;\n private PagerView = React.createRef<typeof PagerViewViewManager>();\n\n public getInnerViewNode = (): ReactElement => {\n return this.PagerView.current!.getInnerViewNode();\n };\n\n private _onPageScroll = (e: PagerViewOnPageScrollEvent) => {\n if (this.props.onPageScroll) {\n this.props.onPageScroll(e);\n }\n // Not implemented on iOS yet\n if (Platform.OS === 'android') {\n if (this.props.keyboardDismissMode === 'on-drag') {\n Keyboard.dismiss();\n }\n }\n };\n\n private _onPageScrollStateChanged = (\n e: PageScrollStateChangedNativeEvent\n ) => {\n if (this.props.onPageScrollStateChanged) {\n this.props.onPageScrollStateChanged(e);\n }\n this.isScrolling = e.nativeEvent.pageScrollState === 'dragging';\n };\n\n private _onPageSelected = (e: PagerViewOnPageSelectedEvent) => {\n if (this.props.onPageSelected) {\n this.props.onPageSelected(e);\n }\n };\n\n /**\n * A helper function to scroll to a specific page in the PagerView.\n * The transition between pages will be animated.\n */\n public setPage = (selectedPage: number) => {\n UIManager.dispatchViewManagerCommand(\n ReactNative.findNodeHandle(this),\n getViewManagerConfig().Commands.setPage,\n [selectedPage]\n );\n };\n\n /**\n * A helper function to scroll to a specific page in the PagerView.\n * The transition between pages will *not* be animated.\n */\n public setPageWithoutAnimation = (selectedPage: number) => {\n UIManager.dispatchViewManagerCommand(\n ReactNative.findNodeHandle(this),\n getViewManagerConfig().Commands.setPageWithoutAnimation,\n [selectedPage]\n );\n };\n\n /**\n * A helper function to enable/disable scroll imperatively\n * The recommended way is using the scrollEnabled prop, however, there might be a case where a\n * imperative solution is more useful (e.g. for not blocking an animation)\n */\n public setScrollEnabled = (scrollEnabled: boolean) => {\n UIManager.dispatchViewManagerCommand(\n ReactNative.findNodeHandle(this),\n getViewManagerConfig().Commands.setScrollEnabled,\n [scrollEnabled]\n );\n };\n\n private _onMoveShouldSetResponderCapture = () => {\n return this.isScrolling;\n };\n\n private get deducedLayoutDirection() {\n const shouldUseDeviceRtlSetup =\n !this.props.layoutDirection || this.props.layoutDirection === 'locale';\n\n if (shouldUseDeviceRtlSetup) {\n return I18nManager.isRTL ? 'rtl' : 'ltr';\n } else {\n return this.props.layoutDirection;\n }\n }\n\n render() {\n return (\n <PagerViewViewManager\n {...this.props}\n ref={this.PagerView as any /** TODO: Fix ref type */}\n style={this.props.style}\n layoutDirection={this.deducedLayoutDirection}\n onPageScroll={this._onPageScroll}\n onPageScrollStateChanged={this._onPageScrollStateChanged}\n onPageSelected={this._onPageSelected}\n onMoveShouldSetResponderCapture={this._onMoveShouldSetResponderCapture}\n children={childrenWithOverriddenStyle(this.props.children)}\n />\n );\n }\n}\n"]} 39 + \ No newline at end of file 40 + +{"version":3,"sources":["PagerView.tsx"],"names":["PagerView","React","Component","createRef","current","getInnerViewNode","e","props","onPageScroll","Platform","OS","keyboardDismissMode","Keyboard","dismiss","onPageScrollStateChanged","isScrolling","nativeEvent","pageScrollState","onPageSelected","selectedPage","UIManager","dispatchViewManagerCommand","ReactNative","findNodeHandle","Commands","setPage","setPageWithoutAnimation","scrollEnabled","setScrollEnabled","deducedLayoutDirection","shouldUseDeviceRtlSetup","layoutDirection","I18nManager","isRTL","render","children","forwardedRef","rest","style","_onPageScroll","_onPageScrollStateChanged","_onPageSelected","_onMoveShouldSetResponderCapture"],"mappings":";;;;;;;AAAA;;AACA;;AASA;;AACA;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEO,MAAMA,SAAN,SAAwBC,eAAMC,SAA9B,CAAgF;AAAA;AAAA;;AAAA,yCAC/D,KAD+D;;AAAA,oDAEjED,eAAME,SAAN,EAFiE;;AAAA,8CAI3D,MAAoB;AAC5C,aAAO,KAAKH,SAAL,CAAeI,OAAf,CAAwBC,gBAAxB,EAAP;AACD,KANoF;;AAAA,2CAQ5DC,CAAD,IAAmC;AACzD,UAAI,KAAKC,KAAL,CAAWC,YAAf,EAA6B;AAC3B,aAAKD,KAAL,CAAWC,YAAX,CAAwBF,CAAxB;AACD,OAHwD,CAIzD;;;AACA,UAAIG,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7B,YAAI,KAAKH,KAAL,CAAWI,mBAAX,KAAmC,SAAvC,EAAkD;AAChDC,gCAASC,OAAT;AACD;AACF;AACF,KAlBoF;;AAAA,uDAqBnFP,CADkC,IAE/B;AACH,UAAI,KAAKC,KAAL,CAAWO,wBAAf,EAAyC;AACvC,aAAKP,KAAL,CAAWO,wBAAX,CAAoCR,CAApC;AACD;;AACD,WAAKS,WAAL,GAAmBT,CAAC,CAACU,WAAF,CAAcC,eAAd,KAAkC,UAArD;AACD,KA3BoF;;AAAA,6CA6B1DX,CAAD,IAAqC;AAC7D,UAAI,KAAKC,KAAL,CAAWW,cAAf,EAA+B;AAC7B,aAAKX,KAAL,CAAWW,cAAX,CAA0BZ,CAA1B;AACD;AACF,KAjCoF;;AAAA,qCAuCnEa,YAAD,IAA0B;AACzCC,6BAAUC,0BAAV,CACEC,qBAAYC,cAAZ,CAA2B,IAA3B,CADF,EAEE,6CAAuBC,QAAvB,CAAgCC,OAFlC,EAGE,CAACN,YAAD,CAHF;AAKD,KA7CoF;;AAAA,qDAmDnDA,YAAD,IAA0B;AACzDC,6BAAUC,0BAAV,CACEC,qBAAYC,cAAZ,CAA2B,IAA3B,CADF,EAEE,6CAAuBC,QAAvB,CAAgCE,uBAFlC,EAGE,CAACP,YAAD,CAHF;AAKD,KAzDoF;;AAAA,8CAgE1DQ,aAAD,IAA4B;AACpDP,6BAAUC,0BAAV,CACEC,qBAAYC,cAAZ,CAA2B,IAA3B,CADF,EAEE,6CAAuBC,QAAvB,CAAgCI,gBAFlC,EAGE,CAACD,aAAD,CAHF;AAKD,KAtEoF;;AAAA,8DAwE1C,MAAM;AAC/C,aAAO,KAAKZ,WAAZ;AACD,KA1EoF;AAAA;;AA4EnD,MAAtBc,sBAAsB,GAAG;AACnC,UAAMC,uBAAuB,GAC3B,CAAC,KAAKvB,KAAL,CAAWwB,eAAZ,IAA+B,KAAKxB,KAAL,CAAWwB,eAAX,KAA+B,QADhE;;AAGA,QAAID,uBAAJ,EAA6B;AAC3B,aAAOE,yBAAYC,KAAZ,GAAoB,KAApB,GAA4B,KAAnC;AACD,KAFD,MAEO;AACL,aAAO,KAAK1B,KAAL,CAAWwB,eAAlB;AACD;AACF;;AAEDG,EAAAA,MAAM,GAAG;AACP,UAAM;AAAEC,MAAAA,QAAF;AAAYC,MAAAA,YAAZ;AAA0B,SAAGC;AAA7B,QAAsC,KAAK9B,KAAjD;AAEA,wBACE,6BAAC,qCAAD,eACM8B,IADN;AAEE;AACA,MAAA,KAAK,EAAE,KAAK9B,KAAL,CAAW+B,KAHpB;AAIE,MAAA,eAAe,EAAE,KAAKT,sBAJxB;AAKE,MAAA,YAAY,EAAE,KAAKU,aALrB;AAME,MAAA,wBAAwB,EAAE,KAAKC,yBANjC;AAOE,MAAA,cAAc,EAAE,KAAKC,eAPvB;AAQE,MAAA,+BAA+B,EAAE,KAAKC,gCARxC;AASE,MAAA,QAAQ,EAAE,wCAA4BP,QAA5B;AATZ,OADF;AAaD;;AAvGoF","sourcesContent":["import React, { ReactElement } from 'react';\nimport { Platform, UIManager, Keyboard } from 'react-native';\nimport ReactNative, { I18nManager } from 'react-native';\nimport type {\n PagerViewOnPageScrollEvent,\n PagerViewOnPageSelectedEvent,\n PageScrollStateChangedNativeEvent,\n PagerViewProps,\n} from './types';\n\nimport { childrenWithOverriddenStyle } from './utils';\nimport { getViewManagerConfig, PagerViewViewManager } from './PagerViewNative';\n\n/**\n * Container that allows to flip left and right between child views. Each\n * child view of the `PagerView` will be treated as a separate page\n * and will be stretched to fill the `PagerView`.\n *\n * It is important all children are `<View>`s and not composite components.\n * You can set style properties like `padding` or `backgroundColor` for each\n * child. It is also important that each child have a `key` prop.\n *\n * Example:\n *\n * ```\n * render: function() {\n * return (\n * <PagerView\n * style={styles.PagerView}\n * initialPage={0}>\n * <View style={styles.pageStyle} key=\"1\">\n * <Text>First page</Text>\n * </View>\n * <View style={styles.pageStyle} key=\"2\">\n * <Text>Second page</Text>\n * </View>\n * </PagerView>\n * );\n * }\n *\n * ...\n *\n * var styles = {\n * ...\n * PagerView: {\n * flex: 1\n * },\n * pageStyle: {\n * alignItems: 'center',\n * padding: 20,\n * }\n * }\n * ```\n */\n\nexport class PagerView extends React.Component<PagerViewProps, { forwardedRef?: any }> {\n private isScrolling = false;\n private PagerView = React.createRef<typeof PagerViewViewManager>();\n\n public getInnerViewNode = (): ReactElement => {\n return this.PagerView.current!.getInnerViewNode();\n };\n\n private _onPageScroll = (e: PagerViewOnPageScrollEvent) => {\n if (this.props.onPageScroll) {\n this.props.onPageScroll(e);\n }\n // Not implemented on iOS yet\n if (Platform.OS === 'android') {\n if (this.props.keyboardDismissMode === 'on-drag') {\n Keyboard.dismiss();\n }\n }\n };\n\n private _onPageScrollStateChanged = (\n e: PageScrollStateChangedNativeEvent\n ) => {\n if (this.props.onPageScrollStateChanged) {\n this.props.onPageScrollStateChanged(e);\n }\n this.isScrolling = e.nativeEvent.pageScrollState === 'dragging';\n };\n\n private _onPageSelected = (e: PagerViewOnPageSelectedEvent) => {\n if (this.props.onPageSelected) {\n this.props.onPageSelected(e);\n }\n };\n\n /**\n * A helper function to scroll to a specific page in the PagerView.\n * The transition between pages will be animated.\n */\n public setPage = (selectedPage: number) => {\n UIManager.dispatchViewManagerCommand(\n ReactNative.findNodeHandle(this),\n getViewManagerConfig().Commands.setPage,\n [selectedPage]\n );\n };\n\n /**\n * A helper function to scroll to a specific page in the PagerView.\n * The transition between pages will *not* be animated.\n */\n public setPageWithoutAnimation = (selectedPage: number) => {\n UIManager.dispatchViewManagerCommand(\n ReactNative.findNodeHandle(this),\n getViewManagerConfig().Commands.setPageWithoutAnimation,\n [selectedPage]\n );\n };\n\n /**\n * A helper function to enable/disable scroll imperatively\n * The recommended way is using the scrollEnabled prop, however, there might be a case where a\n * imperative solution is more useful (e.g. for not blocking an animation)\n */\n public setScrollEnabled = (scrollEnabled: boolean) => {\n UIManager.dispatchViewManagerCommand(\n ReactNative.findNodeHandle(this),\n getViewManagerConfig().Commands.setScrollEnabled,\n [scrollEnabled]\n );\n };\n\n private _onMoveShouldSetResponderCapture = () => {\n return this.isScrolling;\n };\n\n private get deducedLayoutDirection() {\n const shouldUseDeviceRtlSetup =\n !this.props.layoutDirection || this.props.layoutDirection === 'locale';\n\n if (shouldUseDeviceRtlSetup) {\n return I18nManager.isRTL ? 'rtl' : 'ltr';\n } else {\n return this.props.layoutDirection;\n }\n }\n\n render() {\n const { children, forwardedRef, ...rest } = this.props;\n\n return (\n <PagerViewViewManager\n {...rest}\n // ref={this.PagerView as any /** TODO: Fix ref type */}\n style={this.props.style}\n layoutDirection={this.deducedLayoutDirection}\n onPageScroll={this._onPageScroll}\n onPageScrollStateChanged={this._onPageScrollStateChanged}\n onPageSelected={this._onPageSelected}\n onMoveShouldSetResponderCapture={this._onMoveShouldSetResponderCapture}\n children={childrenWithOverriddenStyle(children)}\n />\n );\n }\n}\n"]} 41 + \ No newline at end of file 42 + diff --git a/node_modules/react-native-pager-view/lib/module/PagerView.js b/node_modules/react-native-pager-view/lib/module/PagerView.js 43 + index dc1ddc5..f95b242 100644 44 + --- a/node_modules/react-native-pager-view/lib/module/PagerView.js 45 + +++ b/node_modules/react-native-pager-view/lib/module/PagerView.js 46 + @@ -116,17 +116,20 @@ export class PagerView extends React.Component { 47 + } 48 + 49 + render() { 50 + - return /*#__PURE__*/React.createElement(PagerViewViewManager, _extends({}, this.props, { 51 + - ref: this.PagerView 52 + - /** TODO: Fix ref type */ 53 + - , 54 + + const { 55 + + children, 56 + + forwardedRef, 57 + + ...rest 58 + + } = this.props; 59 + + return /*#__PURE__*/React.createElement(PagerViewViewManager, _extends({}, rest, { 60 + + // ref={this.PagerView as any /** TODO: Fix ref type */} 61 + style: this.props.style, 62 + layoutDirection: this.deducedLayoutDirection, 63 + onPageScroll: this._onPageScroll, 64 + onPageScrollStateChanged: this._onPageScrollStateChanged, 65 + onPageSelected: this._onPageSelected, 66 + onMoveShouldSetResponderCapture: this._onMoveShouldSetResponderCapture, 67 + - children: childrenWithOverriddenStyle(this.props.children) 68 + + children: childrenWithOverriddenStyle(children) 69 + })); 70 + } 71 + 72 + diff --git a/node_modules/react-native-pager-view/lib/module/PagerView.js.map b/node_modules/react-native-pager-view/lib/module/PagerView.js.map 73 + index 6c26c01..ea08ccc 100644 74 + --- a/node_modules/react-native-pager-view/lib/module/PagerView.js.map 75 + +++ b/node_modules/react-native-pager-view/lib/module/PagerView.js.map 76 + @@ -1 +1 @@ 77 + -{"version":3,"sources":["PagerView.tsx"],"names":["React","Platform","UIManager","Keyboard","ReactNative","I18nManager","childrenWithOverriddenStyle","getViewManagerConfig","PagerViewViewManager","PagerView","Component","createRef","current","getInnerViewNode","e","props","onPageScroll","OS","keyboardDismissMode","dismiss","onPageScrollStateChanged","isScrolling","nativeEvent","pageScrollState","onPageSelected","selectedPage","dispatchViewManagerCommand","findNodeHandle","Commands","setPage","setPageWithoutAnimation","scrollEnabled","setScrollEnabled","deducedLayoutDirection","shouldUseDeviceRtlSetup","layoutDirection","isRTL","render","style","_onPageScroll","_onPageScrollStateChanged","_onPageSelected","_onMoveShouldSetResponderCapture","children"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAoC,OAApC;AACA,SAASC,QAAT,EAAmBC,SAAnB,EAA8BC,QAA9B,QAA8C,cAA9C;AACA,OAAOC,WAAP,IAAsBC,WAAtB,QAAyC,cAAzC;AAQA,SAASC,2BAAT,QAA4C,SAA5C;AACA,SAASC,oBAAT,EAA+BC,oBAA/B,QAA2D,mBAA3D;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMC,SAAN,SAAwBT,KAAK,CAACU,SAA9B,CAAwD;AAAA;AAAA;;AAAA,yCACvC,KADuC;;AAAA,oDAEzCV,KAAK,CAACW,SAAN,EAFyC;;AAAA,8CAInC,MAAoB;AAC5C,aAAO,KAAKF,SAAL,CAAeG,OAAf,CAAwBC,gBAAxB,EAAP;AACD,KAN4D;;AAAA,2CAQpCC,CAAD,IAAmC;AACzD,UAAI,KAAKC,KAAL,CAAWC,YAAf,EAA6B;AAC3B,aAAKD,KAAL,CAAWC,YAAX,CAAwBF,CAAxB;AACD,OAHwD,CAIzD;;;AACA,UAAIb,QAAQ,CAACgB,EAAT,KAAgB,SAApB,EAA+B;AAC7B,YAAI,KAAKF,KAAL,CAAWG,mBAAX,KAAmC,SAAvC,EAAkD;AAChDf,UAAAA,QAAQ,CAACgB,OAAT;AACD;AACF;AACF,KAlB4D;;AAAA,uDAqB3DL,CADkC,IAE/B;AACH,UAAI,KAAKC,KAAL,CAAWK,wBAAf,EAAyC;AACvC,aAAKL,KAAL,CAAWK,wBAAX,CAAoCN,CAApC;AACD;;AACD,WAAKO,WAAL,GAAmBP,CAAC,CAACQ,WAAF,CAAcC,eAAd,KAAkC,UAArD;AACD,KA3B4D;;AAAA,6CA6BlCT,CAAD,IAAqC;AAC7D,UAAI,KAAKC,KAAL,CAAWS,cAAf,EAA+B;AAC7B,aAAKT,KAAL,CAAWS,cAAX,CAA0BV,CAA1B;AACD;AACF,KAjC4D;;AAAA,qCAuC3CW,YAAD,IAA0B;AACzCvB,MAAAA,SAAS,CAACwB,0BAAV,CACEtB,WAAW,CAACuB,cAAZ,CAA2B,IAA3B,CADF,EAEEpB,oBAAoB,GAAGqB,QAAvB,CAAgCC,OAFlC,EAGE,CAACJ,YAAD,CAHF;AAKD,KA7C4D;;AAAA,qDAmD3BA,YAAD,IAA0B;AACzDvB,MAAAA,SAAS,CAACwB,0BAAV,CACEtB,WAAW,CAACuB,cAAZ,CAA2B,IAA3B,CADF,EAEEpB,oBAAoB,GAAGqB,QAAvB,CAAgCE,uBAFlC,EAGE,CAACL,YAAD,CAHF;AAKD,KAzD4D;;AAAA,8CAgElCM,aAAD,IAA4B;AACpD7B,MAAAA,SAAS,CAACwB,0BAAV,CACEtB,WAAW,CAACuB,cAAZ,CAA2B,IAA3B,CADF,EAEEpB,oBAAoB,GAAGqB,QAAvB,CAAgCI,gBAFlC,EAGE,CAACD,aAAD,CAHF;AAKD,KAtE4D;;AAAA,8DAwElB,MAAM;AAC/C,aAAO,KAAKV,WAAZ;AACD,KA1E4D;AAAA;;AA4E3B,MAAtBY,sBAAsB,GAAG;AACnC,UAAMC,uBAAuB,GAC3B,CAAC,KAAKnB,KAAL,CAAWoB,eAAZ,IAA+B,KAAKpB,KAAL,CAAWoB,eAAX,KAA+B,QADhE;;AAGA,QAAID,uBAAJ,EAA6B;AAC3B,aAAO7B,WAAW,CAAC+B,KAAZ,GAAoB,KAApB,GAA4B,KAAnC;AACD,KAFD,MAEO;AACL,aAAO,KAAKrB,KAAL,CAAWoB,eAAlB;AACD;AACF;;AAEDE,EAAAA,MAAM,GAAG;AACP,wBACE,oBAAC,oBAAD,eACM,KAAKtB,KADX;AAEE,MAAA,GAAG,EAAE,KAAKN;AAAiB;AAF7B;AAGE,MAAA,KAAK,EAAE,KAAKM,KAAL,CAAWuB,KAHpB;AAIE,MAAA,eAAe,EAAE,KAAKL,sBAJxB;AAKE,MAAA,YAAY,EAAE,KAAKM,aALrB;AAME,MAAA,wBAAwB,EAAE,KAAKC,yBANjC;AAOE,MAAA,cAAc,EAAE,KAAKC,eAPvB;AAQE,MAAA,+BAA+B,EAAE,KAAKC,gCARxC;AASE,MAAA,QAAQ,EAAEpC,2BAA2B,CAAC,KAAKS,KAAL,CAAW4B,QAAZ;AATvC,OADF;AAaD;;AArG4D","sourcesContent":["import React, { ReactElement } from 'react';\nimport { Platform, UIManager, Keyboard } from 'react-native';\nimport ReactNative, { I18nManager } from 'react-native';\nimport type {\n PagerViewOnPageScrollEvent,\n PagerViewOnPageSelectedEvent,\n PageScrollStateChangedNativeEvent,\n PagerViewProps,\n} from './types';\n\nimport { childrenWithOverriddenStyle } from './utils';\nimport { getViewManagerConfig, PagerViewViewManager } from './PagerViewNative';\n\n/**\n * Container that allows to flip left and right between child views. Each\n * child view of the `PagerView` will be treated as a separate page\n * and will be stretched to fill the `PagerView`.\n *\n * It is important all children are `<View>`s and not composite components.\n * You can set style properties like `padding` or `backgroundColor` for each\n * child. It is also important that each child have a `key` prop.\n *\n * Example:\n *\n * ```\n * render: function() {\n * return (\n * <PagerView\n * style={styles.PagerView}\n * initialPage={0}>\n * <View style={styles.pageStyle} key=\"1\">\n * <Text>First page</Text>\n * </View>\n * <View style={styles.pageStyle} key=\"2\">\n * <Text>Second page</Text>\n * </View>\n * </PagerView>\n * );\n * }\n *\n * ...\n *\n * var styles = {\n * ...\n * PagerView: {\n * flex: 1\n * },\n * pageStyle: {\n * alignItems: 'center',\n * padding: 20,\n * }\n * }\n * ```\n */\n\nexport class PagerView extends React.Component<PagerViewProps> {\n private isScrolling = false;\n private PagerView = React.createRef<typeof PagerViewViewManager>();\n\n public getInnerViewNode = (): ReactElement => {\n return this.PagerView.current!.getInnerViewNode();\n };\n\n private _onPageScroll = (e: PagerViewOnPageScrollEvent) => {\n if (this.props.onPageScroll) {\n this.props.onPageScroll(e);\n }\n // Not implemented on iOS yet\n if (Platform.OS === 'android') {\n if (this.props.keyboardDismissMode === 'on-drag') {\n Keyboard.dismiss();\n }\n }\n };\n\n private _onPageScrollStateChanged = (\n e: PageScrollStateChangedNativeEvent\n ) => {\n if (this.props.onPageScrollStateChanged) {\n this.props.onPageScrollStateChanged(e);\n }\n this.isScrolling = e.nativeEvent.pageScrollState === 'dragging';\n };\n\n private _onPageSelected = (e: PagerViewOnPageSelectedEvent) => {\n if (this.props.onPageSelected) {\n this.props.onPageSelected(e);\n }\n };\n\n /**\n * A helper function to scroll to a specific page in the PagerView.\n * The transition between pages will be animated.\n */\n public setPage = (selectedPage: number) => {\n UIManager.dispatchViewManagerCommand(\n ReactNative.findNodeHandle(this),\n getViewManagerConfig().Commands.setPage,\n [selectedPage]\n );\n };\n\n /**\n * A helper function to scroll to a specific page in the PagerView.\n * The transition between pages will *not* be animated.\n */\n public setPageWithoutAnimation = (selectedPage: number) => {\n UIManager.dispatchViewManagerCommand(\n ReactNative.findNodeHandle(this),\n getViewManagerConfig().Commands.setPageWithoutAnimation,\n [selectedPage]\n );\n };\n\n /**\n * A helper function to enable/disable scroll imperatively\n * The recommended way is using the scrollEnabled prop, however, there might be a case where a\n * imperative solution is more useful (e.g. for not blocking an animation)\n */\n public setScrollEnabled = (scrollEnabled: boolean) => {\n UIManager.dispatchViewManagerCommand(\n ReactNative.findNodeHandle(this),\n getViewManagerConfig().Commands.setScrollEnabled,\n [scrollEnabled]\n );\n };\n\n private _onMoveShouldSetResponderCapture = () => {\n return this.isScrolling;\n };\n\n private get deducedLayoutDirection() {\n const shouldUseDeviceRtlSetup =\n !this.props.layoutDirection || this.props.layoutDirection === 'locale';\n\n if (shouldUseDeviceRtlSetup) {\n return I18nManager.isRTL ? 'rtl' : 'ltr';\n } else {\n return this.props.layoutDirection;\n }\n }\n\n render() {\n return (\n <PagerViewViewManager\n {...this.props}\n ref={this.PagerView as any /** TODO: Fix ref type */}\n style={this.props.style}\n layoutDirection={this.deducedLayoutDirection}\n onPageScroll={this._onPageScroll}\n onPageScrollStateChanged={this._onPageScrollStateChanged}\n onPageSelected={this._onPageSelected}\n onMoveShouldSetResponderCapture={this._onMoveShouldSetResponderCapture}\n children={childrenWithOverriddenStyle(this.props.children)}\n />\n );\n }\n}\n"]} 78 + \ No newline at end of file 79 + +{"version":3,"sources":["PagerView.tsx"],"names":["React","Platform","UIManager","Keyboard","ReactNative","I18nManager","childrenWithOverriddenStyle","getViewManagerConfig","PagerViewViewManager","PagerView","Component","createRef","current","getInnerViewNode","e","props","onPageScroll","OS","keyboardDismissMode","dismiss","onPageScrollStateChanged","isScrolling","nativeEvent","pageScrollState","onPageSelected","selectedPage","dispatchViewManagerCommand","findNodeHandle","Commands","setPage","setPageWithoutAnimation","scrollEnabled","setScrollEnabled","deducedLayoutDirection","shouldUseDeviceRtlSetup","layoutDirection","isRTL","render","children","forwardedRef","rest","style","_onPageScroll","_onPageScrollStateChanged","_onPageSelected","_onMoveShouldSetResponderCapture"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAoC,OAApC;AACA,SAASC,QAAT,EAAmBC,SAAnB,EAA8BC,QAA9B,QAA8C,cAA9C;AACA,OAAOC,WAAP,IAAsBC,WAAtB,QAAyC,cAAzC;AAQA,SAASC,2BAAT,QAA4C,SAA5C;AACA,SAASC,oBAAT,EAA+BC,oBAA/B,QAA2D,mBAA3D;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,MAAMC,SAAN,SAAwBT,KAAK,CAACU,SAA9B,CAAgF;AAAA;AAAA;;AAAA,yCAC/D,KAD+D;;AAAA,oDAEjEV,KAAK,CAACW,SAAN,EAFiE;;AAAA,8CAI3D,MAAoB;AAC5C,aAAO,KAAKF,SAAL,CAAeG,OAAf,CAAwBC,gBAAxB,EAAP;AACD,KANoF;;AAAA,2CAQ5DC,CAAD,IAAmC;AACzD,UAAI,KAAKC,KAAL,CAAWC,YAAf,EAA6B;AAC3B,aAAKD,KAAL,CAAWC,YAAX,CAAwBF,CAAxB;AACD,OAHwD,CAIzD;;;AACA,UAAIb,QAAQ,CAACgB,EAAT,KAAgB,SAApB,EAA+B;AAC7B,YAAI,KAAKF,KAAL,CAAWG,mBAAX,KAAmC,SAAvC,EAAkD;AAChDf,UAAAA,QAAQ,CAACgB,OAAT;AACD;AACF;AACF,KAlBoF;;AAAA,uDAqBnFL,CADkC,IAE/B;AACH,UAAI,KAAKC,KAAL,CAAWK,wBAAf,EAAyC;AACvC,aAAKL,KAAL,CAAWK,wBAAX,CAAoCN,CAApC;AACD;;AACD,WAAKO,WAAL,GAAmBP,CAAC,CAACQ,WAAF,CAAcC,eAAd,KAAkC,UAArD;AACD,KA3BoF;;AAAA,6CA6B1DT,CAAD,IAAqC;AAC7D,UAAI,KAAKC,KAAL,CAAWS,cAAf,EAA+B;AAC7B,aAAKT,KAAL,CAAWS,cAAX,CAA0BV,CAA1B;AACD;AACF,KAjCoF;;AAAA,qCAuCnEW,YAAD,IAA0B;AACzCvB,MAAAA,SAAS,CAACwB,0BAAV,CACEtB,WAAW,CAACuB,cAAZ,CAA2B,IAA3B,CADF,EAEEpB,oBAAoB,GAAGqB,QAAvB,CAAgCC,OAFlC,EAGE,CAACJ,YAAD,CAHF;AAKD,KA7CoF;;AAAA,qDAmDnDA,YAAD,IAA0B;AACzDvB,MAAAA,SAAS,CAACwB,0BAAV,CACEtB,WAAW,CAACuB,cAAZ,CAA2B,IAA3B,CADF,EAEEpB,oBAAoB,GAAGqB,QAAvB,CAAgCE,uBAFlC,EAGE,CAACL,YAAD,CAHF;AAKD,KAzDoF;;AAAA,8CAgE1DM,aAAD,IAA4B;AACpD7B,MAAAA,SAAS,CAACwB,0BAAV,CACEtB,WAAW,CAACuB,cAAZ,CAA2B,IAA3B,CADF,EAEEpB,oBAAoB,GAAGqB,QAAvB,CAAgCI,gBAFlC,EAGE,CAACD,aAAD,CAHF;AAKD,KAtEoF;;AAAA,8DAwE1C,MAAM;AAC/C,aAAO,KAAKV,WAAZ;AACD,KA1EoF;AAAA;;AA4EnD,MAAtBY,sBAAsB,GAAG;AACnC,UAAMC,uBAAuB,GAC3B,CAAC,KAAKnB,KAAL,CAAWoB,eAAZ,IAA+B,KAAKpB,KAAL,CAAWoB,eAAX,KAA+B,QADhE;;AAGA,QAAID,uBAAJ,EAA6B;AAC3B,aAAO7B,WAAW,CAAC+B,KAAZ,GAAoB,KAApB,GAA4B,KAAnC;AACD,KAFD,MAEO;AACL,aAAO,KAAKrB,KAAL,CAAWoB,eAAlB;AACD;AACF;;AAEDE,EAAAA,MAAM,GAAG;AACP,UAAM;AAAEC,MAAAA,QAAF;AAAYC,MAAAA,YAAZ;AAA0B,SAAGC;AAA7B,QAAsC,KAAKzB,KAAjD;AAEA,wBACE,oBAAC,oBAAD,eACMyB,IADN;AAEE;AACA,MAAA,KAAK,EAAE,KAAKzB,KAAL,CAAW0B,KAHpB;AAIE,MAAA,eAAe,EAAE,KAAKR,sBAJxB;AAKE,MAAA,YAAY,EAAE,KAAKS,aALrB;AAME,MAAA,wBAAwB,EAAE,KAAKC,yBANjC;AAOE,MAAA,cAAc,EAAE,KAAKC,eAPvB;AAQE,MAAA,+BAA+B,EAAE,KAAKC,gCARxC;AASE,MAAA,QAAQ,EAAEvC,2BAA2B,CAACgC,QAAD;AATvC,OADF;AAaD;;AAvGoF","sourcesContent":["import React, { ReactElement } from 'react';\nimport { Platform, UIManager, Keyboard } from 'react-native';\nimport ReactNative, { I18nManager } from 'react-native';\nimport type {\n PagerViewOnPageScrollEvent,\n PagerViewOnPageSelectedEvent,\n PageScrollStateChangedNativeEvent,\n PagerViewProps,\n} from './types';\n\nimport { childrenWithOverriddenStyle } from './utils';\nimport { getViewManagerConfig, PagerViewViewManager } from './PagerViewNative';\n\n/**\n * Container that allows to flip left and right between child views. Each\n * child view of the `PagerView` will be treated as a separate page\n * and will be stretched to fill the `PagerView`.\n *\n * It is important all children are `<View>`s and not composite components.\n * You can set style properties like `padding` or `backgroundColor` for each\n * child. It is also important that each child have a `key` prop.\n *\n * Example:\n *\n * ```\n * render: function() {\n * return (\n * <PagerView\n * style={styles.PagerView}\n * initialPage={0}>\n * <View style={styles.pageStyle} key=\"1\">\n * <Text>First page</Text>\n * </View>\n * <View style={styles.pageStyle} key=\"2\">\n * <Text>Second page</Text>\n * </View>\n * </PagerView>\n * );\n * }\n *\n * ...\n *\n * var styles = {\n * ...\n * PagerView: {\n * flex: 1\n * },\n * pageStyle: {\n * alignItems: 'center',\n * padding: 20,\n * }\n * }\n * ```\n */\n\nexport class PagerView extends React.Component<PagerViewProps, { forwardedRef?: any }> {\n private isScrolling = false;\n private PagerView = React.createRef<typeof PagerViewViewManager>();\n\n public getInnerViewNode = (): ReactElement => {\n return this.PagerView.current!.getInnerViewNode();\n };\n\n private _onPageScroll = (e: PagerViewOnPageScrollEvent) => {\n if (this.props.onPageScroll) {\n this.props.onPageScroll(e);\n }\n // Not implemented on iOS yet\n if (Platform.OS === 'android') {\n if (this.props.keyboardDismissMode === 'on-drag') {\n Keyboard.dismiss();\n }\n }\n };\n\n private _onPageScrollStateChanged = (\n e: PageScrollStateChangedNativeEvent\n ) => {\n if (this.props.onPageScrollStateChanged) {\n this.props.onPageScrollStateChanged(e);\n }\n this.isScrolling = e.nativeEvent.pageScrollState === 'dragging';\n };\n\n private _onPageSelected = (e: PagerViewOnPageSelectedEvent) => {\n if (this.props.onPageSelected) {\n this.props.onPageSelected(e);\n }\n };\n\n /**\n * A helper function to scroll to a specific page in the PagerView.\n * The transition between pages will be animated.\n */\n public setPage = (selectedPage: number) => {\n UIManager.dispatchViewManagerCommand(\n ReactNative.findNodeHandle(this),\n getViewManagerConfig().Commands.setPage,\n [selectedPage]\n );\n };\n\n /**\n * A helper function to scroll to a specific page in the PagerView.\n * The transition between pages will *not* be animated.\n */\n public setPageWithoutAnimation = (selectedPage: number) => {\n UIManager.dispatchViewManagerCommand(\n ReactNative.findNodeHandle(this),\n getViewManagerConfig().Commands.setPageWithoutAnimation,\n [selectedPage]\n );\n };\n\n /**\n * A helper function to enable/disable scroll imperatively\n * The recommended way is using the scrollEnabled prop, however, there might be a case where a\n * imperative solution is more useful (e.g. for not blocking an animation)\n */\n public setScrollEnabled = (scrollEnabled: boolean) => {\n UIManager.dispatchViewManagerCommand(\n ReactNative.findNodeHandle(this),\n getViewManagerConfig().Commands.setScrollEnabled,\n [scrollEnabled]\n );\n };\n\n private _onMoveShouldSetResponderCapture = () => {\n return this.isScrolling;\n };\n\n private get deducedLayoutDirection() {\n const shouldUseDeviceRtlSetup =\n !this.props.layoutDirection || this.props.layoutDirection === 'locale';\n\n if (shouldUseDeviceRtlSetup) {\n return I18nManager.isRTL ? 'rtl' : 'ltr';\n } else {\n return this.props.layoutDirection;\n }\n }\n\n render() {\n const { children, forwardedRef, ...rest } = this.props;\n\n return (\n <PagerViewViewManager\n {...rest}\n // ref={this.PagerView as any /** TODO: Fix ref type */}\n style={this.props.style}\n layoutDirection={this.deducedLayoutDirection}\n onPageScroll={this._onPageScroll}\n onPageScrollStateChanged={this._onPageScrollStateChanged}\n onPageSelected={this._onPageSelected}\n onMoveShouldSetResponderCapture={this._onMoveShouldSetResponderCapture}\n children={childrenWithOverriddenStyle(children)}\n />\n );\n }\n}\n"]} 80 + \ No newline at end of file 81 + diff --git a/node_modules/react-native-pager-view/lib/typescript/PagerView.d.ts b/node_modules/react-native-pager-view/lib/typescript/PagerView.d.ts 82 + index f70d3bc..5610963 100644 83 + --- a/node_modules/react-native-pager-view/lib/typescript/PagerView.d.ts 84 + +++ b/node_modules/react-native-pager-view/lib/typescript/PagerView.d.ts 85 + @@ -41,7 +41,9 @@ import type { PagerViewProps } from './types'; 86 + * } 87 + * ``` 88 + */ 89 + -export declare class PagerView extends React.Component<PagerViewProps> { 90 + +export declare class PagerView extends React.Component<PagerViewProps, { 91 + + forwardedRef?: any; 92 + +}> { 93 + private isScrolling; 94 + private PagerView; 95 + getInnerViewNode: () => ReactElement; 96 + diff --git a/node_modules/react-native-pager-view/lib/typescript/__tests__/index.test.d.ts b/node_modules/react-native-pager-view/lib/typescript/__tests__/index.test.d.ts 97 + new file mode 100644 98 + index 0000000..e69de29 99 + diff --git a/node_modules/react-native-pager-view/src/PagerView.tsx b/node_modules/react-native-pager-view/src/PagerView.tsx 100 + index f7585d5..ee9843b 100644 101 + --- a/node_modules/react-native-pager-view/src/PagerView.tsx 102 + +++ b/node_modules/react-native-pager-view/src/PagerView.tsx 103 + @@ -141,17 +141,19 @@ export class PagerView extends React.Component<PagerViewProps> { 104 + } 105 + 106 + render() { 107 + + const {children, forwardedRef, ...rest} = this.props; 108 + + 109 + return ( 110 + <PagerViewViewManager 111 + - {...this.props} 112 + - ref={this.PagerView as any /** TODO: Fix ref type */} 113 + + {...rest} 114 + + // ref={this.PagerView as any /** TODO: Fix ref type */} 115 + style={this.props.style} 116 + layoutDirection={this.deducedLayoutDirection} 117 + onPageScroll={this._onPageScroll} 118 + onPageScrollStateChanged={this._onPageScrollStateChanged} 119 + onPageSelected={this._onPageSelected} 120 + onMoveShouldSetResponderCapture={this._onMoveShouldSetResponderCapture} 121 + - children={childrenWithOverriddenStyle(this.props.children)} 122 + + children={childrenWithOverriddenStyle(children)} 123 + /> 124 + ); 125 + }
+1 -1
src/lib/download.ts
··· 1 import RNFetchBlob from 'rn-fetch-blob' 2 import ImageResizer from '@bam.tech/react-native-image-resizer' 3 4 - interface DownloadAndResizeOpts { 5 uri: string 6 width: number 7 height: number
··· 1 import RNFetchBlob from 'rn-fetch-blob' 2 import ImageResizer from '@bam.tech/react-native-image-resizer' 3 4 + export interface DownloadAndResizeOpts { 5 uri: string 6 width: number 7 height: number
+4 -2
src/lib/strings.ts
··· 23 collection: string, 24 rkey: string, 25 ) { 26 - const urip = new AtUri(`at://host/`) 27 urip.host = didOrName 28 urip.collection = collection 29 urip.rkey = rkey ··· 63 export function isValidDomain(str: string): boolean { 64 return !!TLDs.find(tld => { 65 let i = str.lastIndexOf(tld) 66 - if (i === -1) return false 67 return str.charAt(i - 1) === '.' && i === str.length - tld.length 68 }) 69 }
··· 23 collection: string, 24 rkey: string, 25 ) { 26 + const urip = new AtUri('at://host/') 27 urip.host = didOrName 28 urip.collection = collection 29 urip.rkey = rkey ··· 63 export function isValidDomain(str: string): boolean { 64 return !!TLDs.find(tld => { 65 let i = str.lastIndexOf(tld) 66 + if (i === -1) { 67 + return false 68 + } 69 return str.charAt(i - 1) === '.' && i === str.length - tld.length 70 }) 71 }
+4 -1
src/view/shell/mobile/TabsSelector.tsx
··· 175 isClosing ? closingTabAnimStyle : undefined, 176 ]}> 177 <Animated.View 178 - ref={tabRefs[tabIndex]} 179 style={[ 180 styles.tab, 181 styles.existing,
··· 175 isClosing ? closingTabAnimStyle : undefined, 176 ]}> 177 <Animated.View 178 + // HOTFIX 179 + // TabsSelector.test.tsx snapshot fails if the 180 + // ref was set like this: ref={tabRefs[tabIndex]} 181 + ref={(ref: any) => (tabRefs[tabIndex] = ref)} 182 style={[ 183 styles.tab, 184 styles.existing,
+161 -4
yarn.lock
··· 1683 dependencies: 1684 "@sinclair/typebox" "^0.24.1" 1685 1686 "@jest/source-map@^26.6.2": 1687 version "26.6.2" 1688 resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" ··· 2347 "@svgr/plugin-svgo" "^5.5.0" 2348 loader-utils "^2.0.0" 2349 2350 "@tootallnate/once@1": 2351 version "1.1.2" 2352 resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" ··· 2992 version "4.2.2" 2993 resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" 2994 integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== 2995 2996 "@zxing/text-encoding@^0.9.0": 2997 version "0.9.0" ··· 4348 dependencies: 4349 node-fetch "2.6.7" 4350 4351 - cross-spawn@^6.0.0: 4352 version "6.0.5" 4353 resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 4354 integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== ··· 4787 resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" 4788 integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== 4789 4790 dir-glob@^3.0.1: 4791 version "3.0.1" 4792 resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" ··· 5873 locate-path "^6.0.0" 5874 path-exists "^4.0.0" 5875 5876 flat-cache@^3.0.4: 5877 version "3.0.4" 5878 resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" ··· 5973 graceful-fs "^4.2.0" 5974 jsonfile "^6.0.1" 5975 universalify "^2.0.0" 5976 5977 fs-extra@^8.1.0: 5978 version "8.1.0" ··· 6566 resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 6567 integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 6568 6569 inflight@^1.0.4: 6570 version "1.0.6" 6571 resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" ··· 6917 resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" 6918 integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== 6919 6920 - is-wsl@^2.2.0: 6921 version "2.2.0" 6922 resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" 6923 integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== ··· 7162 jest-get-type "^27.5.1" 7163 pretty-format "^27.5.1" 7164 7165 jest-docblock@^26.0.0: 7166 version "26.0.0" 7167 resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" ··· 7257 version "27.5.1" 7258 resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" 7259 integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== 7260 7261 jest-haste-map@^26.6.2: 7262 version "26.6.2" ··· 7382 jest-get-type "^27.5.1" 7383 pretty-format "^27.5.1" 7384 7385 jest-message-util@^26.6.2: 7386 version "26.6.2" 7387 resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" ··· 8065 resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" 8066 integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== 8067 8068 klaw@^1.0.0: 8069 version "1.3.1" 8070 resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" ··· 8671 resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 8672 integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 8673 8674 mini-css-extract-plugin@^2.4.5: 8675 version "2.6.1" 8676 resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz#9a1251d15f2035c342d99a468ab9da7a0451b71e" ··· 9088 dependencies: 9089 is-wsl "^1.1.0" 9090 9091 open@^8.0.9, open@^8.4.0: 9092 version "8.4.0" 9093 resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" ··· 9153 strip-ansi "^6.0.0" 9154 wcwidth "^1.0.1" 9155 9156 - os-tmpdir@^1.0.0: 9157 version "1.0.2" 9158 resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 9159 integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== ··· 9272 resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" 9273 integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== 9274 9275 path-exists@^3.0.0: 9276 version "3.0.0" 9277 resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" ··· 9997 ansi-styles "^5.0.0" 9998 react-is "^18.0.0" 9999 10000 process-nextick-args@~2.0.0: 10001 version "2.0.1" 10002 resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" ··· 10581 dependencies: 10582 minimatch "3.0.4" 10583 10584 regenerate-unicode-properties@^10.1.0: 10585 version "10.1.0" 10586 resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" ··· 10799 resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 10800 integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 10801 10802 - rimraf@^2.5.4: 10803 version "2.7.1" 10804 resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" 10805 integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== ··· 11173 version "1.0.5" 11174 resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" 11175 integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== 11176 11177 slash@^3.0.0: 11178 version "3.0.0" ··· 11555 resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 11556 integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 11557 11558 strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 11559 version "3.1.1" 11560 resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" ··· 11803 version "1.234.0" 11804 resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.234.0.tgz#f61fe73f6e85c51f8503181f47dcfbd18c6910db" 11805 integrity sha512-TNDfeyDIC+oroH44bMbWC+Jn/2qNrfRvDK2EXt1icOXYG5NMqoRyUosADrukfb4D8lJ3S1waaBWSvQro0erdng== 11806 11807 tmpl@1.0.5: 11808 version "1.0.5"
··· 1683 dependencies: 1684 "@sinclair/typebox" "^0.24.1" 1685 1686 + "@jest/schemas@^29.0.0": 1687 + version "29.0.0" 1688 + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" 1689 + integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== 1690 + dependencies: 1691 + "@sinclair/typebox" "^0.24.1" 1692 + 1693 "@jest/source-map@^26.6.2": 1694 version "26.6.2" 1695 resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" ··· 2354 "@svgr/plugin-svgo" "^5.5.0" 2355 loader-utils "^2.0.0" 2356 2357 + "@testing-library/jest-native@^5.3.3": 2358 + version "5.3.3" 2359 + resolved "https://registry.yarnpkg.com/@testing-library/jest-native/-/jest-native-5.3.3.tgz#8f7c97504d1373d20ded0704586e110a26f9ba1a" 2360 + integrity sha512-oakP6c4xHR5PyLbw6H6NiUxvTZmsIHNjQRMsI6P3aSLhDSBvzRQ3+KdEwhlhiU2oNMWW45XQakKZN3cf2BG5Dw== 2361 + dependencies: 2362 + chalk "^4.1.2" 2363 + jest-diff "^29.0.1" 2364 + jest-matcher-utils "^29.0.1" 2365 + pretty-format "^29.0.3" 2366 + redent "^3.0.0" 2367 + 2368 + "@testing-library/react-native@^11.5.0": 2369 + version "11.5.0" 2370 + resolved "https://registry.yarnpkg.com/@testing-library/react-native/-/react-native-11.5.0.tgz#b043c5db7b15eca42a65e95d3f3ae196fab9493b" 2371 + integrity sha512-seV+qebsbX4E5CWk/wizU1+2wVLsPyqEzG7sTgrhJ81cgAawg7ay06fIZR9IS75pDeWn2KZVd4mGk1pjJ3i3Zw== 2372 + dependencies: 2373 + pretty-format "^29.0.0" 2374 + 2375 "@tootallnate/once@1": 2376 version "1.1.2" 2377 resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" ··· 3017 version "4.2.2" 3018 resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" 3019 integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== 3020 + 3021 + "@yarnpkg/lockfile@^1.1.0": 3022 + version "1.1.0" 3023 + resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" 3024 + integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== 3025 3026 "@zxing/text-encoding@^0.9.0": 3027 version "0.9.0" ··· 4378 dependencies: 4379 node-fetch "2.6.7" 4380 4381 + cross-spawn@^6.0.0, cross-spawn@^6.0.5: 4382 version "6.0.5" 4383 resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 4384 integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== ··· 4817 resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" 4818 integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== 4819 4820 + diff-sequences@^29.3.1: 4821 + version "29.3.1" 4822 + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.3.1.tgz#104b5b95fe725932421a9c6e5b4bef84c3f2249e" 4823 + integrity sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ== 4824 + 4825 dir-glob@^3.0.1: 4826 version "3.0.1" 4827 resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" ··· 5908 locate-path "^6.0.0" 5909 path-exists "^4.0.0" 5910 5911 + find-yarn-workspace-root@^2.0.0: 5912 + version "2.0.0" 5913 + resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" 5914 + integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== 5915 + dependencies: 5916 + micromatch "^4.0.2" 5917 + 5918 flat-cache@^3.0.4: 5919 version "3.0.4" 5920 resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" ··· 6015 graceful-fs "^4.2.0" 6016 jsonfile "^6.0.1" 6017 universalify "^2.0.0" 6018 + 6019 + fs-extra@^7.0.1: 6020 + version "7.0.1" 6021 + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" 6022 + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== 6023 + dependencies: 6024 + graceful-fs "^4.1.2" 6025 + jsonfile "^4.0.0" 6026 + universalify "^0.1.0" 6027 6028 fs-extra@^8.1.0: 6029 version "8.1.0" ··· 6617 resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 6618 integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 6619 6620 + indent-string@^4.0.0: 6621 + version "4.0.0" 6622 + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" 6623 + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 6624 + 6625 inflight@^1.0.4: 6626 version "1.0.6" 6627 resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" ··· 6973 resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" 6974 integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== 6975 6976 + is-wsl@^2.1.1, is-wsl@^2.2.0: 6977 version "2.2.0" 6978 resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" 6979 integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== ··· 7218 jest-get-type "^27.5.1" 7219 pretty-format "^27.5.1" 7220 7221 + jest-diff@^29.0.1, jest-diff@^29.3.1: 7222 + version "29.3.1" 7223 + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.3.1.tgz#d8215b72fed8f1e647aed2cae6c752a89e757527" 7224 + integrity sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw== 7225 + dependencies: 7226 + chalk "^4.0.0" 7227 + diff-sequences "^29.3.1" 7228 + jest-get-type "^29.2.0" 7229 + pretty-format "^29.3.1" 7230 + 7231 jest-docblock@^26.0.0: 7232 version "26.0.0" 7233 resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" ··· 7323 version "27.5.1" 7324 resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" 7325 integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== 7326 + 7327 + jest-get-type@^29.2.0: 7328 + version "29.2.0" 7329 + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.2.0.tgz#726646f927ef61d583a3b3adb1ab13f3a5036408" 7330 + integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA== 7331 7332 jest-haste-map@^26.6.2: 7333 version "26.6.2" ··· 7453 jest-get-type "^27.5.1" 7454 pretty-format "^27.5.1" 7455 7456 + jest-matcher-utils@^29.0.1: 7457 + version "29.3.1" 7458 + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz#6e7f53512f80e817dfa148672bd2d5d04914a572" 7459 + integrity sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ== 7460 + dependencies: 7461 + chalk "^4.0.0" 7462 + jest-diff "^29.3.1" 7463 + jest-get-type "^29.2.0" 7464 + pretty-format "^29.3.1" 7465 + 7466 jest-message-util@^26.6.2: 7467 version "26.6.2" 7468 resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" ··· 8146 resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" 8147 integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== 8148 8149 + klaw-sync@^6.0.0: 8150 + version "6.0.0" 8151 + resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" 8152 + integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== 8153 + dependencies: 8154 + graceful-fs "^4.1.11" 8155 + 8156 klaw@^1.0.0: 8157 version "1.3.1" 8158 resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" ··· 8759 resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 8760 integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 8761 8762 + min-indent@^1.0.0: 8763 + version "1.0.1" 8764 + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" 8765 + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== 8766 + 8767 mini-css-extract-plugin@^2.4.5: 8768 version "2.6.1" 8769 resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz#9a1251d15f2035c342d99a468ab9da7a0451b71e" ··· 9181 dependencies: 9182 is-wsl "^1.1.0" 9183 9184 + open@^7.4.2: 9185 + version "7.4.2" 9186 + resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" 9187 + integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== 9188 + dependencies: 9189 + is-docker "^2.0.0" 9190 + is-wsl "^2.1.1" 9191 + 9192 open@^8.0.9, open@^8.4.0: 9193 version "8.4.0" 9194 resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" ··· 9254 strip-ansi "^6.0.0" 9255 wcwidth "^1.0.1" 9256 9257 + os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: 9258 version "1.0.2" 9259 resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 9260 integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== ··· 9373 resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" 9374 integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== 9375 9376 + patch-package@^6.5.0: 9377 + version "6.5.0" 9378 + resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.5.0.tgz#feb058db56f0005da59cfa316488321de585e88a" 9379 + integrity sha512-tC3EqJmo74yKqfsMzELaFwxOAu6FH6t+FzFOsnWAuARm7/n2xB5AOeOueE221eM9gtMuIKMKpF9tBy/X2mNP0Q== 9380 + dependencies: 9381 + "@yarnpkg/lockfile" "^1.1.0" 9382 + chalk "^4.1.2" 9383 + cross-spawn "^6.0.5" 9384 + find-yarn-workspace-root "^2.0.0" 9385 + fs-extra "^7.0.1" 9386 + is-ci "^2.0.0" 9387 + klaw-sync "^6.0.0" 9388 + minimist "^1.2.6" 9389 + open "^7.4.2" 9390 + rimraf "^2.6.3" 9391 + semver "^5.6.0" 9392 + slash "^2.0.0" 9393 + tmp "^0.0.33" 9394 + yaml "^1.10.2" 9395 + 9396 path-exists@^3.0.0: 9397 version "3.0.0" 9398 resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" ··· 10118 ansi-styles "^5.0.0" 10119 react-is "^18.0.0" 10120 10121 + pretty-format@^29.0.0, pretty-format@^29.0.3, pretty-format@^29.3.1: 10122 + version "29.3.1" 10123 + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.3.1.tgz#1841cac822b02b4da8971dacb03e8a871b4722da" 10124 + integrity sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg== 10125 + dependencies: 10126 + "@jest/schemas" "^29.0.0" 10127 + ansi-styles "^5.0.0" 10128 + react-is "^18.0.0" 10129 + 10130 process-nextick-args@~2.0.0: 10131 version "2.0.1" 10132 resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" ··· 10711 dependencies: 10712 minimatch "3.0.4" 10713 10714 + redent@^3.0.0: 10715 + version "3.0.0" 10716 + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" 10717 + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== 10718 + dependencies: 10719 + indent-string "^4.0.0" 10720 + strip-indent "^3.0.0" 10721 + 10722 regenerate-unicode-properties@^10.1.0: 10723 version "10.1.0" 10724 resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" ··· 10937 resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 10938 integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 10939 10940 + rimraf@^2.5.4, rimraf@^2.6.3: 10941 version "2.7.1" 10942 resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" 10943 integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== ··· 11311 version "1.0.5" 11312 resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" 11313 integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== 11314 + 11315 + slash@^2.0.0: 11316 + version "2.0.0" 11317 + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" 11318 + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== 11319 11320 slash@^3.0.0: 11321 version "3.0.0" ··· 11698 resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 11699 integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 11700 11701 + strip-indent@^3.0.0: 11702 + version "3.0.0" 11703 + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" 11704 + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== 11705 + dependencies: 11706 + min-indent "^1.0.0" 11707 + 11708 strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 11709 version "3.1.1" 11710 resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" ··· 11953 version "1.234.0" 11954 resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.234.0.tgz#f61fe73f6e85c51f8503181f47dcfbd18c6910db" 11955 integrity sha512-TNDfeyDIC+oroH44bMbWC+Jn/2qNrfRvDK2EXt1icOXYG5NMqoRyUosADrukfb4D8lJ3S1waaBWSvQro0erdng== 11956 + 11957 + tmp@^0.0.33: 11958 + version "0.0.33" 11959 + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 11960 + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== 11961 + dependencies: 11962 + os-tmpdir "~1.0.2" 11963 11964 tmpl@1.0.5: 11965 version "1.0.5"