paginar 0.3.0 → 0.3.1

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