-
Notifications
You must be signed in to change notification settings - Fork 2
COMPONENTS
TODO List of needed components for this website.
Global Components
-
ResponsiveImage
-
ButtonMore
- text
-
SiteBrandBar
- (Contains SVG of logo that links)
-
NavSecondary
- items: [{text, url, target}]
-
NavPrimary
- items: [{name = "", url = "", items = [{text, url, target}]], {}}
-
SmartLink
- to
- target
- default slot: something
-
MastheadPrimary
- (Contains SearchHome)
-
MastheadSecondary
- hasMolecules: boolean
- title
- text
- (slot: used for search form)
-
DividerWayfinder
- color: "help"
- bold: boolean
-
DividerVertical
-
FooterPrimary
- social-items: [{text, url}]
- press-items: [{text, url}]
- (Uses form-mailing-list?)
-
FooterSock
- items: [{text, url, target}]
-
SiteNotificationAlert
- title
- text
Home page Components
-
SectionCards
- title
- text
- items: [{see card props}] (uses CardVertical component)
- to: ""
-
BlockCardVertical
- iconName: String
- title
- text
- to
- section: "" // get-help, visit, about
-
BlockCardMore
- text
- to
-
BannerFeatured
- image
- title
- category: {name, to}
- theme
- dates: String
- times: String
- location: String
- isOnline: boolean
- to
- breadcrumb: {text, to}
- prompt: String
- (slot that replaces top breadcrumb)
- alignment: "left" or "right"
-
SectionDualMasonry
- items: [{image, category, title, prompt, dates, to}]
- to
-
HeadingArrow
- text
- to
-
SectionPostSmall
- items: [{see BlockPostSmall}]
- to
-
BlockPostSmall
- image
- category: {name, to}
- title
- author
- to
- theme
Search Components
-
note: each page will have its own list of filters available - from craft - content-types
-
SearchHome
- tabs: [{title, isActive}]
- links: [{name, url, target}](Course Reserves etc)
- actionUrl: String
// search by keyword
- exampleString: "https://ucla.on.worldcat.org/external-search"
- exampleString: "https://ucla.summon.serialssolutions.com/#!/search?ho=t&l=en&"
- exampleString: "fromPrimo"
- (build component out knowing where to submit the query string)
-
SearchGeneric
- actionUrl:"",
- filters: [{name, queryParam},{},...]
example:
actionUrl:"", //main search block
filters: [ // dependent on the page ?
{
name: "location",
filterItems: [
{
name: "Arts Library",
queryParam: "artsLib"
},
{
name: "Bio Med",
queryParam: "bioMed"
},
]
},
{
name: "department",
filterItems: [
{
name: "Science Department",
queryParam: "scienceDept"
},
{
name: "Music Department",
queryParam: "musicDept"
},
]
},
]
Mobile Version of Components
Mobile nav/menus combine the Primary and Secondary navs
hard code menu items using data()
- MobileNav
data() {
primary: [{text, url, target}] ,
secondary: [{text, url, target}] ,
}
Exhibits & Upcoming Events Index page Components
-
BlockTeaserMeta (All of the text for all of the other BlockTeaser components)
- items: { image, to, category, title, dates, times, text, location }
-
BlockTeaserList
- items: { image, to, category, title, dates, times, text, location }
-
BlockTeaserHighlight
- items: { image, to, category, title, dates, times, text, location }
-
BlockTeaserVertical
- items: { image, to, category, title, dates, times, text, location }
-
SectionTeaserHighlight
- items: [{see block props}] (uses BlockTeaserHighlight component)
-
SectionTeaserList
- items: [{see block props}] (uses BlockTeaserList component)
-
SectionTeaserVertical
- items: [{see block props}] (uses BlockTeaserVertical component)
-
SectionTeaserCalendar (should include the date and today navigation)
- items: [{see block props}] (uses BlockTeaserMeta component)
-
BlockCallToAction
- iconName: String
- title
- text
- prompt // button
- to
-
BlockDate
- date
-
CalendarLongEvents
- events: [{startDate, endTime, name, to}]
-
SectionPagination
- nextTo
- previousTo
Exhibits Detail Long Form page Components
-
update BannerFeatured (path=/story/banner-featured--default)
- hasButton (set this to false)
- add new stories
-
Flexible Page Blocks
- RickText
- RichTextWithMedia
- PullQuote
- MediaGallery
- Can be closed gallery with full width or half width, is the width added in craft or should be determined on the page level, or just a open gallery with section heading like sample manuscript pages on the mid length page.
- VideoContentWidth One Video full width, with play button on the side? On the mid length page there is manuscript with one video after the richtext which has the play button in the middle is this a flexible page block or regular component
- ImageContentWidth
- AudioContentWidth
- CTABlockcontentwidth
- etc
-
SectionGallery
it needs all these icons (+/-, play icon for video, solid-molecule-image, solid-molecule-video, )
-
title
-
items: [{type:"audio,video,image", title, text, dates, location])
-
(uses SectionGalleryVertical component)
-
DividerGeneral component
-
-
BlockGalleryVertical
- BlockTeaserMeta
- items: { image, to, category, title, dates, times, text, location, prefix("On view") }
- hover state will show the eye icon over the image
- Clicking the eye will open the modal(carousel component) by grandparent component (SectionGallery)
-
SectionGalleryVertical
- BlockGalleryVertical
- items (Array of objects)
-
update BlockTeaserMeta
- view prop (can have highlight, card (this was gallery before), gallery or calendar)
- write a story for view type gallery.
-
Carousel (lightbox in the figma)
- items
- (icons needed are left, right arrows and close )
-
GalleryList
- featuredItem
- items [url, objectType[audio,video,image], meta: { to, category, title, dates, times, text, location, identifier (which can be a call number) }])
- (uses updated BlockTeaserVertical component)
- Uses icons +/-, play icon for video, solid-molecule-image, solid-molecule-video,
-
BlockGalleryVertical ?path=/story/block-teaser-vertical--default
- item (date, image, callnumber or any other identifier, tilte)
- default audio or video or image icon if no images given
-
BlockGalleryList
- featuredTitle
- featuredText
- items
- uses GalleryList component
- uses Carousal component
-
SectionGalleryList
- items (// Array of Array objects )
- title
- Uses DividerGeneral component
- Uses BlockGalleryList component
note: 2 sizes full width & half page
Article Detail page Components
According to the data model, Articles
will be used in "A blog post or other timely story from the UCLA library"
context: this is the only part of the data model in our CraftCMS that is close to being done (pending) approval
We can look at those designs and focus on making component request issues for the relevant components
- components here
Staff Directory Detail page Components
- BlockStaffProfile
Gallery Components
- GalleryPreview
- BlockGallery
- GalleryGrid
- GalleryItem
- SectionGallery
- ModalGallery
- PlayerVideo
- PlayerAudio
HeaderSticky Components
Parent component is .
Child-headers are:
- HeaderChildBreadcrumbs (can have social share links)
- HeaderChildSearch (can have breadcrumb too)
- HeaderChildMenu (can have a button too)
- HeaderChildDates
Components
This uses the BannerFeatured component
- Flexible Page Blocks
- Rich text
- Rich text with media
- Media Gallery // Selected Trailers
- Divider
- Pull quote
- Image - Content Width, // Individual event in this series with clipped box on the left which has the event date.
- etc
Notes
Questions
1. which of the flexible page blocks will give the data for More upcoming events and events in this series, or are these flexible page blocks?
-
BlockEventCard
- event type
- title
- image
- Date
- Time
-
SectionEventsGrid // More upcoming events Section https://www.figma.com/file/ZT2qWKTlOxfhr1QUS2rFPL/UI-Pattern-Library-(Client-Facing)-Final?node-id=1101%3A46937
- items[{...BlockEventCard},{...BlockEventCard}]
-
SectionEventsList // Events in this series Section https://www.figma.com/file/ZT2qWKTlOxfhr1QUS2rFPL/UI-Pattern-Library-(Client-Facing)-Final?node-id=1101%3A45265
- items[{...BlockEventCard},{...BlockEventCard}]
-
ViewMore
- plus icon svg
- ?
Components
If Hero Image exists, use BannerFeatured component else SimpleBanner
-
SimpleBanner
- Title
- Date
- Start Time
- Event type
- End Time,
- Address,
- Button/URL,
- Associated Location(s),
- svg half molecule
-
SectionEventsHighlght // Related Events or Event Series// Shown on Exhibit Detail short form Page and Event Detailed page https://www.figma.com/file/ZT2qWKTlOxfhr1QUS2rFPL/UI-Pattern-Library-(Client-Facing)-Final?node-id=1001%3A46025
- items[{...BlockEventCard},{...BlockEventCard}]
-
Flexible Page Blocks
- Rich Text
- Rich Text with Media
- etc
Components
-
Masthead / Secondary
-
MapCard
- title
- hours
- times
- text
- isOnline // ask UX
-
Map
- activeIndex
- items [] // if using leafletjs it will take its shape // others like mapbox or GoogleMaps
- for scrolling, put the cards in container, cal(100vh-headerheght) then add overflow y to auto , this is for card list
Notes
https://dl.airtable.com/.attachmentThumbnails/0f92c171a117104eb6286207019ceabe/62a9df68
- When: The User hovers over the card
- Then: The mark on the map changes color
- When: The User scrolls down the page
- Then: The cards scroll under the stickyHeader
- And: The map stays in the same place
- Lists the Libraries (main and affiliated) in alphabetical order
- The Map could use existing map which uses https://leafletjs.com/ or create it specifically for this page
Components
- StickyNav with Link & Search
- LongCard
- image
- arrowsvg
- title
- description
- links ()
- hours
- amenities
- button (links to real Location Detail page)
- Map
Notes
- /locations
- CMS - Craft
- Users can go back to the list with a arrow shaped link at top left of the card
- Optional
- Library photo
- Browse spaces link - (associated spaces)
- Amenities
- Required
- Description
- Get directions/contact us link
- Hours
- Button to library detail page
- For affiliate libraries, this is an external link to the actual site
Components
-
BannerHeader (visit colorway)
-
BlockHours
-
BlockCampusMap
- iframe
-
BlockContactLocation
-
SimpleCards
-
BlockSpaces
- title
- hours
- isOnline
- location ? // Ask UX
- buttonText // default 'Reserve'
- buttonUrl
- Use button component with arrow svg.
- Heading arrow svg // this is also used on Staff pages
-
SectionSpacesList https://www.figma.com/file/ZT2qWKTlOxfhr1QUS2rFPL/UI-Pattern-Library-(Client-Facing)-Final?node-id=7%3A56
- title
- text
- items [{...BlockSpaces},{...BlockSpaces}]
-
BlockAbout
- richtext text
-
StickyNav with Breadcrumbs
Notes
- /locations
- CMS - Craft
- spaces/hours will be pulled from LibCal using API
- Users can go back to the list with a arrow shaped link at top left of the card
- Optional
- Library photo
- Browse spaces link - (associated spaces)
- Amenities
- Required
- Description
- Get directions/contact us link
- Hours
- Button to library detail page
- For affiliate libraries, this is an external link to the actual site
Components
-
BlockCardHorizontal // This has the same props as the BlockCardVertical
- iconName: String
- title
- text
- to
-
LoadMore
- svg plus icon
- lazy loading url or will it emit event?
-
CTABlockcontentwidth // This is the FlexiblePageBlock
Notes
https://www.figma.com/file/ZT2qWKTlOxfhr1QUS2rFPL/UI-Pattern-Library-(Client-Facing)-Final?node-id=887%3A29498Components
-
BannerLanding
- Title
- text
- full circle molecule
- HeadingArrow component
-
CarouselImapact // this is a Flexible Page Block https://airtable.com/tblbfuBMzyHtLCYKY/viwqexZxA0x4tVEt9?blocks=show
- title // optional
- items [{stat,text,image},{}]
- svg for prev next icons, 3 dots icons, use transition for filling the dots when on that image
-
SectionResourceList // see help topics landing page
-
BlockResource
-
ButtonMore
-
BlockOffset // ImageWithTextOverlay// This is a Flexible Page Block Use to display an image side by side with text, and an optional button/link to another page
https://airtable.com/tblbfuBMzyHtLCYKY/viwqexZxA0x4tVEt9?blocks=show
- title
- text
- buttonText
- buttonUrl
- Image
-
SectionOffset
- items []
- every second child change the flexorder of the image and text
Notes
https://www.figma.com/file/ZT2qWKTlOxfhr1QUS2rFPL/UI-Pattern-Library-(Client-Facing)-Final?node-id=887%3A29404Components
- [x] BannerFeatured - FlexiblePageBlocksNotes
// Is this page used for workshop/resource/services help topics? https://www.figma.com/file/ZT2qWKTlOxfhr1QUS2rFPL/UI-Pattern-Library-(Client-Facing)-Final?node-id=887%3A31680Components
This will use BannerFeatured component if it has a hero image, if not use TextBanner- BannerText
- breadcrumb
- title
- text
- button text
- button url //example reserve url for a Resource Use Smart Link component
- dates
- times
- location
- isOnline
- theme // default white , will be blue on other pages
-
SectionResourceList // This is also used on Event Series Detail Page
- items []
- heading
- short description
-
BlockResource
- title
- uses RichText
- Image
- mediaType
- button label
- button url
-
Flexible Page Blocks
- RichText
- html
- RichText
-
SectionCard // This is used on home page, on this page it is the associated topics
-
SectionDownloadCallOut // This is Flexible Page Block https://www.figma.com/file/ZT2qWKTlOxfhr1QUS2rFPL/UI-Pattern-Library-(Client-Facing)-Final?node-id=887%3A32027
- title
- text
- buttonText
- buttonUrl
-
BlockMedia is the BlockResource// Is this a Flexible Page block used by Media Thumbnail https://airtable.com/tblFpvWgv6MuMbClH/viwDcIDo9xJKefFzR/recfdHVVRtfO6JqKH/fldSewQYeFhJd0ejr/att1F5YXvg9OFqLxn?blocks=show https://www.figma.com/file/ZT2qWKTlOxfhr1QUS2rFPL/UI-Pattern-Library-(Client-Facing)-Final?node-id=887%3A32027
- title
- description
- button label
- button url
- Image
- what does the play button on the image do?
-
SectionBlockMedia
- items [{...BlockMedia},{}]
-
CTABlockcontentwidth // This is the FlexiblePageBlock https://www.figma.com/file/ZT2qWKTlOxfhr1QUS2rFPL/UI-Pattern-Library-(Client-Facing)-Final?node-id=887%3A32202
Component
route /help-
BlockInfo
-
category
-
description
-
to (if contains ucla.edu its internal)
-
title
-
svg for right arrow small , use different arrow pointing slight upright for external urls
-
SectionInfoGrid By default, each card is 33% if we have even items last two will be 50% if odd keep 33%
-
BlockQuestion
- title
- richtext component
- +/- svg icon
- the title font changes when the answer is visible
-
SectionQuestions