Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
171 commits
Select commit Hold shift + click to select a range
db8da7f
adds components list
dChiamp Jun 20, 2025
bd57d86
Update COMPONENTS.md
Sveb Jun 20, 2025
4fa76ad
Update COMPONENTS.md
Sveb Jun 20, 2025
b4dc86d
Update COMPONENTS.md
Sveb Jun 23, 2025
285e079
Update COMPONENTS.md
Sveb Jun 23, 2025
213a640
adds notes
dChiamp Jun 23, 2025
3004c74
Update COMPONENTS.md
Sveb Jun 24, 2025
7a1e0aa
Merge branch 'main' of https://github.com/funkhaus/ucla-library-websi…
dChiamp Jun 24, 2025
e955637
claimed component
austinblanchard Jun 24, 2025
d5e45d1
Update COMPONENTS.md
Sveb Jun 25, 2025
d49eaf5
claim a component
lux-v Jun 25, 2025
4b6cccf
claim a component
lux-v Jun 25, 2025
bfa79d4
Update COMPONENTS.md
Sveb Jun 25, 2025
4852133
Update COMPONENTS.md
Sveb Jun 25, 2025
2120974
Update COMPONENTS.md
Sveb Jun 25, 2025
c5d0581
take a component
lux-v Jun 25, 2025
af0a6b3
take a component
lux-v Jun 25, 2025
2e73be7
take a component
lux-v Jun 25, 2025
88bfe5e
Update COMPONENTS.md
austinblanchard Jun 25, 2025
22b88d7
Update COMPONENTS.md
Sveb Jun 26, 2025
498ab73
Adjust the component name - already exists
Sveb Jun 30, 2025
09c2fd0
take a component
lux-v Jul 1, 2025
0c75f77
take a component
lux-v Jul 1, 2025
a7bf5fa
Update COMPONENTS.md
Sveb Jul 1, 2025
069c123
Update COMPONENTS.md
Sveb Jul 7, 2025
cdb4a86
Update COMPONENTS.md
Sveb Jul 7, 2025
8a29837
Update COMPONENTS.md
austinblanchard Jul 7, 2025
7bdfa7a
Update COMPONENTS.md - marking BentoPod
Sveb Jul 8, 2025
bc0154d
add component
lux-v Jul 8, 2025
597ef57
add component
lux-v Jul 8, 2025
02aafc7
Update COMPONENTS.md
austinblanchard Jul 8, 2025
e675c1b
Update COMPONENTS.md
austinblanchard Jul 8, 2025
2933c6d
take a component
lux-v Jul 9, 2025
d5c665a
take a component
lux-v Jul 9, 2025
e539e14
fix component description
lux-v Jul 9, 2025
4808e2d
Update COMPONENTS.md
Sveb Jul 10, 2025
e372e04
Update COMPONENTS.md
Sveb Jul 10, 2025
7d5d656
change component's name
lux-v Jul 11, 2025
ed656cf
Update COMPONENTS.md
Sveb Jul 14, 2025
877fb65
take a component
lux-v Jul 14, 2025
348494b
take a component
lux-v Jul 15, 2025
45e6cf7
take a component
lux-v Jul 16, 2025
183375c
remove AssetFeaturedImage definition
lux-v Jul 16, 2025
ee9dd92
take a component
lux-v Jul 16, 2025
62919e6
take a components
lux-v Jul 16, 2025
51430d6
take a components
lux-v Jul 16, 2025
f6de890
take a component
lux-v Jul 16, 2025
76226de
take a component
lux-v Jul 16, 2025
d78dda6
add a new line
lux-v Jul 16, 2025
7388620
add detailed component description
lux-v Jul 16, 2025
63b619b
add detailed component description
lux-v Jul 16, 2025
e277dbe
take a component
lux-v Jul 16, 2025
08e03ec
update component description
lux-v Jul 16, 2025
0ee907a
Adds a button component
Sveb Jul 17, 2025
864171d
Update COMPONENTS.md
Sveb Jul 17, 2025
1bb618a
Update COMPONENTS.md
Sveb Jul 17, 2025
54df91d
Update COMPONENTS.md
Sveb Jul 17, 2025
0ed4fbb
Clean up components.md
Sveb Jul 17, 2025
b06efac
Taking the block-collection component
Sveb Jul 21, 2025
d31c91f
Taking the grid-collections component as well.
Sveb Jul 21, 2025
94304d5
Update COMPONENTS.md
Sveb Jul 21, 2025
279744a
Clean up component list
Sveb Jul 23, 2025
82e0566
add spacing
lux-v Jul 23, 2025
d24c553
add spacing
lux-v Jul 23, 2025
c69bfac
Merge branch 'UCLALibrary:main' into main
lux-v Aug 5, 2025
0f9c0aa
update component name
lux-v Aug 6, 2025
a10aa20
Update Button definition
lux-v Aug 11, 2025
7f9084e
Update COMPONENTS.md
lux-v Aug 11, 2025
4b9de5d
Update COMPONENTS.md
lux-v Aug 11, 2025
f3b329f
Remove duplicates
lux-v Aug 11, 2025
2f4300d
remove duplicates
lux-v Aug 11, 2025
2cde0d3
remove duplicates
lux-v Aug 11, 2025
df42ca4
Remove already existing components
lux-v Aug 11, 2025
3db154c
Merge branch 'main' into main
lux-v Aug 12, 2025
9287f6d
take a component
lux-v Aug 12, 2025
33787b8
update package
Sveb Aug 14, 2025
fe7041b
add a component
lux-v Aug 15, 2025
05911af
Take a component
Sveb Aug 15, 2025
92f95f4
adjust prop for block anchor nav
lux-v Aug 15, 2025
b876c86
take a component
lux-v Aug 15, 2025
1d0497d
Update COMPONENTS.md
lux-v Aug 18, 2025
2e670a6
Merge remote-tracking branch 'upstream/main'
Sveb Aug 18, 2025
eec9a91
Merge branch 'main' into main
lux-v Aug 18, 2025
09043d2
Merge remote-tracking branch 'upstream/main'
Sveb Aug 18, 2025
4a3040f
Taking the DropdownSingleSelect
Sveb Aug 19, 2025
99240ef
Merge remote-tracking branch 'upstream/main'
Sveb Aug 20, 2025
f72144c
Take the ButtonDropdownSearch component
Sveb Aug 20, 2025
8301316
Merge remote-tracking branch 'upstream/main'
Sveb Aug 22, 2025
9beaa8f
Merge branch 'UCLALibrary:main' into main
lux-v Aug 26, 2025
b87f27e
Merge remote-tracking branch 'upstream/main'
Sveb Aug 27, 2025
95d50e6
adding the correct packageMenager version for netlify to see.
Sveb Aug 27, 2025
3aeb5a6
Merge pull request #30 from Sveb/installing-the-correct-pnpnm
Sveb Aug 27, 2025
16e863a
Merge remote-tracking branch 'upstream/main'
Sveb Aug 27, 2025
73a286e
Merge branch 'UCLALibrary:main' into main
lux-v Sep 2, 2025
64208d8
Merge remote-tracking branch 'upstream/main'
Sveb Sep 2, 2025
f3e47de
Update COMPONENTS.md
Sveb Sep 3, 2025
cab92c8
Merge branch 'UCLALibrary:main' into main
lux-v Sep 3, 2025
4284ea6
Marking a component as taken
Sveb Sep 3, 2025
d7ec61c
Merge remote-tracking branch 'upstream/main'
Sveb Sep 3, 2025
170b39f
Remove packageManager field from package.json
Sveb Sep 4, 2025
c2a2e75
Merge remote-tracking branch 'upstream/main'
Sveb Sep 4, 2025
336fda4
Update component statuses and remove completed items
Sveb Sep 4, 2025
33211f0
Merge remote-tracking branch 'upstream/main'
Sveb Sep 4, 2025
fb8fc47
Merge branch 'UCLALibrary:main' into main
lux-v Sep 4, 2025
fe816e4
Merge remote-tracking branch 'upstream/main'
Sveb Sep 8, 2025
21bfbcd
Update COMPONENTS.md
Sveb Sep 8, 2025
b8a8d23
Taking the FiltersDropdown
Sveb Sep 8, 2025
345f8b9
Update COMPONENTS.md
lux-v Sep 8, 2025
89788c4
Add note regarding existing header component tweaks
lux-v Sep 8, 2025
cfbbcd4
Update RefineSearchPanel ownership in COMPONENTS.md
Sveb Sep 10, 2025
12b0865
Merge remote-tracking branch 'upstream/main'
Sveb Sep 11, 2025
90661b7
Update DetailMedia component owner to Svebor
Sveb Sep 11, 2025
12725ef
Update component list
austinblanchard Sep 11, 2025
b57f378
Creates Iiif media viewer
Sveb Sep 11, 2025
202ef87
Merge branch 'UCLALibrary:main' into main
lux-v Sep 11, 2025
690b044
Clarify CTAHexButton entry in COMPONENTS.md
lux-v Sep 11, 2025
3fe1723
Update COMPONENTS.md to remove and modify components
Sveb Sep 12, 2025
daf45e8
Merge remote-tracking branch 'upstream/main'
Sveb Sep 15, 2025
6bc549e
Update component status and ownership in COMPONENTS.md
Sveb Sep 15, 2025
f570d75
Update component ownership in COMPONENTS.md
Sveb Sep 15, 2025
5a8fab1
Merge branch 'UCLALibrary:main' into main
lux-v Sep 16, 2025
d902719
Merge branch 'UCLALibrary:main' into main
lux-v Sep 18, 2025
9dc1550
Merge remote-tracking branch 'upstream/main'
Sveb Sep 22, 2025
fb48e3b
Merge branch 'UCLALibrary:main' into main
lux-v Sep 22, 2025
d660e03
Merge remote-tracking branch 'upstream/main'
Sveb Sep 25, 2025
e8a0500
Merge branch 'UCLALibrary:main' into main
lux-v Sep 29, 2025
50aeb69
Merge branch 'UCLALibrary:main' into main
lux-v Oct 1, 2025
c8f5fbb
Merge branch 'UCLALibrary:main' into main
lux-v Oct 2, 2025
cdea736
Merge remote-tracking branch 'upstream/main'
Sveb Oct 2, 2025
26a60ed
Merge branch 'UCLALibrary:main' into main
lux-v Oct 3, 2025
a214856
Merge branch 'UCLALibrary:main' into main
lux-v Oct 9, 2025
78b03ee
Merge branch 'UCLALibrary:main' into main
lux-v Oct 10, 2025
84c0b0a
Merge branch 'UCLALibrary:main' into main
lux-v Oct 16, 2025
db8bcf4
Merge remote-tracking branch 'upstream/main'
Sveb Oct 17, 2025
9778bff
Merge branch 'UCLALibrary:main' into main
lux-v Oct 20, 2025
5ad9942
Merge branch 'UCLALibrary:main' into main
lux-v Oct 20, 2025
b4107a3
Merge remote-tracking branch 'upstream/main'
Sveb Oct 21, 2025
e7d90fb
Merge branch 'main' into DetailMedia
Sveb Oct 21, 2025
f7150c0
Merge branch 'main' into DetailMedia
Sveb Oct 21, 2025
295d789
fix linting errros
Sveb Oct 21, 2025
734608f
Merge branch 'DetailMedia' of https://github.com/Sveb/ucla-library-we…
Sveb Oct 21, 2025
4fce824
Merge branch 'UCLALibrary:main' into main
lux-v Oct 21, 2025
c3f3d33
Update package.json
Sveb Oct 21, 2025
2d1ab0e
Merge branch 'UCLALibrary:main' into main
lux-v Oct 22, 2025
862aa09
Merge branch 'main' into DetailMedia
pghorpade Oct 22, 2025
ecd2861
Merge branch 'UCLALibrary:main' into main
lux-v Oct 23, 2025
5f2ac34
Merge branch 'UCLALibrary:main' into main
lux-v Oct 24, 2025
0b92df0
Merge branch 'UCLALibrary:main' into main
lux-v Oct 27, 2025
5d98dbc
Merge branch 'UCLALibrary:main' into main
lux-v Oct 27, 2025
c9e0a15
Merge branch 'UCLALibrary:main' into main
lux-v Oct 28, 2025
97d98e3
Merge remote-tracking branch 'upstream/main'
Sveb Oct 28, 2025
8e2b89c
Merge branch 'UCLALibrary:main' into main
lux-v Oct 30, 2025
da5c0a1
Merge remote-tracking branch 'upstream/main'
Sveb Oct 30, 2025
98377e1
Merge branch 'main' into DetailMedia
pghorpade Oct 31, 2025
39bd84b
Delete NOTES.md
Sveb Nov 3, 2025
ac16d83
Merge branch 'main' into DetailMedia
Sveb Nov 3, 2025
97fd9b5
uses UCLA's existing viewer app to create a component version of it.
Sveb Nov 3, 2025
e18d140
Merge branch 'main' into DetailMedia
Sveb Nov 3, 2025
494abec
run lint fix
Sveb Nov 3, 2025
b1a4fb5
Merge branch 'DetailMedia' of https://github.com/Sveb/ucla-library-we…
Sveb Nov 3, 2025
d7a6ac7
Merge branch 'main' into DetailMedia
pghorpade Nov 4, 2025
bdf3bd0
Merge branch 'main' into DetailMedia
Sveb Nov 6, 2025
398f869
delete old component files
Sveb Nov 6, 2025
aa3be68
Merge branch 'DetailMedia' of https://github.com/Sveb/ucla-library-we…
Sveb Nov 6, 2025
4045f18
fix: Update DLViewer.stories.ts
Sveb Nov 6, 2025
0927bb2
Update index.ts
Sveb Nov 6, 2025
ffbec11
fix: update the path for the cypress test
Sveb Nov 6, 2025
f42806b
chore: delete unused file
Sveb Nov 6, 2025
4a84467
Merge branch 'main' into DetailMedia
pghorpade Nov 7, 2025
19930bb
Merge branch 'main' into DetailMedia
pghorpade Nov 7, 2025
16d23d1
Merge branch 'main' into DetailMedia
pghorpade Nov 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
<script>
export default {
name: 'AuthFirefoxModal',
props: {
title: {
type: String,
required: true,
},
message: {
type: String,
required: true,
},
},
data() {
return {
show: true,
collapsed: true,
}
},
methods: {
closeModal() {
this.show = false
},
toggleCollapse() {
this.collapsed = !this.collapsed
},
},
}
</script>

<template>
<div
v-if="show"
class="modal-overlay"
>
<div class="modal">
<div class="close-container">
<button
class="close-button"
@click="closeModal"
>
<svg
class="close-icon"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
>
<path
d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
/>
</svg>
</button>
</div>
<h3 class="modal-title">
{{ title }}
</h3>

<button
class="collapse-button"
@click="toggleCollapse"
>
<div class="collapse-button-content">
<svg
class="collapse-icon"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
>
<path
v-if="collapsed"
d="M10 17l5-5-5-5v10z"
/>
<path
v-else
d="M12 7l5 5-5 5V7z"
/>
</svg>
<span
v-if="collapsed"
class="collapse-text"
>Open details</span>
<span
v-else
class="collapse-text"
>Close details</span>
</div>
</button>
<div v-if="!collapsed">
<div
class="detail-text"
v-html="message"
/>
</div>
</div>
</div>
</template>

<style>
.modal-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
align-items: center;
justify-content: center;
}

.modal {
background-color: white;
padding: 20px;
border-radius: 5px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
width: 60%;
}

.modal-title {
font-size: 1.25rem;
}

@media (max-width: 1024px) {
.modal-overlay {
margin: 10px;
}

.modal {
width: 60%;
margin: 10px;
padding: 10px;
}

.modal-title {
font-size: 1rem;
}

.detail-text {
font-size: 13px;
}
}

@media (max-width: 750px) {
.modal {
width: 60%;
margin: 10px;
padding: 10px;
}

.modal-title {
font-size: 0.95rem;
}

.detail-text {
font-size: 12px;
}
}

.collapse-button {
margin-bottom: 10px;
background: none;
border: none;
cursor: pointer;
}

.collapse-button-content {
display: flex;
align-items: center;
}

.collapse-icon {
width: 24px;
height: 24px;
fill: currentColor;
margin-right: 5px;
}

.collapse-text {
font-size: 14px;
color: #777;
}

.close-container {
float: right;
}

.close-button {
top: 10px;
left: 10px;
background: none;
border: none;
cursor: pointer;
}

.close-icon {
width: 16px;
height: 24px;
fill: currentColor;
}
</style>
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<script>
export default {
name: 'ImageTag',
props: {
options: {
// { src: [...] }
type: Object,
required: true,
},
},
}
</script>

<template>
<img
v-if="options.src"
v-bind="options"
class="image-tag"
>
<div
v-else
class="image-tag"
>
<!-- CSS Placeholder w/o broken image icon -->
</div>
</template>

<style>
.image-tag {
width: 100%;
height: 100%;

object-fit: contain;
background-color: black;
}
</style>
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<script>
export default {
props: {
options: {
type: Object,
required: true,
},
},
computed: {
iframe_target_url() {
const baseUrl = this.options?.viewerBaseUrl || ''
const manifestUrl = this.options?.iiif_manifest_url

if (manifestUrl) {
// Construct viewer URL with manifest parameter
return `${baseUrl}/mirador3.html?manifest=${encodeURIComponent(manifestUrl)}`
}

// Fallback: try to get manifest from current page URL
const fixed_url = new URL(window.location.toString().replace('#?', '?'))
const manifestParam = fixed_url.searchParams.get('manifest')

if (manifestParam)
return `${baseUrl}/mirador3.html?manifest=${encodeURIComponent(manifestParam)}`

return `${baseUrl}/mirador3.html${fixed_url.search}`
},
},
}
</script>

<template>
<iframe
id="mirador-iframe"
class="mirador"
:src="iframe_target_url"
allowfullscreen
frameborder="0"
/>
</template>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.mirador {
width: 100%;
height: 100%;
}
</style>
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<script>
export default {
props: {
options: {
type: Object,
required: true,
},
},
computed: {
iframe_target_url() {
const baseUrl = this.options?.viewerBaseUrl || 'https://p-w-dl-viewer01.library.ucla.edu'
const manifestUrl = this.options?.iiif_manifest_url

if (manifestUrl) {
// Construct viewer URL with manifest parameter
return `${baseUrl}/palimpsest/viewer.html?manifest=${encodeURIComponent(manifestUrl)}`
}

// Fallback: try to get manifest from current page URL
const fixed_url = new URL(window.location.toString().replace('#?', '?'))
const manifestParam = fixed_url.searchParams.get('manifest')

if (manifestParam)
return `${baseUrl}/palimpsest/viewer.html?manifest=${encodeURIComponent(manifestParam)}`

return `${baseUrl}/palimpsest/viewer.html${fixed_url.search}`
},
},
}
</script>

<template>
<iframe
id="mirador-iframe"
class="mirador"
:src="iframe_target_url"
allowfullscreen
frameborder="0"
/>
</template>

<style scoped>
.mirador {
width: 100%;
height: 100%;
}
</style>
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<script>
export default {
props: {
options: {
type: Object,
required: true,
},
},
computed: {
iframe_target_url() {
const baseUrl = this.options?.viewerBaseUrl || ''
const manifestUrl = this.options?.iiif_manifest_url

if (manifestUrl) {
// Construct viewer URL with manifest parameter
return `${baseUrl}/uv.html#?manifest=${encodeURIComponent(manifestUrl)}`
}

// Fallback: try to get manifest from current page URL
const fixed_url = new URL(window.location.toString().replace('#?', '?'))
const manifestParam = fixed_url.searchParams.get('manifest')

if (manifestParam)
return `${baseUrl}/uv.html#?manifest=${encodeURIComponent(manifestParam)}`

return `${baseUrl}/uv.html${fixed_url.search}`
},
},
}
</script>

<template>
<iframe
id="universalviewer-iframe"
class="universalviewer"
:src="iframe_target_url"
allowfullscreen
frameborder="0"
/>
</template>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.universalviewer {

width: 100%;
height: 100%;
}
</style>
Loading