UNPKG

ebt-vue3

Version:

Vue3 Library for SuttaCentral Voice EBT-Sites

841 lines (812 loc) • 16 kB
/****************** CORE CSS (BEGIN) *********************/ @font-face { font-family: "SourceSansPro"; font-weight: 400; font-style: normal; font-display: auto; unicode-range: U+000-5FF; src: local("SourceSansPro"), url("/fonts/SourceSansPro/SourceSansPro-Regular.woff2") format("woff2"), url("/fonts/SourceSansPro/SourceSansPro-Regular.woff") format("woff"); } :root { --focus-color: rgb(206, 132, 0); --focus-border: 2pt dashed; --ebt-sc-sans-font: "Skolar Sans PE", "Noto Sans", sans-serif; --ebt-sc-serif-font: "Skolar PE", "Noto Serif", "Skolar Sans PE", "Noto Sans", serif; } div.v-theme--light { --v-high-emphasis-opacity: 1; } div.v-theme--dark { --v-high-emphasis-opacity: 1; } .v-btn:hover { color: rgb(var(--v-theme-link)); } .v-btn:focus-within { border: var(--focus-border) var(--focus-color); border-radius: 8pt; color: rgb(var(--v-theme-link)); } .v-btn--icon:focus-within { border: var(--focus-border) var(--focus-color); border-radius: 8pt; } .v-btn__overlay { background-color: rgba(0,0,0,0); } .v-expansion-panel { border: 2pt dashed rgb(0,0,0,0); } .v-expansion-panel-title:focus { border: 2pt dashed var(--focus-color); border-radius: 0.5em; } .v-input:focus-within { outline: 2pt dashed var(--focus-color); outline-offset: 2pt; } a { color: rgb(var(--v-theme-on-surface)); text-decoration: none; font-weight: 500; } .ebt-card:hover a { color: rgb(var(--v-theme-link)); } a:hover { color: rgb(var(--v-theme-link)); text-decoration: underline; } a > img:hover { border: 2px solid rgb(var(--v-theme-link)); } a .ebt-thumbnail:hover { border: 2px solid rgb(var(--v-theme-link)); } a:focus, a:focus div { color: rgb(var(--v-theme-link)); outline: 2pt dashed rgba(var(--v-theme-link),0.5); } .scv-matched { color: rgb(var(--v-theme-matched)); font-weight: 600; } a.scv-matched { color: green; } .debug { color: aqua; } .debug:hover { color: red; } .ebt-example { font-weight: 600; color: rgb(var(--v-theme-example)); } .ebt-example:hover { text-decoration: underline; cursor: zoom-in; } .v-enter-active, .v-leave-active { transition: opacity 0.5s ease; } .v-enter-from, .v-leave-to { opacity: 0; } .ebt-menu .v-list { border: 2pt solid rgba(var(--v-theme-menu), 0.4); } .ebt-menu .v-list-item:hover { color: rgb(var(--v-theme-menu)); } .ebt-icon-btn { margin: 0; margin-left:2px; margin-right:2px; border-radius:5px; border: none; font-size: 24px ; min-height: 1.7em !important; min-width: 1.7em !important; } .ebt-icon-btn svg { bottom: 0em !important; } .ebt-icon-btn:focus, .ebt-icon-btn:hover { outline: 2px solid rgb(var(--v-theme-link)); } .TBDtheme--dark.ebt-icon-btn:focus-within, .TBDtheme--dark.ebt-icon-btn:hover { outline: 2px solid var(--ebt-focus-color-dark); background-color: var(--ebt-focus-background-color-dark); } .TBDtheme--dark.ebt-icon-btn:focus-within svg, .TBDtheme--dark.ebt-icon-btn:hover svg{ color: var(--ebt-focus-color-dark); background-color: var(--ebt-focus-background-color-dark); } .ebt-wiki { padding: 1em; padding-bottom: 2em; font-size: 107%; } .ebt-wiki li { margin-left: 1.8em; margin-top: 0.15em; margin-bottom: 0.15em; } .ebt-wiki p { padding-top: 0.2em; padding-bottom: 0.2em; max-width: calc(min(100vw - 30px, 700px)); } .ebt-wiki h1,h2 { padding-top: 0.9em; padding-bottom: 0.2em; } .ebt-wiki h3 { padding-top: 0.7em; padding-bottom: 0.1em; } .ebt-wiki h4,h5,h6 { padding-top: 0.5em; } .ebt-wiki h1 { font-size: 1.2em !important; } .ebt-wiki td { vertical-align: top; padding-right: 0.2em; padding-bottom: 0.1em; } .ebt-wiki th { border-bottom: 1pt solid grey; } .ebt-wiki details { padding-left: 1em; } .ebt-wiki details:focus-within { outline: 1pt dashed rgb(var(--v-theme-link)); } .ebt-wiki summary { margin-left: -0.5em; font-weight: 700; padding-top: 0.3em; padding-bottom: 0.3em; } .ebt-wiki summary { outline: none; } .ebt-wiki-heading { display: flex; flex-flow: row wrap; align-items: flex-start; } .ebt-wiki-heading img { height: 150px; border-top-left-radius: 0.5em; } .ebt-wiki-heading-text { margin-left: 1em; display: flex; flex-flow: column; } .ebt-wiki-description { padding-top: 0em; padding-bottom: 0.5em; font-size: 90%; font-style: italic; } .ebt-wiki-breadcrumbs { font-weight: 500; } .ebt-image { outline: 1px solid rgba(127,127,255, 0.8); border: 3px solid rgba(127,127,255, 0.2); border-radius: 5px; } .ebt-toc { margin: 1em; } .ebt-toc-item { display: flex; flex-flow: row wrap; align-items: flex-start; margin-top: 0.6em; border-top: 1pt solid gray; border-top-left-radius: 0.5em; } .ebt-toc-category { margin-top: 1em; margin-left: -0.8em; } .ebt-toc-item-text { font-size: .93em; margin-top: 0.3em; margin-left: 1em; } a:focus-within > .ebt-toc-item-title { padding: 1pt; outline: 1pt dashed rgb(var(--v-theme-link)); } .ebt-toc-detail summary { font-size: .93em; } .ebt-toc-detail ul { font-size: .93em; padding-left: 1em; font-weight: 400; } .ebt-thumbnail { height: 4em; width: 5em; overflow: hidden; border-top-left-radius: 0.5em; } .ebt-thumbnail img { height: 4.5em; } blockquote { border-left: 3px solid grey; padding-left: 0.5em; } .footnotes { padding-top: 8em; } .footnotes-body { padding: 1em; } .footnotes-title { text-decoration: overline; opacity: 0.5; width: fit-content; } .footnotes:focus-within .footnotes-body { outline: 2pt dashed rgb(var(--v-theme-link)); } .footnotes:focus { outline: none !important; border: none !important; } code { background-color: rgba(var(--v-theme-on-surface), 0.2); } .v-spacer { flex-grow: 1; } .card-top-anchor { font-size: 12px; position: relative; overflow: hidden; border-left: 1pt solid rgb(0,0,0,0); width: 1px; height: 118px; top: 0em; } .card-top-anchor-debug { color: rgba(var(--v-theme-debug), 1); width: 100%; } .card-title { overflow: hidden; text-overflow: ellipsis; } .card-title-anchor { position: relative; } .card-icon { opacity: 0.5; margin-right: 0.2em; } .ebt-card { background: rgb(var(--v-theme-surface)) !important; margin-left: 2px; margin-right: 1em; border-radius: 4px; } .ebt-card-current { -webkit-box-shadow:0px 0px 3px 3px rgba(var(--v-theme-focus), 0.5); -moz-box-shadow: 0px 0px 3px 3px 1px rgba(var(--v-theme-focus), 0.5); box-shadow: 0px 0px 3px 3px rgba(var(--v-theme-focus), 0.5); } .ebt-card > .v-card { opacity: 0.8 !important; } .ebt-card:hover > .v-card { opacity: 1 !important; } .ebt-card-current > .v-card--variant-flat { opacity: 1 !important; } .ebt-card-search { max-width: 600px; min-height: calc(min(100vh - 50px, 500px)); } .v-card-text { min-width: 20em; } .close-item { cursor: pointer; } .close-item:hover { color: rgb(var(--v-theme-link)); } .card-sheet { background: rgba(0,0,0,0); } .card-sheet-closed { display: none; } .last-tab { display: flex; opacity: 0.0; justify-content: center; cursor: pointer; height: 1px; } .last-tab:focus { outline: 1pt solid green; } .pali-panel-title { max-height: 48px; background: linear-gradient(160deg, rgb(var(--v-theme-currentbg)), rgb(var(--v-theme-toolbar)) ) !important; } .pali-panel-title-text { max-width: 100%; } .pali-group { margin-top: 0.4em; max-width: 35em; } .tooltip-button { padding: 0px; } .dpd-raw { opacity: 0.6; } .dpd-lit { text-style: italic; } .dpd-tooltip { color: white !important; background-color: black !important; border: 1pt solid rgba(255,255,255,0.4); } .dpd-cartouche { display: inline-block; color: white; text-transform: none; max-width: 23em; hyphens: manual; border-left: solid 1px gray; border-top: solid 1px gray; background: linear-gradient(1600deg, rgba(255,255,255,0.3), rgba(255,255,255,0.1) ) !important; border-radius: 6px; padding-top: 0px; padding-left: 3px; padding-right: 6px; margin-right: 2px; } .dpd-grammar { display: inline-block; opacity: 0.8; font-style: italic; margin-left: 0.2em; } div[title]:hover::before { content: attr(title); background-color: #000000; color: #ffffff; padding: 5px; border-radius: 5px; position: absolute; z-index: 1; } .dpd-link { display: flex; justify-content: center; margin-top: 1em; } .dpd-link div { border-top: 1px solid rgba(255,255,255,0.1); text-align: center; padding-left: 0.7em; padding-right: 0.7em; } /******************** CORE CSS (END) ********************/ /**************** Search Results (BEGIN) ***************/ .result-title { display: flex; flex-flow: row wrap; align-items: baseline; min-width: 220px; max-width: 40em; justify-content: space-between; } .result-title-main { display: flex; flex-flow: row nowrap; min-width: 210px; max-width: 30em; justify-content: space-between; margin-top: 0.2rem; margin-bottom: 0.3rem; margin-left: 1rem; } .result-subtitle { margin-left: 1rem; margin-right: 0.3rem; margin-bottom: 0.3rem; text-align: right; font-size: small; font-style: italic; width: 270px; } .result-title-body { margin-right: 10px; height: 1.25em; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-weight: 600; } .result-title-stats { } .result-expansion { border-left: 3pt solid rgb(var(--v-theme-expansion)); margin-top: 2pt; } .result-title-number { position: absolute; font-size: 140%; text-align: right; top: 0.35em; left: 0rem; width: 1.3em; opacity: 0.4; } .result-blurb { font-style: italic; padding-bottom: 0.2em; cursor: pointer; margin-left: 1em; } .result-quote { display: inline-block; margin-left: 0.3em; } .result-segment { margin-left: 1em; } .result-scid { opacity: 0.5; font-size: 80%; padding-right: 0.5em; } .result:hover .result-scid { opacity: 1.0; } .result a, .ebt-card:hover .result a { font-weight: 400; } .result-sutta:hover .result-title-main { text-decoration: underline; text-decoration-color: rgb(var(--v-theme-matched)); } :is( .result a, .ebt-card:hover .result a ){ color: rgb(var(--v-theme-on-surface)); } :is( .ebt-card:hover .result:hover .scv-matched, .ebt-card:hover .result:hover a ){ color: rgb(var(--v-theme-link)); } /************** SearchResults (END) *************/ /************** EbtCards (BEGIN) ***************/ .ebt-cards { display: flex; flex-flow: row wrap; justify-content: center; min-height: 50em; padding-bottom: calc(80vw); } .ebt-cards1 { background-color: rgb(var(--v-theme-surface)) !important; } .play-col { display: flex; flex-flow: column nowrap; } .play-row { display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: center; opacity: 1; } .play-row button { padding: 0; min-width: 48px; max-width: 54px; } .play-scid { display: flex; flex-flow: column; align-items: center; font-family: var(--ebt-sc-sans-font); font-size: larger; font-weight: 600; margin-left: 0.5rem; margin-right: 0.5rem; } .progressTime { font-weight: 400; } .ebt-card-wiki { max-width: calc(min(45em,100vw - 10px)); min-height: calc(min(100vh - 30px, 600px)); } .ebt-cards1 .ebt-card-wiki { max-width: calc(min(50em,100vw - 10px)); } /************** EbtCards (END) ***************/ /************** SegmentView (BEGIN) ***************/ .seg-footer { font-size: smaller; padding-top: 1em; } .seg-match { display: flex; border-left: 2pt solid rgba(0,0,0,0); } .seg-matched { border-left-color: rgba(var(--v-theme-link), 0.5); } .seg-id-col { flex-flow: column; } .seg-id-row { flex-flow: row; } .seg-id { font-size: x-small; margin-left: 10px; color: rgba(var(--v-theme-on-surface), 0.6); } .seg-id-col .seg-id { margin-left: 5px; } .seg-text { display: flex; flex-flow: row wrap; justify-content: flex-start; opacity: 0.85; line-height: 1.5; } .seg-text-1col { flex-flow: column; max-width: calc(min(100vw - 30px, 600px)); } .seg-lang { margin-bottom: 0.8em; margin-left: 10px; } .seg-root { font-style: italic; font-family: var(--ebt-sc-sans-font); } .seg-trans { font-family: var(--ebt-sc-sans-font); } .seg-ref { font-family: var(--ebt-sc-serif-font); font-size: 100%; } .seg-lang-1col-sm { width: calc(100svw-30px); } .seg-lang-1col-lg.seg-root, .seg-lang-1col-sm.seg-root { padding-left: 0px; } .seg-lang-1col-lg.seg-trans, .seg-lang-1col-sm.seg-trans { padding-left: 1.2em; background: linear-gradient(90deg, rgba(var(--v-theme-on-surface),0.1), rgba(0,0,0,0) 40% ); } .seg-lang-1col-lg.seg-ref, .seg-lang-1col-sm.seg-ref { padding-left: 0px; font-size: 107%; } .seg-lang-1col-lg { width: calc(min(100vw - 30px, 500px)); padding-left: 1em; } .seg-lang-2col-sm { width: 300px; } .seg-lang-2col-lg { width: calc(min(45vw - 30px, 330px)); } .seg-lang-3col-sm { width: calc(30svw); } .seg-lang-3col-lg { width: 350px; } .seg-anchor { position: relative; font-size: 10px; top: -110px; height: 1px; } .seg-current { background-color: rgba(var(--v-theme-currentbg),1); border-radius: 5px; } .seg-current .seg-text { opacity: 1; font-size: larger; } .seg-audio { border: 2px dashed rgba(var(--v-theme-link), 1); } .seg-audio .ebt-example:hover { text-decoration: underline; cursor: pointer; } .empty-text { color: #888; padding-left: 1em; padding-right: 1em; } .seg-body { } .seg-body:focus { border: 2px dotted rgba(var(--v-theme-matched), 1); } .segment-menu { display: flex; justify-content: flex-end; align-items: flex-end; } .pli-word:hover { color: rgb(var(--v-theme-link)); } .pli-summary { padding: 0.5em; padding-top: 3px; padding-left: 1em; min-height: 3em; width: 340px; background-color: rgb(var(--v-theme-currentbg)); border-bottom-left-radius: 1em; border-bottom-right-radius: 1em; border-left: 1px solid rgba(var(--v-theme-focus), 0.8); } .pli-summary-link { display: inline-block; margin-right: 1em; } .pli-summary-item { display: inline-block; margin-right: 0.3em; } /************** SegmentView (END) ***************/ /************** SuttaView (BEGIN) ***************/ .sutta { outline: none; } .sutta:focus { } .sutta-1col { max-width: calc(min(100vw - 30px, 70em)); } .sutta-2col { max-width: 60em; } .sutta-3col { max-width: 100em; } .sutta-title { display: flex; flex-flow: column; align-items: center; font-family: var(--ebt-sc-sans-font); font-size: larger; font-weight: 600; line-height: 1.5em; margin-bottom: 1em; } .sutta-title div:first-child { font-size: smaller; font-weight: 400; } .tipitaka-nav { display: flex; justify-content: space-between; align-items: baseline; opacity: 0.4; margin-bottom: 0.5rem; } .tipitaka-nav:focus-within, .tipitaka-nav:hover { opacity: 1; } /******************* SuttaVeew (END) ***********************/ /* * Accessible desktop (green) */ @media (max-width: 1300px) { .ebt-wiki-heading img { height: 80px; } .ebt-wiki-heading-text { /* color: green !important; /* DEBUG */ } .ebt-card-wiki { max-width: calc(35vw - 10px); } .ebt-cards1 .ebt-card-wiki { max-width: calc(min(40em,100vw - 10px)); } .ebt-card-search { max-width: calc(45vw - 10px); } } /* * Mobile large (yellow) */ @media (max-width: 1100px) { .ebt-wiki-heading img { height: 55px; } .ebt-wiki-heading-text { /* color: yellow !important; /* DEBUG */ } .ebt-card { max-width: calc(100vw - 10px); margin-right: 2px; } .ebt-card-search { max-width: calc(100vw - 10px); } } /* * Mobile small (red) */ @media (max-width: 600px) { .ebt-wiki-heading img { height: 55px; } .ebt-wiki-heading-text { /* color: red !important; /* DEBUG */ } .v-app-bar-title { min-width: calc(50vw); } .ebt-card { max-width: calc(100vw - 10px); margin-right: 2px; } }