From 57cdf2b3497ad3455d66317aae9e2cf9f4a05426 Mon Sep 17 00:00:00 2001
From: josh-willis-arcadis
<168561922+josh-willis-arcadis@users.noreply.github.com>
Date: Mon, 29 Jul 2024 10:28:08 -0500
Subject: [PATCH 01/12] Update building-blocks with new dropdown import
---
lib/components/app/desktop-nav.tsx | 19 ++
lib/components/app/locale-selector.tsx | 3 +-
.../narrative-itineraries-header.tsx | 6 +-
lib/components/user/nav-login-button.css | 5 +
lib/components/user/nav-login-button.tsx | 3 +-
lib/components/util/dropdown.tsx | 192 ------------------
lib/components/viewers/route-details.tsx | 2 +-
7 files changed, 32 insertions(+), 198 deletions(-)
delete mode 100644 lib/components/util/dropdown.tsx
diff --git a/lib/components/app/desktop-nav.tsx b/lib/components/app/desktop-nav.tsx
index cd877b1b8..4dfb59ec9 100644
--- a/lib/components/app/desktop-nav.tsx
+++ b/lib/components/app/desktop-nav.tsx
@@ -31,6 +31,25 @@ const StyledNav = styled(Nav)`
margin-left: 5px;
margin-right: -10px;
}
+
+ .navBarItem {
+ position: static;
+ & > button {
+ background: transparent;
+ border: none;
+ color: white;
+ padding: 15px;
+
+ @media (max-width: 768px) {
+ padding: 10px;
+ }
+
+ &:hover {
+ background: rgba(0, 0, 0, 0.05);
+ color: #ececec;
+ }
+ }
+ }
`
const NavItemOnLargeScreens = styled(NavbarItem)`
diff --git a/lib/components/app/locale-selector.tsx b/lib/components/app/locale-selector.tsx
index a3681fe86..c5147b703 100644
--- a/lib/components/app/locale-selector.tsx
+++ b/lib/components/app/locale-selector.tsx
@@ -1,10 +1,10 @@
import { connect } from 'react-redux'
+import { Dropdown } from '@opentripplanner/building-blocks/lib/dropdown'
import { GlobeAmericas } from '@styled-icons/fa-solid/GlobeAmericas'
import { useIntl } from 'react-intl'
import React from 'react'
import * as uiActions from '../../actions/ui'
-import { Dropdown } from '../util/dropdown'
import { getLanguageOptions } from '../../util/i18n'
import { UnstyledButton } from '../util/unstyled-button'
@@ -23,6 +23,7 @@ const LocaleSelector = (props: LocaleSelectorProps): JSX.Element | null => {
return languageOptions ? (
-
))}
-
+
>
diff --git a/lib/components/user/nav-login-button.css b/lib/components/user/nav-login-button.css
index 45fdc3bad..6555038aa 100644
--- a/lib/components/user/nav-login-button.css
+++ b/lib/components/user/nav-login-button.css
@@ -25,6 +25,11 @@
background-color: #080808;
}
+li.header {
+ padding: 5px 15px;
+ font-weight: 600;
+}
+
#app-menu-locale-selector {
display: none;
}
diff --git a/lib/components/user/nav-login-button.tsx b/lib/components/user/nav-login-button.tsx
index c4dbf93f9..3ea68f1c2 100644
--- a/lib/components/user/nav-login-button.tsx
+++ b/lib/components/user/nav-login-button.tsx
@@ -1,11 +1,11 @@
/* eslint-disable jsx-a11y/no-noninteractive-tabindex */
+import { Dropdown } from '@opentripplanner/building-blocks/lib/dropdown'
import { FormattedMessage, useIntl } from 'react-intl'
import { User } from '@auth0/auth0-react'
import { User as UserIcon } from '@styled-icons/fa-regular/User'
import React, { HTMLAttributes } from 'react'
import styled from 'styled-components'
-import { Dropdown } from '../util/dropdown'
import { NewWindowIconA11y } from '../util/externalLink'
import { UnstyledButton } from '../util/unstyled-button'
import InvisibleA11yLabel from '../util/invisible-a11y-label'
@@ -64,6 +64,7 @@ const NavLoginButton = ({
return (
{
- id: string
- label?: string
- listLabel?: string
- name?: JSX.Element | string
- nav?: boolean
- pullRight?: boolean
-}
-
-const DropdownButton = styled(NavbarButton)``
-
-const DropdownMenu = styled.ul`
- background-clip: padding-box;
- background-color: #fff;
- border-radius: 4px;
- border: 1px solid rgba(0, 0, 0, 0.15);
- box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
- color: ${DARK_TEXT_GREY};
- list-style: none;
- margin: 2px 0 0;
- min-width: 160px;
- padding: 5px 0;
- position: absolute;
- right: 0;
- top: 100%;
- width: 100%;
- z-index: 1000;
-
- hr {
- margin: 0;
- padding: 0;
- }
- a,
- button,
- li.header {
- padding: 5px 15px;
- text-align: start;
- width: 100%;
- }
- a,
- button {
- cursor: pointer;
- }
- li.header {
- cursor: default;
- font-weight: 600;
- }
- li:not(.header):hover {
- background: rgba(0, 0, 0, 0.1);
- }
-`
-
-/**
- * Renders a dropdown menu. By default, only a passed "name" is rendered. If clicked,
- * a floating div is rendered below the "name" with list contents inside. Clicking anywhere
- * outside the floating div will close the dropdown.
- */
-export const Dropdown = ({
- children,
- className,
- id,
- label,
- listLabel,
- name,
- pullRight,
- style
-}: Props): JSX.Element => {
- const [open, setOpen] = useState(false)
- const containerRef = useRef(null)
-
- const toggleOpen = useCallback(() => setOpen(!open), [open, setOpen])
-
- // Argument for document.querySelectorAll to target focusable elements.
- const queryId = `#${id} button, #${id}-label`
-
- // Adding document event listeners allows us to close the dropdown
- // when the user interacts with any part of the page that isn't the dropdown
- useEffect(() => {
- const handleExternalAction = (e: Event): void => {
- if (!containerRef?.current?.contains(e.target as HTMLElement)) {
- setOpen(false)
- }
- }
- document.addEventListener('mousedown', handleExternalAction)
- document.addEventListener('focusin', handleExternalAction)
- document.addEventListener('keydown', handleExternalAction)
- return () => {
- document.removeEventListener('mousedown', handleExternalAction)
- document.removeEventListener('focusin', handleExternalAction)
- document.removeEventListener('keydown', handleExternalAction)
- }
- }, [containerRef])
-
- const _handleKeyDown = useCallback(
- (e: KeyboardEvent): void => {
- const element = e.target as HTMLElement
- switch (e.key) {
- case 'ArrowUp':
- e.preventDefault()
- getEntryRelativeTo(queryId, element, -1)?.focus()
- break
- case 'ArrowDown':
- e.preventDefault()
- getEntryRelativeTo(queryId, element, 1)?.focus()
- break
- case 'Escape':
- setOpen(false)
- break
- case ' ':
- case 'Enter':
- e.preventDefault()
- element.click()
- if (element.id === `${id}-label` || element.id === `${id}-wrapper`) {
- toggleOpen()
- }
- break
- default:
- }
- },
- [id, toggleOpen]
- )
-
- return (
-
-
- {name}
-
-
- {open && (
-
- {children}
-
- )}
-
- )
-}
-
-export const SortResultsDropdown = styled(Dropdown)`
- position: relative;
-
- ${DropdownButton} {
- background: #fff;
- border-radius: 5px;
- color: inherit;
- padding: 3px 7px;
-
- span.caret {
- color: inherit;
- }
- }
-`
diff --git a/lib/components/viewers/route-details.tsx b/lib/components/viewers/route-details.tsx
index 594ea31a4..63e3b235d 100644
--- a/lib/components/viewers/route-details.tsx
+++ b/lib/components/viewers/route-details.tsx
@@ -1,6 +1,7 @@
import { connect } from 'react-redux'
import { FormattedMessage, injectIntl, IntlShape } from 'react-intl'
import { getMostReadableTextColor } from '@opentripplanner/core-utils/lib/route'
+import { SortResultsDropdown } from '@opentripplanner/building-blocks/lib/dropdown'
import { Stop, TransitOperator } from '@opentripplanner/types'
import React, { Component } from 'react'
import styled from 'styled-components'
@@ -16,7 +17,6 @@ import {
SetViewedStopHandler,
ViewedRouteObject
} from '../util/types'
-import { SortResultsDropdown } from '../util/dropdown'
import { UnstyledButton } from '../util/unstyled-button'
import {
From 2db75934f938ebba90a0174f4edd2f18ebe68be7 Mon Sep 17 00:00:00 2001
From: josh-willis-arcadis
<168561922+josh-willis-arcadis@users.noreply.github.com>
Date: Mon, 29 Jul 2024 10:34:19 -0500
Subject: [PATCH 02/12] fix: update imports. use text prop name.
---
lib/components/app/locale-selector.tsx | 4 ++--
.../narrative/narrative-itineraries-header.tsx | 4 ++--
lib/components/user/nav-login-button.tsx | 5 ++---
lib/components/viewers/route-details.tsx | 10 +++++-----
4 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/lib/components/app/locale-selector.tsx b/lib/components/app/locale-selector.tsx
index c5147b703..6e410aa6a 100644
--- a/lib/components/app/locale-selector.tsx
+++ b/lib/components/app/locale-selector.tsx
@@ -1,5 +1,5 @@
import { connect } from 'react-redux'
-import { Dropdown } from '@opentripplanner/building-blocks/lib/dropdown'
+import { Dropdown } from '@opentripplanner/building-blocks'
import { GlobeAmericas } from '@styled-icons/fa-solid/GlobeAmericas'
import { useIntl } from 'react-intl'
import React from 'react'
@@ -27,8 +27,8 @@ const LocaleSelector = (props: LocaleSelectorProps): JSX.Element | null => {
id="locale-selector"
label={intl.formatMessage({ id: 'components.SubNav.selectALanguage' })}
listLabel={intl.formatMessage({ id: 'components.SubNav.languages' })}
- name={ }
style={{ display: 'block ruby' }}
+ text={ }
>
{Object.keys(languageOptions).map((locale: string) => (
diff --git a/lib/components/narrative/narrative-itineraries-header.tsx b/lib/components/narrative/narrative-itineraries-header.tsx
index 31842c775..6b59f5f37 100644
--- a/lib/components/narrative/narrative-itineraries-header.tsx
+++ b/lib/components/narrative/narrative-itineraries-header.tsx
@@ -1,6 +1,6 @@
/* eslint-disable complexity */
import { ArrowLeft } from '@styled-icons/fa-solid/ArrowLeft'
-import { Dropdown } from '@opentripplanner/building-blocks/lib/dropdown'
+import { Dropdown } from '@opentripplanner/building-blocks'
import { ExclamationTriangle } from '@styled-icons/fa-solid/ExclamationTriangle'
import { FormattedMessage, useIntl } from 'react-intl'
import { Itinerary } from '@opentripplanner/types'
@@ -209,7 +209,7 @@ export default function NarrativeItinerariesHeader({
{sortOptionsArr.map((sortOption) => (
diff --git a/lib/components/user/nav-login-button.tsx b/lib/components/user/nav-login-button.tsx
index 3ea68f1c2..0f3df55e6 100644
--- a/lib/components/user/nav-login-button.tsx
+++ b/lib/components/user/nav-login-button.tsx
@@ -1,5 +1,5 @@
/* eslint-disable jsx-a11y/no-noninteractive-tabindex */
-import { Dropdown } from '@opentripplanner/building-blocks/lib/dropdown'
+import { Dropdown } from '@opentripplanner/building-blocks'
import { FormattedMessage, useIntl } from 'react-intl'
import { User } from '@auth0/auth0-react'
import { User as UserIcon } from '@styled-icons/fa-regular/User'
@@ -67,7 +67,7 @@ const NavLoginButton = ({
className="navBarItem"
id="user-selector"
label={intl.formatMessage({ id: 'components.SubNav.userMenu' })}
- name={
+ text={
}
- pullRight
>
{displayedName}
diff --git a/lib/components/viewers/route-details.tsx b/lib/components/viewers/route-details.tsx
index 63e3b235d..fcc770f2b 100644
--- a/lib/components/viewers/route-details.tsx
+++ b/lib/components/viewers/route-details.tsx
@@ -1,7 +1,7 @@
import { connect } from 'react-redux'
+import { Dropdown } from '@opentripplanner/building-blocks'
import { FormattedMessage, injectIntl, IntlShape } from 'react-intl'
import { getMostReadableTextColor } from '@opentripplanner/core-utils/lib/route'
-import { SortResultsDropdown } from '@opentripplanner/building-blocks/lib/dropdown'
import { Stop, TransitOperator } from '@opentripplanner/types'
import React, { Component } from 'react'
import styled from 'styled-components'
@@ -149,12 +149,12 @@ class RouteDetails extends Component {
-
{headsigns.map((h: PatternSummary) => (
@@ -166,7 +166,7 @@ class RouteDetails extends Component {
))}
-
+
)}
{pattern && (
From 40a8d37f8f2c7a57239b41d89c9310aa09b9df6c Mon Sep 17 00:00:00 2001
From: josh-willis-arcadis
<168561922+josh-willis-arcadis@users.noreply.github.com>
Date: Mon, 29 Jul 2024 10:36:43 -0500
Subject: [PATCH 03/12] fix(route-details): override color inherit
---
lib/components/app/desktop-nav.tsx | 1 +
lib/components/user/nav-login-button.css | 9 ++-
lib/components/user/nav-login-button.tsx | 73 ++++++++++++------------
lib/components/viewers/route-details.tsx | 11 +++-
4 files changed, 55 insertions(+), 39 deletions(-)
diff --git a/lib/components/app/desktop-nav.tsx b/lib/components/app/desktop-nav.tsx
index 4dfb59ec9..f9a265b86 100644
--- a/lib/components/app/desktop-nav.tsx
+++ b/lib/components/app/desktop-nav.tsx
@@ -39,6 +39,7 @@ const StyledNav = styled(Nav)`
border: none;
color: white;
padding: 15px;
+ line-height: 20px;
@media (max-width: 768px) {
padding: 10px;
diff --git a/lib/components/user/nav-login-button.css b/lib/components/user/nav-login-button.css
index 6555038aa..e1e9c1b68 100644
--- a/lib/components/user/nav-login-button.css
+++ b/lib/components/user/nav-login-button.css
@@ -25,9 +25,16 @@
background-color: #080808;
}
-li.header {
+p {
padding: 5px 15px;
+ margin: 0;
font-weight: 600;
+ font-size: 16px;
+}
+
+ul {
+ list-style: none;
+ padding-inline-start: 0;
}
#app-menu-locale-selector {
diff --git a/lib/components/user/nav-login-button.tsx b/lib/components/user/nav-login-button.tsx
index 0f3df55e6..effee8aab 100644
--- a/lib/components/user/nav-login-button.tsx
+++ b/lib/components/user/nav-login-button.tsx
@@ -77,49 +77,50 @@ const NavLoginButton = ({
}
>
- {displayedName}
-
- {links &&
- links.map((link, i) => {
- if (link.url.startsWith('http')) {
+ {displayedName}
+
+ {links &&
+ links.map((link, i) => {
+ if (link.url.startsWith('http')) {
+ return (
+
+ element here,
+ // so that the link works even when running the app locally.
+ as="a"
+ href={link.url}
+ target="_blank"
+ >
+
+
+
+
+ )
+ }
return (
- element here,
- // so that the link works even when running the app locally.
- as="a"
- href={link.url}
- target="_blank"
- >
-
-
+
+ {link.messageId === 'myAccount' ? ( // messageId is 'myAccount' or 'help'
+
+ ) : (
+
+ )}
)
- }
- return (
-
-
- {link.messageId === 'myAccount' ? ( // messageId is 'myAccount' or 'help'
-
- ) : (
-
- )}
-
-
- )
- })}
+ })}
-
+
-
-
-
-
-
+
+
+
+
+
+
)
diff --git a/lib/components/viewers/route-details.tsx b/lib/components/viewers/route-details.tsx
index fcc770f2b..cf2260a19 100644
--- a/lib/components/viewers/route-details.tsx
+++ b/lib/components/viewers/route-details.tsx
@@ -38,6 +38,13 @@ const PatternSelectButton = styled(UnstyledButton)`
}
`
+const PatternSelectDropdown = styled(Dropdown)`
+ span,
+ span.caret {
+ color: #333;
+ }
+`
+
interface Props {
intl: IntlShape
operator: TransitOperator
@@ -149,7 +156,7 @@ class RouteDetails extends Component {
- {
))}
-
+
)}
{pattern && (
From dd1b8536a26ae3ba3a28392a46e628ebdf5a4da1 Mon Sep 17 00:00:00 2001
From: josh-willis-arcadis
<168561922+josh-willis-arcadis@users.noreply.github.com>
Date: Mon, 29 Jul 2024 12:36:26 -0500
Subject: [PATCH 04/12] test: update snapshots
---
.../viewers/__snapshots__/nearby-view.js.snap | 1154 ++++++++---------
.../stop-schedule-viewer.ts.snap | 6 +-
2 files changed, 580 insertions(+), 580 deletions(-)
diff --git a/__tests__/components/viewers/__snapshots__/nearby-view.js.snap b/__tests__/components/viewers/__snapshots__/nearby-view.js.snap
index 99c8081e9..4b4269831 100644
--- a/__tests__/components/viewers/__snapshots__/nearby-view.js.snap
+++ b/__tests__/components/viewers/__snapshots__/nearby-view.js.snap
@@ -45,7 +45,7 @@ exports[`components > viewers > nearby view renders nothing on a blank page 1`]
className="nearby-view base-color-bg"
>
viewers > nearby view renders nothing on a blank page 1`]
}
>
viewers > nearby view renders proper scooter dates 1`] = `
className="nearby-view base-color-bg"
>
viewers > nearby view renders proper scooter dates 1`] = `
}
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
>
Roosevelt Station - Bay 2
@@ -10030,7 +10030,7 @@ exports[`components > viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
viewers > nearby view renders proper scooter dates 1`] = `
roundedTop={false}
>
viewers > nearby view renders proper scooter dates 1`] = `
title="45"
>
viewers > nearby view renders proper scooter dates 1`] = `
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
title="components.StopTimeCell.realtime"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
iconViewBox="0 0 448 512"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
title="components.StopTimeCell.realtime"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
iconViewBox="0 0 448 512"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
title="components.StopTimeCell.scheduled"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
roundedTop={false}
>
viewers > nearby view renders proper scooter dates 1`] = `
title="62"
>
viewers > nearby view renders proper scooter dates 1`] = `
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
title="components.StopTimeCell.realtime"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
iconViewBox="0 0 448 512"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
title="components.StopTimeCell.scheduled"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
title="components.StopTimeCell.scheduled"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
roundedTop={false}
>
viewers > nearby view renders proper scooter dates 1`] = `
title="79"
>
viewers > nearby view renders proper scooter dates 1`] = `
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
title="components.StopTimeCell.realtime"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
iconViewBox="0 0 448 512"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
title="components.StopTimeCell.scheduled"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
title="components.StopTimeCell.scheduled"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
>
Roosevelt
@@ -16849,7 +16849,7 @@ exports[`components > viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
size="0.9em"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
viewers > nearby view renders proper scooter dates 1`] = `
roundedTop={false}
>
viewers > nearby view renders proper scooter dates 1`] = `
title="1 Line"
>
viewers > nearby view renders proper scooter dates 1`] = `
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
title="components.StopTimeCell.scheduled"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
title="components.StopTimeCell.scheduled"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
title="components.StopTimeCell.scheduled"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
roundedTop={false}
>
viewers > nearby view renders proper scooter dates 1`] = `
title="1 Line"
>
viewers > nearby view renders proper scooter dates 1`] = `
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
title="components.StopTimeCell.scheduled"
>
viewers > nearby view renders proper scooter dates 1`] = `
>
viewers > nearby view renders proper scooter dates 1`] = `
roundedTop={false}
>
viewers > nearby view renders proper scooter dates 1`] = `
title="1 Line"
>