paginar 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +13 -13
- package/.env +1 -1
- package/.vscode/extensions.json +3 -3
- package/LICENSE.md +21 -21
- package/README.md +244 -244
- package/demo/slot/slot-chapter1.html +384 -384
- package/demo/slot/slot-chapter2.html +366 -366
- package/demo/slot/slot-chapter3.html +265 -265
- package/demo/summary/_content/1chapter.html +100 -100
- package/demo/summary/_content/2chapter.html +311 -311
- package/demo/summary/_content/3chapter.html +211 -211
- package/demo/summary/index.html +134 -134
- package/dist/index.es.js +846 -840
- package/dist/index.es.js.map +1 -1
- package/dist/style.css +9 -9
- package/index.html +18 -18
- package/package.json +1 -1
- package/src/App.ce.vue +148 -148
- package/src/assets/main.css +392 -392
- package/src/components/BookContent.vue +23 -23
- package/src/components/FooterSlot.vue +32 -32
- package/src/components/FootnotesAside.vue +123 -123
- package/src/components/HeaderSlot/HeaderSlot.vue +30 -30
- package/src/components/HeaderSlot/OptionsButton/OptionsButton.vue +67 -67
- package/src/components/HeaderSlot/OptionsButton/OptionsColor.vue +28 -28
- package/src/components/HeaderSlot/OptionsButton/OptionsColumns.vue +51 -51
- package/src/components/HeaderSlot/OptionsButton/OptionsDropdown.vue +59 -59
- package/src/components/HeaderSlot/OptionsButton/OptionsFontFamily.vue +17 -17
- package/src/components/HeaderSlot/OptionsButton/OptionsFontSize.vue +17 -17
- package/src/components/HeaderSlot/SummaryButton/SummaryButton.vue +70 -70
- package/src/components/HeaderSlot/SummaryButton/SummaryDropdown.vue +8 -7
- package/src/components/ReaderWrapper.vue +37 -37
- package/src/components/ReferencePopup.vue +36 -36
- package/src/components/icons/Close.vue +6 -6
- package/src/components/icons/DoubleColumn.vue +15 -15
- package/src/components/icons/Expand.vue +7 -7
- package/src/components/icons/Eye.vue +9 -9
- package/src/components/icons/Footnote.vue +5 -5
- package/src/components/icons/Home.vue +6 -6
- package/src/components/icons/Moon.vue +5 -5
- package/src/components/icons/Notes.vue +5 -5
- package/src/components/icons/SingleColumn.vue +3 -3
- package/src/components/icons/Summary.vue +10 -10
- package/src/components/icons/Sun.vue +5 -5
- package/src/components/icons/ThreeDots.vue +8 -8
- package/src/composables/useBrowser.js +16 -16
- package/src/composables/useFootnotes.js +50 -50
- package/src/composables/usePagination.js +125 -125
- package/src/composables/useReaderSettings.js +174 -174
- package/src/composables/useReferences.js +67 -67
- package/src/composables/useStyles.js +60 -60
- package/src/composables/useTextContent.js +113 -113
- package/src/main.js +19 -19
- package/tailwind.config.js +16 -16
- package/vite.config.js +36 -36
package/dist/index.es.js
CHANGED
|
@@ -9103,237 +9103,237 @@ function useWindowSize(options = {}) {
|
|
|
9103
9103
|
return { width, height };
|
|
9104
9104
|
}
|
|
9105
9105
|
|
|
9106
|
-
function initStyles(props, rootComponent) {
|
|
9107
|
-
const settings = props.readerSettings
|
|
9108
|
-
? JSON.parse(props.readerSettings)
|
|
9109
|
-
: null;
|
|
9110
|
-
|
|
9111
|
-
if (props.cssFile) {
|
|
9112
|
-
stylesheetLoader(props.cssFile, rootComponent);
|
|
9113
|
-
}
|
|
9114
|
-
|
|
9115
|
-
if (props.cssString) {
|
|
9116
|
-
applyStylesheet(props.cssString, rootComponent);
|
|
9117
|
-
}
|
|
9118
|
-
|
|
9119
|
-
if (settings?.cssString) {
|
|
9120
|
-
applyStylesheet(settings.cssString, rootComponent);
|
|
9121
|
-
}
|
|
9122
|
-
}
|
|
9123
|
-
|
|
9124
|
-
function fontLoader(fontsOptions) {
|
|
9125
|
-
const fontsToLoad = fontsOptions.filter(item => item.link);
|
|
9126
|
-
|
|
9127
|
-
if (fontsToLoad.length > 0) {
|
|
9128
|
-
const style = document.createElement('style');
|
|
9129
|
-
const head = document.head || document.getElementsByTagName('head')[0];
|
|
9130
|
-
head.appendChild(style);
|
|
9131
|
-
|
|
9132
|
-
style.type = 'text/css';
|
|
9133
|
-
let css = '';
|
|
9134
|
-
fontsToLoad.forEach(
|
|
9135
|
-
item => css = css + `@import url(${item.link}); \n`
|
|
9136
|
-
);
|
|
9137
|
-
style.appendChild(document.createTextNode(css));
|
|
9138
|
-
}
|
|
9139
|
-
}
|
|
9140
|
-
|
|
9141
|
-
async function stylesheetLoader(stylesheet, ref) {
|
|
9142
|
-
if (stylesheet) {
|
|
9143
|
-
try {
|
|
9144
|
-
const dataRef = await fetch(stylesheet);
|
|
9145
|
-
const cssText = await dataRef.text();
|
|
9146
|
-
|
|
9147
|
-
applyStylesheet(cssText, ref);
|
|
9148
|
-
|
|
9149
|
-
} catch (_) {}
|
|
9150
|
-
}
|
|
9151
|
-
}
|
|
9152
|
-
|
|
9153
|
-
async function applyStylesheet(stylesheet, ref) {
|
|
9154
|
-
const style = document.createElement('style');
|
|
9155
|
-
ref.value.appendChild(style);
|
|
9156
|
-
style.type = 'text/css';
|
|
9157
|
-
style.appendChild(document.createTextNode(stylesheet));
|
|
9158
|
-
}
|
|
9159
|
-
|
|
9160
|
-
const useStyles = {
|
|
9161
|
-
initStyles,
|
|
9162
|
-
fontLoader,
|
|
9163
|
-
stylesheetLoader,
|
|
9164
|
-
applyStylesheet
|
|
9106
|
+
function initStyles(props, rootComponent) {
|
|
9107
|
+
const settings = props.readerSettings
|
|
9108
|
+
? JSON.parse(props.readerSettings)
|
|
9109
|
+
: null;
|
|
9110
|
+
|
|
9111
|
+
if (props.cssFile) {
|
|
9112
|
+
stylesheetLoader(props.cssFile, rootComponent);
|
|
9113
|
+
}
|
|
9114
|
+
|
|
9115
|
+
if (props.cssString) {
|
|
9116
|
+
applyStylesheet(props.cssString, rootComponent);
|
|
9117
|
+
}
|
|
9118
|
+
|
|
9119
|
+
if (settings?.cssString) {
|
|
9120
|
+
applyStylesheet(settings.cssString, rootComponent);
|
|
9121
|
+
}
|
|
9122
|
+
}
|
|
9123
|
+
|
|
9124
|
+
function fontLoader(fontsOptions) {
|
|
9125
|
+
const fontsToLoad = fontsOptions.filter(item => item.link);
|
|
9126
|
+
|
|
9127
|
+
if (fontsToLoad.length > 0) {
|
|
9128
|
+
const style = document.createElement('style');
|
|
9129
|
+
const head = document.head || document.getElementsByTagName('head')[0];
|
|
9130
|
+
head.appendChild(style);
|
|
9131
|
+
|
|
9132
|
+
style.type = 'text/css';
|
|
9133
|
+
let css = '';
|
|
9134
|
+
fontsToLoad.forEach(
|
|
9135
|
+
item => css = css + `@import url(${item.link}); \n`
|
|
9136
|
+
);
|
|
9137
|
+
style.appendChild(document.createTextNode(css));
|
|
9138
|
+
}
|
|
9139
|
+
}
|
|
9140
|
+
|
|
9141
|
+
async function stylesheetLoader(stylesheet, ref) {
|
|
9142
|
+
if (stylesheet) {
|
|
9143
|
+
try {
|
|
9144
|
+
const dataRef = await fetch(stylesheet);
|
|
9145
|
+
const cssText = await dataRef.text();
|
|
9146
|
+
|
|
9147
|
+
applyStylesheet(cssText, ref);
|
|
9148
|
+
|
|
9149
|
+
} catch (_) {}
|
|
9150
|
+
}
|
|
9151
|
+
}
|
|
9152
|
+
|
|
9153
|
+
async function applyStylesheet(stylesheet, ref) {
|
|
9154
|
+
const style = document.createElement('style');
|
|
9155
|
+
ref.value.appendChild(style);
|
|
9156
|
+
style.type = 'text/css';
|
|
9157
|
+
style.appendChild(document.createTextNode(stylesheet));
|
|
9158
|
+
}
|
|
9159
|
+
|
|
9160
|
+
const useStyles = {
|
|
9161
|
+
initStyles,
|
|
9162
|
+
fontLoader,
|
|
9163
|
+
stylesheetLoader,
|
|
9164
|
+
applyStylesheet
|
|
9165
9165
|
};
|
|
9166
9166
|
|
|
9167
|
-
const state$5 = reactive({
|
|
9168
|
-
baseFont: 'Arial, sans-serif',
|
|
9169
|
-
textFont: 'Times New Roman, serif',
|
|
9170
|
-
fontsOptions: [
|
|
9171
|
-
{ name: 'Times New Roman, serif' },
|
|
9172
|
-
{ name: 'Georgia, serif' },
|
|
9173
|
-
{ name: 'Arial, sans-serif' },
|
|
9174
|
-
{ name: 'Verdana, sans-serif' },
|
|
9175
|
-
],
|
|
9176
|
-
fontSize: 16,
|
|
9177
|
-
columns: 'double',
|
|
9178
|
-
mode: 'light',
|
|
9179
|
-
blocked: false,
|
|
9180
|
-
|
|
9181
|
-
bookTitle: null,
|
|
9182
|
-
chapterTitle: null,
|
|
9183
|
-
homeUrl: null,
|
|
9184
|
-
});
|
|
9185
|
-
|
|
9186
|
-
const baseFont = computed(() => state$5.baseFont);
|
|
9187
|
-
const textFont = computed(() => state$5.textFont);
|
|
9188
|
-
const fontSize = computed(() => state$5.fontSize);
|
|
9189
|
-
const fontsOptions = computed(() => state$5.fontsOptions);
|
|
9190
|
-
const columns = computed(() => state$5.columns);
|
|
9191
|
-
const mode = computed(() => state$5.mode);
|
|
9192
|
-
const blocked = computed(() => state$5.blocked);
|
|
9193
|
-
|
|
9194
|
-
const bookTitle = computed(() => state$5.bookTitle);
|
|
9195
|
-
const chapterTitle = computed(() => state$5.chapterTitle);
|
|
9196
|
-
const homeUrl = computed(() => state$5.homeUrl);
|
|
9197
|
-
|
|
9198
|
-
watch(
|
|
9199
|
-
[baseFont, textFont, fontSize, columns, mode],
|
|
9200
|
-
() => saveSettings()
|
|
9201
|
-
);
|
|
9202
|
-
|
|
9203
|
-
async function initSettings(settingsString) {
|
|
9204
|
-
const settings = settingsString
|
|
9205
|
-
? JSON.parse(settingsString)
|
|
9206
|
-
: null;
|
|
9207
|
-
|
|
9208
|
-
if (settings?.baseFont)
|
|
9209
|
-
state$5.baseFont = settings.baseFont;
|
|
9210
|
-
|
|
9211
|
-
if (settings?.textFont)
|
|
9212
|
-
state$5.textFont = settings.textFont;
|
|
9213
|
-
|
|
9214
|
-
if (settings?.fontSize)
|
|
9215
|
-
state$5.fontSize = Number(settings.fontSize);
|
|
9216
|
-
|
|
9217
|
-
if (settings?.fontsOptions) {
|
|
9218
|
-
state$5.fontsOptions = settings.fontsOptions;
|
|
9219
|
-
useStyles.fontLoader(settings.fontsOptions);
|
|
9220
|
-
|
|
9221
|
-
// baseFont
|
|
9222
|
-
const defaultBaseFont = settings.fontsOptions.find(
|
|
9223
|
-
item => item.defaultBaseFont
|
|
9224
|
-
);
|
|
9225
|
-
if (defaultBaseFont)
|
|
9226
|
-
state$5.baseFont = defaultBaseFont.name;
|
|
9227
|
-
|
|
9228
|
-
// textFont
|
|
9229
|
-
const defaultTextFont = settings.fontsOptions.find(
|
|
9230
|
-
item => item.defaultTextFont
|
|
9231
|
-
);
|
|
9232
|
-
if (defaultTextFont)
|
|
9233
|
-
state$5.textFont = defaultTextFont.name;
|
|
9234
|
-
}
|
|
9235
|
-
|
|
9236
|
-
if (settings?.bookTitle)
|
|
9237
|
-
state$5.bookTitle = settings.bookTitle;
|
|
9238
|
-
|
|
9239
|
-
if (settings?.chapterTitle)
|
|
9240
|
-
state$5.chapterTitle = settings.chapterTitle;
|
|
9241
|
-
|
|
9242
|
-
if (settings?.homeUrl)
|
|
9243
|
-
state$5.homeUrl = settings.homeUrl;
|
|
9244
|
-
|
|
9245
|
-
loadSavedSettings(settings);
|
|
9246
|
-
}
|
|
9247
|
-
|
|
9248
|
-
function loadSavedSettings(settings) {
|
|
9249
|
-
const hasSettings = localStorage.getItem('readerSettings');
|
|
9250
|
-
|
|
9251
|
-
if (hasSettings) {
|
|
9252
|
-
const savedSettings = JSON.parse(hasSettings);
|
|
9253
|
-
|
|
9254
|
-
state$5.fontSize = savedSettings.fontSize;
|
|
9255
|
-
state$5.columns = savedSettings.columns;
|
|
9256
|
-
state$5.mode = savedSettings.mode;
|
|
9257
|
-
|
|
9258
|
-
if (settings?.fontsOptions &&
|
|
9259
|
-
settings?.fontsOptions?.find(item => item.name === savedSettings.textFont)
|
|
9260
|
-
) {
|
|
9261
|
-
state$5.textFont = savedSettings.textFont;
|
|
9262
|
-
}
|
|
9263
|
-
|
|
9264
|
-
if (savedSettings.mode === 'dark') {
|
|
9265
|
-
const htmlRoot = document.querySelector('html');
|
|
9266
|
-
if (htmlRoot) {
|
|
9267
|
-
htmlRoot.classList.remove("light");
|
|
9268
|
-
htmlRoot.classList.add("dark");
|
|
9269
|
-
}
|
|
9270
|
-
}
|
|
9271
|
-
}
|
|
9272
|
-
}
|
|
9273
|
-
|
|
9274
|
-
function setColumns(value) {
|
|
9275
|
-
state$5.columns = value;
|
|
9276
|
-
}
|
|
9277
|
-
|
|
9278
|
-
function setTextFont(value) {
|
|
9279
|
-
state$5.textFont = value;
|
|
9280
|
-
}
|
|
9281
|
-
|
|
9282
|
-
function setFontSize(value) {
|
|
9283
|
-
state$5.fontSize = value;
|
|
9284
|
-
}
|
|
9285
|
-
|
|
9286
|
-
function setBlocked(value) {
|
|
9287
|
-
state$5.blocked = value;
|
|
9288
|
-
}
|
|
9289
|
-
|
|
9290
|
-
function setMode(value) {
|
|
9291
|
-
state$5.mode = value;
|
|
9292
|
-
|
|
9293
|
-
const htmlRoot = document.querySelector('html');
|
|
9294
|
-
if (htmlRoot) {
|
|
9295
|
-
if (htmlRoot.classList.contains("dark")) {
|
|
9296
|
-
htmlRoot.classList.remove("dark");
|
|
9297
|
-
htmlRoot.classList.add("light");
|
|
9298
|
-
|
|
9299
|
-
} else {
|
|
9300
|
-
htmlRoot.classList.remove("light");
|
|
9301
|
-
htmlRoot.classList.add("dark");
|
|
9302
|
-
}
|
|
9303
|
-
}
|
|
9304
|
-
}
|
|
9305
|
-
|
|
9306
|
-
function saveSettings() {
|
|
9307
|
-
localStorage.setItem(
|
|
9308
|
-
'readerSettings',
|
|
9309
|
-
JSON.stringify({
|
|
9310
|
-
textFont: textFont.value,
|
|
9311
|
-
fontSize: fontSize.value,
|
|
9312
|
-
columns: columns.value,
|
|
9313
|
-
mode: mode.value
|
|
9314
|
-
})
|
|
9315
|
-
);
|
|
9316
|
-
}
|
|
9317
|
-
|
|
9318
|
-
const useReaderSettings = {
|
|
9319
|
-
baseFont,
|
|
9320
|
-
textFont,
|
|
9321
|
-
fontSize,
|
|
9322
|
-
fontsOptions,
|
|
9323
|
-
columns,
|
|
9324
|
-
initSettings,
|
|
9325
|
-
setColumns,
|
|
9326
|
-
setTextFont,
|
|
9327
|
-
setFontSize,
|
|
9328
|
-
setBlocked,
|
|
9329
|
-
mode,
|
|
9330
|
-
blocked,
|
|
9331
|
-
setMode,
|
|
9332
|
-
saveSettings,
|
|
9333
|
-
|
|
9334
|
-
bookTitle,
|
|
9335
|
-
chapterTitle,
|
|
9336
|
-
homeUrl
|
|
9167
|
+
const state$5 = reactive({
|
|
9168
|
+
baseFont: 'Arial, sans-serif',
|
|
9169
|
+
textFont: 'Times New Roman, serif',
|
|
9170
|
+
fontsOptions: [
|
|
9171
|
+
{ name: 'Times New Roman, serif' },
|
|
9172
|
+
{ name: 'Georgia, serif' },
|
|
9173
|
+
{ name: 'Arial, sans-serif' },
|
|
9174
|
+
{ name: 'Verdana, sans-serif' },
|
|
9175
|
+
],
|
|
9176
|
+
fontSize: 16,
|
|
9177
|
+
columns: 'double',
|
|
9178
|
+
mode: 'light',
|
|
9179
|
+
blocked: false,
|
|
9180
|
+
|
|
9181
|
+
bookTitle: null,
|
|
9182
|
+
chapterTitle: null,
|
|
9183
|
+
homeUrl: null,
|
|
9184
|
+
});
|
|
9185
|
+
|
|
9186
|
+
const baseFont = computed(() => state$5.baseFont);
|
|
9187
|
+
const textFont = computed(() => state$5.textFont);
|
|
9188
|
+
const fontSize = computed(() => state$5.fontSize);
|
|
9189
|
+
const fontsOptions = computed(() => state$5.fontsOptions);
|
|
9190
|
+
const columns = computed(() => state$5.columns);
|
|
9191
|
+
const mode = computed(() => state$5.mode);
|
|
9192
|
+
const blocked = computed(() => state$5.blocked);
|
|
9193
|
+
|
|
9194
|
+
const bookTitle = computed(() => state$5.bookTitle);
|
|
9195
|
+
const chapterTitle = computed(() => state$5.chapterTitle);
|
|
9196
|
+
const homeUrl = computed(() => state$5.homeUrl);
|
|
9197
|
+
|
|
9198
|
+
watch(
|
|
9199
|
+
[baseFont, textFont, fontSize, columns, mode],
|
|
9200
|
+
() => saveSettings()
|
|
9201
|
+
);
|
|
9202
|
+
|
|
9203
|
+
async function initSettings(settingsString) {
|
|
9204
|
+
const settings = settingsString
|
|
9205
|
+
? JSON.parse(settingsString)
|
|
9206
|
+
: null;
|
|
9207
|
+
|
|
9208
|
+
if (settings?.baseFont)
|
|
9209
|
+
state$5.baseFont = settings.baseFont;
|
|
9210
|
+
|
|
9211
|
+
if (settings?.textFont)
|
|
9212
|
+
state$5.textFont = settings.textFont;
|
|
9213
|
+
|
|
9214
|
+
if (settings?.fontSize)
|
|
9215
|
+
state$5.fontSize = Number(settings.fontSize);
|
|
9216
|
+
|
|
9217
|
+
if (settings?.fontsOptions) {
|
|
9218
|
+
state$5.fontsOptions = settings.fontsOptions;
|
|
9219
|
+
useStyles.fontLoader(settings.fontsOptions);
|
|
9220
|
+
|
|
9221
|
+
// baseFont
|
|
9222
|
+
const defaultBaseFont = settings.fontsOptions.find(
|
|
9223
|
+
item => item.defaultBaseFont
|
|
9224
|
+
);
|
|
9225
|
+
if (defaultBaseFont)
|
|
9226
|
+
state$5.baseFont = defaultBaseFont.name;
|
|
9227
|
+
|
|
9228
|
+
// textFont
|
|
9229
|
+
const defaultTextFont = settings.fontsOptions.find(
|
|
9230
|
+
item => item.defaultTextFont
|
|
9231
|
+
);
|
|
9232
|
+
if (defaultTextFont)
|
|
9233
|
+
state$5.textFont = defaultTextFont.name;
|
|
9234
|
+
}
|
|
9235
|
+
|
|
9236
|
+
if (settings?.bookTitle)
|
|
9237
|
+
state$5.bookTitle = settings.bookTitle;
|
|
9238
|
+
|
|
9239
|
+
if (settings?.chapterTitle)
|
|
9240
|
+
state$5.chapterTitle = settings.chapterTitle;
|
|
9241
|
+
|
|
9242
|
+
if (settings?.homeUrl)
|
|
9243
|
+
state$5.homeUrl = settings.homeUrl;
|
|
9244
|
+
|
|
9245
|
+
loadSavedSettings(settings);
|
|
9246
|
+
}
|
|
9247
|
+
|
|
9248
|
+
function loadSavedSettings(settings) {
|
|
9249
|
+
const hasSettings = localStorage.getItem('readerSettings');
|
|
9250
|
+
|
|
9251
|
+
if (hasSettings) {
|
|
9252
|
+
const savedSettings = JSON.parse(hasSettings);
|
|
9253
|
+
|
|
9254
|
+
state$5.fontSize = savedSettings.fontSize;
|
|
9255
|
+
state$5.columns = savedSettings.columns;
|
|
9256
|
+
state$5.mode = savedSettings.mode;
|
|
9257
|
+
|
|
9258
|
+
if (settings?.fontsOptions &&
|
|
9259
|
+
settings?.fontsOptions?.find(item => item.name === savedSettings.textFont)
|
|
9260
|
+
) {
|
|
9261
|
+
state$5.textFont = savedSettings.textFont;
|
|
9262
|
+
}
|
|
9263
|
+
|
|
9264
|
+
if (savedSettings.mode === 'dark') {
|
|
9265
|
+
const htmlRoot = document.querySelector('html');
|
|
9266
|
+
if (htmlRoot) {
|
|
9267
|
+
htmlRoot.classList.remove("light");
|
|
9268
|
+
htmlRoot.classList.add("dark");
|
|
9269
|
+
}
|
|
9270
|
+
}
|
|
9271
|
+
}
|
|
9272
|
+
}
|
|
9273
|
+
|
|
9274
|
+
function setColumns(value) {
|
|
9275
|
+
state$5.columns = value;
|
|
9276
|
+
}
|
|
9277
|
+
|
|
9278
|
+
function setTextFont(value) {
|
|
9279
|
+
state$5.textFont = value;
|
|
9280
|
+
}
|
|
9281
|
+
|
|
9282
|
+
function setFontSize(value) {
|
|
9283
|
+
state$5.fontSize = value;
|
|
9284
|
+
}
|
|
9285
|
+
|
|
9286
|
+
function setBlocked(value) {
|
|
9287
|
+
state$5.blocked = value;
|
|
9288
|
+
}
|
|
9289
|
+
|
|
9290
|
+
function setMode(value) {
|
|
9291
|
+
state$5.mode = value;
|
|
9292
|
+
|
|
9293
|
+
const htmlRoot = document.querySelector('html');
|
|
9294
|
+
if (htmlRoot) {
|
|
9295
|
+
if (htmlRoot.classList.contains("dark")) {
|
|
9296
|
+
htmlRoot.classList.remove("dark");
|
|
9297
|
+
htmlRoot.classList.add("light");
|
|
9298
|
+
|
|
9299
|
+
} else {
|
|
9300
|
+
htmlRoot.classList.remove("light");
|
|
9301
|
+
htmlRoot.classList.add("dark");
|
|
9302
|
+
}
|
|
9303
|
+
}
|
|
9304
|
+
}
|
|
9305
|
+
|
|
9306
|
+
function saveSettings() {
|
|
9307
|
+
localStorage.setItem(
|
|
9308
|
+
'readerSettings',
|
|
9309
|
+
JSON.stringify({
|
|
9310
|
+
textFont: textFont.value,
|
|
9311
|
+
fontSize: fontSize.value,
|
|
9312
|
+
columns: columns.value,
|
|
9313
|
+
mode: mode.value
|
|
9314
|
+
})
|
|
9315
|
+
);
|
|
9316
|
+
}
|
|
9317
|
+
|
|
9318
|
+
const useReaderSettings = {
|
|
9319
|
+
baseFont,
|
|
9320
|
+
textFont,
|
|
9321
|
+
fontSize,
|
|
9322
|
+
fontsOptions,
|
|
9323
|
+
columns,
|
|
9324
|
+
initSettings,
|
|
9325
|
+
setColumns,
|
|
9326
|
+
setTextFont,
|
|
9327
|
+
setFontSize,
|
|
9328
|
+
setBlocked,
|
|
9329
|
+
mode,
|
|
9330
|
+
blocked,
|
|
9331
|
+
setMode,
|
|
9332
|
+
saveSettings,
|
|
9333
|
+
|
|
9334
|
+
bookTitle,
|
|
9335
|
+
chapterTitle,
|
|
9336
|
+
homeUrl
|
|
9337
9337
|
};
|
|
9338
9338
|
|
|
9339
9339
|
const _export_sfc = (sfc, props) => {
|
|
@@ -9352,21 +9352,21 @@ const _hoisted_1$q = {
|
|
|
9352
9352
|
viewBox: "0 0 20 22",
|
|
9353
9353
|
xmlns: "http://www.w3.org/2000/svg"
|
|
9354
9354
|
};
|
|
9355
|
-
const _hoisted_2$
|
|
9355
|
+
const _hoisted_2$o = /*#__PURE__*/createBaseVNode("path", {
|
|
9356
9356
|
d: "M1 8L10 1L19 8V19C19 19.5304 18.7893 20.0391 18.4142 20.4142C18.0391 20.7893 17.5304 21 17 21H3C2.46957 21 1.96086 20.7893 1.58579 20.4142C1.21071 20.0391 1 19.5304 1 19V8Z",
|
|
9357
9357
|
"stroke-width": "2",
|
|
9358
9358
|
"stroke-linecap": "round",
|
|
9359
9359
|
"stroke-linejoin": "round"
|
|
9360
9360
|
}, null, -1);
|
|
9361
|
-
const _hoisted_3$
|
|
9361
|
+
const _hoisted_3$f = /*#__PURE__*/createBaseVNode("path", {
|
|
9362
9362
|
d: "M7 21V11H13V21",
|
|
9363
9363
|
"stroke-width": "2",
|
|
9364
9364
|
"stroke-linecap": "round",
|
|
9365
9365
|
"stroke-linejoin": "round"
|
|
9366
9366
|
}, null, -1);
|
|
9367
9367
|
const _hoisted_4$5 = [
|
|
9368
|
-
_hoisted_2$
|
|
9369
|
-
_hoisted_3$
|
|
9368
|
+
_hoisted_2$o,
|
|
9369
|
+
_hoisted_3$f
|
|
9370
9370
|
];
|
|
9371
9371
|
|
|
9372
9372
|
function _sfc_render$c(_ctx, _cache) {
|
|
@@ -9382,18 +9382,18 @@ const _hoisted_1$p = {
|
|
|
9382
9382
|
viewBox: "0 0 24 24",
|
|
9383
9383
|
xmlns: "http://www.w3.org/2000/svg"
|
|
9384
9384
|
};
|
|
9385
|
-
const _hoisted_2$
|
|
9385
|
+
const _hoisted_2$n = /*#__PURE__*/createBaseVNode("path", {
|
|
9386
9386
|
"stroke-linecap": "round",
|
|
9387
9387
|
"stroke-linejoin": "round",
|
|
9388
9388
|
"stroke-width": "2",
|
|
9389
9389
|
d: "M6 18L18 6M6 6l12 12"
|
|
9390
9390
|
}, null, -1);
|
|
9391
|
-
const _hoisted_3$
|
|
9392
|
-
_hoisted_2$
|
|
9391
|
+
const _hoisted_3$e = [
|
|
9392
|
+
_hoisted_2$n
|
|
9393
9393
|
];
|
|
9394
9394
|
|
|
9395
9395
|
function _sfc_render$b(_ctx, _cache) {
|
|
9396
|
-
return (openBlock(), createElementBlock("svg", _hoisted_1$p, _hoisted_3$
|
|
9396
|
+
return (openBlock(), createElementBlock("svg", _hoisted_1$p, _hoisted_3$e))
|
|
9397
9397
|
}
|
|
9398
9398
|
const IconClose = /*#__PURE__*/_export_sfc(_sfc_main$r, [['render',_sfc_render$b]]);
|
|
9399
9399
|
|
|
@@ -9407,9 +9407,9 @@ const _hoisted_1$o = {
|
|
|
9407
9407
|
stroke: "currentColor",
|
|
9408
9408
|
xmlns: "http://www.w3.org/2000/svg"
|
|
9409
9409
|
};
|
|
9410
|
-
const _hoisted_2$
|
|
9410
|
+
const _hoisted_2$m = /*#__PURE__*/createStaticVNode("<line x1=\"5\" y1=\"1.08447\" x2=\"1\" y2=\"1.08447\" stroke-width=\"2\" stroke-linecap=\"round\"></line><line x1=\"23\" y1=\"1.04248\" x2=\"11\" y2=\"1.04248\" stroke-width=\"2\" stroke-linecap=\"round\"></line><line x1=\"23\" y1=\"9.08447\" x2=\"14\" y2=\"9.08447\" stroke-width=\"2\" stroke-linecap=\"round\"></line><line x1=\"8\" y1=\"9.14905\" x2=\"4\" y2=\"9.14905\" stroke-width=\"2\" stroke-linecap=\"round\"></line><line x1=\"23\" y1=\"17.149\" x2=\"10.9993\" y2=\"17.149\" stroke-width=\"2\" stroke-linecap=\"round\"></line><line x1=\"5\" y1=\"17.2429\" x2=\"1\" y2=\"17.2429\" stroke-width=\"2\" stroke-linecap=\"round\"></line>", 6);
|
|
9411
9411
|
const _hoisted_8$2 = [
|
|
9412
|
-
_hoisted_2$
|
|
9412
|
+
_hoisted_2$m
|
|
9413
9413
|
];
|
|
9414
9414
|
|
|
9415
9415
|
function _sfc_render$a(_ctx, _cache) {
|
|
@@ -9417,227 +9417,227 @@ function _sfc_render$a(_ctx, _cache) {
|
|
|
9417
9417
|
}
|
|
9418
9418
|
const IconSummary = /*#__PURE__*/_export_sfc(_sfc_main$q, [['render',_sfc_render$a]]);
|
|
9419
9419
|
|
|
9420
|
-
const state$4 = reactive({
|
|
9421
|
-
references: [],
|
|
9422
|
-
reference: null
|
|
9423
|
-
});
|
|
9424
|
-
|
|
9425
|
-
const references = computed(() => state$4.references);
|
|
9426
|
-
|
|
9427
|
-
function setReferences(references) {
|
|
9428
|
-
state$4.references = references;
|
|
9429
|
-
}
|
|
9430
|
-
|
|
9431
|
-
const reference = computed(() => state$4.reference);
|
|
9432
|
-
|
|
9433
|
-
function setHighlightedReference(reference) {
|
|
9434
|
-
state$4.reference = reference;
|
|
9435
|
-
}
|
|
9436
|
-
|
|
9437
|
-
function applyReferences(contentRaw) {
|
|
9438
|
-
if (state$4.references.length === 0 || !contentRaw)
|
|
9439
|
-
return contentRaw
|
|
9440
|
-
|
|
9441
|
-
return state$4.references.reduce((content, reference) => {
|
|
9442
|
-
if (!content) return content
|
|
9443
|
-
|
|
9444
|
-
if (content.includes(reference.cit)) {
|
|
9445
|
-
const regex = new RegExp(reference.cit, 'g');
|
|
9446
|
-
const newContent = content.replace(
|
|
9447
|
-
regex,
|
|
9448
|
-
`<span class='reference reference-${reference.cit.replaceAll(' ', '')}'>
|
|
9449
|
-
${reference.cit}
|
|
9450
|
-
</span>`
|
|
9451
|
-
);
|
|
9452
|
-
return newContent
|
|
9453
|
-
}
|
|
9454
|
-
return content
|
|
9455
|
-
}, contentRaw)
|
|
9456
|
-
}
|
|
9457
|
-
|
|
9458
|
-
function applyReference(event) {
|
|
9459
|
-
const classList = event.target.closest('.reference')?.classList.value.split(' ');
|
|
9460
|
-
|
|
9461
|
-
if (classList.length === 0)
|
|
9462
|
-
return
|
|
9463
|
-
|
|
9464
|
-
const target = classList.find(item => item.startsWith('reference-'));
|
|
9465
|
-
|
|
9466
|
-
if (target) {
|
|
9467
|
-
const ref = state$4.references.find(
|
|
9468
|
-
item => target && item.cit.replaceAll(' ', '') === target.replace('reference-', '')
|
|
9469
|
-
);
|
|
9470
|
-
if (ref) {
|
|
9471
|
-
state$4.reference = ref;
|
|
9472
|
-
}
|
|
9473
|
-
}
|
|
9474
|
-
|
|
9475
|
-
}
|
|
9476
|
-
|
|
9477
|
-
const useReferences = {
|
|
9478
|
-
references,
|
|
9479
|
-
reference,
|
|
9480
|
-
applyReference,
|
|
9481
|
-
setReferences,
|
|
9482
|
-
setHighlightedReference,
|
|
9483
|
-
applyReferences,
|
|
9420
|
+
const state$4 = reactive({
|
|
9421
|
+
references: [],
|
|
9422
|
+
reference: null
|
|
9423
|
+
});
|
|
9424
|
+
|
|
9425
|
+
const references = computed(() => state$4.references);
|
|
9426
|
+
|
|
9427
|
+
function setReferences(references) {
|
|
9428
|
+
state$4.references = references;
|
|
9429
|
+
}
|
|
9430
|
+
|
|
9431
|
+
const reference = computed(() => state$4.reference);
|
|
9432
|
+
|
|
9433
|
+
function setHighlightedReference(reference) {
|
|
9434
|
+
state$4.reference = reference;
|
|
9435
|
+
}
|
|
9436
|
+
|
|
9437
|
+
function applyReferences(contentRaw) {
|
|
9438
|
+
if (state$4.references.length === 0 || !contentRaw)
|
|
9439
|
+
return contentRaw
|
|
9440
|
+
|
|
9441
|
+
return state$4.references.reduce((content, reference) => {
|
|
9442
|
+
if (!content) return content
|
|
9443
|
+
|
|
9444
|
+
if (content.includes(reference.cit)) {
|
|
9445
|
+
const regex = new RegExp(reference.cit, 'g');
|
|
9446
|
+
const newContent = content.replace(
|
|
9447
|
+
regex,
|
|
9448
|
+
`<span class='reference reference-${reference.cit.replaceAll(' ', '')}'>
|
|
9449
|
+
${reference.cit}
|
|
9450
|
+
</span>`
|
|
9451
|
+
);
|
|
9452
|
+
return newContent
|
|
9453
|
+
}
|
|
9454
|
+
return content
|
|
9455
|
+
}, contentRaw)
|
|
9456
|
+
}
|
|
9457
|
+
|
|
9458
|
+
function applyReference(event) {
|
|
9459
|
+
const classList = event.target.closest('.reference')?.classList.value.split(' ');
|
|
9460
|
+
|
|
9461
|
+
if (classList.length === 0)
|
|
9462
|
+
return
|
|
9463
|
+
|
|
9464
|
+
const target = classList.find(item => item.startsWith('reference-'));
|
|
9465
|
+
|
|
9466
|
+
if (target) {
|
|
9467
|
+
const ref = state$4.references.find(
|
|
9468
|
+
item => target && item.cit.replaceAll(' ', '') === target.replace('reference-', '')
|
|
9469
|
+
);
|
|
9470
|
+
if (ref) {
|
|
9471
|
+
state$4.reference = ref;
|
|
9472
|
+
}
|
|
9473
|
+
}
|
|
9474
|
+
|
|
9475
|
+
}
|
|
9476
|
+
|
|
9477
|
+
const useReferences = {
|
|
9478
|
+
references,
|
|
9479
|
+
reference,
|
|
9480
|
+
applyReference,
|
|
9481
|
+
setReferences,
|
|
9482
|
+
setHighlightedReference,
|
|
9483
|
+
applyReferences,
|
|
9484
9484
|
};
|
|
9485
9485
|
|
|
9486
|
-
const state$3 = reactive({
|
|
9487
|
-
footnotes: [],
|
|
9488
|
-
showFootnotes: false,
|
|
9489
|
-
footnote: null
|
|
9490
|
-
});
|
|
9491
|
-
|
|
9492
|
-
const footnotes = computed(() => state$3.footnotes);
|
|
9493
|
-
function setFootnotes(footnotes) {
|
|
9494
|
-
state$3.footnotes = footnotes;
|
|
9495
|
-
}
|
|
9496
|
-
|
|
9497
|
-
const showFootnotes = computed(() => state$3.showFootnotes);
|
|
9498
|
-
function setShowFootnotes(value) {
|
|
9499
|
-
state$3.showFootnotes = value;
|
|
9500
|
-
}
|
|
9501
|
-
|
|
9502
|
-
const footnote = computed(() => state$3.footnote);
|
|
9503
|
-
function setHighlightedFootnote(footnote) {
|
|
9504
|
-
state$3.footnote = footnote;
|
|
9505
|
-
}
|
|
9506
|
-
|
|
9507
|
-
function applyFootnote(event) {
|
|
9508
|
-
const classList = event.target.closest('.footnote')?.classList.value.split(' ');
|
|
9509
|
-
|
|
9510
|
-
if (classList.length === 0)
|
|
9511
|
-
return
|
|
9512
|
-
|
|
9513
|
-
const footnoteTarget = classList.find(
|
|
9514
|
-
item => item.includes('footnote') && item !== 'footnote'
|
|
9515
|
-
);
|
|
9516
|
-
|
|
9517
|
-
if (footnoteTarget) {
|
|
9518
|
-
const ref = state$3.footnotes.find(item => item.id === footnoteTarget);
|
|
9519
|
-
if (ref) {
|
|
9520
|
-
state$3.footnote = ref;
|
|
9521
|
-
}
|
|
9522
|
-
}
|
|
9523
|
-
}
|
|
9524
|
-
|
|
9525
|
-
const useFootnotes = {
|
|
9526
|
-
footnotes,
|
|
9527
|
-
footnote,
|
|
9528
|
-
setFootnotes,
|
|
9529
|
-
applyFootnote,
|
|
9530
|
-
setHighlightedFootnote,
|
|
9531
|
-
setShowFootnotes,
|
|
9532
|
-
showFootnotes
|
|
9486
|
+
const state$3 = reactive({
|
|
9487
|
+
footnotes: [],
|
|
9488
|
+
showFootnotes: false,
|
|
9489
|
+
footnote: null
|
|
9490
|
+
});
|
|
9491
|
+
|
|
9492
|
+
const footnotes = computed(() => state$3.footnotes);
|
|
9493
|
+
function setFootnotes(footnotes) {
|
|
9494
|
+
state$3.footnotes = footnotes;
|
|
9495
|
+
}
|
|
9496
|
+
|
|
9497
|
+
const showFootnotes = computed(() => state$3.showFootnotes);
|
|
9498
|
+
function setShowFootnotes(value) {
|
|
9499
|
+
state$3.showFootnotes = value;
|
|
9500
|
+
}
|
|
9501
|
+
|
|
9502
|
+
const footnote = computed(() => state$3.footnote);
|
|
9503
|
+
function setHighlightedFootnote(footnote) {
|
|
9504
|
+
state$3.footnote = footnote;
|
|
9505
|
+
}
|
|
9506
|
+
|
|
9507
|
+
function applyFootnote(event) {
|
|
9508
|
+
const classList = event.target.closest('.footnote')?.classList.value.split(' ');
|
|
9509
|
+
|
|
9510
|
+
if (classList.length === 0)
|
|
9511
|
+
return
|
|
9512
|
+
|
|
9513
|
+
const footnoteTarget = classList.find(
|
|
9514
|
+
item => item.includes('footnote') && item !== 'footnote'
|
|
9515
|
+
);
|
|
9516
|
+
|
|
9517
|
+
if (footnoteTarget) {
|
|
9518
|
+
const ref = state$3.footnotes.find(item => item.id === footnoteTarget);
|
|
9519
|
+
if (ref) {
|
|
9520
|
+
state$3.footnote = ref;
|
|
9521
|
+
}
|
|
9522
|
+
}
|
|
9523
|
+
}
|
|
9524
|
+
|
|
9525
|
+
const useFootnotes = {
|
|
9526
|
+
footnotes,
|
|
9527
|
+
footnote,
|
|
9528
|
+
setFootnotes,
|
|
9529
|
+
applyFootnote,
|
|
9530
|
+
setHighlightedFootnote,
|
|
9531
|
+
setShowFootnotes,
|
|
9532
|
+
showFootnotes
|
|
9533
9533
|
};
|
|
9534
9534
|
|
|
9535
|
-
const state$2 = reactive({
|
|
9536
|
-
summary: null,
|
|
9537
|
-
content: null
|
|
9538
|
-
});
|
|
9539
|
-
|
|
9540
|
-
const content = computed(() => state$2.content);
|
|
9541
|
-
const summary = computed(() => state$2.summary);
|
|
9542
|
-
const context = computed(() => {
|
|
9543
|
-
const current = state$2.summary.findIndex(
|
|
9544
|
-
chapter => window.location.href.includes(chapter.link)
|
|
9545
|
-
);
|
|
9546
|
-
return {
|
|
9547
|
-
chapter: state$2.summary[current],
|
|
9548
|
-
surround: {
|
|
9549
|
-
before: current - 1 >= 0
|
|
9550
|
-
? state$2.summary[current - 1]
|
|
9551
|
-
: null,
|
|
9552
|
-
after: current + 1 <= state$2.summary.length
|
|
9553
|
-
? state$2.summary[current + 1]
|
|
9554
|
-
: null,
|
|
9555
|
-
}
|
|
9556
|
-
}
|
|
9557
|
-
});
|
|
9558
|
-
|
|
9559
|
-
async function initContent(contentString, contentWrapper) {
|
|
9560
|
-
const { setReferences, applyReferences } = useReferences;
|
|
9561
|
-
const { setFootnotes } = useFootnotes;
|
|
9562
|
-
|
|
9563
|
-
const content = contentString
|
|
9564
|
-
? JSON.parse(contentString)
|
|
9565
|
-
: null;
|
|
9566
|
-
|
|
9567
|
-
if (content?.summary)
|
|
9568
|
-
state$2.summary = content.summary;
|
|
9569
|
-
|
|
9570
|
-
if (content?.references)
|
|
9571
|
-
setReferences(content.references);
|
|
9572
|
-
|
|
9573
|
-
if (content?.footnotes)
|
|
9574
|
-
setFootnotes(content.footnotes);
|
|
9575
|
-
|
|
9576
|
-
// if content comes from file, apply references to file
|
|
9577
|
-
if (content?.summary?.[0]?.file) {
|
|
9578
|
-
const text = await getContent(content.summary?.[0]?.file);
|
|
9579
|
-
const newContent = content.applyReferences
|
|
9580
|
-
? applyReferences(text)
|
|
9581
|
-
: text;
|
|
9582
|
-
state$2.content = newContent;
|
|
9583
|
-
|
|
9584
|
-
// else if content comes from slot, apply references to slot
|
|
9585
|
-
} else {
|
|
9586
|
-
const content = document.querySelectorAll('[slot="content"]');
|
|
9587
|
-
|
|
9588
|
-
if (content && content?.[0]?.innerHTML && content.applyReferences) {
|
|
9589
|
-
const newContent = applyReferences(content?.[0]?.innerHTML);
|
|
9590
|
-
if (newContent) {
|
|
9591
|
-
content[0].innerHTML = newContent;
|
|
9592
|
-
}
|
|
9593
|
-
}
|
|
9594
|
-
}
|
|
9595
|
-
|
|
9596
|
-
// after applying references above, now we start to listen to its clicks
|
|
9597
|
-
listenToClicks(contentWrapper);
|
|
9598
|
-
}
|
|
9599
|
-
|
|
9600
|
-
async function getContent(location) {
|
|
9601
|
-
try {
|
|
9602
|
-
const dataRef = await fetch(location);
|
|
9603
|
-
const text = await dataRef.text();
|
|
9604
|
-
return text
|
|
9605
|
-
} catch (err) {
|
|
9606
|
-
console.log({ err });
|
|
9607
|
-
state$2.content = 'Ops, não foi possível carregar o arquivo solicitado.';
|
|
9608
|
-
}
|
|
9609
|
-
}
|
|
9610
|
-
|
|
9611
|
-
function applyContent(text) {
|
|
9612
|
-
const { applyReferences } = useReferences;
|
|
9613
|
-
const newContent = applyReferences(text);
|
|
9614
|
-
state$2.content = newContent;
|
|
9615
|
-
}
|
|
9616
|
-
|
|
9617
|
-
function listenToClicks(contentWrapper) {
|
|
9618
|
-
setTimeout(() => {
|
|
9619
|
-
useEventListener(contentWrapper, 'click', getClickedReferenceData);
|
|
9620
|
-
}, 100);
|
|
9621
|
-
}
|
|
9622
|
-
|
|
9623
|
-
function getClickedReferenceData(event) {
|
|
9624
|
-
if (event.target.closest('.reference')) {
|
|
9625
|
-
useReferences.applyReference(event);
|
|
9626
|
-
}
|
|
9627
|
-
|
|
9628
|
-
if (event.target.closest('.footnote')) {
|
|
9629
|
-
useFootnotes.applyFootnote(event);
|
|
9630
|
-
}
|
|
9631
|
-
}
|
|
9632
|
-
|
|
9633
|
-
const useTextContent = {
|
|
9634
|
-
content,
|
|
9635
|
-
summary,
|
|
9636
|
-
initContent,
|
|
9637
|
-
getContent,
|
|
9638
|
-
applyContent,
|
|
9639
|
-
listenToClicks,
|
|
9640
|
-
context
|
|
9535
|
+
const state$2 = reactive({
|
|
9536
|
+
summary: null,
|
|
9537
|
+
content: null
|
|
9538
|
+
});
|
|
9539
|
+
|
|
9540
|
+
const content = computed(() => state$2.content);
|
|
9541
|
+
const summary = computed(() => state$2.summary);
|
|
9542
|
+
const context = computed(() => {
|
|
9543
|
+
const current = state$2.summary.findIndex(
|
|
9544
|
+
chapter => window.location.href.includes(chapter.link)
|
|
9545
|
+
);
|
|
9546
|
+
return {
|
|
9547
|
+
chapter: state$2.summary[current],
|
|
9548
|
+
surround: {
|
|
9549
|
+
before: current - 1 >= 0
|
|
9550
|
+
? state$2.summary[current - 1]
|
|
9551
|
+
: null,
|
|
9552
|
+
after: current + 1 <= state$2.summary.length
|
|
9553
|
+
? state$2.summary[current + 1]
|
|
9554
|
+
: null,
|
|
9555
|
+
}
|
|
9556
|
+
}
|
|
9557
|
+
});
|
|
9558
|
+
|
|
9559
|
+
async function initContent(contentString, contentWrapper) {
|
|
9560
|
+
const { setReferences, applyReferences } = useReferences;
|
|
9561
|
+
const { setFootnotes } = useFootnotes;
|
|
9562
|
+
|
|
9563
|
+
const content = contentString
|
|
9564
|
+
? JSON.parse(contentString)
|
|
9565
|
+
: null;
|
|
9566
|
+
|
|
9567
|
+
if (content?.summary)
|
|
9568
|
+
state$2.summary = content.summary;
|
|
9569
|
+
|
|
9570
|
+
if (content?.references)
|
|
9571
|
+
setReferences(content.references);
|
|
9572
|
+
|
|
9573
|
+
if (content?.footnotes)
|
|
9574
|
+
setFootnotes(content.footnotes);
|
|
9575
|
+
|
|
9576
|
+
// if content comes from file, apply references to file
|
|
9577
|
+
if (content?.summary?.[0]?.file) {
|
|
9578
|
+
const text = await getContent(content.summary?.[0]?.file);
|
|
9579
|
+
const newContent = content.applyReferences
|
|
9580
|
+
? applyReferences(text)
|
|
9581
|
+
: text;
|
|
9582
|
+
state$2.content = newContent;
|
|
9583
|
+
|
|
9584
|
+
// else if content comes from slot, apply references to slot
|
|
9585
|
+
} else {
|
|
9586
|
+
const content = document.querySelectorAll('[slot="content"]');
|
|
9587
|
+
|
|
9588
|
+
if (content && content?.[0]?.innerHTML && content.applyReferences) {
|
|
9589
|
+
const newContent = applyReferences(content?.[0]?.innerHTML);
|
|
9590
|
+
if (newContent) {
|
|
9591
|
+
content[0].innerHTML = newContent;
|
|
9592
|
+
}
|
|
9593
|
+
}
|
|
9594
|
+
}
|
|
9595
|
+
|
|
9596
|
+
// after applying references above, now we start to listen to its clicks
|
|
9597
|
+
listenToClicks(contentWrapper);
|
|
9598
|
+
}
|
|
9599
|
+
|
|
9600
|
+
async function getContent(location) {
|
|
9601
|
+
try {
|
|
9602
|
+
const dataRef = await fetch(location);
|
|
9603
|
+
const text = await dataRef.text();
|
|
9604
|
+
return text
|
|
9605
|
+
} catch (err) {
|
|
9606
|
+
console.log({ err });
|
|
9607
|
+
state$2.content = 'Ops, não foi possível carregar o arquivo solicitado.';
|
|
9608
|
+
}
|
|
9609
|
+
}
|
|
9610
|
+
|
|
9611
|
+
function applyContent(text) {
|
|
9612
|
+
const { applyReferences } = useReferences;
|
|
9613
|
+
const newContent = applyReferences(text);
|
|
9614
|
+
state$2.content = newContent;
|
|
9615
|
+
}
|
|
9616
|
+
|
|
9617
|
+
function listenToClicks(contentWrapper) {
|
|
9618
|
+
setTimeout(() => {
|
|
9619
|
+
useEventListener(contentWrapper, 'click', getClickedReferenceData);
|
|
9620
|
+
}, 100);
|
|
9621
|
+
}
|
|
9622
|
+
|
|
9623
|
+
function getClickedReferenceData(event) {
|
|
9624
|
+
if (event.target.closest('.reference')) {
|
|
9625
|
+
useReferences.applyReference(event);
|
|
9626
|
+
}
|
|
9627
|
+
|
|
9628
|
+
if (event.target.closest('.footnote')) {
|
|
9629
|
+
useFootnotes.applyFootnote(event);
|
|
9630
|
+
}
|
|
9631
|
+
}
|
|
9632
|
+
|
|
9633
|
+
const useTextContent = {
|
|
9634
|
+
content,
|
|
9635
|
+
summary,
|
|
9636
|
+
initContent,
|
|
9637
|
+
getContent,
|
|
9638
|
+
applyContent,
|
|
9639
|
+
listenToClicks,
|
|
9640
|
+
context
|
|
9641
9641
|
};
|
|
9642
9642
|
|
|
9643
9643
|
const state$1 = reactive({
|
|
@@ -9670,141 +9670,143 @@ const useEstimatePages = {
|
|
|
9670
9670
|
estimate
|
|
9671
9671
|
};
|
|
9672
9672
|
|
|
9673
|
-
const isSafari = [
|
|
9674
|
-
'iPad Simulator',
|
|
9675
|
-
'iPhone Simulator',
|
|
9676
|
-
'iPod Simulator',
|
|
9677
|
-
'iPad',
|
|
9678
|
-
'iPhone',
|
|
9679
|
-
'iPod'
|
|
9680
|
-
].includes(navigator.platform)
|
|
9681
|
-
|| (navigator.userAgent.includes("Mac") && "ontouchend" in document);
|
|
9682
|
-
|
|
9683
|
-
const isApple = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);
|
|
9684
|
-
|
|
9685
|
-
const useBrowser = {
|
|
9686
|
-
isSafari,
|
|
9687
|
-
isApple
|
|
9673
|
+
const isSafari = [
|
|
9674
|
+
'iPad Simulator',
|
|
9675
|
+
'iPhone Simulator',
|
|
9676
|
+
'iPod Simulator',
|
|
9677
|
+
'iPad',
|
|
9678
|
+
'iPhone',
|
|
9679
|
+
'iPod'
|
|
9680
|
+
].includes(navigator.platform)
|
|
9681
|
+
|| (navigator.userAgent.includes("Mac") && "ontouchend" in document);
|
|
9682
|
+
|
|
9683
|
+
const isApple = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);
|
|
9684
|
+
|
|
9685
|
+
const useBrowser = {
|
|
9686
|
+
isSafari,
|
|
9687
|
+
isApple
|
|
9688
9688
|
};
|
|
9689
9689
|
|
|
9690
|
-
const state = reactive({
|
|
9691
|
-
currentPage: 1,
|
|
9692
|
-
nextTry: 0,
|
|
9693
|
-
prevTry: 0,
|
|
9694
|
-
willRedirect: false
|
|
9695
|
-
});
|
|
9696
|
-
|
|
9697
|
-
const currentPage = computed(() => state.currentPage);
|
|
9698
|
-
const totalPages = computed(() => useEstimatePages.totalPages.value);
|
|
9699
|
-
|
|
9700
|
-
function init(viewport, content) {
|
|
9701
|
-
useEstimatePages.estimate(viewport, content);
|
|
9702
|
-
|
|
9703
|
-
// check if there is a query string for oring, and
|
|
9704
|
-
// if previews chapter was the next one. If so,
|
|
9705
|
-
// start from the end, as we are coming backwards
|
|
9706
|
-
const urlParams = new URLSearchParams(window.location.search);
|
|
9707
|
-
const origin = urlParams.get('origin');
|
|
9708
|
-
if (origin && origin === 'next') {
|
|
9709
|
-
setTimeout(() => {
|
|
9710
|
-
state.currentPage = totalPages.value;
|
|
9711
|
-
}, 200);
|
|
9712
|
-
}
|
|
9713
|
-
|
|
9714
|
-
if (!useBrowser.isApple && !useBrowser.isSafari) {
|
|
9715
|
-
addEventListener('wheel', onWheel);
|
|
9716
|
-
}
|
|
9717
|
-
|
|
9718
|
-
setInterval(() => {
|
|
9719
|
-
useEstimatePages.estimate(viewport, content);
|
|
9720
|
-
}, 5000);
|
|
9721
|
-
}
|
|
9722
|
-
|
|
9723
|
-
// when resizing the viewport, totalPages change
|
|
9724
|
-
// this watch is to currentPage inside totalPages range
|
|
9725
|
-
watch(totalPages, () => {
|
|
9726
|
-
if (totalPages.value < currentPage.value) {
|
|
9727
|
-
set(totalPages.value);
|
|
9728
|
-
}
|
|
9729
|
-
});
|
|
9730
|
-
|
|
9731
|
-
// navigate by increase/decrease value
|
|
9732
|
-
function next(usingScroll = false) {
|
|
9733
|
-
if (!useReaderSettings.blocked.value) {
|
|
9734
|
-
if ((state.currentPage + 1) <= totalPages.value) {
|
|
9735
|
-
state.currentPage = state.currentPage + 1;
|
|
9736
|
-
} else {
|
|
9737
|
-
// prevent going too fast to next chapter on
|
|
9738
|
-
// stronger scroll
|
|
9739
|
-
if (usingScroll && state.nextTry < 4) {
|
|
9740
|
-
state.nextTry += 1;
|
|
9741
|
-
return
|
|
9742
|
-
}
|
|
9743
|
-
|
|
9744
|
-
if (state.willRedirect === false) {
|
|
9745
|
-
const context = useTextContent.context.value;
|
|
9746
|
-
if (context.surround?.after) {
|
|
9747
|
-
window.location.href = context.surround.after.link + (`?origin=prev`);
|
|
9748
|
-
state.willRedirect = true;
|
|
9749
|
-
}
|
|
9750
|
-
}
|
|
9751
|
-
}
|
|
9752
|
-
}
|
|
9753
|
-
}
|
|
9754
|
-
onKeyStroke('ArrowRight', (e) => {
|
|
9755
|
-
e.preventDefault();
|
|
9756
|
-
next();
|
|
9757
|
-
});
|
|
9758
|
-
|
|
9759
|
-
function onWheel(event) {
|
|
9760
|
-
if (event.wheelDelta < 0) {
|
|
9761
|
-
next(true);
|
|
9762
|
-
} else {
|
|
9763
|
-
prev(true);
|
|
9764
|
-
}
|
|
9765
|
-
}
|
|
9766
|
-
function prev(usingScroll = false) {
|
|
9767
|
-
if (!useReaderSettings.blocked.value) {
|
|
9768
|
-
if ((state.currentPage - 1) > 0) {
|
|
9769
|
-
state.currentPage = state.currentPage - 1;
|
|
9770
|
-
} else {
|
|
9771
|
-
// prevent going too fast to prev chapter on
|
|
9772
|
-
// stronger scroll
|
|
9773
|
-
if (usingScroll && state.prevTry < 4) {
|
|
9774
|
-
state.prevTry += 1;
|
|
9775
|
-
return
|
|
9776
|
-
}
|
|
9777
|
-
|
|
9778
|
-
if (state.willRedirect === false) {
|
|
9779
|
-
const context = useTextContent.context.value;
|
|
9780
|
-
if (context.surround?.before) {
|
|
9781
|
-
window.location.href = context.surround.before.link + (`?origin=next`);
|
|
9782
|
-
}
|
|
9783
|
-
state.willRedirect = true;
|
|
9784
|
-
}
|
|
9785
|
-
}
|
|
9786
|
-
}
|
|
9787
|
-
}
|
|
9788
|
-
onKeyStroke('ArrowLeft', (e) => {
|
|
9789
|
-
e.preventDefault();
|
|
9790
|
-
prev();
|
|
9791
|
-
});
|
|
9792
|
-
|
|
9793
|
-
// navigate to specific page
|
|
9794
|
-
function set(val) {
|
|
9795
|
-
state.currentPage = val;
|
|
9796
|
-
}
|
|
9797
|
-
|
|
9798
|
-
const usePagination = {
|
|
9799
|
-
currentPage,
|
|
9800
|
-
totalPages,
|
|
9801
|
-
next,
|
|
9802
|
-
prev,
|
|
9803
|
-
init,
|
|
9804
|
-
set
|
|
9690
|
+
const state = reactive({
|
|
9691
|
+
currentPage: 1,
|
|
9692
|
+
nextTry: 0,
|
|
9693
|
+
prevTry: 0,
|
|
9694
|
+
willRedirect: false
|
|
9695
|
+
});
|
|
9696
|
+
|
|
9697
|
+
const currentPage = computed(() => state.currentPage);
|
|
9698
|
+
const totalPages = computed(() => useEstimatePages.totalPages.value);
|
|
9699
|
+
|
|
9700
|
+
function init(viewport, content) {
|
|
9701
|
+
useEstimatePages.estimate(viewport, content);
|
|
9702
|
+
|
|
9703
|
+
// check if there is a query string for oring, and
|
|
9704
|
+
// if previews chapter was the next one. If so,
|
|
9705
|
+
// start from the end, as we are coming backwards
|
|
9706
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
9707
|
+
const origin = urlParams.get('origin');
|
|
9708
|
+
if (origin && origin === 'next') {
|
|
9709
|
+
setTimeout(() => {
|
|
9710
|
+
state.currentPage = totalPages.value;
|
|
9711
|
+
}, 200);
|
|
9712
|
+
}
|
|
9713
|
+
|
|
9714
|
+
if (!useBrowser.isApple && !useBrowser.isSafari) {
|
|
9715
|
+
addEventListener('wheel', onWheel);
|
|
9716
|
+
}
|
|
9717
|
+
|
|
9718
|
+
setInterval(() => {
|
|
9719
|
+
useEstimatePages.estimate(viewport, content);
|
|
9720
|
+
}, 5000);
|
|
9721
|
+
}
|
|
9722
|
+
|
|
9723
|
+
// when resizing the viewport, totalPages change
|
|
9724
|
+
// this watch is to currentPage inside totalPages range
|
|
9725
|
+
watch(totalPages, () => {
|
|
9726
|
+
if (totalPages.value < currentPage.value) {
|
|
9727
|
+
set(totalPages.value);
|
|
9728
|
+
}
|
|
9729
|
+
});
|
|
9730
|
+
|
|
9731
|
+
// navigate by increase/decrease value
|
|
9732
|
+
function next(usingScroll = false) {
|
|
9733
|
+
if (!useReaderSettings.blocked.value) {
|
|
9734
|
+
if ((state.currentPage + 1) <= totalPages.value) {
|
|
9735
|
+
state.currentPage = state.currentPage + 1;
|
|
9736
|
+
} else {
|
|
9737
|
+
// prevent going too fast to next chapter on
|
|
9738
|
+
// stronger scroll
|
|
9739
|
+
if (usingScroll && state.nextTry < 4) {
|
|
9740
|
+
state.nextTry += 1;
|
|
9741
|
+
return
|
|
9742
|
+
}
|
|
9743
|
+
|
|
9744
|
+
if (state.willRedirect === false) {
|
|
9745
|
+
const context = useTextContent.context.value;
|
|
9746
|
+
if (context.surround?.after) {
|
|
9747
|
+
window.location.href = context.surround.after.link + (`?origin=prev`);
|
|
9748
|
+
state.willRedirect = true;
|
|
9749
|
+
}
|
|
9750
|
+
}
|
|
9751
|
+
}
|
|
9752
|
+
}
|
|
9753
|
+
}
|
|
9754
|
+
onKeyStroke('ArrowRight', (e) => {
|
|
9755
|
+
e.preventDefault();
|
|
9756
|
+
next();
|
|
9757
|
+
});
|
|
9758
|
+
|
|
9759
|
+
function onWheel(event) {
|
|
9760
|
+
if (event.wheelDelta < 0) {
|
|
9761
|
+
next(true);
|
|
9762
|
+
} else {
|
|
9763
|
+
prev(true);
|
|
9764
|
+
}
|
|
9765
|
+
}
|
|
9766
|
+
function prev(usingScroll = false) {
|
|
9767
|
+
if (!useReaderSettings.blocked.value) {
|
|
9768
|
+
if ((state.currentPage - 1) > 0) {
|
|
9769
|
+
state.currentPage = state.currentPage - 1;
|
|
9770
|
+
} else {
|
|
9771
|
+
// prevent going too fast to prev chapter on
|
|
9772
|
+
// stronger scroll
|
|
9773
|
+
if (usingScroll && state.prevTry < 4) {
|
|
9774
|
+
state.prevTry += 1;
|
|
9775
|
+
return
|
|
9776
|
+
}
|
|
9777
|
+
|
|
9778
|
+
if (state.willRedirect === false) {
|
|
9779
|
+
const context = useTextContent.context.value;
|
|
9780
|
+
if (context.surround?.before) {
|
|
9781
|
+
window.location.href = context.surround.before.link + (`?origin=next`);
|
|
9782
|
+
}
|
|
9783
|
+
state.willRedirect = true;
|
|
9784
|
+
}
|
|
9785
|
+
}
|
|
9786
|
+
}
|
|
9787
|
+
}
|
|
9788
|
+
onKeyStroke('ArrowLeft', (e) => {
|
|
9789
|
+
e.preventDefault();
|
|
9790
|
+
prev();
|
|
9791
|
+
});
|
|
9792
|
+
|
|
9793
|
+
// navigate to specific page
|
|
9794
|
+
function set(val) {
|
|
9795
|
+
state.currentPage = val;
|
|
9796
|
+
}
|
|
9797
|
+
|
|
9798
|
+
const usePagination = {
|
|
9799
|
+
currentPage,
|
|
9800
|
+
totalPages,
|
|
9801
|
+
next,
|
|
9802
|
+
prev,
|
|
9803
|
+
init,
|
|
9804
|
+
set
|
|
9805
9805
|
};
|
|
9806
9806
|
|
|
9807
9807
|
const _hoisted_1$n = ["role"];
|
|
9808
|
+
const _hoisted_2$l = { class: "item-title" };
|
|
9809
|
+
const _hoisted_3$d = { key: 0 };
|
|
9808
9810
|
|
|
9809
9811
|
const _sfc_main$p = {
|
|
9810
9812
|
__name: 'SummaryDropdown',
|
|
@@ -9820,6 +9822,7 @@ async function getChapter(item) {
|
|
|
9820
9822
|
|
|
9821
9823
|
return (_ctx, _cache) => {
|
|
9822
9824
|
return (openBlock(), createElementBlock("div", {
|
|
9825
|
+
id: "summary-menu-dropdown",
|
|
9823
9826
|
class: "absolute top-14 py-4 px-3 shadow-lg w-60 md:w-104 text-areia z-10 bg-white",
|
|
9824
9827
|
role: _ctx.Sumário,
|
|
9825
9828
|
"aria-orientation": "vertical",
|
|
@@ -9836,7 +9839,10 @@ return (_ctx, _cache) => {
|
|
|
9836
9839
|
onClick: $event => (item.file ? getChapter(item) : null)
|
|
9837
9840
|
}, {
|
|
9838
9841
|
default: withCtx(() => [
|
|
9839
|
-
|
|
9842
|
+
createBaseVNode("span", _hoisted_2$l, toDisplayString(item.title), 1),
|
|
9843
|
+
(item.author)
|
|
9844
|
+
? (openBlock(), createElementBlock("span", _hoisted_3$d, toDisplayString(item.author), 1))
|
|
9845
|
+
: createCommentVNode("", true)
|
|
9840
9846
|
]),
|
|
9841
9847
|
_: 2
|
|
9842
9848
|
}, 1032, ["href", "title", "onClick"]))
|
|
@@ -9854,26 +9860,26 @@ const _hoisted_2$k = ["href"];
|
|
|
9854
9860
|
const _hoisted_3$c = { class: "position-relative" };
|
|
9855
9861
|
const _hoisted_4$4 = ["aria-expanded"];
|
|
9856
9862
|
const _hoisted_5$3 = /*#__PURE__*/createBaseVNode("span", { class: "block ml-3" }, " Sumário ", -1);
|
|
9857
|
-
|
|
9863
|
+
|
|
9858
9864
|
|
|
9859
9865
|
const _sfc_main$o = {
|
|
9860
9866
|
__name: 'SummaryButton',
|
|
9861
9867
|
setup(__props) {
|
|
9862
|
-
|
|
9863
|
-
const show = ref(false);
|
|
9864
|
-
const button = ref(null);
|
|
9865
|
-
|
|
9866
|
-
const { homeUrl } = useReaderSettings;
|
|
9867
|
-
|
|
9868
|
-
const toggleSummary = () => show.value = !show.value;
|
|
9869
|
-
const hide = () => {
|
|
9870
|
-
if (!useReaderSettings.blocked.value) {
|
|
9871
|
-
show.value = false;
|
|
9872
|
-
}
|
|
9873
|
-
};
|
|
9874
|
-
|
|
9875
|
-
onClickOutside(button, () => hide());
|
|
9876
|
-
onKeyStroke('Escape', () => hide());
|
|
9868
|
+
|
|
9869
|
+
const show = ref(false);
|
|
9870
|
+
const button = ref(null);
|
|
9871
|
+
|
|
9872
|
+
const { homeUrl } = useReaderSettings;
|
|
9873
|
+
|
|
9874
|
+
const toggleSummary = () => show.value = !show.value;
|
|
9875
|
+
const hide = () => {
|
|
9876
|
+
if (!useReaderSettings.blocked.value) {
|
|
9877
|
+
show.value = false;
|
|
9878
|
+
}
|
|
9879
|
+
};
|
|
9880
|
+
|
|
9881
|
+
onClickOutside(button, () => hide());
|
|
9882
|
+
onKeyStroke('Escape', () => hide());
|
|
9877
9883
|
|
|
9878
9884
|
return (_ctx, _cache) => {
|
|
9879
9885
|
return (openBlock(), createElementBlock("div", {
|
|
@@ -10081,24 +10087,24 @@ const _hoisted_2$d = ["title"];
|
|
|
10081
10087
|
const _sfc_main$h = {
|
|
10082
10088
|
__name: 'OptionsColumns',
|
|
10083
10089
|
setup(__props) {
|
|
10084
|
-
|
|
10085
|
-
const { columns, setColumns } = useReaderSettings;
|
|
10086
|
-
const { width } = useWindowSize();
|
|
10087
|
-
|
|
10088
|
-
const isSafari = computed(() => {
|
|
10089
|
-
const ua = navigator.userAgent.toLowerCase();
|
|
10090
|
-
return ua.indexOf('safari') !== -1 && ua.indexOf('chrome') === -1
|
|
10091
|
-
});
|
|
10092
|
-
|
|
10090
|
+
|
|
10091
|
+
const { columns, setColumns } = useReaderSettings;
|
|
10092
|
+
const { width } = useWindowSize();
|
|
10093
|
+
|
|
10094
|
+
const isSafari = computed(() => {
|
|
10095
|
+
const ua = navigator.userAgent.toLowerCase();
|
|
10096
|
+
return ua.indexOf('safari') !== -1 && ua.indexOf('chrome') === -1
|
|
10097
|
+
});
|
|
10098
|
+
|
|
10093
10099
|
|
|
10094
10100
|
return (_ctx, _cache) => {
|
|
10095
10101
|
return (openBlock(), createElementBlock("div", _hoisted_1$f, [
|
|
10096
10102
|
createBaseVNode("button", {
|
|
10097
10103
|
id: "single-column-button",
|
|
10098
|
-
class: normalizeClass(["col-span-1 text-primary text-center cursor-pointer py-3 rounded-sm border", {
|
|
10099
|
-
'border-gray-300': unref(columns) !== 'single',
|
|
10100
|
-
'bg-primary-extralight border-2 border-primary': unref(columns) === 'single',
|
|
10101
|
-
'opacity-30 cursor-default': unref(isSafari)
|
|
10104
|
+
class: normalizeClass(["col-span-1 text-primary text-center cursor-pointer py-3 rounded-sm border", {
|
|
10105
|
+
'border-gray-300': unref(columns) !== 'single',
|
|
10106
|
+
'bg-primary-extralight border-2 border-primary': unref(columns) === 'single',
|
|
10107
|
+
'opacity-30 cursor-default': unref(isSafari)
|
|
10102
10108
|
}]),
|
|
10103
10109
|
onClick: _cache[0] || (_cache[0] = withModifiers($event => (!unref(isSafari) ? unref(setColumns)('single') : null), ["prevent"])),
|
|
10104
10110
|
"aria-label": "Coluna única",
|
|
@@ -10108,10 +10114,10 @@ return (_ctx, _cache) => {
|
|
|
10108
10114
|
], 10, _hoisted_2$d),
|
|
10109
10115
|
createBaseVNode("button", {
|
|
10110
10116
|
id: "double-column-button",
|
|
10111
|
-
class: normalizeClass(["col-span-2 text-primary text-center cursor-pointer py-3 rounded-sm border", {
|
|
10112
|
-
'border-gray-300': unref(columns) !== 'double',
|
|
10113
|
-
'bg-primary-extralight border-2 border-primary': unref(columns) === 'double',
|
|
10114
|
-
'opacity-30': unref(width) < 1024
|
|
10117
|
+
class: normalizeClass(["col-span-2 text-primary text-center cursor-pointer py-3 rounded-sm border", {
|
|
10118
|
+
'border-gray-300': unref(columns) !== 'double',
|
|
10119
|
+
'bg-primary-extralight border-2 border-primary': unref(columns) === 'double',
|
|
10120
|
+
'opacity-30': unref(width) < 1024
|
|
10115
10121
|
}]),
|
|
10116
10122
|
onClick: _cache[1] || (_cache[1] = withModifiers($event => (unref(width) >= 1024 && unref(setColumns)('double')), ["prevent"])),
|
|
10117
10123
|
"aria-label": "Coluna dupla",
|
|
@@ -10137,9 +10143,9 @@ const _hoisted_2$c = ["onClick", "title"];
|
|
|
10137
10143
|
const _sfc_main$g = {
|
|
10138
10144
|
__name: 'OptionsFontFamily',
|
|
10139
10145
|
setup(__props) {
|
|
10140
|
-
|
|
10141
|
-
const { textFont, fontsOptions, setTextFont } = useReaderSettings;
|
|
10142
|
-
|
|
10146
|
+
|
|
10147
|
+
const { textFont, fontsOptions, setTextFont } = useReaderSettings;
|
|
10148
|
+
|
|
10143
10149
|
|
|
10144
10150
|
return (_ctx, _cache) => {
|
|
10145
10151
|
return (openBlock(), createElementBlock("div", _hoisted_1$e, [
|
|
@@ -10147,8 +10153,8 @@ return (_ctx, _cache) => {
|
|
|
10147
10153
|
return (openBlock(), createElementBlock("button", {
|
|
10148
10154
|
key: font.name,
|
|
10149
10155
|
onClick: withModifiers($event => (unref(setTextFont)(font.name)), ["prevent"]),
|
|
10150
|
-
class: normalizeClass(["font-light text-lg text-primary tracking-wide border border-urucum w-full h-10 flex justify-center items-center", {
|
|
10151
|
-
'bg-primary-extralight border-2 border-primary': unref(textFont) === font.name
|
|
10156
|
+
class: normalizeClass(["font-light text-lg text-primary tracking-wide border border-urucum w-full h-10 flex justify-center items-center", {
|
|
10157
|
+
'bg-primary-extralight border-2 border-primary': unref(textFont) === font.name
|
|
10152
10158
|
}]),
|
|
10153
10159
|
style: normalizeStyle(`font-family: ${font.name}`),
|
|
10154
10160
|
title: font.label ?? font.name
|
|
@@ -10163,9 +10169,9 @@ return (_ctx, _cache) => {
|
|
|
10163
10169
|
const _sfc_main$f = {
|
|
10164
10170
|
__name: 'OptionsFontSize',
|
|
10165
10171
|
setup(__props) {
|
|
10166
|
-
|
|
10167
|
-
const { fontSize, setFontSize } = useReaderSettings;
|
|
10168
|
-
|
|
10172
|
+
|
|
10173
|
+
const { fontSize, setFontSize } = useReaderSettings;
|
|
10174
|
+
|
|
10169
10175
|
|
|
10170
10176
|
return (_ctx, _cache) => {
|
|
10171
10177
|
return (openBlock(), createElementBlock(Fragment, null, [
|
|
@@ -10234,9 +10240,9 @@ const IconMoon = /*#__PURE__*/_export_sfc(_sfc_main$d, [['render',_sfc_render$2]
|
|
|
10234
10240
|
const _sfc_main$c = {
|
|
10235
10241
|
__name: 'OptionsColor',
|
|
10236
10242
|
setup(__props) {
|
|
10237
|
-
|
|
10238
|
-
const { mode, setMode } = useReaderSettings;
|
|
10239
|
-
|
|
10243
|
+
|
|
10244
|
+
const { mode, setMode } = useReaderSettings;
|
|
10245
|
+
|
|
10240
10246
|
|
|
10241
10247
|
return (_ctx, _cache) => {
|
|
10242
10248
|
return (openBlock(), createElementBlock(Fragment, null, [
|
|
@@ -10244,8 +10250,8 @@ return (_ctx, _cache) => {
|
|
|
10244
10250
|
id: "lightmode-button",
|
|
10245
10251
|
onClick: _cache[0] || (_cache[0] = withModifiers($event => (unref(setMode)('light')), ["prevent"])),
|
|
10246
10252
|
title: "Leitura diurna",
|
|
10247
|
-
class: normalizeClass(["font-light text-base border w-full h-10 flex justify-center items-center", {
|
|
10248
|
-
'bg-primary-extralight text-primary border-2 border-primary': unref(mode) === 'light'
|
|
10253
|
+
class: normalizeClass(["font-light text-base border w-full h-10 flex justify-center items-center", {
|
|
10254
|
+
'bg-primary-extralight text-primary border-2 border-primary': unref(mode) === 'light'
|
|
10249
10255
|
}])
|
|
10250
10256
|
}, [
|
|
10251
10257
|
createVNode(IconSun, { class: "w-5 h-5" })
|
|
@@ -10254,8 +10260,8 @@ return (_ctx, _cache) => {
|
|
|
10254
10260
|
id: "darkmode-button",
|
|
10255
10261
|
onClick: _cache[1] || (_cache[1] = withModifiers($event => (unref(setMode)('dark')), ["prevent"])),
|
|
10256
10262
|
title: "Leitura noturna",
|
|
10257
|
-
class: normalizeClass(["font-light text-base border w-full h-10 flex justify-center items-center", {
|
|
10258
|
-
'bg-primary-extralight text-primary border-2 border-primary': unref(mode) === 'dark'
|
|
10263
|
+
class: normalizeClass(["font-light text-base border w-full h-10 flex justify-center items-center", {
|
|
10264
|
+
'bg-primary-extralight text-primary border-2 border-primary': unref(mode) === 'dark'
|
|
10259
10265
|
}])
|
|
10260
10266
|
}, [
|
|
10261
10267
|
createVNode(IconMoon, { class: "w-5 h-5" })
|
|
@@ -10282,12 +10288,12 @@ const _hoisted_5$2 = {
|
|
|
10282
10288
|
const _hoisted_6$2 = /*#__PURE__*/createBaseVNode("span", { class: "ml-4" }, "Visualização", -1);
|
|
10283
10289
|
const _hoisted_7$1 = { class: "w-full grid grid-cols-4 gap-2 my-3" };
|
|
10284
10290
|
const _hoisted_8$1 = /*#__PURE__*/createBaseVNode("div", { class: "hidden w-full border-b border-areia my-8" }, null, -1);
|
|
10285
|
-
|
|
10291
|
+
|
|
10286
10292
|
|
|
10287
10293
|
const _sfc_main$b = {
|
|
10288
10294
|
__name: 'OptionsDropdown',
|
|
10289
10295
|
setup(__props) {
|
|
10290
|
-
|
|
10296
|
+
|
|
10291
10297
|
|
|
10292
10298
|
return (_ctx, _cache) => {
|
|
10293
10299
|
return (openBlock(), createElementBlock("div", _hoisted_1$b, [
|
|
@@ -10325,26 +10331,26 @@ return (_ctx, _cache) => {
|
|
|
10325
10331
|
const _hoisted_1$a = { class: "flex" };
|
|
10326
10332
|
const _hoisted_2$8 = ["aria-expanded"];
|
|
10327
10333
|
const _hoisted_3$4 = /*#__PURE__*/createBaseVNode("span", { class: "block mr-3" }, " Opções ", -1);
|
|
10328
|
-
|
|
10334
|
+
|
|
10329
10335
|
|
|
10330
10336
|
const _sfc_main$a = {
|
|
10331
10337
|
__name: 'OptionsButton',
|
|
10332
10338
|
setup(__props) {
|
|
10333
|
-
|
|
10334
|
-
const show = ref(false);
|
|
10335
|
-
const button = ref(null);
|
|
10336
|
-
|
|
10337
|
-
const toggleSummary = () => show.value = !show.value;
|
|
10338
|
-
const hide = () => {
|
|
10339
|
-
if (!useReaderSettings.blocked.value) {
|
|
10340
|
-
show.value = false;
|
|
10341
|
-
}
|
|
10342
|
-
};
|
|
10343
|
-
|
|
10344
|
-
onClickOutside(button, () => hide());
|
|
10345
|
-
onKeyStroke('Escape', () => hide());
|
|
10346
|
-
|
|
10347
|
-
const { toggle: toggleFullScreen } = useFullscreen();
|
|
10339
|
+
|
|
10340
|
+
const show = ref(false);
|
|
10341
|
+
const button = ref(null);
|
|
10342
|
+
|
|
10343
|
+
const toggleSummary = () => show.value = !show.value;
|
|
10344
|
+
const hide = () => {
|
|
10345
|
+
if (!useReaderSettings.blocked.value) {
|
|
10346
|
+
show.value = false;
|
|
10347
|
+
}
|
|
10348
|
+
};
|
|
10349
|
+
|
|
10350
|
+
onClickOutside(button, () => hide());
|
|
10351
|
+
onKeyStroke('Escape', () => hide());
|
|
10352
|
+
|
|
10353
|
+
const { toggle: toggleFullScreen } = useFullscreen();
|
|
10348
10354
|
|
|
10349
10355
|
return (_ctx, _cache) => {
|
|
10350
10356
|
return (openBlock(), createElementBlock("div", {
|
|
@@ -10417,7 +10423,7 @@ const _hoisted_2$7 = { id: "header-titles" };
|
|
|
10417
10423
|
const _sfc_main$9 = {
|
|
10418
10424
|
__name: 'HeaderSlot',
|
|
10419
10425
|
setup(__props) {
|
|
10420
|
-
|
|
10426
|
+
|
|
10421
10427
|
|
|
10422
10428
|
return (_ctx, _cache) => {
|
|
10423
10429
|
return (openBlock(), createElementBlock("header", _hoisted_1$9, [
|
|
@@ -10452,22 +10458,22 @@ const _hoisted_1$8 = ["innerHTML"];
|
|
|
10452
10458
|
|
|
10453
10459
|
const _sfc_main$8 = {
|
|
10454
10460
|
__name: 'BookContent',
|
|
10455
|
-
props: {
|
|
10456
|
-
bookContent: String
|
|
10461
|
+
props: {
|
|
10462
|
+
bookContent: String
|
|
10457
10463
|
},
|
|
10458
10464
|
setup(__props) {
|
|
10459
10465
|
|
|
10460
10466
|
const props = __props;
|
|
10461
|
-
|
|
10462
|
-
const { content, initContent } = useTextContent;
|
|
10463
|
-
|
|
10464
|
-
|
|
10465
|
-
|
|
10466
|
-
const contentWrapper = ref(null);
|
|
10467
|
-
|
|
10468
|
-
onMounted(() => {
|
|
10469
|
-
initContent(props.bookContent, contentWrapper);
|
|
10470
|
-
});
|
|
10467
|
+
|
|
10468
|
+
const { content, initContent } = useTextContent;
|
|
10469
|
+
|
|
10470
|
+
|
|
10471
|
+
|
|
10472
|
+
const contentWrapper = ref(null);
|
|
10473
|
+
|
|
10474
|
+
onMounted(() => {
|
|
10475
|
+
initContent(props.bookContent, contentWrapper);
|
|
10476
|
+
});
|
|
10471
10477
|
|
|
10472
10478
|
return (_ctx, _cache) => {
|
|
10473
10479
|
return (openBlock(), createElementBlock("div", {
|
|
@@ -10577,29 +10583,29 @@ return (_ctx, _cache) => {
|
|
|
10577
10583
|
};
|
|
10578
10584
|
|
|
10579
10585
|
const _hoisted_1$5 = { class: "[ typeArea ] h-full relative transition-opacity duration-100 opacity-100 px-2 md:px-24" };
|
|
10580
|
-
|
|
10586
|
+
|
|
10581
10587
|
|
|
10582
10588
|
const _sfc_main$5 = {
|
|
10583
10589
|
__name: 'ReaderWrapper',
|
|
10584
10590
|
setup(__props) {
|
|
10585
|
-
const { currentPage } = usePagination;
|
|
10586
|
-
|
|
10587
|
-
const el = ref(null);
|
|
10588
|
-
|
|
10589
|
-
const { width } = useWindowSize();
|
|
10590
|
-
const { distanceX } = usePointerSwipe(el, {
|
|
10591
|
-
onSwipeEnd() {
|
|
10592
|
-
if (width.value < 600) {
|
|
10593
|
-
if (distanceX.value > 100) {
|
|
10594
|
-
usePagination.next();
|
|
10595
|
-
}
|
|
10596
|
-
if (distanceX.value < -100) {
|
|
10597
|
-
usePagination.prev();
|
|
10598
|
-
}
|
|
10599
|
-
}
|
|
10600
|
-
}
|
|
10601
|
-
});
|
|
10602
|
-
|
|
10591
|
+
const { currentPage } = usePagination;
|
|
10592
|
+
|
|
10593
|
+
const el = ref(null);
|
|
10594
|
+
|
|
10595
|
+
const { width } = useWindowSize();
|
|
10596
|
+
const { distanceX } = usePointerSwipe(el, {
|
|
10597
|
+
onSwipeEnd() {
|
|
10598
|
+
if (width.value < 600) {
|
|
10599
|
+
if (distanceX.value > 100) {
|
|
10600
|
+
usePagination.next();
|
|
10601
|
+
}
|
|
10602
|
+
if (distanceX.value < -100) {
|
|
10603
|
+
usePagination.prev();
|
|
10604
|
+
}
|
|
10605
|
+
}
|
|
10606
|
+
}
|
|
10607
|
+
});
|
|
10608
|
+
|
|
10603
10609
|
|
|
10604
10610
|
return (_ctx, _cache) => {
|
|
10605
10611
|
return (openBlock(), createElementBlock("div", {
|
|
@@ -10624,24 +10630,24 @@ const _hoisted_1$4 = {
|
|
|
10624
10630
|
};
|
|
10625
10631
|
const _hoisted_2$4 = ["innerHTML"];
|
|
10626
10632
|
const _hoisted_3$2 = { class: "mt-3 flex self-end" };
|
|
10627
|
-
|
|
10633
|
+
|
|
10628
10634
|
|
|
10629
10635
|
const _sfc_main$4 = {
|
|
10630
10636
|
__name: 'ReferencePopup',
|
|
10631
10637
|
setup(__props) {
|
|
10632
|
-
|
|
10633
|
-
const { reference, setHighlightedReference } = useReferences;
|
|
10634
|
-
|
|
10635
|
-
function closeRef() {
|
|
10636
|
-
setHighlightedReference(null);
|
|
10637
|
-
}
|
|
10638
|
-
|
|
10639
|
-
onKeyStroke('Escape', () => {
|
|
10640
|
-
if (!useReaderSettings.blocked.value) {
|
|
10641
|
-
setHighlightedReference(null);
|
|
10642
|
-
}
|
|
10643
|
-
});
|
|
10644
|
-
|
|
10638
|
+
|
|
10639
|
+
const { reference, setHighlightedReference } = useReferences;
|
|
10640
|
+
|
|
10641
|
+
function closeRef() {
|
|
10642
|
+
setHighlightedReference(null);
|
|
10643
|
+
}
|
|
10644
|
+
|
|
10645
|
+
onKeyStroke('Escape', () => {
|
|
10646
|
+
if (!useReaderSettings.blocked.value) {
|
|
10647
|
+
setHighlightedReference(null);
|
|
10648
|
+
}
|
|
10649
|
+
});
|
|
10650
|
+
|
|
10645
10651
|
|
|
10646
10652
|
return (_ctx, _cache) => {
|
|
10647
10653
|
return (openBlock(), createBlock(Transition, {
|
|
@@ -10683,13 +10689,13 @@ const _hoisted_2$3 = /*#__PURE__*/createBaseVNode("p", null, " ", -1);
|
|
|
10683
10689
|
const _sfc_main$3 = {
|
|
10684
10690
|
__name: 'FooterSlot',
|
|
10685
10691
|
setup(__props) {
|
|
10686
|
-
|
|
10687
|
-
const { totalPages, currentPage, set } = usePagination;
|
|
10688
|
-
|
|
10689
|
-
function format() {
|
|
10690
|
-
return `${currentPage.value} de ${totalPages.value}`
|
|
10691
|
-
}
|
|
10692
|
-
|
|
10692
|
+
|
|
10693
|
+
const { totalPages, currentPage, set } = usePagination;
|
|
10694
|
+
|
|
10695
|
+
function format() {
|
|
10696
|
+
return `${currentPage.value} de ${totalPages.value}`
|
|
10697
|
+
}
|
|
10698
|
+
|
|
10693
10699
|
|
|
10694
10700
|
return (_ctx, _cache) => {
|
|
10695
10701
|
return (openBlock(), createElementBlock("div", _hoisted_1$3, [
|
|
@@ -10736,7 +10742,7 @@ function _sfc_render(_ctx, _cache) {
|
|
|
10736
10742
|
}
|
|
10737
10743
|
const IconNotes = /*#__PURE__*/_export_sfc(_sfc_main$2, [['render',_sfc_render]]);
|
|
10738
10744
|
|
|
10739
|
-
const
|
|
10745
|
+
const FootnotesAside_vue_vue_type_style_index_0_scoped_5391e486_lang = '';
|
|
10740
10746
|
|
|
10741
10747
|
const _hoisted_1$1 = {
|
|
10742
10748
|
key: 0,
|
|
@@ -10750,57 +10756,57 @@ const _hoisted_5 = { class: "ml-4" };
|
|
|
10750
10756
|
const _hoisted_6 = /*#__PURE__*/createTextVNode(" Notas de rodapé ");
|
|
10751
10757
|
const _hoisted_7 = { class: "ml-10" };
|
|
10752
10758
|
const _hoisted_8 = ["id", "innerHTML"];
|
|
10753
|
-
|
|
10759
|
+
|
|
10754
10760
|
|
|
10755
10761
|
const _sfc_main$1 = {
|
|
10756
10762
|
__name: 'FootnotesAside',
|
|
10757
10763
|
setup(__props) {
|
|
10758
|
-
|
|
10759
|
-
const show = computed(() => useFootnotes.footnote.value);
|
|
10760
|
-
const footnote = computed(() => useFootnotes.footnote.value);
|
|
10761
|
-
const showFootnotes = computed(() => useFootnotes.showFootnotes.value);
|
|
10762
|
-
const footnotes = computed(() => useFootnotes.footnotes.value);
|
|
10763
|
-
|
|
10764
|
-
const oldBlockedValue = ref(null);
|
|
10765
|
-
const footnoteList = ref(null);
|
|
10766
|
-
|
|
10767
|
-
function hideAside() {
|
|
10768
|
-
useFootnotes.setHighlightedFootnote(null);
|
|
10769
|
-
useFootnotes.setShowFootnotes(false);
|
|
10770
|
-
}
|
|
10771
|
-
|
|
10772
|
-
onKeyStroke('Escape', () => {
|
|
10773
|
-
if (footnote.value || showFootnotes.value) {
|
|
10774
|
-
hideAside();
|
|
10775
|
-
}
|
|
10776
|
-
});
|
|
10777
|
-
|
|
10778
|
-
watch(
|
|
10779
|
-
[footnote, showFootnotes],
|
|
10780
|
-
() => {
|
|
10781
|
-
if (footnote.value || showFootnotes.value) {
|
|
10782
|
-
if (useReaderSettings.blocked.value === false) {
|
|
10783
|
-
oldBlockedValue.value = useReaderSettings.blocked.value;
|
|
10784
|
-
}
|
|
10785
|
-
useReaderSettings.setBlocked(true);
|
|
10786
|
-
|
|
10787
|
-
} else {
|
|
10788
|
-
if (oldBlockedValue.value === false) {
|
|
10789
|
-
useReaderSettings.setBlocked(oldBlockedValue.value);
|
|
10790
|
-
}
|
|
10791
|
-
oldBlockedValue.value = null;
|
|
10792
|
-
}
|
|
10793
|
-
|
|
10794
|
-
if (footnote.value) {
|
|
10795
|
-
setTimeout(() => {
|
|
10796
|
-
const element = footnoteList.value.querySelector(`#${footnote.value.id}`);
|
|
10797
|
-
element.scrollIntoView();
|
|
10798
|
-
element.focus();
|
|
10799
|
-
}, 50);
|
|
10800
|
-
}
|
|
10801
|
-
}
|
|
10802
|
-
);
|
|
10803
|
-
|
|
10764
|
+
|
|
10765
|
+
const show = computed(() => useFootnotes.footnote.value);
|
|
10766
|
+
const footnote = computed(() => useFootnotes.footnote.value);
|
|
10767
|
+
const showFootnotes = computed(() => useFootnotes.showFootnotes.value);
|
|
10768
|
+
const footnotes = computed(() => useFootnotes.footnotes.value);
|
|
10769
|
+
|
|
10770
|
+
const oldBlockedValue = ref(null);
|
|
10771
|
+
const footnoteList = ref(null);
|
|
10772
|
+
|
|
10773
|
+
function hideAside() {
|
|
10774
|
+
useFootnotes.setHighlightedFootnote(null);
|
|
10775
|
+
useFootnotes.setShowFootnotes(false);
|
|
10776
|
+
}
|
|
10777
|
+
|
|
10778
|
+
onKeyStroke('Escape', () => {
|
|
10779
|
+
if (footnote.value || showFootnotes.value) {
|
|
10780
|
+
hideAside();
|
|
10781
|
+
}
|
|
10782
|
+
});
|
|
10783
|
+
|
|
10784
|
+
watch(
|
|
10785
|
+
[footnote, showFootnotes],
|
|
10786
|
+
() => {
|
|
10787
|
+
if (footnote.value || showFootnotes.value) {
|
|
10788
|
+
if (useReaderSettings.blocked.value === false) {
|
|
10789
|
+
oldBlockedValue.value = useReaderSettings.blocked.value;
|
|
10790
|
+
}
|
|
10791
|
+
useReaderSettings.setBlocked(true);
|
|
10792
|
+
|
|
10793
|
+
} else {
|
|
10794
|
+
if (oldBlockedValue.value === false) {
|
|
10795
|
+
useReaderSettings.setBlocked(oldBlockedValue.value);
|
|
10796
|
+
}
|
|
10797
|
+
oldBlockedValue.value = null;
|
|
10798
|
+
}
|
|
10799
|
+
|
|
10800
|
+
if (footnote.value) {
|
|
10801
|
+
setTimeout(() => {
|
|
10802
|
+
const element = footnoteList.value.querySelector(`#${footnote.value.id}`);
|
|
10803
|
+
element.scrollIntoView();
|
|
10804
|
+
element.focus();
|
|
10805
|
+
}, 50);
|
|
10806
|
+
}
|
|
10807
|
+
}
|
|
10808
|
+
);
|
|
10809
|
+
|
|
10804
10810
|
|
|
10805
10811
|
return (_ctx, _cache) => {
|
|
10806
10812
|
return (openBlock(), createBlock(Transition, { name: "width" }, {
|
|
@@ -10833,9 +10839,9 @@ return (_ctx, _cache) => {
|
|
|
10833
10839
|
key: footnoteItem.id,
|
|
10834
10840
|
id: footnoteItem.id,
|
|
10835
10841
|
innerHTML: `<span class='footnote-index'>${index + 1}.</span> ${footnoteItem.text}`,
|
|
10836
|
-
class: normalizeClass(["text-left border-b border-b-white/25 last:border-transparent p-10 relative", unref(footnote) && unref(footnote).id !== footnoteItem.id
|
|
10837
|
-
? 'opacity-50'
|
|
10838
|
-
: 'opacity-100'
|
|
10842
|
+
class: normalizeClass(["text-left border-b border-b-white/25 last:border-transparent p-10 relative", unref(footnote) && unref(footnote).id !== footnoteItem.id
|
|
10843
|
+
? 'opacity-50'
|
|
10844
|
+
: 'opacity-100'
|
|
10839
10845
|
])
|
|
10840
10846
|
}, null, 10, _hoisted_8))
|
|
10841
10847
|
}), 128))
|
|
@@ -10851,82 +10857,82 @@ return (_ctx, _cache) => {
|
|
|
10851
10857
|
}
|
|
10852
10858
|
|
|
10853
10859
|
};
|
|
10854
|
-
const FootnotesAside = /*#__PURE__*/_export_sfc(_sfc_main$1, [['__scopeId',"data-v-
|
|
10860
|
+
const FootnotesAside = /*#__PURE__*/_export_sfc(_sfc_main$1, [['__scopeId',"data-v-5391e486"]]);
|
|
10855
10861
|
|
|
10856
|
-
const _style_0 = ".border-primary { border-color: var(--theme-primary, #690000);\n}\n.text-primary { color: var(--theme-primary, #690000);\n}\n.bg-primary { background-color: var(--theme-primary, #690000);\n}\n.border-primary-extralight { border-color: var(--theme-primary-extralight, #f3f4f6);\n}\n.text-primary-extralight { color: var(--theme-primary-extralight, #f3f4f6);\n}\n.bg-primary-extralight { background-color: var(--theme-primary-extralight, #f3f4f6);\n}\n.border-secondary { border-color: var(--theme-secondary, #ffa03c);\n}\n.text-secondary { color: var(--theme-secondary, #ffa03c);\n}\n.bg-secondary { background-color: var(--theme-secondary, #ffa03c);\n}\n.rootWrapper {\n\tmax-height: 100%;\n height: 100%;\n}\nmain#rootComponent {\n\theight: 100%;\n\tmax-height: 100%;\n}\nmain#rootComponent.light {\n\t\tbackground-color: var(--bg-light-mode, #fff7e0)\n}\nmain#rootComponent.dark {\n\t\tbackground-color: var(--bg-dark-mode, #2d2d2d);\n}\nmain#rootComponent.dark #content-area {\n\t\t\tcolor: #fff\n}\nheader.wrapper {\n\twidth: 200px;\n\tmargin: 0 auto;\n}\n#engine {\n\theight: calc(100% - 8.4rem);\n\tposition: relative;\n right: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n}\n.rootWrapper.safari {\n\tmax-height: initial;\n\theight: initial;\n}\n.rootWrapper.safari #engine {\n\theight: auto !important;\n}\n#reader-component {\n\twidth: 100%;\n}\n.typeArea {\n\twidth: 100%;\n}\n.engineWrapper {\n\theight: 100%;\n display: flex;\n justify-content: space-between;\n\tposition: relative;\n right: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n}\n.rootWrapper:not(.safari) .columns-double .columnsArea {\n\t-moz-column-count: 2;\n column-count: 2;\n grid-column-gap: 0;\n -moz-column-gap: 0;\n column-gap: 0;\n height: 100%;\n padding: 0;\n width: 100%;\n}\n@media only screen and (max-width: 1020px) {\n.rootWrapper:not(.safari) .columns-double .columnsArea {\n\t\t-moz-column-count: 1;\n \tcolumn-count: 1\n}\n}\n.rootWrapper:not(.safari) .columns-single .columnsArea {\n\t-moz-column-count: 1;\n\t column-count: 1;\n\t-moz-column-gap: 0;\n\t column-gap: 0;\n\theight: 100%;\n padding: 0;\n width: 100%;\n}\n.rootWrapper:not(.safari) .columns-single .columnsArea #content-area {\n\t\tmax-width: 37em;\n\t\tmargin: 0 auto;\n}\n.nav-prev { left: 0px;\n}\n.nav-next { right: 0px;\n}\n.viewer-nav {\n\theight: 100%;\n\tposition: relative;\n\ttop: 0px;\n\tbottom: 0px;\n\tz-index: 10;\n\twidth: 2.5rem;\n\tflex-shrink: 0;\n\tcursor: pointer;\n\talign-self: center;\n\ttransition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;\n\ttransition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n\ttransition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;\n\ttransition-duration: 500ms;\n\ttransition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.viewer-nav:focus,\n\t.viewer-nav:active {\n\t\tborder: none !important;\n\t\tbox-shadow: none !important;\n\t\toutline-color: transparent !important;\n}\n#content-area *::-moz-selection {\n\tcolor: var(--theme-primary-extralight, #690000);\n\tbackground: var(--theme-secondary, #ffa03c);\n}\n#content-area *::selection {\n\tcolor: var(--theme-primary-extralight, #690000);\n\tbackground: var(--theme-secondary, #ffa03c);\n}\n.viewer-nav-icon { opacity: 0;\n}\n@media (min-width: 768px) {\n.viewer-nav-icon { opacity: 0.8;\n}\n}\n@media only screen and (max-width: 600px) {\n.columnsArea {\n\t\ttransition: margin 100ms\n}\n}\n#asidebar {\n\tbackground: var(--sidebar-backgorund, #690000);\n\tcolor: var(--sidebar-text, #f3f4f6);\n}\n\n/* slider */\n.rootWrapper.safari .slider-target,\n.rootWrapper.safari .slider-target *{\n\tdisplay: none !important;\n}\n.slider-target,.slider-target *{\n -webkit-touch-callout:none;\n -webkit-tap-highlight-color:rgba(0,0,0,0);\n box-sizing:border-box;\n touch-action:none;\n -webkit-user-select:none;\n -moz-user-select:none;\n user-select:none\n}\n.slider-target{\n position:relative\n}\n.slider-base,.slider-connects{\n height:100%;\n position:relative;\n width:100%;\n z-index:1\n}\n.slider-connects{\n overflow:hidden;\n z-index:0\n}\n.slider-connect,.slider-origin{\n height:100%;\n position:absolute;\n right:0;\n top:0;\n transform-origin:0 0;\n transform-style:flat;\n width:100%;\n will-change:transform;\n z-index:1\n}\n.slider-txt-dir-rtl.slider-horizontal .slider-origin{\n left:0;\n right:auto\n}\n.slider-vertical .slider-origin{\n top:-100%;\n width:0\n}\n.slider-horizontal .slider-origin{\n height:0\n}\n.slider-handle{\n -webkit-backface-visibility:hidden;\n backface-visibility:hidden;\n position:absolute\n}\n.slider-touch-area{\n height:100%;\n width:100%\n}\n.slider-state-tap .slider-connect,.slider-state-tap .slider-origin{\n transition:transform .3s\n}\n.slider-state-drag *{\n cursor:inherit!important\n}\n.slider-tooltip-drag .slider-tooltip,.slider-tooltip-focus .slider-tooltip{\n display:none!important\n}\n.slider-tooltip-drag .slider-active .slider-tooltip,.slider-tooltip-drag.slider-state-drag .slider-tooltip:not(.slider-tooltip-hidden),.slider-tooltip-focus.slider-focused .slider-tooltip:not(.slider-tooltip-hidden){\n display:block!important\n}\n.slider-horizontal{\n height:var(--slider-height,6px)\n}\n.slider-horizontal .slider-handle{\n height:var(--slider-handle-height,16px);\n right:calc(var(--slider-handle-width, 16px)/2*-1);\n top:calc((var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2*-1 + -1px);\n width:var(--slider-handle-width,16px)\n}\n.slider-vertical{\n height:var(--slider-vertical-height,300px);\n width:var(--slider-height,6px)\n}\n.slider-vertical .slider-handle{\n bottom:calc(var(--slider-handle-width, 16px)/2*-1);\n height:var(--slider-handle-width,16px);\n right:calc((var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2*-1 + -1px);\n width:var(--slider-handle-height,16px)\n}\n.slider-txt-dir-rtl.slider-horizontal .slider-handle{\n left:calc(var(--slider-handle-width, 16px)/2*-1);\n right:auto\n}\n.slider-base{\n background-color:var(--slider-bg,#d1d5db)\n}\n.slider-base,.slider-connects{\n border-radius:var(--slider-radius,9999px)\n}\n.slider-connect{\n background:var(--theme-secondary, #690000);\n cursor:pointer\n}\n.slider-draggable{\n cursor:ew-resize\n}\n.slider-vertical .slider-draggable{\n cursor:ns-resize\n}\n.slider-handle{\n background:var(--slider-handle-bg,#fff);\n border:var(--slider-handle-border,0);\n border-radius:var(--slider-handle-radius,9999px);\n box-shadow:var(--slider-handle-shadow,.5px .5px 2px 1px rgba(0,0,0,.32));\n cursor:-webkit-grab;\n cursor:grab;\n height:var(--slider-handle-height,16px);\n width:var(--slider-handle-width,16px)\n}\n.slider-handle:focus{\n box-shadow:0 0 0 var(--slider-handle-ring-width,3px) var(--slider-handle-ring-color,rgba(16,185,129,.188)),var(--slider-handle-shadow,.5px .5px 2px 1px rgba(0,0,0,.32));\n outline:none\n}\n.slider-active{\n box-shadow:var(--slider-handle-shadow-active,.5px .5px 2px 1px rgba(0,0,0,.42));\n cursor:-webkit-grabbing;\n cursor:grabbing\n}\n[disabled] .slider-connect{\n background:var(--slider-connect-bg-disabled,#9ca3af)\n}\n[disabled] .slider-handle,[disabled].slider-handle,[disabled].slider-target{\n cursor:not-allowed\n}\n[disabled] .slider-tooltip{\n background:var(--theme-secondary, #690000);\n border-color:var(--theme-secondary, #690000);\n\topacity: 0.5;\n}\n.slider-tooltip{\n background:var(--theme-secondary, #690000);\n border:1px solid var(--theme-secondary, #690000);\n border-radius:var(--slider-tooltip-radius,5px);\n color:var(--slider-tooltip-color,#fff);\n display:block;\n font-size:var(--slider-tooltip-font-size,.875rem);\n font-weight:var(--slider-tooltip-font-weight,600);\n line-height:var(--slider-tooltip-line-height,1.25rem);\n min-width:var(--slider-tooltip-min-width,20px);\n padding:var(--slider-tooltip-py,2px) var(--slider-tooltip-px,6px);\n position:absolute;\n text-align:center;\n white-space:nowrap\n}\n.slider-horizontal .slider-tooltip-top{\n bottom:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));\n left:50%;\n transform:translate(-50%)\n}\n.slider-horizontal .slider-tooltip-top:before{\n border:var(--slider-tooltip-arrow-size,5px) solid transparent;\n border-top-color:inherit;\n bottom:calc(var(--slider-tooltip-arrow-size, 5px)*-2);\n content:\"\";\n height:0;\n left:50%;\n position:absolute;\n transform:translate(-50%);\n width:0\n}\n.slider-horizontal .slider-tooltip-bottom{\n left:50%;\n top:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));\n transform:translate(-50%)\n}\n.slider-horizontal .slider-tooltip-bottom:before{\n border:var(--slider-tooltip-arrow-size,5px) solid transparent;\n border-bottom-color:inherit;\n content:\"\";\n height:0;\n left:50%;\n position:absolute;\n top:calc(var(--slider-tooltip-arrow-size, 5px)*-2);\n transform:translate(-50%);\n width:0\n}\n.slider-vertical .slider-tooltip-left{\n right:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));\n top:50%;\n transform:translateY(-50%)\n}\n.slider-vertical .slider-tooltip-left:before{\n border:var(--slider-tooltip-arrow-size,5px) solid transparent;\n border-left-color:inherit;\n content:\"\";\n height:0;\n position:absolute;\n right:calc(var(--slider-tooltip-arrow-size, 5px)*-2);\n top:50%;\n transform:translateY(-50%);\n width:0\n}\n.slider-vertical .slider-tooltip-right{\n left:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));\n top:50%;\n transform:translateY(-50%)\n}\n.slider-vertical .slider-tooltip-right:before{\n border:var(--slider-tooltip-arrow-size,5px) solid transparent;\n border-right-color:inherit;\n content:\"\";\n height:0;\n left:calc(var(--slider-tooltip-arrow-size, 5px)*-2);\n position:absolute;\n top:50%;\n transform:translateY(-50%);\n width:0\n}\n.slider-horizontal .slider-origin>.slider-tooltip{\n left:auto;\n transform:translate(50%)\n}\n.slider-horizontal .slider-origin>.slider-tooltip-top{\n bottom:calc(var(--slider-tooltip-arrow-size, 5px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) + 1px)\n}\n.slider-horizontal .slider-origin>.slider-tooltip-bottom{\n top:calc(var(--slider-tooltip-arrow-size, 5px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) + var(--slider-height, 6px) - 1px)\n}\n.slider-vertical .slider-origin>.slider-tooltip{\n top:auto;\n transform:translateY(calc((var(--slider-tooltip-line-height, 1.25rem) - var(--slider-tooltip-py, 2px))*-1 + 1px))\n}\n.slider-vertical .slider-origin>.slider-tooltip-left{\n right:calc(var(--slider-tooltip-arrow-size, 5px) + var(--slider-height, 6px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) - 1px)\n}\n.slider-vertical .slider-origin>.slider-tooltip-right{\n left:calc(var(--slider-tooltip-arrow-size, 5px) + var(--slider-height, 6px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) - var(--slider-height, 6px) + 1px)\n}\n\n";
|
|
10862
|
+
const _style_0 = ".border-primary { border-color: var(--theme-primary, #690000);\n}\n.text-primary { color: var(--theme-primary, #690000);\n}\n.bg-primary { background-color: var(--theme-primary, #690000);\n}\n.border-primary-extralight { border-color: var(--theme-primary-extralight, #f3f4f6);\n}\n.text-primary-extralight { color: var(--theme-primary-extralight, #f3f4f6);\n}\n.bg-primary-extralight { background-color: var(--theme-primary-extralight, #f3f4f6);\n}\n.border-secondary { border-color: var(--theme-secondary, #ffa03c);\n}\n.text-secondary { color: var(--theme-secondary, #ffa03c);\n}\n.bg-secondary { background-color: var(--theme-secondary, #ffa03c);\n}\n.rootWrapper {\r\n\tmax-height: 100%;\r\n height: 100%;\n}\nmain#rootComponent {\r\n\theight: 100%;\r\n\tmax-height: 100%;\n}\nmain#rootComponent.light {\r\n\t\tbackground-color: var(--bg-light-mode, #fff7e0)\n}\nmain#rootComponent.dark {\r\n\t\tbackground-color: var(--bg-dark-mode, #2d2d2d);\n}\nmain#rootComponent.dark #content-area {\r\n\t\t\tcolor: #fff\n}\nheader.wrapper {\r\n\twidth: 200px;\r\n\tmargin: 0 auto;\n}\n#engine {\r\n\theight: calc(100% - 8.4rem);\r\n\tposition: relative;\r\n right: 0;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\n}\n.rootWrapper.safari {\r\n\tmax-height: initial;\r\n\theight: initial;\n}\n.rootWrapper.safari #engine {\r\n\theight: auto !important;\n}\n#reader-component {\r\n\twidth: 100%;\n}\n.typeArea {\r\n\twidth: 100%;\n}\n.engineWrapper {\r\n\theight: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n\tposition: relative;\r\n right: 0;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\n}\n.rootWrapper:not(.safari) .columns-double .columnsArea {\r\n\t-moz-column-count: 2;\r\n column-count: 2;\r\n grid-column-gap: 0;\r\n -moz-column-gap: 0;\r\n column-gap: 0;\r\n height: 100%;\r\n padding: 0;\r\n width: 100%;\n}\n@media only screen and (max-width: 1020px) {\n.rootWrapper:not(.safari) .columns-double .columnsArea {\r\n\t\t-moz-column-count: 1;\r\n \tcolumn-count: 1\n}\n}\n.rootWrapper:not(.safari) .columns-single .columnsArea {\r\n\t-moz-column-count: 1;\r\n\t column-count: 1;\r\n\t-moz-column-gap: 0;\r\n\t column-gap: 0;\r\n\theight: 100%;\r\n padding: 0;\r\n width: 100%;\n}\n.rootWrapper:not(.safari) .columns-single .columnsArea #content-area {\r\n\t\tmax-width: 37em;\r\n\t\tmargin: 0 auto;\n}\n.nav-prev { left: 0px;\n}\n.nav-next { right: 0px;\n}\n.viewer-nav {\r\n\theight: 100%;\r\n\tposition: relative;\r\n\ttop: 0px;\r\n\tbottom: 0px;\r\n\tz-index: 10;\r\n\twidth: 2.5rem;\r\n\tflex-shrink: 0;\r\n\tcursor: pointer;\r\n\talign-self: center;\r\n\ttransition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;\r\n\ttransition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\r\n\ttransition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;\r\n\ttransition-duration: 500ms;\r\n\ttransition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.viewer-nav:focus,\r\n\t.viewer-nav:active {\r\n\t\tborder: none !important;\r\n\t\tbox-shadow: none !important;\r\n\t\toutline-color: transparent !important;\n}\n#content-area *::-moz-selection {\r\n\tcolor: var(--theme-primary-extralight, #690000);\r\n\tbackground: var(--theme-secondary, #ffa03c);\n}\n#content-area *::selection {\r\n\tcolor: var(--theme-primary-extralight, #690000);\r\n\tbackground: var(--theme-secondary, #ffa03c);\n}\n.viewer-nav-icon { opacity: 0;\n}\n@media (min-width: 768px) {\n.viewer-nav-icon { opacity: 0.8;\n}\n}\n@media only screen and (max-width: 600px) {\n.columnsArea {\r\n\t\ttransition: margin 100ms\n}\n}\n#asidebar {\r\n\tbackground: var(--sidebar-backgorund, #690000);\r\n\tcolor: var(--sidebar-text, #f3f4f6);\n}\r\n\r\n/* slider */\n.rootWrapper.safari .slider-target,\r\n.rootWrapper.safari .slider-target *{\r\n\tdisplay: none !important;\n}\n.slider-target,.slider-target *{\r\n -webkit-touch-callout:none;\r\n -webkit-tap-highlight-color:rgba(0,0,0,0);\r\n box-sizing:border-box;\r\n touch-action:none;\r\n -webkit-user-select:none;\r\n -moz-user-select:none;\r\n user-select:none\n}\n.slider-target{\r\n position:relative\n}\n.slider-base,.slider-connects{\r\n height:100%;\r\n position:relative;\r\n width:100%;\r\n z-index:1\n}\n.slider-connects{\r\n overflow:hidden;\r\n z-index:0\n}\n.slider-connect,.slider-origin{\r\n height:100%;\r\n position:absolute;\r\n right:0;\r\n top:0;\r\n transform-origin:0 0;\r\n transform-style:flat;\r\n width:100%;\r\n will-change:transform;\r\n z-index:1\n}\n.slider-txt-dir-rtl.slider-horizontal .slider-origin{\r\n left:0;\r\n right:auto\n}\n.slider-vertical .slider-origin{\r\n top:-100%;\r\n width:0\n}\n.slider-horizontal .slider-origin{\r\n height:0\n}\n.slider-handle{\r\n -webkit-backface-visibility:hidden;\r\n backface-visibility:hidden;\r\n position:absolute\n}\n.slider-touch-area{\r\n height:100%;\r\n width:100%\n}\n.slider-state-tap .slider-connect,.slider-state-tap .slider-origin{\r\n transition:transform .3s\n}\n.slider-state-drag *{\r\n cursor:inherit!important\n}\n.slider-tooltip-drag .slider-tooltip,.slider-tooltip-focus .slider-tooltip{\r\n display:none!important\n}\n.slider-tooltip-drag .slider-active .slider-tooltip,.slider-tooltip-drag.slider-state-drag .slider-tooltip:not(.slider-tooltip-hidden),.slider-tooltip-focus.slider-focused .slider-tooltip:not(.slider-tooltip-hidden){\r\n display:block!important\n}\n.slider-horizontal{\r\n height:var(--slider-height,6px)\n}\n.slider-horizontal .slider-handle{\r\n height:var(--slider-handle-height,16px);\r\n right:calc(var(--slider-handle-width, 16px)/2*-1);\r\n top:calc((var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2*-1 + -1px);\r\n width:var(--slider-handle-width,16px)\n}\n.slider-vertical{\r\n height:var(--slider-vertical-height,300px);\r\n width:var(--slider-height,6px)\n}\n.slider-vertical .slider-handle{\r\n bottom:calc(var(--slider-handle-width, 16px)/2*-1);\r\n height:var(--slider-handle-width,16px);\r\n right:calc((var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2*-1 + -1px);\r\n width:var(--slider-handle-height,16px)\n}\n.slider-txt-dir-rtl.slider-horizontal .slider-handle{\r\n left:calc(var(--slider-handle-width, 16px)/2*-1);\r\n right:auto\n}\n.slider-base{\r\n background-color:var(--slider-bg,#d1d5db)\n}\n.slider-base,.slider-connects{\r\n border-radius:var(--slider-radius,9999px)\n}\n.slider-connect{\r\n background:var(--theme-secondary, #690000);\r\n cursor:pointer\n}\n.slider-draggable{\r\n cursor:ew-resize\n}\n.slider-vertical .slider-draggable{\r\n cursor:ns-resize\n}\n.slider-handle{\r\n background:var(--slider-handle-bg,#fff);\r\n border:var(--slider-handle-border,0);\r\n border-radius:var(--slider-handle-radius,9999px);\r\n box-shadow:var(--slider-handle-shadow,.5px .5px 2px 1px rgba(0,0,0,.32));\r\n cursor:-webkit-grab;\r\n cursor:grab;\r\n height:var(--slider-handle-height,16px);\r\n width:var(--slider-handle-width,16px)\n}\n.slider-handle:focus{\r\n box-shadow:0 0 0 var(--slider-handle-ring-width,3px) var(--slider-handle-ring-color,rgba(16,185,129,.188)),var(--slider-handle-shadow,.5px .5px 2px 1px rgba(0,0,0,.32));\r\n outline:none\n}\n.slider-active{\r\n box-shadow:var(--slider-handle-shadow-active,.5px .5px 2px 1px rgba(0,0,0,.42));\r\n cursor:-webkit-grabbing;\r\n cursor:grabbing\n}\n[disabled] .slider-connect{\r\n background:var(--slider-connect-bg-disabled,#9ca3af)\n}\n[disabled] .slider-handle,[disabled].slider-handle,[disabled].slider-target{\r\n cursor:not-allowed\n}\n[disabled] .slider-tooltip{\r\n background:var(--theme-secondary, #690000);\r\n border-color:var(--theme-secondary, #690000);\r\n\topacity: 0.5;\n}\n.slider-tooltip{\r\n background:var(--theme-secondary, #690000);\r\n border:1px solid var(--theme-secondary, #690000);\r\n border-radius:var(--slider-tooltip-radius,5px);\r\n color:var(--slider-tooltip-color,#fff);\r\n display:block;\r\n font-size:var(--slider-tooltip-font-size,.875rem);\r\n font-weight:var(--slider-tooltip-font-weight,600);\r\n line-height:var(--slider-tooltip-line-height,1.25rem);\r\n min-width:var(--slider-tooltip-min-width,20px);\r\n padding:var(--slider-tooltip-py,2px) var(--slider-tooltip-px,6px);\r\n position:absolute;\r\n text-align:center;\r\n white-space:nowrap\n}\n.slider-horizontal .slider-tooltip-top{\r\n bottom:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));\r\n left:50%;\r\n transform:translate(-50%)\n}\n.slider-horizontal .slider-tooltip-top:before{\r\n border:var(--slider-tooltip-arrow-size,5px) solid transparent;\r\n border-top-color:inherit;\r\n bottom:calc(var(--slider-tooltip-arrow-size, 5px)*-2);\r\n content:\"\";\r\n height:0;\r\n left:50%;\r\n position:absolute;\r\n transform:translate(-50%);\r\n width:0\n}\n.slider-horizontal .slider-tooltip-bottom{\r\n left:50%;\r\n top:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));\r\n transform:translate(-50%)\n}\n.slider-horizontal .slider-tooltip-bottom:before{\r\n border:var(--slider-tooltip-arrow-size,5px) solid transparent;\r\n border-bottom-color:inherit;\r\n content:\"\";\r\n height:0;\r\n left:50%;\r\n position:absolute;\r\n top:calc(var(--slider-tooltip-arrow-size, 5px)*-2);\r\n transform:translate(-50%);\r\n width:0\n}\n.slider-vertical .slider-tooltip-left{\r\n right:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));\r\n top:50%;\r\n transform:translateY(-50%)\n}\n.slider-vertical .slider-tooltip-left:before{\r\n border:var(--slider-tooltip-arrow-size,5px) solid transparent;\r\n border-left-color:inherit;\r\n content:\"\";\r\n height:0;\r\n position:absolute;\r\n right:calc(var(--slider-tooltip-arrow-size, 5px)*-2);\r\n top:50%;\r\n transform:translateY(-50%);\r\n width:0\n}\n.slider-vertical .slider-tooltip-right{\r\n left:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));\r\n top:50%;\r\n transform:translateY(-50%)\n}\n.slider-vertical .slider-tooltip-right:before{\r\n border:var(--slider-tooltip-arrow-size,5px) solid transparent;\r\n border-right-color:inherit;\r\n content:\"\";\r\n height:0;\r\n left:calc(var(--slider-tooltip-arrow-size, 5px)*-2);\r\n position:absolute;\r\n top:50%;\r\n transform:translateY(-50%);\r\n width:0\n}\n.slider-horizontal .slider-origin>.slider-tooltip{\r\n left:auto;\r\n transform:translate(50%)\n}\n.slider-horizontal .slider-origin>.slider-tooltip-top{\r\n bottom:calc(var(--slider-tooltip-arrow-size, 5px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) + 1px)\n}\n.slider-horizontal .slider-origin>.slider-tooltip-bottom{\r\n top:calc(var(--slider-tooltip-arrow-size, 5px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) + var(--slider-height, 6px) - 1px)\n}\n.slider-vertical .slider-origin>.slider-tooltip{\r\n top:auto;\r\n transform:translateY(calc((var(--slider-tooltip-line-height, 1.25rem) - var(--slider-tooltip-py, 2px))*-1 + 1px))\n}\n.slider-vertical .slider-origin>.slider-tooltip-left{\r\n right:calc(var(--slider-tooltip-arrow-size, 5px) + var(--slider-height, 6px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) - 1px)\n}\n.slider-vertical .slider-origin>.slider-tooltip-right{\r\n left:calc(var(--slider-tooltip-arrow-size, 5px) + var(--slider-height, 6px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) - var(--slider-height, 6px) + 1px)\n}\r\n\r\n";
|
|
10857
10863
|
|
|
10858
10864
|
const _hoisted_1 = { class: "text-white text-center text-sm" };
|
|
10859
10865
|
const _hoisted_2 = { class: "text-white text-center text-xs" };
|
|
10860
|
-
|
|
10866
|
+
|
|
10861
10867
|
|
|
10862
10868
|
const _sfc_main = {
|
|
10863
10869
|
__name: 'App.ce',
|
|
10864
|
-
props: {
|
|
10865
|
-
bookTitle: String,
|
|
10866
|
-
bookContent: String,
|
|
10867
|
-
readerSettings: String,
|
|
10868
|
-
readerBlocked: Boolean,
|
|
10869
|
-
rootClass: {
|
|
10870
|
-
type: String,
|
|
10871
|
-
default: ''
|
|
10872
|
-
},
|
|
10873
|
-
cssFile: String,
|
|
10874
|
-
cssString: String
|
|
10870
|
+
props: {
|
|
10871
|
+
bookTitle: String,
|
|
10872
|
+
bookContent: String,
|
|
10873
|
+
readerSettings: String,
|
|
10874
|
+
readerBlocked: Boolean,
|
|
10875
|
+
rootClass: {
|
|
10876
|
+
type: String,
|
|
10877
|
+
default: ''
|
|
10878
|
+
},
|
|
10879
|
+
cssFile: String,
|
|
10880
|
+
cssString: String
|
|
10875
10881
|
},
|
|
10876
10882
|
setup(__props) {
|
|
10877
10883
|
|
|
10878
10884
|
const props = __props;
|
|
10879
|
-
|
|
10880
|
-
|
|
10881
|
-
|
|
10882
|
-
const { baseFont, bookTitle, chapterTitle, textFont, fontSize, columns, setColumns, mode } = useReaderSettings;
|
|
10883
|
-
const { currentPage, totalPages } = usePagination;
|
|
10884
|
-
const { content, listenToClicks } = useTextContent;
|
|
10885
|
-
const { width, height } = useWindowSize();
|
|
10886
|
-
|
|
10887
|
-
const readerComponent = ref(null);
|
|
10888
|
-
const contentArea = ref(null);
|
|
10889
|
-
const rootComponent = ref(null);
|
|
10890
|
-
|
|
10891
|
-
onMounted(async () => {
|
|
10892
|
-
usePagination.init(readerComponent, contentArea);
|
|
10893
|
-
useReaderSettings.initSettings(props.readerSettings);
|
|
10894
|
-
useStyles.initStyles(props, rootComponent);
|
|
10895
|
-
|
|
10896
|
-
if (['string', 'boolean'].includes(typeof props.readerBlocked)) {
|
|
10897
|
-
useReaderSettings.setBlocked(props.readerBlocked);
|
|
10898
|
-
}
|
|
10899
|
-
|
|
10900
|
-
});
|
|
10901
|
-
|
|
10902
|
-
watch(
|
|
10903
|
-
props,
|
|
10904
|
-
() => {
|
|
10905
|
-
if (props.hasOwnProperty('readerBlocked')) {
|
|
10906
|
-
const readerBlocked = typeof props.readerBlocked === 'boolean'
|
|
10907
|
-
? props.readerBlocked
|
|
10908
|
-
: props.readerBlocked === 'true';
|
|
10909
|
-
useReaderSettings.setBlocked(readerBlocked);
|
|
10910
|
-
}
|
|
10911
|
-
}
|
|
10912
|
-
);
|
|
10913
|
-
|
|
10914
|
-
watchDebounced(
|
|
10915
|
-
[width, height, content, columns, fontSize, textFont],
|
|
10916
|
-
() => {
|
|
10917
|
-
if (width.value < 1024 && columns.value === 'double')
|
|
10918
|
-
setColumns('single');
|
|
10919
|
-
else
|
|
10920
|
-
useEstimatePages.estimate(readerComponent, contentArea);
|
|
10921
|
-
},
|
|
10922
|
-
{ debounce: 125, maxWait: 250 }
|
|
10923
|
-
);
|
|
10924
|
-
|
|
10925
|
-
watchDebounced(content,
|
|
10926
|
-
() => listenToClicks(contentArea),
|
|
10927
|
-
{ debounce: 125, maxWait: 250 }
|
|
10928
|
-
);
|
|
10929
|
-
|
|
10885
|
+
|
|
10886
|
+
|
|
10887
|
+
|
|
10888
|
+
const { baseFont, bookTitle, chapterTitle, textFont, fontSize, columns, setColumns, mode } = useReaderSettings;
|
|
10889
|
+
const { currentPage, totalPages } = usePagination;
|
|
10890
|
+
const { content, listenToClicks } = useTextContent;
|
|
10891
|
+
const { width, height } = useWindowSize();
|
|
10892
|
+
|
|
10893
|
+
const readerComponent = ref(null);
|
|
10894
|
+
const contentArea = ref(null);
|
|
10895
|
+
const rootComponent = ref(null);
|
|
10896
|
+
|
|
10897
|
+
onMounted(async () => {
|
|
10898
|
+
usePagination.init(readerComponent, contentArea);
|
|
10899
|
+
useReaderSettings.initSettings(props.readerSettings);
|
|
10900
|
+
useStyles.initStyles(props, rootComponent);
|
|
10901
|
+
|
|
10902
|
+
if (['string', 'boolean'].includes(typeof props.readerBlocked)) {
|
|
10903
|
+
useReaderSettings.setBlocked(props.readerBlocked);
|
|
10904
|
+
}
|
|
10905
|
+
|
|
10906
|
+
});
|
|
10907
|
+
|
|
10908
|
+
watch(
|
|
10909
|
+
props,
|
|
10910
|
+
() => {
|
|
10911
|
+
if (props.hasOwnProperty('readerBlocked')) {
|
|
10912
|
+
const readerBlocked = typeof props.readerBlocked === 'boolean'
|
|
10913
|
+
? props.readerBlocked
|
|
10914
|
+
: props.readerBlocked === 'true';
|
|
10915
|
+
useReaderSettings.setBlocked(readerBlocked);
|
|
10916
|
+
}
|
|
10917
|
+
}
|
|
10918
|
+
);
|
|
10919
|
+
|
|
10920
|
+
watchDebounced(
|
|
10921
|
+
[width, height, content, columns, fontSize, textFont],
|
|
10922
|
+
() => {
|
|
10923
|
+
if (width.value < 1024 && columns.value === 'double')
|
|
10924
|
+
setColumns('single');
|
|
10925
|
+
else
|
|
10926
|
+
useEstimatePages.estimate(readerComponent, contentArea);
|
|
10927
|
+
},
|
|
10928
|
+
{ debounce: 125, maxWait: 250 }
|
|
10929
|
+
);
|
|
10930
|
+
|
|
10931
|
+
watchDebounced(content,
|
|
10932
|
+
() => listenToClicks(contentArea),
|
|
10933
|
+
{ debounce: 125, maxWait: 250 }
|
|
10934
|
+
);
|
|
10935
|
+
|
|
10930
10936
|
|
|
10931
10937
|
return (_ctx, _cache) => {
|
|
10932
10938
|
return (openBlock(), createElementBlock("div", {
|
|
@@ -10936,11 +10942,11 @@ return (_ctx, _cache) => {
|
|
|
10936
10942
|
id: "rootComponent",
|
|
10937
10943
|
ref_key: "rootComponent",
|
|
10938
10944
|
ref: rootComponent,
|
|
10939
|
-
class: normalizeClass(unref(mode)
|
|
10940
|
-
.concat(` ${props.rootClass}`)
|
|
10941
|
-
.concat(` currentPage-${unref(currentPage)}`)
|
|
10942
|
-
.concat(` totalPages-${unref(totalPages)}`)
|
|
10943
|
-
.concat(` columns-${unref(columns)}`)
|
|
10945
|
+
class: normalizeClass(unref(mode)
|
|
10946
|
+
.concat(` ${props.rootClass}`)
|
|
10947
|
+
.concat(` currentPage-${unref(currentPage)}`)
|
|
10948
|
+
.concat(` totalPages-${unref(totalPages)}`)
|
|
10949
|
+
.concat(` columns-${unref(columns)}`)
|
|
10944
10950
|
),
|
|
10945
10951
|
style: normalizeStyle(`font-family: ${unref(baseFont)}`)
|
|
10946
10952
|
}, [
|
|
@@ -11010,18 +11016,18 @@ const App = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]]]);
|
|
|
11010
11016
|
|
|
11011
11017
|
const tailwindStyles = "/*\n! tailwindcss v3.1.8 | MIT License | https://tailwindcss.com\n*/\n\n/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box;\n /* 1 */\n border-width: 0;\n /* 2 */\n border-style: solid;\n /* 2 */\n border-color: #e5e7eb;\n /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n*/\n\nhtml {\n line-height: 1.5;\n /* 1 */\n -webkit-text-size-adjust: 100%;\n /* 2 */\n -moz-tab-size: 4;\n /* 3 */\n -o-tab-size: 4;\n tab-size: 4;\n /* 3 */\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n /* 4 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0;\n /* 1 */\n line-height: inherit;\n /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0;\n /* 1 */\n color: inherit;\n /* 2 */\n border-top-width: 1px;\n /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0;\n /* 1 */\n border-color: inherit;\n /* 2 */\n border-collapse: collapse;\n /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n /* 1 */\n font-size: 100%;\n /* 1 */\n font-weight: inherit;\n /* 1 */\n line-height: inherit;\n /* 1 */\n color: inherit;\n /* 1 */\n margin: 0;\n /* 2 */\n padding: 0;\n /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button;\n /* 1 */\n background-color: transparent;\n /* 2 */\n background-image: none;\n /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield;\n /* 1 */\n outline-offset: -2px;\n /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n /* 1 */\n font: inherit;\n /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1;\n /* 1 */\n color: #9ca3af;\n /* 2 */\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1;\n /* 1 */\n color: #9ca3af;\n /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block;\n /* 1 */\n vertical-align: middle;\n /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n::-webkit-backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n.fixed {\n position: fixed;\n}\n\n.absolute {\n position: absolute;\n}\n\n.relative {\n position: relative;\n}\n\n.top-0 {\n top: 0px;\n}\n\n.right-0 {\n right: 0px;\n}\n\n.top-4 {\n top: 1rem;\n}\n\n.right-8 {\n right: 2rem;\n}\n\n.bottom-0 {\n bottom: 0px;\n}\n\n.top-14 {\n top: 3.5rem;\n}\n\n.-right-2 {\n right: -0.5rem;\n}\n\n.z-20 {\n z-index: 20;\n}\n\n.z-40 {\n z-index: 40;\n}\n\n.z-10 {\n z-index: 10;\n}\n\n.col-span-1 {\n grid-column: span 1 / span 1;\n}\n\n.col-span-2 {\n grid-column: span 2 / span 2;\n}\n\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.my-3 {\n margin-top: 0.75rem;\n margin-bottom: 0.75rem;\n}\n\n.my-8 {\n margin-top: 2rem;\n margin-bottom: 2rem;\n}\n\n.mb-6 {\n margin-bottom: 1.5rem;\n}\n\n.ml-4 {\n margin-left: 1rem;\n}\n\n.ml-10 {\n margin-left: 2.5rem;\n}\n\n.mt-3 {\n margin-top: 0.75rem;\n}\n\n.mr-3 {\n margin-right: 0.75rem;\n}\n\n.ml-3 {\n margin-left: 0.75rem;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem;\n}\n\n.block {\n display: block;\n}\n\n.flex {\n display: flex;\n}\n\n.grid {\n display: grid;\n}\n\n.hidden {\n display: none;\n}\n\n.h-screen {\n height: 100vh;\n}\n\n.h-6 {\n height: 1.5rem;\n}\n\n.h-8 {\n height: 2rem;\n}\n\n.h-full {\n height: 100%;\n}\n\n.h-10 {\n height: 2.5rem;\n}\n\n.h-5 {\n height: 1.25rem;\n}\n\n.w-full {\n width: 100%;\n}\n\n.w-96 {\n width: 24rem;\n}\n\n.w-6 {\n width: 1.5rem;\n}\n\n.w-8 {\n width: 2rem;\n}\n\n.w-4\\/5 {\n width: 80%;\n}\n\n.w-5 {\n width: 1.25rem;\n}\n\n.w-60 {\n width: 15rem;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0;\n}\n\n.scale-95 {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.scale-100 {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.cursor-default {\n cursor: default;\n}\n\n.grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n\n.items-center {\n align-items: center;\n}\n\n.justify-center {\n justify-content: center;\n}\n\n.justify-between {\n justify-content: space-between;\n}\n\n.gap-2 {\n gap: 0.5rem;\n}\n\n.divide-opacity-75 > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-opacity: 0.75;\n}\n\n.self-end {\n align-self: flex-end;\n}\n\n.overflow-auto {\n overflow: auto;\n}\n\n.overflow-hidden {\n overflow: hidden;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-sm {\n border-radius: 0.125rem;\n}\n\n.border {\n border-width: 1px;\n}\n\n.border-2 {\n border-width: 2px;\n}\n\n.border-b {\n border-bottom-width: 1px;\n}\n\n.border-white {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n}\n\n.border-gray-300 {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity));\n}\n\n.border-b-white\\/25 {\n border-bottom-color: rgb(255 255 255 / 0.25);\n}\n\n.bg-gray-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\n}\n\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.p-4 {\n padding: 1rem;\n}\n\n.p-10 {\n padding: 2.5rem;\n}\n\n.p-3 {\n padding: 0.75rem;\n}\n\n.py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.px-10 {\n padding-left: 2.5rem;\n padding-right: 2.5rem;\n}\n\n.py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n\n.py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n\n.px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n.pt-10 {\n padding-top: 2.5rem;\n}\n\n.pl-4 {\n padding-left: 1rem;\n}\n\n.text-left {\n text-align: left;\n}\n\n.text-center {\n text-align: center;\n}\n\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n\n.text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n\n.text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n\n.font-light {\n font-weight: 300;\n}\n\n.lowercase {\n text-transform: lowercase;\n}\n\n.tracking-wide {\n letter-spacing: 0.025em;\n}\n\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(55 65 81 / var(--tw-text-opacity));\n}\n\n.text-black {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity));\n}\n\n.opacity-50 {\n opacity: 0.5;\n}\n\n.opacity-100 {\n opacity: 1;\n}\n\n.opacity-0 {\n opacity: 0;\n}\n\n.opacity-30 {\n opacity: 0.3;\n}\n\n.opacity-75 {\n opacity: 0.75;\n}\n\n.shadow-2xl {\n --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.transition-colors {\n transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.transition {\n transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.duration-100 {\n transition-duration: 100ms;\n}\n\n.duration-200 {\n transition-duration: 200ms;\n}\n\n.duration-75 {\n transition-duration: 75ms;\n}\n\n.ease-out {\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n\n.ease-in {\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n}\n\n.last\\:border-transparent:last-child {\n border-color: transparent;\n}\n\n.hover\\:bg-gray-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\n}\n\n@media (prefers-color-scheme: dark) {\n .dark\\:text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n }\n}\n\n@media (min-width: 768px) {\n .md\\:bottom-14 {\n bottom: 3.5rem;\n }\n\n .md\\:right-3 {\n right: 0.75rem;\n }\n\n .md\\:right-16 {\n right: 4rem;\n }\n\n .md\\:flex {\n display: flex;\n }\n\n .md\\:grid {\n display: grid;\n }\n\n .md\\:w-\\[40em\\] {\n width: 40em;\n }\n\n .md\\:w-2\\/5 {\n width: 40%;\n }\n\n .md\\:px-24 {\n padding-left: 6rem;\n padding-right: 6rem;\n }\n}";
|
|
11012
11018
|
|
|
11013
|
-
// https://maximomussini.com/posts/vue-custom-elements
|
|
11014
|
-
|
|
11015
|
-
const styles = [
|
|
11016
|
-
...[tailwindStyles],
|
|
11017
|
-
...App.styles
|
|
11018
|
-
];
|
|
11019
|
-
|
|
11020
|
-
customElements.define(
|
|
11021
|
-
'paginate-content',
|
|
11022
|
-
defineCustomElement({
|
|
11023
|
-
...App,
|
|
11024
|
-
styles
|
|
11025
|
-
})
|
|
11019
|
+
// https://maximomussini.com/posts/vue-custom-elements
|
|
11020
|
+
|
|
11021
|
+
const styles = [
|
|
11022
|
+
...[tailwindStyles],
|
|
11023
|
+
...App.styles
|
|
11024
|
+
];
|
|
11025
|
+
|
|
11026
|
+
customElements.define(
|
|
11027
|
+
'paginate-content',
|
|
11028
|
+
defineCustomElement({
|
|
11029
|
+
...App,
|
|
11030
|
+
styles
|
|
11031
|
+
})
|
|
11026
11032
|
);
|
|
11027
11033
|
//# sourceMappingURL=index.es.js.map
|