{ "version": 3, "sources": ["src/app/book-reader/_models/book-black-theme.ts", "src/app/book-reader/_models/book-dark-theme.ts", "src/app/book-reader/_models/book-white-theme.ts", "src/app/book-reader/_models/book-paper-theme.ts", "src/app/book-reader/_components/reader-settings/reader-settings.component.ts", "src/app/book-reader/_components/reader-settings/reader-settings.component.html"], "sourcesContent": ["// Important note about themes. Must have one section with .reader-container that contains color, background-color and rest of the styles must be scoped to .book-content\nexport const BookBlackTheme = `\n:root .brtheme-black {\n /* General */\n --color-scheme: dark;\n --bs-body-color: black;\n --hr-color: rgba(239, 239, 239, 0.125);\n --accent-bg-color: rgba(1, 4, 9, 0.5);\n --accent-text-color: lightgrey;\n --body-text-color: #efefef;\n --btn-icon-filter: invert(1) grayscale(100%) brightness(200%);\n\n /* Drawer */\n --drawer-bg-color: #292929;\n --drawer-text-color: white;\n --drawer-pagination-horizontal-rule: inset 0 -1px 0 rgb(255 255 255 / 20%);\n --drawer-pagination-border: 1px solid rgb(0 0 0 / 13%);\n \n\n /* Accordion */\n --accordion-header-text-color: rgba(74, 198, 148, 0.9);\n --accordion-header-bg-color: rgba(52, 60, 70, 0.5);\n --accordion-body-bg-color: #292929;\n --accordion-body-border-color: rgba(239, 239, 239, 0.125);\n --accordion-body-text-color: var(--body-text-color);\n --accordion-header-collapsed-text-color: rgba(74, 198, 148, 0.9);\n --accordion-header-collapsed-bg-color: #292929;\n --accordion-button-focus-border-color: unset;\n --accordion-button-focus-box-shadow: unset;\n --accordion-active-body-bg-color: #292929;\n\n /* Buttons */\n --btn-focus-boxshadow-color: rgb(255 255 255 / 50%);\n --btn-primary-text-color: white;\n --btn-primary-bg-color: var(--primary-color);\n --btn-primary-border-color: var(--primary-color);\n --btn-primary-hover-text-color: white;\n --btn-primary-hover-bg-color: var(--primary-color-darker-shade);\n --btn-primary-hover-border-color: var(--primary-color-darker-shade);\n --btn-alt-bg-color: #424c72;\n --btn-alt-border-color: #444f75;\n --btn-alt-hover-bg-color: #3b4466;\n --btn-alt-focus-bg-color: #343c59;\n --btn-alt-focus-boxshadow-color: rgb(255 255 255 / 50%);\n --btn-fa-icon-color: white;\n --btn-disabled-bg-color: #343a40;\n --btn-disabled-text-color: white;\n --btn-disabled-border-color: #6c757d;\n\n /* Inputs */\n --input-bg-color: #343a40;\n --input-bg-readonly-color: #434648;\n --input-focused-border-color: #ccc;\n --input-text-color: #fff;\n --input-placeholder-color: #aeaeae;\n --input-border-color: #ccc;\n --input-focus-boxshadow-color: rgb(255 255 255 / 50%);\n\n /* Nav (Tabs) */\n --nav-tab-border-color: rgba(44, 118, 88, 0.7);\n --nav-tab-text-color: var(--body-text-color);\n --nav-tab-bg-color: var(--primary-color);\n --nav-tab-hover-border-color: var(--primary-color);\n --nav-tab-active-text-color: white;\n --nav-tab-border-hover-color: transparent;\n --nav-tab-hover-text-color: var(--body-text-color);\n --nav-tab-hover-bg-color: transparent;\n --nav-tab-border-top: rgba(44, 118, 88, 0.7);\n --nav-tab-border-left: rgba(44, 118, 88, 0.7);\n --nav-tab-border-bottom: rgba(44, 118, 88, 0.7);\n --nav-tab-border-right: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-top: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-left: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-bottom: var(--bs-body-bg);\n --nav-tab-hover-border-right: rgba(44, 118, 88, 0.7);\n --nav-tab-active-hover-bg-color: var(--primary-color);\n --nav-link-bg-color: var(--primary-color);\n --nav-link-active-text-color: white;\n --nav-link-text-color: white;\n\n\n\n /* Reading Bar */\n --br-actionbar-button-text-color: white;\n --br-actionbar-button-hover-border-color: #6c757d;\n --br-actionbar-bg-color: black;\n}\n\n\n\n.book-content *:not(input), .book-content *:not(select), .book-content *:not(code), .book-content *:not(:link), .book-content *:not(.ngx-toastr) {\n color: #dcdcdc !important;\n}\n\n.book-content code {\n color: #e83e8c !important;\n}\n\n.book-content :link, .book-content a {\n color: #8db2e5 !important;\n}\n\n.book-content img, .book-content img[src] {\nz-index: 1;\nfilter: brightness(0.85) !important;\nbackground-color: initial !important;\n}\n\n.reader-container {\n color: #dcdcdc !important;\n background-image: none !important;\n background-color: black !important;\n}\n\n.book-content *:not(code), .book-content *:not(a) {\n background-color: black;\n box-shadow: none;\n text-shadow: none;\n border-radius: unset;\n color: #dcdcdc !important;\n}\n \n.book-content :visited, .book-content :visited *, .book-content :visited *[class] {color: rgb(211, 138, 138) !important}\n.book-content :link:not(cite), :link .book-content *:not(cite) {color: #8db2e5 !important}\n`;", "// Important note about themes. Styles must be scoped to .book-content if not css variable overrides\nexport const BookDarkTheme = `\n:root .brtheme-dark {\n /* General */\n --color-scheme: dark;\n --bs-body-color: #292929;\n --hr-color: rgba(239, 239, 239, 0.125);\n --accent-bg-color: rgba(1, 4, 9, 0.5);\n --accent-text-color: lightgrey;\n --body-text-color: #efefef;\n --btn-icon-filter: invert(1) grayscale(100%) brightness(200%);\n\n /* Drawer */\n --drawer-bg-color: #292929;\n --drawer-text-color: white;\n --drawer-pagination-horizontal-rule: inset 0 -1px 0 rgb(255 255 255 / 20%);\n --drawer-pagination-border: 1px solid rgb(0 0 0 / 13%);\n\n /* Accordion */\n --accordion-header-text-color: rgba(74, 198, 148, 0.9);\n --accordion-header-bg-color: rgba(52, 60, 70, 0.5);\n --accordion-body-bg-color: #292929;\n --accordion-body-border-color: rgba(239, 239, 239, 0.125);\n --accordion-body-text-color: var(--body-text-color);\n --accordion-header-collapsed-text-color: rgba(74, 198, 148, 0.9);\n --accordion-header-collapsed-bg-color: #292929;\n --accordion-button-focus-border-color: unset;\n --accordion-button-focus-box-shadow: unset;\n --accordion-active-body-bg-color: #292929;\n\n /* Buttons */\n --btn-focus-boxshadow-color: rgb(255 255 255 / 50%);\n --btn-primary-text-color: white;\n --btn-primary-bg-color: var(--primary-color);\n --btn-primary-border-color: var(--primary-color);\n --btn-primary-hover-text-color: white;\n --btn-primary-hover-bg-color: var(--primary-color-darker-shade);\n --btn-primary-hover-border-color: var(--primary-color-darker-shade);\n --btn-alt-bg-color: #424c72;\n --btn-alt-border-color: #444f75;\n --btn-alt-hover-bg-color: #3b4466;\n --btn-alt-focus-bg-color: #343c59;\n --btn-alt-focus-boxshadow-color: rgb(255 255 255 / 50%);\n --btn-fa-icon-color: white;\n --btn-disabled-bg-color: #343a40;\n --btn-disabled-text-color: white;\n --btn-disabled-border-color: #6c757d;\n\n /* Inputs */\n --input-bg-color: #343a40;\n --input-bg-readonly-color: #434648;\n --input-focused-border-color: #ccc;\n --input-text-color: #fff;\n --input-placeholder-color: #aeaeae;\n --input-border-color: #ccc;\n --input-focus-boxshadow-color: rgb(255 255 255 / 50%);\n\n /* Nav (Tabs) */\n --nav-tab-border-color: rgba(44, 118, 88, 0.7);\n --nav-tab-text-color: var(--body-text-color);\n --nav-tab-bg-color: var(--primary-color);\n --nav-tab-hover-border-color: var(--primary-color);\n --nav-tab-active-text-color: white;\n --nav-tab-border-hover-color: transparent;\n --nav-tab-hover-text-color: var(--body-text-color);\n --nav-tab-hover-bg-color: transparent;\n --nav-tab-border-top: rgba(44, 118, 88, 0.7);\n --nav-tab-border-left: rgba(44, 118, 88, 0.7);\n --nav-tab-border-bottom: rgba(44, 118, 88, 0.7);\n --nav-tab-border-right: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-top: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-left: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-bottom: var(--bs-body-bg);\n --nav-tab-hover-border-right: rgba(44, 118, 88, 0.7);\n --nav-tab-active-hover-bg-color: var(--primary-color);\n --nav-link-bg-color: var(--primary-color);\n --nav-link-active-text-color: white;\n --nav-link-text-color: white;\n\n /* Checkboxes/Switch */\n --checkbox-checked-bg-color: var(--primary-color);\n --checkbox-border-color: var(--input-focused-border-color);\n --checkbox-focus-border-color: var(--primary-color);\n --checkbox-focus-boxshadow-color: rgb(255 255 255 / 50%);\n\n\n\n /* Reading Bar */\n --br-actionbar-button-text-color: white;\n --br-actionbar-button-hover-border-color: #6c757d;\n --br-actionbar-bg-color: black;\n \n}\n\n\n\n.book-content *:not(input), .book-content *:not(select), .book-content *:not(code), .book-content *:not(:link), .book-content *:not(.ngx-toastr) {\n color: #dcdcdc !important;\n}\n\n.book-content code {\n color: #e83e8c !important;\n}\n\n.book-content :link, .book-content a {\n color: #8db2e5 !important;\n}\n\n.book-content img, .book-content img[src] {\nz-index: 1;\nfilter: brightness(0.85) !important;\nbackground-color: initial !important;\n}\n\n.reader-container {\n color: #dcdcdc !important;\n background-image: none !important;\n background-color: #292929 !important;\n}\n\n.book-content *:not(code), .book-content *:not(a) {\n background-color: #292929;\n box-shadow: none;\n text-shadow: none;\n border-radius: unset;\n color: #dcdcdc !important;\n}\n \n.book-content :visited, .book-content :visited *, .book-content :visited *[class] {color: rgb(211, 138, 138) !important}\n.book-content :link:not(cite), :link .book-content *:not(cite) {color: #8db2e5 !important}\n\n`;", "// Important note about themes. Must have one section with .reader-container that contains color, background-color and rest of the styles must be scoped to .book-content\nexport const BookWhiteTheme = `\n :root .brtheme-white {\n --drawer-text-color: white;\n --br-actionbar-bg-color: white;\n --bs-btn-active-color: black;\n --progress-bg-color: rgb(222, 226, 230);\n\n /* General */\n --color-scheme: light;\n --bs-body-color: black;\n --hr-color: rgba(239, 239, 239, 0.125);\n --accent-bg-color: rgba(1, 4, 9, 0.5);\n --accent-text-color: lightgrey;\n --body-text-color: black;\n --btn-icon-filter: invert(1) grayscale(100%) brightness(200%);\n\n /* Drawer */\n --drawer-bg-color: white;\n --drawer-text-color: black;\n --drawer-pagination-horizontal-rule: inset 0 -1px 0 rgb(255 255 255 / 20%);\n --drawer-pagination-border: 1px solid rgb(0 0 0 / 13%);\n\n\n /* Accordion */\n --accordion-header-text-color: rgba(74, 198, 148, 0.9);\n --accordion-header-bg-color: rgba(52, 60, 70, 0.5);\n --accordion-body-bg-color: white;\n --accordion-body-border-color: rgba(239, 239, 239, 0.125);\n --accordion-body-text-color: var(--body-text-color);\n --accordion-header-collapsed-text-color: rgba(74, 198, 148, 0.9);\n --accordion-header-collapsed-bg-color: white;\n --accordion-button-focus-border-color: unset;\n --accordion-button-focus-box-shadow: unset;\n --accordion-active-body-bg-color: white;\n\n /* Buttons */\n --btn-focus-boxshadow-color: rgb(255 255 255 / 50%);\n --btn-primary-text-color: white;\n --btn-primary-bg-color: var(--primary-color);\n --btn-primary-border-color: var(--primary-color);\n --btn-primary-hover-text-color: white;\n --btn-primary-hover-bg-color: var(--primary-color-darker-shade);\n --btn-primary-hover-border-color: var(--primary-color-darker-shade);\n --btn-alt-bg-color: #424c72;\n --btn-alt-border-color: #444f75;\n --btn-alt-hover-bg-color: #3b4466;\n --btn-alt-focus-bg-color: #343c59;\n --btn-alt-focus-boxshadow-color: rgb(255 255 255 / 50%);\n --btn-fa-icon-color: black;\n --btn-disabled-bg-color: #343a40;\n --btn-disabled-text-color: #efefef;\n --btn-disabled-border-color: #6c757d;\n\n /* Inputs */\n --input-bg-color: white;\n --input-bg-readonly-color: white;\n --input-focused-border-color: #ccc;\n --input-text-color: black;\n --input-placeholder-color: black;\n --input-border-color: #ccc;\n --input-focus-boxshadow-color: rgb(255 255 255 / 50%);\n\n /* Nav (Tabs) */\n --nav-tab-border-color: rgba(44, 118, 88, 0.7);\n --nav-tab-text-color: var(--body-text-color);\n --nav-tab-bg-color: var(--primary-color);\n --nav-tab-hover-border-color: var(--primary-color);\n --nav-tab-active-text-color: white;\n --nav-tab-border-hover-color: transparent;\n --nav-tab-hover-text-color: var(--body-text-color);\n --nav-tab-hover-bg-color: transparent;\n --nav-tab-border-top: rgba(44, 118, 88, 0.7);\n --nav-tab-border-left: rgba(44, 118, 88, 0.7);\n --nav-tab-border-bottom: rgba(44, 118, 88, 0.7);\n --nav-tab-border-right: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-top: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-left: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-bottom: var(--bs-body-bg);\n --nav-tab-hover-border-right: rgba(44, 118, 88, 0.7);\n --nav-tab-active-hover-bg-color: var(--primary-color);\n --nav-link-bg-color: var(--primary-color);\n --nav-link-active-text-color: white;\n --nav-link-text-color: white;\n\n\n\n /* Reading Bar */\n --br-actionbar-button-text-color: black;\n --br-actionbar-button-hover-border-color: #6c757d;\n --br-actionbar-bg-color: white;\n\n /* Drawer */\n --drawer-pagination-horizontal-rule: inset 0 -1px 0 rgb(0 0 0 / 13%);\n --drawer-pagination-border: 1px solid rgb(0 0 0 / 13%);\n}\n\n.reader-container {\n color: black !important;\n background-image: none !important;\n background-color: white !important;\n}\n\n\n.book-content *:not(input), .book-content *:not(select), .book-content *:not(code), .book-content *:not(:link), .book-content *:not(.ngx-toastr) {\n color: black !important;\n}\n\n.book-content code {\n color: #e83e8c !important;\n}\n\n.book-content :link, .book-content a {\n color: #8db2e5 !important;\n}\n\n.book-content img, .book-content img[src] {\nz-index: 1;\nfilter: brightness(0.85) !important;\nbackground-color: initial !important;\n}\n\n\n.book-content *:not(code), .book-content *:not(a) {\n background-color: white;\n box-shadow: none;\n text-shadow: none;\n border-radius: unset;\n color: #dcdcdc !important;\n}\n\n.book-content :visited, .book-content :visited *, .book-content :visited *[class] {color: rgb(240, 50, 50) !important}\n.book-content :link:not(cite), :link .book-content *:not(cite) {color: #00f !important}\n\n.btn-check:checked + .btn {\n color: white;\n background-color: var(--primary-color);\n}\n\n`;\n", "// Important note about themes. Must have one section with .reader-container that contains color, background-color and rest of the styles must be scoped to .book-content\nexport const BookPaperTheme = `\n :root .brtheme-paper {\n --drawer-text-color: white;\n --br-actionbar-bg-color: white;\n --bs-btn-active-color: black;\n --progress-bg-color: rgb(222, 226, 230);\n\n /* General */\n --color-scheme: light;\n --bs-body-color: black;\n --hr-color: rgba(239, 239, 239, 0.125);\n --accent-bg-color: rgba(1, 4, 9, 0.5);\n --accent-text-color: lightgrey;\n --body-text-color: black;\n --btn-icon-filter: invert(1) grayscale(100%) brightness(200%);\n\n /* Drawer */\n --drawer-bg-color: #F1E4D5;\n --drawer-text-color: black;\n --drawer-pagination-horizontal-rule: inset 0 -1px 0 rgb(255 255 255 / 20%);\n\n\n /* Accordion */\n --accordion-header-bg-color: rgba(52, 60, 70, 0.5);\n --accordion-body-bg-color: #F1E4D5;\n --accordion-body-border-color: rgba(239, 239, 239, 0.125);\n --accordion-body-text-color: var(--body-text-color);\n --accordion-header-collapsed-bg-color: #F1E4D5;\n --accordion-button-focus-border-color: unset;\n --accordion-button-focus-box-shadow: unset;\n --accordion-active-body-bg-color: #F1E4D5;\n\n /* Buttons */\n --btn-focus-boxshadow-color: rgb(255 255 255 / 50%);\n --btn-primary-text-color: white;\n --btn-primary-bg-color: var(--primary-color);\n --btn-primary-border-color: var(--primary-color);\n --btn-primary-hover-text-color: white;\n --btn-primary-hover-bg-color: var(--primary-color-darker-shade);\n --btn-primary-hover-border-color: var(--primary-color-darker-shade);\n --btn-alt-bg-color: #424c72;\n --btn-alt-border-color: #444f75;\n --btn-alt-hover-bg-color: #3b4466;\n --btn-alt-focus-bg-color: #343c59;\n --btn-alt-focus-boxshadow-color: rgb(255 255 255 / 50%);\n --btn-fa-icon-color: black;\n --btn-disabled-bg-color: #343a40;\n --btn-disabled-text-color: #efefef;\n --btn-disabled-border-color: #6c757d;\n\n /* Inputs */\n --input-bg-color: white;\n --input-bg-readonly-color: #F1E4D5;\n --input-focused-border-color: #ccc;\n --input-placeholder-color: black;\n --input-border-color: #ccc;\n --input-text-color: black;\n --input-focus-boxshadow-color: rgb(255 255 255 / 50%);\n\n /* Nav (Tabs) */\n --nav-tab-border-color: rgba(44, 118, 88, 0.7);\n --nav-tab-text-color: var(--body-text-color);\n --nav-tab-bg-color: var(--primary-color);\n --nav-tab-hover-border-color: var(--primary-color);\n --nav-tab-active-text-color: white;\n --nav-tab-border-hover-color: transparent;\n --nav-tab-hover-text-color: var(--body-text-color);\n --nav-tab-hover-bg-color: transparent;\n --nav-tab-border-top: rgba(44, 118, 88, 0.7);\n --nav-tab-border-left: rgba(44, 118, 88, 0.7);\n --nav-tab-border-bottom: rgba(44, 118, 88, 0.7);\n --nav-tab-border-right: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-top: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-left: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-bottom: var(--bs-body-bg);\n --nav-tab-hover-border-right: rgba(44, 118, 88, 0.7);\n --nav-tab-active-hover-bg-color: var(--primary-color);\n --nav-link-bg-color: var(--primary-color);\n --nav-link-active-text-color: white;\n --nav-link-text-color: white;\n\n /* Reading Bar */\n --br-actionbar-button-hover-border-color: #6c757d;\n --br-actionbar-bg-color: #F1E4D5;\n\n /* Drawer */\n --drawer-pagination-horizontal-rule: inset 0 -1px 0 rgb(0 0 0 / 13%);\n\n /* Custom variables */\n --theme-bg-color: #fff3c9;\n}\n\n.reader-container {\n color: black !important;\n background-color: var(--theme-bg-color) !important;\n background: url(\"assets/images/paper-bg.png\");\n}\n\n.book-content *:not(input), .book-content *:not(select), .book-content *:not(code), .book-content *:not(:link), .book-content *:not(.ngx-toastr) {\n color: var(--bs-body-color) !important;\n}\n\n.book-content code {\n color: #e83e8c !important;\n}\n\n// KDB has a reboot style so for lighter themes, this is needed\n.book-content kbd {\n background-color: transparent;\n}\n\n.book-content :link, .book-content a {\n color: #8db2e5 !important;\n}\n\n.book-content img, .book-content img[src] {\nz-index: 1;\nfilter: brightness(0.85) !important;\nbackground-color: initial !important;\n}\n\n\n.book-content *:not(code), .book-content *:not(a), .book-content *:not(kbd) {\n //background-color: #F1E4D5;\n box-shadow: none;\n text-shadow: none;\n border-radius: unset;\n color: #dcdcdc !important;\n}\n\n.book-content :visited, .book-content :visited *, .book-content :visited *[class] {color: rgb(240, 50, 50) !important}\n.book-content :link:not(cite), :link .book-content *:not(cite) {color: #00f !important}\n\n.btn-check:checked + .btn {\n color: white;\n background-color: var(--primary-color);\n}\n\n.reader-container.column-layout-2::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 50%;\n height: 100%;\n box-shadow: 0px 0px 34.38px 5px rgba(0, 0, 0, 0.43), 0px 0px 6.28px 2px rgba(0, 0, 0, 0.43), 0px 0px 15.7px 4px rgba(0, 0, 0, 0.43), 0px 0px 1.57px 0.3px rgba(0, 0, 0, 0.43);\n}\n\n`;\n", "import { DOCUMENT, NgFor, NgTemplateOutlet, NgIf, NgClass, NgStyle, TitleCasePipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, DestroyRef,\n EventEmitter,\n inject,\n Inject,\n OnInit,\n Output\n} from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { take } from 'rxjs';\nimport { BookPageLayoutMode } from 'src/app/_models/readers/book-page-layout-mode';\nimport { BookTheme } from 'src/app/_models/preferences/book-theme';\nimport { ReadingDirection } from 'src/app/_models/preferences/reading-direction';\nimport { WritingStyle } from 'src/app/_models/preferences/writing-style';\nimport { ThemeProvider } from 'src/app/_models/preferences/site-theme';\nimport { User } from 'src/app/_models/user';\nimport { AccountService } from 'src/app/_services/account.service';\nimport { ThemeService } from 'src/app/_services/theme.service';\nimport { FontFamily, BookService } from '../../_services/book.service';\nimport { BookBlackTheme } from '../../_models/book-black-theme';\nimport { BookDarkTheme } from '../../_models/book-dark-theme';\nimport { BookWhiteTheme } from '../../_models/book-white-theme';\nimport { BookPaperTheme } from '../../_models/book-paper-theme';\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport { NgbAccordionDirective, NgbAccordionItem, NgbAccordionHeader, NgbAccordionToggle, NgbAccordionButton, NgbCollapse, NgbAccordionCollapse, NgbAccordionBody, NgbTooltip } from '@ng-bootstrap/ng-bootstrap';\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n/**\n * Used for book reader. Do not use for other components\n */\nexport interface PageStyle {\n 'font-family': string;\n 'font-size': string;\n 'line-height': string;\n 'margin-left': string;\n 'margin-right': string;\n}\n\nexport const bookColorThemes = [\n {\n name: 'Dark',\n colorHash: '#292929',\n isDarkTheme: true,\n isDefault: true,\n provider: ThemeProvider.System,\n selector: 'brtheme-dark',\n content: BookDarkTheme,\n translationKey: 'theme-dark'\n },\n {\n name: 'Black',\n colorHash: '#000000',\n isDarkTheme: true,\n isDefault: false,\n provider: ThemeProvider.System,\n selector: 'brtheme-black',\n content: BookBlackTheme,\n translationKey: 'theme-black'\n },\n {\n name: 'White',\n colorHash: '#FFFFFF',\n isDarkTheme: false,\n isDefault: false,\n provider: ThemeProvider.System,\n selector: 'brtheme-white',\n content: BookWhiteTheme,\n translationKey: 'theme-white'\n },\n {\n name: 'Paper',\n colorHash: '#F1E4D5',\n isDarkTheme: false,\n isDefault: false,\n provider: ThemeProvider.System,\n selector: 'brtheme-paper',\n content: BookPaperTheme,\n translationKey: 'theme-paper'\n },\n];\n\nconst mobileBreakpointMarginOverride = 700;\n\n@Component({\n selector: 'app-reader-settings',\n templateUrl: './reader-settings.component.html',\n styleUrls: ['./reader-settings.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ReactiveFormsModule, NgbAccordionDirective, NgbAccordionItem, NgbAccordionHeader, NgbAccordionToggle, NgbAccordionButton, NgbCollapse, NgbAccordionCollapse, NgbAccordionBody, NgFor, NgbTooltip, NgTemplateOutlet, NgIf, NgClass, NgStyle, TitleCasePipe, TranslocoDirective]\n})\nexport class ReaderSettingsComponent implements OnInit {\n /**\n * Outputs when clickToPaginate is changed\n */\n @Output() clickToPaginateChanged: EventEmitter = new EventEmitter();\n /**\n * Outputs when a style is updated and the reader needs to render it\n */\n @Output() styleUpdate: EventEmitter = new EventEmitter();\n /**\n * Outputs when a theme/dark mode is updated\n */\n @Output() colorThemeUpdate: EventEmitter = new EventEmitter();\n /**\n * Outputs when a layout mode is updated\n */\n @Output() layoutModeUpdate: EventEmitter = new EventEmitter();\n /**\n * Outputs when fullscreen is toggled\n */\n @Output() fullscreen: EventEmitter = new EventEmitter();\n /**\n * Outputs when reading direction is changed\n */\n @Output() readingDirection: EventEmitter = new EventEmitter();\n /**\n * Outputs when reading mode is changed\n */\n @Output() bookReaderWritingStyle: EventEmitter = new EventEmitter();\n /**\n * Outputs when immersive mode is changed\n */\n @Output() immersiveMode: EventEmitter = new EventEmitter();\n\n user!: User;\n /**\n * List of all font families user can select from\n */\n fontOptions: Array = [];\n fontFamilies: Array = [];\n /**\n * Internal property used to capture all the different css properties to render on all elements\n */\n pageStyles!: PageStyle;\n\n readingDirectionModel: ReadingDirection = ReadingDirection.LeftToRight;\n\n writingStyleModel: WritingStyle = WritingStyle.Horizontal;\n\n\n activeTheme: BookTheme | undefined;\n\n isFullscreen: boolean = false;\n\n settingsForm: FormGroup = new FormGroup({});\n\n /**\n * System provided themes\n */\n themes: Array = bookColorThemes;\n private readonly destroyRef = inject(DestroyRef);\n\n\n get BookPageLayoutMode(): typeof BookPageLayoutMode {\n return BookPageLayoutMode;\n }\n\n get ReadingDirection() {\n return ReadingDirection;\n }\n\n get WritingStyle() {\n return WritingStyle;\n }\n\n\n\n constructor(private bookService: BookService, private accountService: AccountService,\n @Inject(DOCUMENT) private document: Document, private themeService: ThemeService,\n private readonly cdRef: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n\n this.fontFamilies = this.bookService.getFontFamilies();\n this.fontOptions = this.fontFamilies.map(f => f.title);\n this.cdRef.markForCheck();\n\n this.accountService.currentUser$.pipe(take(1)).subscribe(user => {\n if (user) {\n this.user = user;\n\n if (this.user.preferences.bookReaderFontFamily === undefined) {\n this.user.preferences.bookReaderFontFamily = 'default';\n }\n if (this.user.preferences.bookReaderFontSize === undefined || this.user.preferences.bookReaderFontSize < 50) {\n this.user.preferences.bookReaderFontSize = 100;\n }\n if (this.user.preferences.bookReaderLineSpacing === undefined || this.user.preferences.bookReaderLineSpacing < 100) {\n this.user.preferences.bookReaderLineSpacing = 100;\n }\n if (this.user.preferences.bookReaderMargin === undefined) {\n this.user.preferences.bookReaderMargin = 0;\n }\n if (this.user.preferences.bookReaderReadingDirection === undefined) {\n this.user.preferences.bookReaderReadingDirection = ReadingDirection.LeftToRight;\n }\n if (this.user.preferences.bookReaderWritingStyle === undefined) {\n this.user.preferences.bookReaderWritingStyle = WritingStyle.Horizontal;\n }\n this.readingDirectionModel = this.user.preferences.bookReaderReadingDirection;\n this.writingStyleModel = this.user.preferences.bookReaderWritingStyle;\n\n\n\n this.settingsForm.addControl('bookReaderFontFamily', new FormControl(this.user.preferences.bookReaderFontFamily, []));\n this.settingsForm.get('bookReaderFontFamily')!.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(fontName => {\n const familyName = this.fontFamilies.filter(f => f.title === fontName)[0].family;\n if (familyName === 'default') {\n this.pageStyles['font-family'] = 'inherit';\n } else {\n this.pageStyles['font-family'] = \"'\" + familyName + \"'\";\n }\n\n this.styleUpdate.emit(this.pageStyles);\n });\n\n this.settingsForm.addControl('bookReaderFontSize', new FormControl(this.user.preferences.bookReaderFontSize, []));\n this.settingsForm.get('bookReaderFontSize')?.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(value => {\n this.pageStyles['font-size'] = value + '%';\n this.styleUpdate.emit(this.pageStyles);\n });\n\n this.settingsForm.addControl('bookReaderTapToPaginate', new FormControl(this.user.preferences.bookReaderTapToPaginate, []));\n this.settingsForm.get('bookReaderTapToPaginate')?.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(value => {\n this.clickToPaginateChanged.emit(value);\n });\n\n this.settingsForm.addControl('bookReaderLineSpacing', new FormControl(this.user.preferences.bookReaderLineSpacing, []));\n this.settingsForm.get('bookReaderLineSpacing')?.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(value => {\n this.pageStyles['line-height'] = value + '%';\n this.styleUpdate.emit(this.pageStyles);\n });\n\n this.settingsForm.addControl('bookReaderMargin', new FormControl(this.user.preferences.bookReaderMargin, []));\n this.settingsForm.get('bookReaderMargin')?.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(value => {\n this.pageStyles['margin-left'] = value + 'vw';\n this.pageStyles['margin-right'] = value + 'vw';\n this.styleUpdate.emit(this.pageStyles);\n });\n\n\n\n this.settingsForm.addControl('layoutMode', new FormControl(this.user.preferences.bookReaderLayoutMode || BookPageLayoutMode.Default, []));\n this.settingsForm.get('layoutMode')?.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((layoutMode: BookPageLayoutMode) => {\n this.layoutModeUpdate.emit(layoutMode);\n });\n\n this.settingsForm.addControl('bookReaderImmersiveMode', new FormControl(this.user.preferences.bookReaderImmersiveMode, []));\n this.settingsForm.get('bookReaderImmersiveMode')?.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((immersiveMode: boolean) => {\n if (immersiveMode) {\n this.settingsForm.get('bookReaderTapToPaginate')?.setValue(true);\n }\n this.immersiveMode.emit(immersiveMode);\n });\n\n\n this.setTheme(this.user.preferences.bookReaderThemeName || this.themeService.defaultBookTheme);\n this.cdRef.markForCheck();\n\n // Emit first time so book reader gets the setting\n this.readingDirection.emit(this.readingDirectionModel);\n this.bookReaderWritingStyle.emit(this.writingStyleModel);\n this.clickToPaginateChanged.emit(this.user.preferences.bookReaderTapToPaginate);\n this.layoutModeUpdate.emit(this.user.preferences.bookReaderLayoutMode);\n this.immersiveMode.emit(this.user.preferences.bookReaderImmersiveMode);\n\n this.resetSettings();\n } else {\n this.resetSettings();\n }\n\n\n });\n }\n\n resetSettings() {\n if (this.user) {\n this.setPageStyles(this.user.preferences.bookReaderFontFamily, this.user.preferences.bookReaderFontSize + '%', this.user.preferences.bookReaderMargin + 'vw', this.user.preferences.bookReaderLineSpacing + '%');\n } else {\n this.setPageStyles();\n }\n\n this.settingsForm.get('bookReaderFontFamily')?.setValue(this.user.preferences.bookReaderFontFamily);\n this.settingsForm.get('bookReaderFontSize')?.setValue(this.user.preferences.bookReaderFontSize);\n this.settingsForm.get('bookReaderLineSpacing')?.setValue(this.user.preferences.bookReaderLineSpacing);\n this.settingsForm.get('bookReaderMargin')?.setValue(this.user.preferences.bookReaderMargin);\n this.settingsForm.get('bookReaderReadingDirection')?.setValue(this.user.preferences.bookReaderReadingDirection);\n this.settingsForm.get('bookReaderTapToPaginate')?.setValue(this.user.preferences.bookReaderTapToPaginate);\n this.settingsForm.get('bookReaderLayoutMode')?.setValue(this.user.preferences.bookReaderLayoutMode);\n this.settingsForm.get('bookReaderImmersiveMode')?.setValue(this.user.preferences.bookReaderImmersiveMode);\n this.settingsForm.get('bookReaderWritingStyle')?.setValue(this.user.preferences.bookReaderWritingStyle);\n this.cdRef.detectChanges();\n this.styleUpdate.emit(this.pageStyles);\n }\n\n /**\n * Internal method to be used by resetSettings. Pass items in with quantifiers\n */\n setPageStyles(fontFamily?: string, fontSize?: string, margin?: string, lineHeight?: string, colorTheme?: string) {\n const windowWidth = window.innerWidth\n || this.document.documentElement.clientWidth\n || this.document.body.clientWidth;\n\n\n let defaultMargin = '15vw';\n if (windowWidth <= mobileBreakpointMarginOverride) {\n defaultMargin = '5vw';\n }\n this.pageStyles = {\n 'font-family': fontFamily || this.pageStyles['font-family'] || 'default',\n 'font-size': fontSize || this.pageStyles['font-size'] || '100%',\n 'margin-left': margin || this.pageStyles['margin-left'] || defaultMargin,\n 'margin-right': margin || this.pageStyles['margin-right'] || defaultMargin,\n 'line-height': lineHeight || this.pageStyles['line-height'] || '100%'\n };\n }\n\n setTheme(themeName: string) {\n const theme = this.themes.find(t => t.name === themeName);\n this.activeTheme = theme;\n this.cdRef.markForCheck();\n this.colorThemeUpdate.emit(theme);\n }\n\n toggleReadingDirection() {\n if (this.readingDirectionModel === ReadingDirection.LeftToRight) {\n this.readingDirectionModel = ReadingDirection.RightToLeft;\n } else {\n this.readingDirectionModel = ReadingDirection.LeftToRight;\n }\n\n this.cdRef.markForCheck();\n this.readingDirection.emit(this.readingDirectionModel);\n }\n\n toggleWritingStyle() {\n if (this.writingStyleModel === WritingStyle.Horizontal) {\n this.writingStyleModel = WritingStyle.Vertical\n } else {\n this.writingStyleModel = WritingStyle.Horizontal\n }\n\n this.cdRef.markForCheck();\n this.bookReaderWritingStyle.emit(this.writingStyleModel);\n }\n\n toggleFullscreen() {\n this.isFullscreen = !this.isFullscreen;\n this.cdRef.markForCheck();\n this.fullscreen.emit();\n }\n}\n", "\n \n
\n
\n
\n

\n \n

\n
\n
\n \n
\n
\n
\n \n \n
\n
\n
\n \n \n \n \n \n \n
\n\n
\n \n \n 1x\n \n 2.5x\n \n
\n\n
\n \n \n \n \n \n \n
\n\n
\n \n
\n
\n
\n
\n\n
\n\n
\n\n
\n

\n \n

\n
\n
\n \n
\n \n \n
\n
\n \n {{t('writing-style-tooltip')}}\n \n \n\n
\n
\n \n {{t('tap-to-paginate-tooltip')}}\n \n \n \n
\n \n \n
\n
\n
\n \n {{t('immersive-mode-tooltip')}}\n \n \n \n
\n \n \n
\n
\n\n
\n \n {{t('fullscreen-tooltip')}}\n \n \n \n \n
\n\n
\n \n \n \n \n \n
\n
\n \n \n\n \n \n\n \n \n
\n
\n\n\n
\n
\n
\n
\n\n
\n

\n \n

\n
\n
\n \n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n\n
\n"], "mappings": "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", "names": ["BookBlackTheme", "BookDarkTheme", "BookWhiteTheme", "BookPaperTheme", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "opt_r2", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275template", "ReaderSettingsComponent_ng_container_0_ng_template_10_option_6_Template", "\u0275\u0275element", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "resetSettings", "t_r4", "fontOptions", "tmp_7_0", "settingsForm", "get", "value", "tmp_9_0", "tmp_11_0", "\u0275\u0275textInterpolate1", "isFullscreen", "\u0275\u0275sanitizeHtml", "_r5", "toggleReadingDirection", "ReaderSettingsComponent_ng_container_0_ng_template_17_ng_template_11_Template", "\u0275\u0275templateRefExtractor", "\u0275\u0275elementContainer", "toggleWritingStyle", "ReaderSettingsComponent_ng_container_0_ng_template_17_ng_template_23_Template", "ReaderSettingsComponent_ng_container_0_ng_template_17_ng_template_35_Template", "ReaderSettingsComponent_ng_container_0_ng_template_17_ng_template_47_Template", "toggleFullscreen", "ReaderSettingsComponent_ng_container_0_ng_template_17_span_53_Template", "ReaderSettingsComponent_ng_container_0_ng_template_17_ng_template_58_Template", "\u0275\u0275propertyInterpolate", "readingDirectionModel", "ReadingDirection", "LeftToRight", "\u0275\u0275classMapInterpolate1", "writingStyleTooltip_r6", "writingStyleModel", "WritingStyle", "Horizontal", "tapPaginationTooltip_r7", "tmp_22_0", "immersiveModeTooltip_r8", "tmp_26_0", "fullscreenTooltip_r9", "\u0275\u0275classMapInterpolate2", "activeTheme", "isDarkTheme", "layoutTooltip_r10", "BookPageLayoutMode", "Default", "Column1", "Column2", "\u0275\u0275elementContainerStart", "theme_r12", "_r11", "$implicit", "setTheme", "name", "\u0275\u0275pureFunction1", "_c0", "_c1", "colorHash", "translationKey", "ReaderSettingsComponent_ng_container_0_ng_template_24_ng_container_1_Template", "themes", "ReaderSettingsComponent_ng_container_0_ng_template_10_Template", "ReaderSettingsComponent_ng_container_0_ng_template_17_Template", "ReaderSettingsComponent_ng_container_0_ng_template_24_Template", "bookColorThemes", "isDefault", "provider", "ThemeProvider", "System", "selector", "content", "BookDarkTheme", "BookBlackTheme", "BookWhiteTheme", "BookPaperTheme", "mobileBreakpointMarginOverride", "ReaderSettingsComponent", "constructor", "bookService", "accountService", "document", "themeService", "cdRef", "clickToPaginateChanged", "EventEmitter", "styleUpdate", "colorThemeUpdate", "layoutModeUpdate", "fullscreen", "readingDirection", "bookReaderWritingStyle", "immersiveMode", "fontFamilies", "FormGroup", "destroyRef", "inject", "DestroyRef", "ngOnInit", "getFontFamilies", "map", "f", "title", "markForCheck", "currentUser$", "pipe", "take", "subscribe", "user", "preferences", "bookReaderFontFamily", "undefined", "bookReaderFontSize", "bookReaderLineSpacing", "bookReaderMargin", "bookReaderReadingDirection", "addControl", "FormControl", "valueChanges", "takeUntilDestroyed", "fontName", "familyName", "filter", "family", "pageStyles", "emit", "bookReaderTapToPaginate", "bookReaderLayoutMode", "layoutMode", "bookReaderImmersiveMode", "setValue", "bookReaderThemeName", "defaultBookTheme", "setPageStyles", "detectChanges", "fontFamily", "fontSize", "margin", "lineHeight", "colorTheme", "windowWidth", "window", "innerWidth", "documentElement", "clientWidth", "body", "defaultMargin", "themeName", "theme", "find", "t", "RightToLeft", "Vertical", "\u0275\u0275directiveInject", "BookService", "AccountService", "DOCUMENT", "ThemeService", "ChangeDetectorRef", "selectors", "outputs", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "ReaderSettingsComponent_ng_container_0_Template", "ReactiveFormsModule", "\u0275NgNoValidate", "NgSelectOption", "\u0275NgSelectMultipleOption", "DefaultValueAccessor", "RangeValueAccessor", "CheckboxControlValueAccessor", "SelectControlValueAccessor", "RadioControlValueAccessor", "NgControlStatus", "NgControlStatusGroup", "FormGroupDirective", "FormControlName", "NgbAccordionDirective", "NgbAccordionItem", "NgbAccordionHeader", "NgbAccordionButton", "NgbAccordionCollapse", "NgbAccordionBody", "NgFor", "NgbTooltip", "NgTemplateOutlet", "NgIf", "NgClass", "NgStyle", "TitleCasePipe", "TranslocoDirective", "styles", "changeDetection", "_ReaderSettingsComponent"] }