paginar 0.3.0 → 0.3.2
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 +849 -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 +6 -6
- 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,146 @@ 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: "summary-menu-dropdown-item-title" };
|
|
9809
|
+
const _hoisted_3$d = {
|
|
9810
|
+
key: 0,
|
|
9811
|
+
class: "summary-menu-dropdown-item-author"
|
|
9812
|
+
};
|
|
9808
9813
|
|
|
9809
9814
|
const _sfc_main$p = {
|
|
9810
9815
|
__name: 'SummaryDropdown',
|
|
@@ -9820,6 +9825,7 @@ async function getChapter(item) {
|
|
|
9820
9825
|
|
|
9821
9826
|
return (_ctx, _cache) => {
|
|
9822
9827
|
return (openBlock(), createElementBlock("div", {
|
|
9828
|
+
id: "summary-menu-dropdown",
|
|
9823
9829
|
class: "absolute top-14 py-4 px-3 shadow-lg w-60 md:w-104 text-areia z-10 bg-white",
|
|
9824
9830
|
role: _ctx.Sumário,
|
|
9825
9831
|
"aria-orientation": "vertical",
|
|
@@ -9836,7 +9842,10 @@ return (_ctx, _cache) => {
|
|
|
9836
9842
|
onClick: $event => (item.file ? getChapter(item) : null)
|
|
9837
9843
|
}, {
|
|
9838
9844
|
default: withCtx(() => [
|
|
9839
|
-
|
|
9845
|
+
createBaseVNode("span", _hoisted_2$l, toDisplayString(item.title), 1),
|
|
9846
|
+
(item.author)
|
|
9847
|
+
? (openBlock(), createElementBlock("span", _hoisted_3$d, toDisplayString(item.author), 1))
|
|
9848
|
+
: createCommentVNode("", true)
|
|
9840
9849
|
]),
|
|
9841
9850
|
_: 2
|
|
9842
9851
|
}, 1032, ["href", "title", "onClick"]))
|
|
@@ -9854,26 +9863,26 @@ const _hoisted_2$k = ["href"];
|
|
|
9854
9863
|
const _hoisted_3$c = { class: "position-relative" };
|
|
9855
9864
|
const _hoisted_4$4 = ["aria-expanded"];
|
|
9856
9865
|
const _hoisted_5$3 = /*#__PURE__*/createBaseVNode("span", { class: "block ml-3" }, " Sumário ", -1);
|
|
9857
|
-
|
|
9866
|
+
|
|
9858
9867
|
|
|
9859
9868
|
const _sfc_main$o = {
|
|
9860
9869
|
__name: 'SummaryButton',
|
|
9861
9870
|
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());
|
|
9871
|
+
|
|
9872
|
+
const show = ref(false);
|
|
9873
|
+
const button = ref(null);
|
|
9874
|
+
|
|
9875
|
+
const { homeUrl } = useReaderSettings;
|
|
9876
|
+
|
|
9877
|
+
const toggleSummary = () => show.value = !show.value;
|
|
9878
|
+
const hide = () => {
|
|
9879
|
+
if (!useReaderSettings.blocked.value) {
|
|
9880
|
+
show.value = false;
|
|
9881
|
+
}
|
|
9882
|
+
};
|
|
9883
|
+
|
|
9884
|
+
onClickOutside(button, () => hide());
|
|
9885
|
+
onKeyStroke('Escape', () => hide());
|
|
9877
9886
|
|
|
9878
9887
|
return (_ctx, _cache) => {
|
|
9879
9888
|
return (openBlock(), createElementBlock("div", {
|
|
@@ -10081,24 +10090,24 @@ const _hoisted_2$d = ["title"];
|
|
|
10081
10090
|
const _sfc_main$h = {
|
|
10082
10091
|
__name: 'OptionsColumns',
|
|
10083
10092
|
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
|
-
|
|
10093
|
+
|
|
10094
|
+
const { columns, setColumns } = useReaderSettings;
|
|
10095
|
+
const { width } = useWindowSize();
|
|
10096
|
+
|
|
10097
|
+
const isSafari = computed(() => {
|
|
10098
|
+
const ua = navigator.userAgent.toLowerCase();
|
|
10099
|
+
return ua.indexOf('safari') !== -1 && ua.indexOf('chrome') === -1
|
|
10100
|
+
});
|
|
10101
|
+
|
|
10093
10102
|
|
|
10094
10103
|
return (_ctx, _cache) => {
|
|
10095
10104
|
return (openBlock(), createElementBlock("div", _hoisted_1$f, [
|
|
10096
10105
|
createBaseVNode("button", {
|
|
10097
10106
|
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)
|
|
10107
|
+
class: normalizeClass(["col-span-1 text-primary text-center cursor-pointer py-3 rounded-sm border", {
|
|
10108
|
+
'border-gray-300': unref(columns) !== 'single',
|
|
10109
|
+
'bg-primary-extralight border-2 border-primary': unref(columns) === 'single',
|
|
10110
|
+
'opacity-30 cursor-default': unref(isSafari)
|
|
10102
10111
|
}]),
|
|
10103
10112
|
onClick: _cache[0] || (_cache[0] = withModifiers($event => (!unref(isSafari) ? unref(setColumns)('single') : null), ["prevent"])),
|
|
10104
10113
|
"aria-label": "Coluna única",
|
|
@@ -10108,10 +10117,10 @@ return (_ctx, _cache) => {
|
|
|
10108
10117
|
], 10, _hoisted_2$d),
|
|
10109
10118
|
createBaseVNode("button", {
|
|
10110
10119
|
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
|
|
10120
|
+
class: normalizeClass(["col-span-2 text-primary text-center cursor-pointer py-3 rounded-sm border", {
|
|
10121
|
+
'border-gray-300': unref(columns) !== 'double',
|
|
10122
|
+
'bg-primary-extralight border-2 border-primary': unref(columns) === 'double',
|
|
10123
|
+
'opacity-30': unref(width) < 1024
|
|
10115
10124
|
}]),
|
|
10116
10125
|
onClick: _cache[1] || (_cache[1] = withModifiers($event => (unref(width) >= 1024 && unref(setColumns)('double')), ["prevent"])),
|
|
10117
10126
|
"aria-label": "Coluna dupla",
|
|
@@ -10137,9 +10146,9 @@ const _hoisted_2$c = ["onClick", "title"];
|
|
|
10137
10146
|
const _sfc_main$g = {
|
|
10138
10147
|
__name: 'OptionsFontFamily',
|
|
10139
10148
|
setup(__props) {
|
|
10140
|
-
|
|
10141
|
-
const { textFont, fontsOptions, setTextFont } = useReaderSettings;
|
|
10142
|
-
|
|
10149
|
+
|
|
10150
|
+
const { textFont, fontsOptions, setTextFont } = useReaderSettings;
|
|
10151
|
+
|
|
10143
10152
|
|
|
10144
10153
|
return (_ctx, _cache) => {
|
|
10145
10154
|
return (openBlock(), createElementBlock("div", _hoisted_1$e, [
|
|
@@ -10147,8 +10156,8 @@ return (_ctx, _cache) => {
|
|
|
10147
10156
|
return (openBlock(), createElementBlock("button", {
|
|
10148
10157
|
key: font.name,
|
|
10149
10158
|
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
|
|
10159
|
+
class: normalizeClass(["font-light text-lg text-primary tracking-wide border border-urucum w-full h-10 flex justify-center items-center", {
|
|
10160
|
+
'bg-primary-extralight border-2 border-primary': unref(textFont) === font.name
|
|
10152
10161
|
}]),
|
|
10153
10162
|
style: normalizeStyle(`font-family: ${font.name}`),
|
|
10154
10163
|
title: font.label ?? font.name
|
|
@@ -10163,9 +10172,9 @@ return (_ctx, _cache) => {
|
|
|
10163
10172
|
const _sfc_main$f = {
|
|
10164
10173
|
__name: 'OptionsFontSize',
|
|
10165
10174
|
setup(__props) {
|
|
10166
|
-
|
|
10167
|
-
const { fontSize, setFontSize } = useReaderSettings;
|
|
10168
|
-
|
|
10175
|
+
|
|
10176
|
+
const { fontSize, setFontSize } = useReaderSettings;
|
|
10177
|
+
|
|
10169
10178
|
|
|
10170
10179
|
return (_ctx, _cache) => {
|
|
10171
10180
|
return (openBlock(), createElementBlock(Fragment, null, [
|
|
@@ -10234,9 +10243,9 @@ const IconMoon = /*#__PURE__*/_export_sfc(_sfc_main$d, [['render',_sfc_render$2]
|
|
|
10234
10243
|
const _sfc_main$c = {
|
|
10235
10244
|
__name: 'OptionsColor',
|
|
10236
10245
|
setup(__props) {
|
|
10237
|
-
|
|
10238
|
-
const { mode, setMode } = useReaderSettings;
|
|
10239
|
-
|
|
10246
|
+
|
|
10247
|
+
const { mode, setMode } = useReaderSettings;
|
|
10248
|
+
|
|
10240
10249
|
|
|
10241
10250
|
return (_ctx, _cache) => {
|
|
10242
10251
|
return (openBlock(), createElementBlock(Fragment, null, [
|
|
@@ -10244,8 +10253,8 @@ return (_ctx, _cache) => {
|
|
|
10244
10253
|
id: "lightmode-button",
|
|
10245
10254
|
onClick: _cache[0] || (_cache[0] = withModifiers($event => (unref(setMode)('light')), ["prevent"])),
|
|
10246
10255
|
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'
|
|
10256
|
+
class: normalizeClass(["font-light text-base border w-full h-10 flex justify-center items-center", {
|
|
10257
|
+
'bg-primary-extralight text-primary border-2 border-primary': unref(mode) === 'light'
|
|
10249
10258
|
}])
|
|
10250
10259
|
}, [
|
|
10251
10260
|
createVNode(IconSun, { class: "w-5 h-5" })
|
|
@@ -10254,8 +10263,8 @@ return (_ctx, _cache) => {
|
|
|
10254
10263
|
id: "darkmode-button",
|
|
10255
10264
|
onClick: _cache[1] || (_cache[1] = withModifiers($event => (unref(setMode)('dark')), ["prevent"])),
|
|
10256
10265
|
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'
|
|
10266
|
+
class: normalizeClass(["font-light text-base border w-full h-10 flex justify-center items-center", {
|
|
10267
|
+
'bg-primary-extralight text-primary border-2 border-primary': unref(mode) === 'dark'
|
|
10259
10268
|
}])
|
|
10260
10269
|
}, [
|
|
10261
10270
|
createVNode(IconMoon, { class: "w-5 h-5" })
|
|
@@ -10282,12 +10291,12 @@ const _hoisted_5$2 = {
|
|
|
10282
10291
|
const _hoisted_6$2 = /*#__PURE__*/createBaseVNode("span", { class: "ml-4" }, "Visualização", -1);
|
|
10283
10292
|
const _hoisted_7$1 = { class: "w-full grid grid-cols-4 gap-2 my-3" };
|
|
10284
10293
|
const _hoisted_8$1 = /*#__PURE__*/createBaseVNode("div", { class: "hidden w-full border-b border-areia my-8" }, null, -1);
|
|
10285
|
-
|
|
10294
|
+
|
|
10286
10295
|
|
|
10287
10296
|
const _sfc_main$b = {
|
|
10288
10297
|
__name: 'OptionsDropdown',
|
|
10289
10298
|
setup(__props) {
|
|
10290
|
-
|
|
10299
|
+
|
|
10291
10300
|
|
|
10292
10301
|
return (_ctx, _cache) => {
|
|
10293
10302
|
return (openBlock(), createElementBlock("div", _hoisted_1$b, [
|
|
@@ -10325,26 +10334,26 @@ return (_ctx, _cache) => {
|
|
|
10325
10334
|
const _hoisted_1$a = { class: "flex" };
|
|
10326
10335
|
const _hoisted_2$8 = ["aria-expanded"];
|
|
10327
10336
|
const _hoisted_3$4 = /*#__PURE__*/createBaseVNode("span", { class: "block mr-3" }, " Opções ", -1);
|
|
10328
|
-
|
|
10337
|
+
|
|
10329
10338
|
|
|
10330
10339
|
const _sfc_main$a = {
|
|
10331
10340
|
__name: 'OptionsButton',
|
|
10332
10341
|
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();
|
|
10342
|
+
|
|
10343
|
+
const show = ref(false);
|
|
10344
|
+
const button = ref(null);
|
|
10345
|
+
|
|
10346
|
+
const toggleSummary = () => show.value = !show.value;
|
|
10347
|
+
const hide = () => {
|
|
10348
|
+
if (!useReaderSettings.blocked.value) {
|
|
10349
|
+
show.value = false;
|
|
10350
|
+
}
|
|
10351
|
+
};
|
|
10352
|
+
|
|
10353
|
+
onClickOutside(button, () => hide());
|
|
10354
|
+
onKeyStroke('Escape', () => hide());
|
|
10355
|
+
|
|
10356
|
+
const { toggle: toggleFullScreen } = useFullscreen();
|
|
10348
10357
|
|
|
10349
10358
|
return (_ctx, _cache) => {
|
|
10350
10359
|
return (openBlock(), createElementBlock("div", {
|
|
@@ -10417,7 +10426,7 @@ const _hoisted_2$7 = { id: "header-titles" };
|
|
|
10417
10426
|
const _sfc_main$9 = {
|
|
10418
10427
|
__name: 'HeaderSlot',
|
|
10419
10428
|
setup(__props) {
|
|
10420
|
-
|
|
10429
|
+
|
|
10421
10430
|
|
|
10422
10431
|
return (_ctx, _cache) => {
|
|
10423
10432
|
return (openBlock(), createElementBlock("header", _hoisted_1$9, [
|
|
@@ -10452,22 +10461,22 @@ const _hoisted_1$8 = ["innerHTML"];
|
|
|
10452
10461
|
|
|
10453
10462
|
const _sfc_main$8 = {
|
|
10454
10463
|
__name: 'BookContent',
|
|
10455
|
-
props: {
|
|
10456
|
-
bookContent: String
|
|
10464
|
+
props: {
|
|
10465
|
+
bookContent: String
|
|
10457
10466
|
},
|
|
10458
10467
|
setup(__props) {
|
|
10459
10468
|
|
|
10460
10469
|
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
|
-
});
|
|
10470
|
+
|
|
10471
|
+
const { content, initContent } = useTextContent;
|
|
10472
|
+
|
|
10473
|
+
|
|
10474
|
+
|
|
10475
|
+
const contentWrapper = ref(null);
|
|
10476
|
+
|
|
10477
|
+
onMounted(() => {
|
|
10478
|
+
initContent(props.bookContent, contentWrapper);
|
|
10479
|
+
});
|
|
10471
10480
|
|
|
10472
10481
|
return (_ctx, _cache) => {
|
|
10473
10482
|
return (openBlock(), createElementBlock("div", {
|
|
@@ -10577,29 +10586,29 @@ return (_ctx, _cache) => {
|
|
|
10577
10586
|
};
|
|
10578
10587
|
|
|
10579
10588
|
const _hoisted_1$5 = { class: "[ typeArea ] h-full relative transition-opacity duration-100 opacity-100 px-2 md:px-24" };
|
|
10580
|
-
|
|
10589
|
+
|
|
10581
10590
|
|
|
10582
10591
|
const _sfc_main$5 = {
|
|
10583
10592
|
__name: 'ReaderWrapper',
|
|
10584
10593
|
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
|
-
|
|
10594
|
+
const { currentPage } = usePagination;
|
|
10595
|
+
|
|
10596
|
+
const el = ref(null);
|
|
10597
|
+
|
|
10598
|
+
const { width } = useWindowSize();
|
|
10599
|
+
const { distanceX } = usePointerSwipe(el, {
|
|
10600
|
+
onSwipeEnd() {
|
|
10601
|
+
if (width.value < 600) {
|
|
10602
|
+
if (distanceX.value > 100) {
|
|
10603
|
+
usePagination.next();
|
|
10604
|
+
}
|
|
10605
|
+
if (distanceX.value < -100) {
|
|
10606
|
+
usePagination.prev();
|
|
10607
|
+
}
|
|
10608
|
+
}
|
|
10609
|
+
}
|
|
10610
|
+
});
|
|
10611
|
+
|
|
10603
10612
|
|
|
10604
10613
|
return (_ctx, _cache) => {
|
|
10605
10614
|
return (openBlock(), createElementBlock("div", {
|
|
@@ -10624,24 +10633,24 @@ const _hoisted_1$4 = {
|
|
|
10624
10633
|
};
|
|
10625
10634
|
const _hoisted_2$4 = ["innerHTML"];
|
|
10626
10635
|
const _hoisted_3$2 = { class: "mt-3 flex self-end" };
|
|
10627
|
-
|
|
10636
|
+
|
|
10628
10637
|
|
|
10629
10638
|
const _sfc_main$4 = {
|
|
10630
10639
|
__name: 'ReferencePopup',
|
|
10631
10640
|
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
|
-
|
|
10641
|
+
|
|
10642
|
+
const { reference, setHighlightedReference } = useReferences;
|
|
10643
|
+
|
|
10644
|
+
function closeRef() {
|
|
10645
|
+
setHighlightedReference(null);
|
|
10646
|
+
}
|
|
10647
|
+
|
|
10648
|
+
onKeyStroke('Escape', () => {
|
|
10649
|
+
if (!useReaderSettings.blocked.value) {
|
|
10650
|
+
setHighlightedReference(null);
|
|
10651
|
+
}
|
|
10652
|
+
});
|
|
10653
|
+
|
|
10645
10654
|
|
|
10646
10655
|
return (_ctx, _cache) => {
|
|
10647
10656
|
return (openBlock(), createBlock(Transition, {
|
|
@@ -10683,13 +10692,13 @@ const _hoisted_2$3 = /*#__PURE__*/createBaseVNode("p", null, " ", -1);
|
|
|
10683
10692
|
const _sfc_main$3 = {
|
|
10684
10693
|
__name: 'FooterSlot',
|
|
10685
10694
|
setup(__props) {
|
|
10686
|
-
|
|
10687
|
-
const { totalPages, currentPage, set } = usePagination;
|
|
10688
|
-
|
|
10689
|
-
function format() {
|
|
10690
|
-
return `${currentPage.value} de ${totalPages.value}`
|
|
10691
|
-
}
|
|
10692
|
-
|
|
10695
|
+
|
|
10696
|
+
const { totalPages, currentPage, set } = usePagination;
|
|
10697
|
+
|
|
10698
|
+
function format() {
|
|
10699
|
+
return `${currentPage.value} de ${totalPages.value}`
|
|
10700
|
+
}
|
|
10701
|
+
|
|
10693
10702
|
|
|
10694
10703
|
return (_ctx, _cache) => {
|
|
10695
10704
|
return (openBlock(), createElementBlock("div", _hoisted_1$3, [
|
|
@@ -10736,7 +10745,7 @@ function _sfc_render(_ctx, _cache) {
|
|
|
10736
10745
|
}
|
|
10737
10746
|
const IconNotes = /*#__PURE__*/_export_sfc(_sfc_main$2, [['render',_sfc_render]]);
|
|
10738
10747
|
|
|
10739
|
-
const
|
|
10748
|
+
const FootnotesAside_vue_vue_type_style_index_0_scoped_5391e486_lang = '';
|
|
10740
10749
|
|
|
10741
10750
|
const _hoisted_1$1 = {
|
|
10742
10751
|
key: 0,
|
|
@@ -10750,57 +10759,57 @@ const _hoisted_5 = { class: "ml-4" };
|
|
|
10750
10759
|
const _hoisted_6 = /*#__PURE__*/createTextVNode(" Notas de rodapé ");
|
|
10751
10760
|
const _hoisted_7 = { class: "ml-10" };
|
|
10752
10761
|
const _hoisted_8 = ["id", "innerHTML"];
|
|
10753
|
-
|
|
10762
|
+
|
|
10754
10763
|
|
|
10755
10764
|
const _sfc_main$1 = {
|
|
10756
10765
|
__name: 'FootnotesAside',
|
|
10757
10766
|
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
|
-
|
|
10767
|
+
|
|
10768
|
+
const show = computed(() => useFootnotes.footnote.value);
|
|
10769
|
+
const footnote = computed(() => useFootnotes.footnote.value);
|
|
10770
|
+
const showFootnotes = computed(() => useFootnotes.showFootnotes.value);
|
|
10771
|
+
const footnotes = computed(() => useFootnotes.footnotes.value);
|
|
10772
|
+
|
|
10773
|
+
const oldBlockedValue = ref(null);
|
|
10774
|
+
const footnoteList = ref(null);
|
|
10775
|
+
|
|
10776
|
+
function hideAside() {
|
|
10777
|
+
useFootnotes.setHighlightedFootnote(null);
|
|
10778
|
+
useFootnotes.setShowFootnotes(false);
|
|
10779
|
+
}
|
|
10780
|
+
|
|
10781
|
+
onKeyStroke('Escape', () => {
|
|
10782
|
+
if (footnote.value || showFootnotes.value) {
|
|
10783
|
+
hideAside();
|
|
10784
|
+
}
|
|
10785
|
+
});
|
|
10786
|
+
|
|
10787
|
+
watch(
|
|
10788
|
+
[footnote, showFootnotes],
|
|
10789
|
+
() => {
|
|
10790
|
+
if (footnote.value || showFootnotes.value) {
|
|
10791
|
+
if (useReaderSettings.blocked.value === false) {
|
|
10792
|
+
oldBlockedValue.value = useReaderSettings.blocked.value;
|
|
10793
|
+
}
|
|
10794
|
+
useReaderSettings.setBlocked(true);
|
|
10795
|
+
|
|
10796
|
+
} else {
|
|
10797
|
+
if (oldBlockedValue.value === false) {
|
|
10798
|
+
useReaderSettings.setBlocked(oldBlockedValue.value);
|
|
10799
|
+
}
|
|
10800
|
+
oldBlockedValue.value = null;
|
|
10801
|
+
}
|
|
10802
|
+
|
|
10803
|
+
if (footnote.value) {
|
|
10804
|
+
setTimeout(() => {
|
|
10805
|
+
const element = footnoteList.value.querySelector(`#${footnote.value.id}`);
|
|
10806
|
+
element.scrollIntoView();
|
|
10807
|
+
element.focus();
|
|
10808
|
+
}, 50);
|
|
10809
|
+
}
|
|
10810
|
+
}
|
|
10811
|
+
);
|
|
10812
|
+
|
|
10804
10813
|
|
|
10805
10814
|
return (_ctx, _cache) => {
|
|
10806
10815
|
return (openBlock(), createBlock(Transition, { name: "width" }, {
|
|
@@ -10833,9 +10842,9 @@ return (_ctx, _cache) => {
|
|
|
10833
10842
|
key: footnoteItem.id,
|
|
10834
10843
|
id: footnoteItem.id,
|
|
10835
10844
|
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'
|
|
10845
|
+
class: normalizeClass(["text-left border-b border-b-white/25 last:border-transparent p-10 relative", unref(footnote) && unref(footnote).id !== footnoteItem.id
|
|
10846
|
+
? 'opacity-50'
|
|
10847
|
+
: 'opacity-100'
|
|
10839
10848
|
])
|
|
10840
10849
|
}, null, 10, _hoisted_8))
|
|
10841
10850
|
}), 128))
|
|
@@ -10851,82 +10860,82 @@ return (_ctx, _cache) => {
|
|
|
10851
10860
|
}
|
|
10852
10861
|
|
|
10853
10862
|
};
|
|
10854
|
-
const FootnotesAside = /*#__PURE__*/_export_sfc(_sfc_main$1, [['__scopeId',"data-v-
|
|
10863
|
+
const FootnotesAside = /*#__PURE__*/_export_sfc(_sfc_main$1, [['__scopeId',"data-v-5391e486"]]);
|
|
10855
10864
|
|
|
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";
|
|
10865
|
+
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
10866
|
|
|
10858
10867
|
const _hoisted_1 = { class: "text-white text-center text-sm" };
|
|
10859
10868
|
const _hoisted_2 = { class: "text-white text-center text-xs" };
|
|
10860
|
-
|
|
10869
|
+
|
|
10861
10870
|
|
|
10862
10871
|
const _sfc_main = {
|
|
10863
10872
|
__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
|
|
10873
|
+
props: {
|
|
10874
|
+
bookTitle: String,
|
|
10875
|
+
bookContent: String,
|
|
10876
|
+
readerSettings: String,
|
|
10877
|
+
readerBlocked: Boolean,
|
|
10878
|
+
rootClass: {
|
|
10879
|
+
type: String,
|
|
10880
|
+
default: ''
|
|
10881
|
+
},
|
|
10882
|
+
cssFile: String,
|
|
10883
|
+
cssString: String
|
|
10875
10884
|
},
|
|
10876
10885
|
setup(__props) {
|
|
10877
10886
|
|
|
10878
10887
|
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
|
-
|
|
10888
|
+
|
|
10889
|
+
|
|
10890
|
+
|
|
10891
|
+
const { baseFont, bookTitle, chapterTitle, textFont, fontSize, columns, setColumns, mode } = useReaderSettings;
|
|
10892
|
+
const { currentPage, totalPages } = usePagination;
|
|
10893
|
+
const { content, listenToClicks } = useTextContent;
|
|
10894
|
+
const { width, height } = useWindowSize();
|
|
10895
|
+
|
|
10896
|
+
const readerComponent = ref(null);
|
|
10897
|
+
const contentArea = ref(null);
|
|
10898
|
+
const rootComponent = ref(null);
|
|
10899
|
+
|
|
10900
|
+
onMounted(async () => {
|
|
10901
|
+
usePagination.init(readerComponent, contentArea);
|
|
10902
|
+
useReaderSettings.initSettings(props.readerSettings);
|
|
10903
|
+
useStyles.initStyles(props, rootComponent);
|
|
10904
|
+
|
|
10905
|
+
if (['string', 'boolean'].includes(typeof props.readerBlocked)) {
|
|
10906
|
+
useReaderSettings.setBlocked(props.readerBlocked);
|
|
10907
|
+
}
|
|
10908
|
+
|
|
10909
|
+
});
|
|
10910
|
+
|
|
10911
|
+
watch(
|
|
10912
|
+
props,
|
|
10913
|
+
() => {
|
|
10914
|
+
if (props.hasOwnProperty('readerBlocked')) {
|
|
10915
|
+
const readerBlocked = typeof props.readerBlocked === 'boolean'
|
|
10916
|
+
? props.readerBlocked
|
|
10917
|
+
: props.readerBlocked === 'true';
|
|
10918
|
+
useReaderSettings.setBlocked(readerBlocked);
|
|
10919
|
+
}
|
|
10920
|
+
}
|
|
10921
|
+
);
|
|
10922
|
+
|
|
10923
|
+
watchDebounced(
|
|
10924
|
+
[width, height, content, columns, fontSize, textFont],
|
|
10925
|
+
() => {
|
|
10926
|
+
if (width.value < 1024 && columns.value === 'double')
|
|
10927
|
+
setColumns('single');
|
|
10928
|
+
else
|
|
10929
|
+
useEstimatePages.estimate(readerComponent, contentArea);
|
|
10930
|
+
},
|
|
10931
|
+
{ debounce: 125, maxWait: 250 }
|
|
10932
|
+
);
|
|
10933
|
+
|
|
10934
|
+
watchDebounced(content,
|
|
10935
|
+
() => listenToClicks(contentArea),
|
|
10936
|
+
{ debounce: 125, maxWait: 250 }
|
|
10937
|
+
);
|
|
10938
|
+
|
|
10930
10939
|
|
|
10931
10940
|
return (_ctx, _cache) => {
|
|
10932
10941
|
return (openBlock(), createElementBlock("div", {
|
|
@@ -10936,11 +10945,11 @@ return (_ctx, _cache) => {
|
|
|
10936
10945
|
id: "rootComponent",
|
|
10937
10946
|
ref_key: "rootComponent",
|
|
10938
10947
|
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)}`)
|
|
10948
|
+
class: normalizeClass(unref(mode)
|
|
10949
|
+
.concat(` ${props.rootClass}`)
|
|
10950
|
+
.concat(` currentPage-${unref(currentPage)}`)
|
|
10951
|
+
.concat(` totalPages-${unref(totalPages)}`)
|
|
10952
|
+
.concat(` columns-${unref(columns)}`)
|
|
10944
10953
|
),
|
|
10945
10954
|
style: normalizeStyle(`font-family: ${unref(baseFont)}`)
|
|
10946
10955
|
}, [
|
|
@@ -11010,18 +11019,18 @@ const App = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]]]);
|
|
|
11010
11019
|
|
|
11011
11020
|
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
11021
|
|
|
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
|
-
})
|
|
11022
|
+
// https://maximomussini.com/posts/vue-custom-elements
|
|
11023
|
+
|
|
11024
|
+
const styles = [
|
|
11025
|
+
...[tailwindStyles],
|
|
11026
|
+
...App.styles
|
|
11027
|
+
];
|
|
11028
|
+
|
|
11029
|
+
customElements.define(
|
|
11030
|
+
'paginate-content',
|
|
11031
|
+
defineCustomElement({
|
|
11032
|
+
...App,
|
|
11033
|
+
styles
|
|
11034
|
+
})
|
|
11026
11035
|
);
|
|
11027
11036
|
//# sourceMappingURL=index.es.js.map
|