paginar 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +849 -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 +6 -6
  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,146 @@ const useEstimatePages = {
9670
9670
  estimate
9671
9671
  };
9672
9672
 
9673
- const isSafari = [
9674
- 'iPad Simulator',
9675
- 'iPhone Simulator',
9676
- 'iPod Simulator',
9677
- 'iPad',
9678
- 'iPhone',
9679
- 'iPod'
9680
- ].includes(navigator.platform)
9681
- || (navigator.userAgent.includes("Mac") && "ontouchend" in document);
9682
-
9683
- const isApple = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);
9684
-
9685
- const useBrowser = {
9686
- isSafari,
9687
- isApple
9673
+ const isSafari = [
9674
+ 'iPad Simulator',
9675
+ 'iPhone Simulator',
9676
+ 'iPod Simulator',
9677
+ 'iPad',
9678
+ 'iPhone',
9679
+ 'iPod'
9680
+ ].includes(navigator.platform)
9681
+ || (navigator.userAgent.includes("Mac") && "ontouchend" in document);
9682
+
9683
+ const isApple = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);
9684
+
9685
+ const useBrowser = {
9686
+ isSafari,
9687
+ isApple
9688
9688
  };
9689
9689
 
9690
- const state = reactive({
9691
- currentPage: 1,
9692
- nextTry: 0,
9693
- prevTry: 0,
9694
- willRedirect: false
9695
- });
9696
-
9697
- const currentPage = computed(() => state.currentPage);
9698
- const totalPages = computed(() => useEstimatePages.totalPages.value);
9699
-
9700
- function init(viewport, content) {
9701
- useEstimatePages.estimate(viewport, content);
9702
-
9703
- // check if there is a query string for oring, and
9704
- // if previews chapter was the next one. If so,
9705
- // start from the end, as we are coming backwards
9706
- const urlParams = new URLSearchParams(window.location.search);
9707
- const origin = urlParams.get('origin');
9708
- if (origin && origin === 'next') {
9709
- setTimeout(() => {
9710
- state.currentPage = totalPages.value;
9711
- }, 200);
9712
- }
9713
-
9714
- if (!useBrowser.isApple && !useBrowser.isSafari) {
9715
- addEventListener('wheel', onWheel);
9716
- }
9717
-
9718
- setInterval(() => {
9719
- useEstimatePages.estimate(viewport, content);
9720
- }, 5000);
9721
- }
9722
-
9723
- // when resizing the viewport, totalPages change
9724
- // this watch is to currentPage inside totalPages range
9725
- watch(totalPages, () => {
9726
- if (totalPages.value < currentPage.value) {
9727
- set(totalPages.value);
9728
- }
9729
- });
9730
-
9731
- // navigate by increase/decrease value
9732
- function next(usingScroll = false) {
9733
- if (!useReaderSettings.blocked.value) {
9734
- if ((state.currentPage + 1) <= totalPages.value) {
9735
- state.currentPage = state.currentPage + 1;
9736
- } else {
9737
- // prevent going too fast to next chapter on
9738
- // stronger scroll
9739
- if (usingScroll && state.nextTry < 4) {
9740
- state.nextTry += 1;
9741
- return
9742
- }
9743
-
9744
- if (state.willRedirect === false) {
9745
- const context = useTextContent.context.value;
9746
- if (context.surround?.after) {
9747
- window.location.href = context.surround.after.link + (`?origin=prev`);
9748
- state.willRedirect = true;
9749
- }
9750
- }
9751
- }
9752
- }
9753
- }
9754
- onKeyStroke('ArrowRight', (e) => {
9755
- e.preventDefault();
9756
- next();
9757
- });
9758
-
9759
- function onWheel(event) {
9760
- if (event.wheelDelta < 0) {
9761
- next(true);
9762
- } else {
9763
- prev(true);
9764
- }
9765
- }
9766
- function prev(usingScroll = false) {
9767
- if (!useReaderSettings.blocked.value) {
9768
- if ((state.currentPage - 1) > 0) {
9769
- state.currentPage = state.currentPage - 1;
9770
- } else {
9771
- // prevent going too fast to prev chapter on
9772
- // stronger scroll
9773
- if (usingScroll && state.prevTry < 4) {
9774
- state.prevTry += 1;
9775
- return
9776
- }
9777
-
9778
- if (state.willRedirect === false) {
9779
- const context = useTextContent.context.value;
9780
- if (context.surround?.before) {
9781
- window.location.href = context.surround.before.link + (`?origin=next`);
9782
- }
9783
- state.willRedirect = true;
9784
- }
9785
- }
9786
- }
9787
- }
9788
- onKeyStroke('ArrowLeft', (e) => {
9789
- e.preventDefault();
9790
- prev();
9791
- });
9792
-
9793
- // navigate to specific page
9794
- function set(val) {
9795
- state.currentPage = val;
9796
- }
9797
-
9798
- const usePagination = {
9799
- currentPage,
9800
- totalPages,
9801
- next,
9802
- prev,
9803
- init,
9804
- set
9690
+ const state = reactive({
9691
+ currentPage: 1,
9692
+ nextTry: 0,
9693
+ prevTry: 0,
9694
+ willRedirect: false
9695
+ });
9696
+
9697
+ const currentPage = computed(() => state.currentPage);
9698
+ const totalPages = computed(() => useEstimatePages.totalPages.value);
9699
+
9700
+ function init(viewport, content) {
9701
+ useEstimatePages.estimate(viewport, content);
9702
+
9703
+ // check if there is a query string for oring, and
9704
+ // if previews chapter was the next one. If so,
9705
+ // start from the end, as we are coming backwards
9706
+ const urlParams = new URLSearchParams(window.location.search);
9707
+ const origin = urlParams.get('origin');
9708
+ if (origin && origin === 'next') {
9709
+ setTimeout(() => {
9710
+ state.currentPage = totalPages.value;
9711
+ }, 200);
9712
+ }
9713
+
9714
+ if (!useBrowser.isApple && !useBrowser.isSafari) {
9715
+ addEventListener('wheel', onWheel);
9716
+ }
9717
+
9718
+ setInterval(() => {
9719
+ useEstimatePages.estimate(viewport, content);
9720
+ }, 5000);
9721
+ }
9722
+
9723
+ // when resizing the viewport, totalPages change
9724
+ // this watch is to currentPage inside totalPages range
9725
+ watch(totalPages, () => {
9726
+ if (totalPages.value < currentPage.value) {
9727
+ set(totalPages.value);
9728
+ }
9729
+ });
9730
+
9731
+ // navigate by increase/decrease value
9732
+ function next(usingScroll = false) {
9733
+ if (!useReaderSettings.blocked.value) {
9734
+ if ((state.currentPage + 1) <= totalPages.value) {
9735
+ state.currentPage = state.currentPage + 1;
9736
+ } else {
9737
+ // prevent going too fast to next chapter on
9738
+ // stronger scroll
9739
+ if (usingScroll && state.nextTry < 4) {
9740
+ state.nextTry += 1;
9741
+ return
9742
+ }
9743
+
9744
+ if (state.willRedirect === false) {
9745
+ const context = useTextContent.context.value;
9746
+ if (context.surround?.after) {
9747
+ window.location.href = context.surround.after.link + (`?origin=prev`);
9748
+ state.willRedirect = true;
9749
+ }
9750
+ }
9751
+ }
9752
+ }
9753
+ }
9754
+ onKeyStroke('ArrowRight', (e) => {
9755
+ e.preventDefault();
9756
+ next();
9757
+ });
9758
+
9759
+ function onWheel(event) {
9760
+ if (event.wheelDelta < 0) {
9761
+ next(true);
9762
+ } else {
9763
+ prev(true);
9764
+ }
9765
+ }
9766
+ function prev(usingScroll = false) {
9767
+ if (!useReaderSettings.blocked.value) {
9768
+ if ((state.currentPage - 1) > 0) {
9769
+ state.currentPage = state.currentPage - 1;
9770
+ } else {
9771
+ // prevent going too fast to prev chapter on
9772
+ // stronger scroll
9773
+ if (usingScroll && state.prevTry < 4) {
9774
+ state.prevTry += 1;
9775
+ return
9776
+ }
9777
+
9778
+ if (state.willRedirect === false) {
9779
+ const context = useTextContent.context.value;
9780
+ if (context.surround?.before) {
9781
+ window.location.href = context.surround.before.link + (`?origin=next`);
9782
+ }
9783
+ state.willRedirect = true;
9784
+ }
9785
+ }
9786
+ }
9787
+ }
9788
+ onKeyStroke('ArrowLeft', (e) => {
9789
+ e.preventDefault();
9790
+ prev();
9791
+ });
9792
+
9793
+ // navigate to specific page
9794
+ function set(val) {
9795
+ state.currentPage = val;
9796
+ }
9797
+
9798
+ const usePagination = {
9799
+ currentPage,
9800
+ totalPages,
9801
+ next,
9802
+ prev,
9803
+ init,
9804
+ set
9805
9805
  };
9806
9806
 
9807
9807
  const _hoisted_1$n = ["role"];
9808
+ const _hoisted_2$l = { class: "summary-menu-dropdown-item-title" };
9809
+ const _hoisted_3$d = {
9810
+ key: 0,
9811
+ class: "summary-menu-dropdown-item-author"
9812
+ };
9808
9813
 
9809
9814
  const _sfc_main$p = {
9810
9815
  __name: 'SummaryDropdown',
@@ -9820,6 +9825,7 @@ async function getChapter(item) {
9820
9825
 
9821
9826
  return (_ctx, _cache) => {
9822
9827
  return (openBlock(), createElementBlock("div", {
9828
+ id: "summary-menu-dropdown",
9823
9829
  class: "absolute top-14 py-4 px-3 shadow-lg w-60 md:w-104 text-areia z-10 bg-white",
9824
9830
  role: _ctx.Sumário,
9825
9831
  "aria-orientation": "vertical",
@@ -9836,7 +9842,10 @@ return (_ctx, _cache) => {
9836
9842
  onClick: $event => (item.file ? getChapter(item) : null)
9837
9843
  }, {
9838
9844
  default: withCtx(() => [
9839
- createTextVNode(toDisplayString(item.title), 1)
9845
+ createBaseVNode("span", _hoisted_2$l, toDisplayString(item.title), 1),
9846
+ (item.author)
9847
+ ? (openBlock(), createElementBlock("span", _hoisted_3$d, toDisplayString(item.author), 1))
9848
+ : createCommentVNode("", true)
9840
9849
  ]),
9841
9850
  _: 2
9842
9851
  }, 1032, ["href", "title", "onClick"]))
@@ -9854,26 +9863,26 @@ const _hoisted_2$k = ["href"];
9854
9863
  const _hoisted_3$c = { class: "position-relative" };
9855
9864
  const _hoisted_4$4 = ["aria-expanded"];
9856
9865
  const _hoisted_5$3 = /*#__PURE__*/createBaseVNode("span", { class: "block ml-3" }, " Sumário ", -1);
9857
-
9866
+
9858
9867
 
9859
9868
  const _sfc_main$o = {
9860
9869
  __name: 'SummaryButton',
9861
9870
  setup(__props) {
9862
-
9863
- const show = ref(false);
9864
- const button = ref(null);
9865
-
9866
- const { homeUrl } = useReaderSettings;
9867
-
9868
- const toggleSummary = () => show.value = !show.value;
9869
- const hide = () => {
9870
- if (!useReaderSettings.blocked.value) {
9871
- show.value = false;
9872
- }
9873
- };
9874
-
9875
- onClickOutside(button, () => hide());
9876
- onKeyStroke('Escape', () => hide());
9871
+
9872
+ const show = ref(false);
9873
+ const button = ref(null);
9874
+
9875
+ const { homeUrl } = useReaderSettings;
9876
+
9877
+ const toggleSummary = () => show.value = !show.value;
9878
+ const hide = () => {
9879
+ if (!useReaderSettings.blocked.value) {
9880
+ show.value = false;
9881
+ }
9882
+ };
9883
+
9884
+ onClickOutside(button, () => hide());
9885
+ onKeyStroke('Escape', () => hide());
9877
9886
 
9878
9887
  return (_ctx, _cache) => {
9879
9888
  return (openBlock(), createElementBlock("div", {
@@ -10081,24 +10090,24 @@ const _hoisted_2$d = ["title"];
10081
10090
  const _sfc_main$h = {
10082
10091
  __name: 'OptionsColumns',
10083
10092
  setup(__props) {
10084
-
10085
- const { columns, setColumns } = useReaderSettings;
10086
- const { width } = useWindowSize();
10087
-
10088
- const isSafari = computed(() => {
10089
- const ua = navigator.userAgent.toLowerCase();
10090
- return ua.indexOf('safari') !== -1 && ua.indexOf('chrome') === -1
10091
- });
10092
-
10093
+
10094
+ const { columns, setColumns } = useReaderSettings;
10095
+ const { width } = useWindowSize();
10096
+
10097
+ const isSafari = computed(() => {
10098
+ const ua = navigator.userAgent.toLowerCase();
10099
+ return ua.indexOf('safari') !== -1 && ua.indexOf('chrome') === -1
10100
+ });
10101
+
10093
10102
 
10094
10103
  return (_ctx, _cache) => {
10095
10104
  return (openBlock(), createElementBlock("div", _hoisted_1$f, [
10096
10105
  createBaseVNode("button", {
10097
10106
  id: "single-column-button",
10098
- class: normalizeClass(["col-span-1 text-primary text-center cursor-pointer py-3 rounded-sm border", {
10099
- 'border-gray-300': unref(columns) !== 'single',
10100
- 'bg-primary-extralight border-2 border-primary': unref(columns) === 'single',
10101
- 'opacity-30 cursor-default': unref(isSafari)
10107
+ class: normalizeClass(["col-span-1 text-primary text-center cursor-pointer py-3 rounded-sm border", {
10108
+ 'border-gray-300': unref(columns) !== 'single',
10109
+ 'bg-primary-extralight border-2 border-primary': unref(columns) === 'single',
10110
+ 'opacity-30 cursor-default': unref(isSafari)
10102
10111
  }]),
10103
10112
  onClick: _cache[0] || (_cache[0] = withModifiers($event => (!unref(isSafari) ? unref(setColumns)('single') : null), ["prevent"])),
10104
10113
  "aria-label": "Coluna única",
@@ -10108,10 +10117,10 @@ return (_ctx, _cache) => {
10108
10117
  ], 10, _hoisted_2$d),
10109
10118
  createBaseVNode("button", {
10110
10119
  id: "double-column-button",
10111
- class: normalizeClass(["col-span-2 text-primary text-center cursor-pointer py-3 rounded-sm border", {
10112
- 'border-gray-300': unref(columns) !== 'double',
10113
- 'bg-primary-extralight border-2 border-primary': unref(columns) === 'double',
10114
- 'opacity-30': unref(width) < 1024
10120
+ class: normalizeClass(["col-span-2 text-primary text-center cursor-pointer py-3 rounded-sm border", {
10121
+ 'border-gray-300': unref(columns) !== 'double',
10122
+ 'bg-primary-extralight border-2 border-primary': unref(columns) === 'double',
10123
+ 'opacity-30': unref(width) < 1024
10115
10124
  }]),
10116
10125
  onClick: _cache[1] || (_cache[1] = withModifiers($event => (unref(width) >= 1024 && unref(setColumns)('double')), ["prevent"])),
10117
10126
  "aria-label": "Coluna dupla",
@@ -10137,9 +10146,9 @@ const _hoisted_2$c = ["onClick", "title"];
10137
10146
  const _sfc_main$g = {
10138
10147
  __name: 'OptionsFontFamily',
10139
10148
  setup(__props) {
10140
-
10141
- const { textFont, fontsOptions, setTextFont } = useReaderSettings;
10142
-
10149
+
10150
+ const { textFont, fontsOptions, setTextFont } = useReaderSettings;
10151
+
10143
10152
 
10144
10153
  return (_ctx, _cache) => {
10145
10154
  return (openBlock(), createElementBlock("div", _hoisted_1$e, [
@@ -10147,8 +10156,8 @@ return (_ctx, _cache) => {
10147
10156
  return (openBlock(), createElementBlock("button", {
10148
10157
  key: font.name,
10149
10158
  onClick: withModifiers($event => (unref(setTextFont)(font.name)), ["prevent"]),
10150
- class: normalizeClass(["font-light text-lg text-primary tracking-wide border border-urucum w-full h-10 flex justify-center items-center", {
10151
- 'bg-primary-extralight border-2 border-primary': unref(textFont) === font.name
10159
+ class: normalizeClass(["font-light text-lg text-primary tracking-wide border border-urucum w-full h-10 flex justify-center items-center", {
10160
+ 'bg-primary-extralight border-2 border-primary': unref(textFont) === font.name
10152
10161
  }]),
10153
10162
  style: normalizeStyle(`font-family: ${font.name}`),
10154
10163
  title: font.label ?? font.name
@@ -10163,9 +10172,9 @@ return (_ctx, _cache) => {
10163
10172
  const _sfc_main$f = {
10164
10173
  __name: 'OptionsFontSize',
10165
10174
  setup(__props) {
10166
-
10167
- const { fontSize, setFontSize } = useReaderSettings;
10168
-
10175
+
10176
+ const { fontSize, setFontSize } = useReaderSettings;
10177
+
10169
10178
 
10170
10179
  return (_ctx, _cache) => {
10171
10180
  return (openBlock(), createElementBlock(Fragment, null, [
@@ -10234,9 +10243,9 @@ const IconMoon = /*#__PURE__*/_export_sfc(_sfc_main$d, [['render',_sfc_render$2]
10234
10243
  const _sfc_main$c = {
10235
10244
  __name: 'OptionsColor',
10236
10245
  setup(__props) {
10237
-
10238
- const { mode, setMode } = useReaderSettings;
10239
-
10246
+
10247
+ const { mode, setMode } = useReaderSettings;
10248
+
10240
10249
 
10241
10250
  return (_ctx, _cache) => {
10242
10251
  return (openBlock(), createElementBlock(Fragment, null, [
@@ -10244,8 +10253,8 @@ return (_ctx, _cache) => {
10244
10253
  id: "lightmode-button",
10245
10254
  onClick: _cache[0] || (_cache[0] = withModifiers($event => (unref(setMode)('light')), ["prevent"])),
10246
10255
  title: "Leitura diurna",
10247
- class: normalizeClass(["font-light text-base border w-full h-10 flex justify-center items-center", {
10248
- 'bg-primary-extralight text-primary border-2 border-primary': unref(mode) === 'light'
10256
+ class: normalizeClass(["font-light text-base border w-full h-10 flex justify-center items-center", {
10257
+ 'bg-primary-extralight text-primary border-2 border-primary': unref(mode) === 'light'
10249
10258
  }])
10250
10259
  }, [
10251
10260
  createVNode(IconSun, { class: "w-5 h-5" })
@@ -10254,8 +10263,8 @@ return (_ctx, _cache) => {
10254
10263
  id: "darkmode-button",
10255
10264
  onClick: _cache[1] || (_cache[1] = withModifiers($event => (unref(setMode)('dark')), ["prevent"])),
10256
10265
  title: "Leitura noturna",
10257
- class: normalizeClass(["font-light text-base border w-full h-10 flex justify-center items-center", {
10258
- 'bg-primary-extralight text-primary border-2 border-primary': unref(mode) === 'dark'
10266
+ class: normalizeClass(["font-light text-base border w-full h-10 flex justify-center items-center", {
10267
+ 'bg-primary-extralight text-primary border-2 border-primary': unref(mode) === 'dark'
10259
10268
  }])
10260
10269
  }, [
10261
10270
  createVNode(IconMoon, { class: "w-5 h-5" })
@@ -10282,12 +10291,12 @@ const _hoisted_5$2 = {
10282
10291
  const _hoisted_6$2 = /*#__PURE__*/createBaseVNode("span", { class: "ml-4" }, "Visualização", -1);
10283
10292
  const _hoisted_7$1 = { class: "w-full grid grid-cols-4 gap-2 my-3" };
10284
10293
  const _hoisted_8$1 = /*#__PURE__*/createBaseVNode("div", { class: "hidden w-full border-b border-areia my-8" }, null, -1);
10285
-
10294
+
10286
10295
 
10287
10296
  const _sfc_main$b = {
10288
10297
  __name: 'OptionsDropdown',
10289
10298
  setup(__props) {
10290
-
10299
+
10291
10300
 
10292
10301
  return (_ctx, _cache) => {
10293
10302
  return (openBlock(), createElementBlock("div", _hoisted_1$b, [
@@ -10325,26 +10334,26 @@ return (_ctx, _cache) => {
10325
10334
  const _hoisted_1$a = { class: "flex" };
10326
10335
  const _hoisted_2$8 = ["aria-expanded"];
10327
10336
  const _hoisted_3$4 = /*#__PURE__*/createBaseVNode("span", { class: "block mr-3" }, " Opções ", -1);
10328
-
10337
+
10329
10338
 
10330
10339
  const _sfc_main$a = {
10331
10340
  __name: 'OptionsButton',
10332
10341
  setup(__props) {
10333
-
10334
- const show = ref(false);
10335
- const button = ref(null);
10336
-
10337
- const toggleSummary = () => show.value = !show.value;
10338
- const hide = () => {
10339
- if (!useReaderSettings.blocked.value) {
10340
- show.value = false;
10341
- }
10342
- };
10343
-
10344
- onClickOutside(button, () => hide());
10345
- onKeyStroke('Escape', () => hide());
10346
-
10347
- const { toggle: toggleFullScreen } = useFullscreen();
10342
+
10343
+ const show = ref(false);
10344
+ const button = ref(null);
10345
+
10346
+ const toggleSummary = () => show.value = !show.value;
10347
+ const hide = () => {
10348
+ if (!useReaderSettings.blocked.value) {
10349
+ show.value = false;
10350
+ }
10351
+ };
10352
+
10353
+ onClickOutside(button, () => hide());
10354
+ onKeyStroke('Escape', () => hide());
10355
+
10356
+ const { toggle: toggleFullScreen } = useFullscreen();
10348
10357
 
10349
10358
  return (_ctx, _cache) => {
10350
10359
  return (openBlock(), createElementBlock("div", {
@@ -10417,7 +10426,7 @@ const _hoisted_2$7 = { id: "header-titles" };
10417
10426
  const _sfc_main$9 = {
10418
10427
  __name: 'HeaderSlot',
10419
10428
  setup(__props) {
10420
-
10429
+
10421
10430
 
10422
10431
  return (_ctx, _cache) => {
10423
10432
  return (openBlock(), createElementBlock("header", _hoisted_1$9, [
@@ -10452,22 +10461,22 @@ const _hoisted_1$8 = ["innerHTML"];
10452
10461
 
10453
10462
  const _sfc_main$8 = {
10454
10463
  __name: 'BookContent',
10455
- props: {
10456
- bookContent: String
10464
+ props: {
10465
+ bookContent: String
10457
10466
  },
10458
10467
  setup(__props) {
10459
10468
 
10460
10469
  const props = __props;
10461
-
10462
- const { content, initContent } = useTextContent;
10463
-
10464
-
10465
-
10466
- const contentWrapper = ref(null);
10467
-
10468
- onMounted(() => {
10469
- initContent(props.bookContent, contentWrapper);
10470
- });
10470
+
10471
+ const { content, initContent } = useTextContent;
10472
+
10473
+
10474
+
10475
+ const contentWrapper = ref(null);
10476
+
10477
+ onMounted(() => {
10478
+ initContent(props.bookContent, contentWrapper);
10479
+ });
10471
10480
 
10472
10481
  return (_ctx, _cache) => {
10473
10482
  return (openBlock(), createElementBlock("div", {
@@ -10577,29 +10586,29 @@ return (_ctx, _cache) => {
10577
10586
  };
10578
10587
 
10579
10588
  const _hoisted_1$5 = { class: "[ typeArea ] h-full relative transition-opacity duration-100 opacity-100 px-2 md:px-24" };
10580
-
10589
+
10581
10590
 
10582
10591
  const _sfc_main$5 = {
10583
10592
  __name: 'ReaderWrapper',
10584
10593
  setup(__props) {
10585
- const { currentPage } = usePagination;
10586
-
10587
- const el = ref(null);
10588
-
10589
- const { width } = useWindowSize();
10590
- const { distanceX } = usePointerSwipe(el, {
10591
- onSwipeEnd() {
10592
- if (width.value < 600) {
10593
- if (distanceX.value > 100) {
10594
- usePagination.next();
10595
- }
10596
- if (distanceX.value < -100) {
10597
- usePagination.prev();
10598
- }
10599
- }
10600
- }
10601
- });
10602
-
10594
+ const { currentPage } = usePagination;
10595
+
10596
+ const el = ref(null);
10597
+
10598
+ const { width } = useWindowSize();
10599
+ const { distanceX } = usePointerSwipe(el, {
10600
+ onSwipeEnd() {
10601
+ if (width.value < 600) {
10602
+ if (distanceX.value > 100) {
10603
+ usePagination.next();
10604
+ }
10605
+ if (distanceX.value < -100) {
10606
+ usePagination.prev();
10607
+ }
10608
+ }
10609
+ }
10610
+ });
10611
+
10603
10612
 
10604
10613
  return (_ctx, _cache) => {
10605
10614
  return (openBlock(), createElementBlock("div", {
@@ -10624,24 +10633,24 @@ const _hoisted_1$4 = {
10624
10633
  };
10625
10634
  const _hoisted_2$4 = ["innerHTML"];
10626
10635
  const _hoisted_3$2 = { class: "mt-3 flex self-end" };
10627
-
10636
+
10628
10637
 
10629
10638
  const _sfc_main$4 = {
10630
10639
  __name: 'ReferencePopup',
10631
10640
  setup(__props) {
10632
-
10633
- const { reference, setHighlightedReference } = useReferences;
10634
-
10635
- function closeRef() {
10636
- setHighlightedReference(null);
10637
- }
10638
-
10639
- onKeyStroke('Escape', () => {
10640
- if (!useReaderSettings.blocked.value) {
10641
- setHighlightedReference(null);
10642
- }
10643
- });
10644
-
10641
+
10642
+ const { reference, setHighlightedReference } = useReferences;
10643
+
10644
+ function closeRef() {
10645
+ setHighlightedReference(null);
10646
+ }
10647
+
10648
+ onKeyStroke('Escape', () => {
10649
+ if (!useReaderSettings.blocked.value) {
10650
+ setHighlightedReference(null);
10651
+ }
10652
+ });
10653
+
10645
10654
 
10646
10655
  return (_ctx, _cache) => {
10647
10656
  return (openBlock(), createBlock(Transition, {
@@ -10683,13 +10692,13 @@ const _hoisted_2$3 = /*#__PURE__*/createBaseVNode("p", null, " ", -1);
10683
10692
  const _sfc_main$3 = {
10684
10693
  __name: 'FooterSlot',
10685
10694
  setup(__props) {
10686
-
10687
- const { totalPages, currentPage, set } = usePagination;
10688
-
10689
- function format() {
10690
- return `${currentPage.value} de ${totalPages.value}`
10691
- }
10692
-
10695
+
10696
+ const { totalPages, currentPage, set } = usePagination;
10697
+
10698
+ function format() {
10699
+ return `${currentPage.value} de ${totalPages.value}`
10700
+ }
10701
+
10693
10702
 
10694
10703
  return (_ctx, _cache) => {
10695
10704
  return (openBlock(), createElementBlock("div", _hoisted_1$3, [
@@ -10736,7 +10745,7 @@ function _sfc_render(_ctx, _cache) {
10736
10745
  }
10737
10746
  const IconNotes = /*#__PURE__*/_export_sfc(_sfc_main$2, [['render',_sfc_render]]);
10738
10747
 
10739
- const FootnotesAside_vue_vue_type_style_index_0_scoped_4f3c3c73_lang = '';
10748
+ const FootnotesAside_vue_vue_type_style_index_0_scoped_5391e486_lang = '';
10740
10749
 
10741
10750
  const _hoisted_1$1 = {
10742
10751
  key: 0,
@@ -10750,57 +10759,57 @@ const _hoisted_5 = { class: "ml-4" };
10750
10759
  const _hoisted_6 = /*#__PURE__*/createTextVNode(" Notas de rodapé ");
10751
10760
  const _hoisted_7 = { class: "ml-10" };
10752
10761
  const _hoisted_8 = ["id", "innerHTML"];
10753
-
10762
+
10754
10763
 
10755
10764
  const _sfc_main$1 = {
10756
10765
  __name: 'FootnotesAside',
10757
10766
  setup(__props) {
10758
-
10759
- const show = computed(() => useFootnotes.footnote.value);
10760
- const footnote = computed(() => useFootnotes.footnote.value);
10761
- const showFootnotes = computed(() => useFootnotes.showFootnotes.value);
10762
- const footnotes = computed(() => useFootnotes.footnotes.value);
10763
-
10764
- const oldBlockedValue = ref(null);
10765
- const footnoteList = ref(null);
10766
-
10767
- function hideAside() {
10768
- useFootnotes.setHighlightedFootnote(null);
10769
- useFootnotes.setShowFootnotes(false);
10770
- }
10771
-
10772
- onKeyStroke('Escape', () => {
10773
- if (footnote.value || showFootnotes.value) {
10774
- hideAside();
10775
- }
10776
- });
10777
-
10778
- watch(
10779
- [footnote, showFootnotes],
10780
- () => {
10781
- if (footnote.value || showFootnotes.value) {
10782
- if (useReaderSettings.blocked.value === false) {
10783
- oldBlockedValue.value = useReaderSettings.blocked.value;
10784
- }
10785
- useReaderSettings.setBlocked(true);
10786
-
10787
- } else {
10788
- if (oldBlockedValue.value === false) {
10789
- useReaderSettings.setBlocked(oldBlockedValue.value);
10790
- }
10791
- oldBlockedValue.value = null;
10792
- }
10793
-
10794
- if (footnote.value) {
10795
- setTimeout(() => {
10796
- const element = footnoteList.value.querySelector(`#${footnote.value.id}`);
10797
- element.scrollIntoView();
10798
- element.focus();
10799
- }, 50);
10800
- }
10801
- }
10802
- );
10803
-
10767
+
10768
+ const show = computed(() => useFootnotes.footnote.value);
10769
+ const footnote = computed(() => useFootnotes.footnote.value);
10770
+ const showFootnotes = computed(() => useFootnotes.showFootnotes.value);
10771
+ const footnotes = computed(() => useFootnotes.footnotes.value);
10772
+
10773
+ const oldBlockedValue = ref(null);
10774
+ const footnoteList = ref(null);
10775
+
10776
+ function hideAside() {
10777
+ useFootnotes.setHighlightedFootnote(null);
10778
+ useFootnotes.setShowFootnotes(false);
10779
+ }
10780
+
10781
+ onKeyStroke('Escape', () => {
10782
+ if (footnote.value || showFootnotes.value) {
10783
+ hideAside();
10784
+ }
10785
+ });
10786
+
10787
+ watch(
10788
+ [footnote, showFootnotes],
10789
+ () => {
10790
+ if (footnote.value || showFootnotes.value) {
10791
+ if (useReaderSettings.blocked.value === false) {
10792
+ oldBlockedValue.value = useReaderSettings.blocked.value;
10793
+ }
10794
+ useReaderSettings.setBlocked(true);
10795
+
10796
+ } else {
10797
+ if (oldBlockedValue.value === false) {
10798
+ useReaderSettings.setBlocked(oldBlockedValue.value);
10799
+ }
10800
+ oldBlockedValue.value = null;
10801
+ }
10802
+
10803
+ if (footnote.value) {
10804
+ setTimeout(() => {
10805
+ const element = footnoteList.value.querySelector(`#${footnote.value.id}`);
10806
+ element.scrollIntoView();
10807
+ element.focus();
10808
+ }, 50);
10809
+ }
10810
+ }
10811
+ );
10812
+
10804
10813
 
10805
10814
  return (_ctx, _cache) => {
10806
10815
  return (openBlock(), createBlock(Transition, { name: "width" }, {
@@ -10833,9 +10842,9 @@ return (_ctx, _cache) => {
10833
10842
  key: footnoteItem.id,
10834
10843
  id: footnoteItem.id,
10835
10844
  innerHTML: `<span class='footnote-index'>${index + 1}.</span> ${footnoteItem.text}`,
10836
- class: normalizeClass(["text-left border-b border-b-white/25 last:border-transparent p-10 relative", unref(footnote) && unref(footnote).id !== footnoteItem.id
10837
- ? 'opacity-50'
10838
- : 'opacity-100'
10845
+ class: normalizeClass(["text-left border-b border-b-white/25 last:border-transparent p-10 relative", unref(footnote) && unref(footnote).id !== footnoteItem.id
10846
+ ? 'opacity-50'
10847
+ : 'opacity-100'
10839
10848
  ])
10840
10849
  }, null, 10, _hoisted_8))
10841
10850
  }), 128))
@@ -10851,82 +10860,82 @@ return (_ctx, _cache) => {
10851
10860
  }
10852
10861
 
10853
10862
  };
10854
- const FootnotesAside = /*#__PURE__*/_export_sfc(_sfc_main$1, [['__scopeId',"data-v-4f3c3c73"]]);
10863
+ const FootnotesAside = /*#__PURE__*/_export_sfc(_sfc_main$1, [['__scopeId',"data-v-5391e486"]]);
10855
10864
 
10856
- const _style_0 = ".border-primary { border-color: var(--theme-primary, #690000);\n}\n.text-primary { color: var(--theme-primary, #690000);\n}\n.bg-primary { background-color: var(--theme-primary, #690000);\n}\n.border-primary-extralight { border-color: var(--theme-primary-extralight, #f3f4f6);\n}\n.text-primary-extralight { color: var(--theme-primary-extralight, #f3f4f6);\n}\n.bg-primary-extralight { background-color: var(--theme-primary-extralight, #f3f4f6);\n}\n.border-secondary { border-color: var(--theme-secondary, #ffa03c);\n}\n.text-secondary { color: var(--theme-secondary, #ffa03c);\n}\n.bg-secondary { background-color: var(--theme-secondary, #ffa03c);\n}\n.rootWrapper {\n\tmax-height: 100%;\n height: 100%;\n}\nmain#rootComponent {\n\theight: 100%;\n\tmax-height: 100%;\n}\nmain#rootComponent.light {\n\t\tbackground-color: var(--bg-light-mode, #fff7e0)\n}\nmain#rootComponent.dark {\n\t\tbackground-color: var(--bg-dark-mode, #2d2d2d);\n}\nmain#rootComponent.dark #content-area {\n\t\t\tcolor: #fff\n}\nheader.wrapper {\n\twidth: 200px;\n\tmargin: 0 auto;\n}\n#engine {\n\theight: calc(100% - 8.4rem);\n\tposition: relative;\n right: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n}\n.rootWrapper.safari {\n\tmax-height: initial;\n\theight: initial;\n}\n.rootWrapper.safari #engine {\n\theight: auto !important;\n}\n#reader-component {\n\twidth: 100%;\n}\n.typeArea {\n\twidth: 100%;\n}\n.engineWrapper {\n\theight: 100%;\n display: flex;\n justify-content: space-between;\n\tposition: relative;\n right: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n}\n.rootWrapper:not(.safari) .columns-double .columnsArea {\n\t-moz-column-count: 2;\n column-count: 2;\n grid-column-gap: 0;\n -moz-column-gap: 0;\n column-gap: 0;\n height: 100%;\n padding: 0;\n width: 100%;\n}\n@media only screen and (max-width: 1020px) {\n.rootWrapper:not(.safari) .columns-double .columnsArea {\n\t\t-moz-column-count: 1;\n \tcolumn-count: 1\n}\n}\n.rootWrapper:not(.safari) .columns-single .columnsArea {\n\t-moz-column-count: 1;\n\t column-count: 1;\n\t-moz-column-gap: 0;\n\t column-gap: 0;\n\theight: 100%;\n padding: 0;\n width: 100%;\n}\n.rootWrapper:not(.safari) .columns-single .columnsArea #content-area {\n\t\tmax-width: 37em;\n\t\tmargin: 0 auto;\n}\n.nav-prev { left: 0px;\n}\n.nav-next { right: 0px;\n}\n.viewer-nav {\n\theight: 100%;\n\tposition: relative;\n\ttop: 0px;\n\tbottom: 0px;\n\tz-index: 10;\n\twidth: 2.5rem;\n\tflex-shrink: 0;\n\tcursor: pointer;\n\talign-self: center;\n\ttransition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;\n\ttransition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n\ttransition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;\n\ttransition-duration: 500ms;\n\ttransition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.viewer-nav:focus,\n\t.viewer-nav:active {\n\t\tborder: none !important;\n\t\tbox-shadow: none !important;\n\t\toutline-color: transparent !important;\n}\n#content-area *::-moz-selection {\n\tcolor: var(--theme-primary-extralight, #690000);\n\tbackground: var(--theme-secondary, #ffa03c);\n}\n#content-area *::selection {\n\tcolor: var(--theme-primary-extralight, #690000);\n\tbackground: var(--theme-secondary, #ffa03c);\n}\n.viewer-nav-icon { opacity: 0;\n}\n@media (min-width: 768px) {\n.viewer-nav-icon { opacity: 0.8;\n}\n}\n@media only screen and (max-width: 600px) {\n.columnsArea {\n\t\ttransition: margin 100ms\n}\n}\n#asidebar {\n\tbackground: var(--sidebar-backgorund, #690000);\n\tcolor: var(--sidebar-text, #f3f4f6);\n}\n\n/* slider */\n.rootWrapper.safari .slider-target,\n.rootWrapper.safari .slider-target *{\n\tdisplay: none !important;\n}\n.slider-target,.slider-target *{\n -webkit-touch-callout:none;\n -webkit-tap-highlight-color:rgba(0,0,0,0);\n box-sizing:border-box;\n touch-action:none;\n -webkit-user-select:none;\n -moz-user-select:none;\n user-select:none\n}\n.slider-target{\n position:relative\n}\n.slider-base,.slider-connects{\n height:100%;\n position:relative;\n width:100%;\n z-index:1\n}\n.slider-connects{\n overflow:hidden;\n z-index:0\n}\n.slider-connect,.slider-origin{\n height:100%;\n position:absolute;\n right:0;\n top:0;\n transform-origin:0 0;\n transform-style:flat;\n width:100%;\n will-change:transform;\n z-index:1\n}\n.slider-txt-dir-rtl.slider-horizontal .slider-origin{\n left:0;\n right:auto\n}\n.slider-vertical .slider-origin{\n top:-100%;\n width:0\n}\n.slider-horizontal .slider-origin{\n height:0\n}\n.slider-handle{\n -webkit-backface-visibility:hidden;\n backface-visibility:hidden;\n position:absolute\n}\n.slider-touch-area{\n height:100%;\n width:100%\n}\n.slider-state-tap .slider-connect,.slider-state-tap .slider-origin{\n transition:transform .3s\n}\n.slider-state-drag *{\n cursor:inherit!important\n}\n.slider-tooltip-drag .slider-tooltip,.slider-tooltip-focus .slider-tooltip{\n display:none!important\n}\n.slider-tooltip-drag .slider-active .slider-tooltip,.slider-tooltip-drag.slider-state-drag .slider-tooltip:not(.slider-tooltip-hidden),.slider-tooltip-focus.slider-focused .slider-tooltip:not(.slider-tooltip-hidden){\n display:block!important\n}\n.slider-horizontal{\n height:var(--slider-height,6px)\n}\n.slider-horizontal .slider-handle{\n height:var(--slider-handle-height,16px);\n right:calc(var(--slider-handle-width, 16px)/2*-1);\n top:calc((var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2*-1 + -1px);\n width:var(--slider-handle-width,16px)\n}\n.slider-vertical{\n height:var(--slider-vertical-height,300px);\n width:var(--slider-height,6px)\n}\n.slider-vertical .slider-handle{\n bottom:calc(var(--slider-handle-width, 16px)/2*-1);\n height:var(--slider-handle-width,16px);\n right:calc((var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2*-1 + -1px);\n width:var(--slider-handle-height,16px)\n}\n.slider-txt-dir-rtl.slider-horizontal .slider-handle{\n left:calc(var(--slider-handle-width, 16px)/2*-1);\n right:auto\n}\n.slider-base{\n background-color:var(--slider-bg,#d1d5db)\n}\n.slider-base,.slider-connects{\n border-radius:var(--slider-radius,9999px)\n}\n.slider-connect{\n background:var(--theme-secondary, #690000);\n cursor:pointer\n}\n.slider-draggable{\n cursor:ew-resize\n}\n.slider-vertical .slider-draggable{\n cursor:ns-resize\n}\n.slider-handle{\n background:var(--slider-handle-bg,#fff);\n border:var(--slider-handle-border,0);\n border-radius:var(--slider-handle-radius,9999px);\n box-shadow:var(--slider-handle-shadow,.5px .5px 2px 1px rgba(0,0,0,.32));\n cursor:-webkit-grab;\n cursor:grab;\n height:var(--slider-handle-height,16px);\n width:var(--slider-handle-width,16px)\n}\n.slider-handle:focus{\n box-shadow:0 0 0 var(--slider-handle-ring-width,3px) var(--slider-handle-ring-color,rgba(16,185,129,.188)),var(--slider-handle-shadow,.5px .5px 2px 1px rgba(0,0,0,.32));\n outline:none\n}\n.slider-active{\n box-shadow:var(--slider-handle-shadow-active,.5px .5px 2px 1px rgba(0,0,0,.42));\n cursor:-webkit-grabbing;\n cursor:grabbing\n}\n[disabled] .slider-connect{\n background:var(--slider-connect-bg-disabled,#9ca3af)\n}\n[disabled] .slider-handle,[disabled].slider-handle,[disabled].slider-target{\n cursor:not-allowed\n}\n[disabled] .slider-tooltip{\n background:var(--theme-secondary, #690000);\n border-color:var(--theme-secondary, #690000);\n\topacity: 0.5;\n}\n.slider-tooltip{\n background:var(--theme-secondary, #690000);\n border:1px solid var(--theme-secondary, #690000);\n border-radius:var(--slider-tooltip-radius,5px);\n color:var(--slider-tooltip-color,#fff);\n display:block;\n font-size:var(--slider-tooltip-font-size,.875rem);\n font-weight:var(--slider-tooltip-font-weight,600);\n line-height:var(--slider-tooltip-line-height,1.25rem);\n min-width:var(--slider-tooltip-min-width,20px);\n padding:var(--slider-tooltip-py,2px) var(--slider-tooltip-px,6px);\n position:absolute;\n text-align:center;\n white-space:nowrap\n}\n.slider-horizontal .slider-tooltip-top{\n bottom:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));\n left:50%;\n transform:translate(-50%)\n}\n.slider-horizontal .slider-tooltip-top:before{\n border:var(--slider-tooltip-arrow-size,5px) solid transparent;\n border-top-color:inherit;\n bottom:calc(var(--slider-tooltip-arrow-size, 5px)*-2);\n content:\"\";\n height:0;\n left:50%;\n position:absolute;\n transform:translate(-50%);\n width:0\n}\n.slider-horizontal .slider-tooltip-bottom{\n left:50%;\n top:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));\n transform:translate(-50%)\n}\n.slider-horizontal .slider-tooltip-bottom:before{\n border:var(--slider-tooltip-arrow-size,5px) solid transparent;\n border-bottom-color:inherit;\n content:\"\";\n height:0;\n left:50%;\n position:absolute;\n top:calc(var(--slider-tooltip-arrow-size, 5px)*-2);\n transform:translate(-50%);\n width:0\n}\n.slider-vertical .slider-tooltip-left{\n right:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));\n top:50%;\n transform:translateY(-50%)\n}\n.slider-vertical .slider-tooltip-left:before{\n border:var(--slider-tooltip-arrow-size,5px) solid transparent;\n border-left-color:inherit;\n content:\"\";\n height:0;\n position:absolute;\n right:calc(var(--slider-tooltip-arrow-size, 5px)*-2);\n top:50%;\n transform:translateY(-50%);\n width:0\n}\n.slider-vertical .slider-tooltip-right{\n left:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));\n top:50%;\n transform:translateY(-50%)\n}\n.slider-vertical .slider-tooltip-right:before{\n border:var(--slider-tooltip-arrow-size,5px) solid transparent;\n border-right-color:inherit;\n content:\"\";\n height:0;\n left:calc(var(--slider-tooltip-arrow-size, 5px)*-2);\n position:absolute;\n top:50%;\n transform:translateY(-50%);\n width:0\n}\n.slider-horizontal .slider-origin>.slider-tooltip{\n left:auto;\n transform:translate(50%)\n}\n.slider-horizontal .slider-origin>.slider-tooltip-top{\n bottom:calc(var(--slider-tooltip-arrow-size, 5px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) + 1px)\n}\n.slider-horizontal .slider-origin>.slider-tooltip-bottom{\n top:calc(var(--slider-tooltip-arrow-size, 5px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) + var(--slider-height, 6px) - 1px)\n}\n.slider-vertical .slider-origin>.slider-tooltip{\n top:auto;\n transform:translateY(calc((var(--slider-tooltip-line-height, 1.25rem) - var(--slider-tooltip-py, 2px))*-1 + 1px))\n}\n.slider-vertical .slider-origin>.slider-tooltip-left{\n right:calc(var(--slider-tooltip-arrow-size, 5px) + var(--slider-height, 6px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) - 1px)\n}\n.slider-vertical .slider-origin>.slider-tooltip-right{\n left:calc(var(--slider-tooltip-arrow-size, 5px) + var(--slider-height, 6px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) - var(--slider-height, 6px) + 1px)\n}\n\n";
10865
+ const _style_0 = ".border-primary { border-color: var(--theme-primary, #690000);\n}\n.text-primary { color: var(--theme-primary, #690000);\n}\n.bg-primary { background-color: var(--theme-primary, #690000);\n}\n.border-primary-extralight { border-color: var(--theme-primary-extralight, #f3f4f6);\n}\n.text-primary-extralight { color: var(--theme-primary-extralight, #f3f4f6);\n}\n.bg-primary-extralight { background-color: var(--theme-primary-extralight, #f3f4f6);\n}\n.border-secondary { border-color: var(--theme-secondary, #ffa03c);\n}\n.text-secondary { color: var(--theme-secondary, #ffa03c);\n}\n.bg-secondary { background-color: var(--theme-secondary, #ffa03c);\n}\n.rootWrapper {\r\n\tmax-height: 100%;\r\n height: 100%;\n}\nmain#rootComponent {\r\n\theight: 100%;\r\n\tmax-height: 100%;\n}\nmain#rootComponent.light {\r\n\t\tbackground-color: var(--bg-light-mode, #fff7e0)\n}\nmain#rootComponent.dark {\r\n\t\tbackground-color: var(--bg-dark-mode, #2d2d2d);\n}\nmain#rootComponent.dark #content-area {\r\n\t\t\tcolor: #fff\n}\nheader.wrapper {\r\n\twidth: 200px;\r\n\tmargin: 0 auto;\n}\n#engine {\r\n\theight: calc(100% - 8.4rem);\r\n\tposition: relative;\r\n right: 0;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\n}\n.rootWrapper.safari {\r\n\tmax-height: initial;\r\n\theight: initial;\n}\n.rootWrapper.safari #engine {\r\n\theight: auto !important;\n}\n#reader-component {\r\n\twidth: 100%;\n}\n.typeArea {\r\n\twidth: 100%;\n}\n.engineWrapper {\r\n\theight: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n\tposition: relative;\r\n right: 0;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\n}\n.rootWrapper:not(.safari) .columns-double .columnsArea {\r\n\t-moz-column-count: 2;\r\n column-count: 2;\r\n grid-column-gap: 0;\r\n -moz-column-gap: 0;\r\n column-gap: 0;\r\n height: 100%;\r\n padding: 0;\r\n width: 100%;\n}\n@media only screen and (max-width: 1020px) {\n.rootWrapper:not(.safari) .columns-double .columnsArea {\r\n\t\t-moz-column-count: 1;\r\n \tcolumn-count: 1\n}\n}\n.rootWrapper:not(.safari) .columns-single .columnsArea {\r\n\t-moz-column-count: 1;\r\n\t column-count: 1;\r\n\t-moz-column-gap: 0;\r\n\t column-gap: 0;\r\n\theight: 100%;\r\n padding: 0;\r\n width: 100%;\n}\n.rootWrapper:not(.safari) .columns-single .columnsArea #content-area {\r\n\t\tmax-width: 37em;\r\n\t\tmargin: 0 auto;\n}\n.nav-prev { left: 0px;\n}\n.nav-next { right: 0px;\n}\n.viewer-nav {\r\n\theight: 100%;\r\n\tposition: relative;\r\n\ttop: 0px;\r\n\tbottom: 0px;\r\n\tz-index: 10;\r\n\twidth: 2.5rem;\r\n\tflex-shrink: 0;\r\n\tcursor: pointer;\r\n\talign-self: center;\r\n\ttransition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;\r\n\ttransition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\r\n\ttransition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;\r\n\ttransition-duration: 500ms;\r\n\ttransition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.viewer-nav:focus,\r\n\t.viewer-nav:active {\r\n\t\tborder: none !important;\r\n\t\tbox-shadow: none !important;\r\n\t\toutline-color: transparent !important;\n}\n#content-area *::-moz-selection {\r\n\tcolor: var(--theme-primary-extralight, #690000);\r\n\tbackground: var(--theme-secondary, #ffa03c);\n}\n#content-area *::selection {\r\n\tcolor: var(--theme-primary-extralight, #690000);\r\n\tbackground: var(--theme-secondary, #ffa03c);\n}\n.viewer-nav-icon { opacity: 0;\n}\n@media (min-width: 768px) {\n.viewer-nav-icon { opacity: 0.8;\n}\n}\n@media only screen and (max-width: 600px) {\n.columnsArea {\r\n\t\ttransition: margin 100ms\n}\n}\n#asidebar {\r\n\tbackground: var(--sidebar-backgorund, #690000);\r\n\tcolor: var(--sidebar-text, #f3f4f6);\n}\r\n\r\n/* slider */\n.rootWrapper.safari .slider-target,\r\n.rootWrapper.safari .slider-target *{\r\n\tdisplay: none !important;\n}\n.slider-target,.slider-target *{\r\n -webkit-touch-callout:none;\r\n -webkit-tap-highlight-color:rgba(0,0,0,0);\r\n box-sizing:border-box;\r\n touch-action:none;\r\n -webkit-user-select:none;\r\n -moz-user-select:none;\r\n user-select:none\n}\n.slider-target{\r\n position:relative\n}\n.slider-base,.slider-connects{\r\n height:100%;\r\n position:relative;\r\n width:100%;\r\n z-index:1\n}\n.slider-connects{\r\n overflow:hidden;\r\n z-index:0\n}\n.slider-connect,.slider-origin{\r\n height:100%;\r\n position:absolute;\r\n right:0;\r\n top:0;\r\n transform-origin:0 0;\r\n transform-style:flat;\r\n width:100%;\r\n will-change:transform;\r\n z-index:1\n}\n.slider-txt-dir-rtl.slider-horizontal .slider-origin{\r\n left:0;\r\n right:auto\n}\n.slider-vertical .slider-origin{\r\n top:-100%;\r\n width:0\n}\n.slider-horizontal .slider-origin{\r\n height:0\n}\n.slider-handle{\r\n -webkit-backface-visibility:hidden;\r\n backface-visibility:hidden;\r\n position:absolute\n}\n.slider-touch-area{\r\n height:100%;\r\n width:100%\n}\n.slider-state-tap .slider-connect,.slider-state-tap .slider-origin{\r\n transition:transform .3s\n}\n.slider-state-drag *{\r\n cursor:inherit!important\n}\n.slider-tooltip-drag .slider-tooltip,.slider-tooltip-focus .slider-tooltip{\r\n display:none!important\n}\n.slider-tooltip-drag .slider-active .slider-tooltip,.slider-tooltip-drag.slider-state-drag .slider-tooltip:not(.slider-tooltip-hidden),.slider-tooltip-focus.slider-focused .slider-tooltip:not(.slider-tooltip-hidden){\r\n display:block!important\n}\n.slider-horizontal{\r\n height:var(--slider-height,6px)\n}\n.slider-horizontal .slider-handle{\r\n height:var(--slider-handle-height,16px);\r\n right:calc(var(--slider-handle-width, 16px)/2*-1);\r\n top:calc((var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2*-1 + -1px);\r\n width:var(--slider-handle-width,16px)\n}\n.slider-vertical{\r\n height:var(--slider-vertical-height,300px);\r\n width:var(--slider-height,6px)\n}\n.slider-vertical .slider-handle{\r\n bottom:calc(var(--slider-handle-width, 16px)/2*-1);\r\n height:var(--slider-handle-width,16px);\r\n right:calc((var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2*-1 + -1px);\r\n width:var(--slider-handle-height,16px)\n}\n.slider-txt-dir-rtl.slider-horizontal .slider-handle{\r\n left:calc(var(--slider-handle-width, 16px)/2*-1);\r\n right:auto\n}\n.slider-base{\r\n background-color:var(--slider-bg,#d1d5db)\n}\n.slider-base,.slider-connects{\r\n border-radius:var(--slider-radius,9999px)\n}\n.slider-connect{\r\n background:var(--theme-secondary, #690000);\r\n cursor:pointer\n}\n.slider-draggable{\r\n cursor:ew-resize\n}\n.slider-vertical .slider-draggable{\r\n cursor:ns-resize\n}\n.slider-handle{\r\n background:var(--slider-handle-bg,#fff);\r\n border:var(--slider-handle-border,0);\r\n border-radius:var(--slider-handle-radius,9999px);\r\n box-shadow:var(--slider-handle-shadow,.5px .5px 2px 1px rgba(0,0,0,.32));\r\n cursor:-webkit-grab;\r\n cursor:grab;\r\n height:var(--slider-handle-height,16px);\r\n width:var(--slider-handle-width,16px)\n}\n.slider-handle:focus{\r\n box-shadow:0 0 0 var(--slider-handle-ring-width,3px) var(--slider-handle-ring-color,rgba(16,185,129,.188)),var(--slider-handle-shadow,.5px .5px 2px 1px rgba(0,0,0,.32));\r\n outline:none\n}\n.slider-active{\r\n box-shadow:var(--slider-handle-shadow-active,.5px .5px 2px 1px rgba(0,0,0,.42));\r\n cursor:-webkit-grabbing;\r\n cursor:grabbing\n}\n[disabled] .slider-connect{\r\n background:var(--slider-connect-bg-disabled,#9ca3af)\n}\n[disabled] .slider-handle,[disabled].slider-handle,[disabled].slider-target{\r\n cursor:not-allowed\n}\n[disabled] .slider-tooltip{\r\n background:var(--theme-secondary, #690000);\r\n border-color:var(--theme-secondary, #690000);\r\n\topacity: 0.5;\n}\n.slider-tooltip{\r\n background:var(--theme-secondary, #690000);\r\n border:1px solid var(--theme-secondary, #690000);\r\n border-radius:var(--slider-tooltip-radius,5px);\r\n color:var(--slider-tooltip-color,#fff);\r\n display:block;\r\n font-size:var(--slider-tooltip-font-size,.875rem);\r\n font-weight:var(--slider-tooltip-font-weight,600);\r\n line-height:var(--slider-tooltip-line-height,1.25rem);\r\n min-width:var(--slider-tooltip-min-width,20px);\r\n padding:var(--slider-tooltip-py,2px) var(--slider-tooltip-px,6px);\r\n position:absolute;\r\n text-align:center;\r\n white-space:nowrap\n}\n.slider-horizontal .slider-tooltip-top{\r\n bottom:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));\r\n left:50%;\r\n transform:translate(-50%)\n}\n.slider-horizontal .slider-tooltip-top:before{\r\n border:var(--slider-tooltip-arrow-size,5px) solid transparent;\r\n border-top-color:inherit;\r\n bottom:calc(var(--slider-tooltip-arrow-size, 5px)*-2);\r\n content:\"\";\r\n height:0;\r\n left:50%;\r\n position:absolute;\r\n transform:translate(-50%);\r\n width:0\n}\n.slider-horizontal .slider-tooltip-bottom{\r\n left:50%;\r\n top:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));\r\n transform:translate(-50%)\n}\n.slider-horizontal .slider-tooltip-bottom:before{\r\n border:var(--slider-tooltip-arrow-size,5px) solid transparent;\r\n border-bottom-color:inherit;\r\n content:\"\";\r\n height:0;\r\n left:50%;\r\n position:absolute;\r\n top:calc(var(--slider-tooltip-arrow-size, 5px)*-2);\r\n transform:translate(-50%);\r\n width:0\n}\n.slider-vertical .slider-tooltip-left{\r\n right:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));\r\n top:50%;\r\n transform:translateY(-50%)\n}\n.slider-vertical .slider-tooltip-left:before{\r\n border:var(--slider-tooltip-arrow-size,5px) solid transparent;\r\n border-left-color:inherit;\r\n content:\"\";\r\n height:0;\r\n position:absolute;\r\n right:calc(var(--slider-tooltip-arrow-size, 5px)*-2);\r\n top:50%;\r\n transform:translateY(-50%);\r\n width:0\n}\n.slider-vertical .slider-tooltip-right{\r\n left:calc(var(--slider-handle-height, 16px) + var(--slider-tooltip-arrow-size, 5px) + var(--slider-tooltip-distance, 3px));\r\n top:50%;\r\n transform:translateY(-50%)\n}\n.slider-vertical .slider-tooltip-right:before{\r\n border:var(--slider-tooltip-arrow-size,5px) solid transparent;\r\n border-right-color:inherit;\r\n content:\"\";\r\n height:0;\r\n left:calc(var(--slider-tooltip-arrow-size, 5px)*-2);\r\n position:absolute;\r\n top:50%;\r\n transform:translateY(-50%);\r\n width:0\n}\n.slider-horizontal .slider-origin>.slider-tooltip{\r\n left:auto;\r\n transform:translate(50%)\n}\n.slider-horizontal .slider-origin>.slider-tooltip-top{\r\n bottom:calc(var(--slider-tooltip-arrow-size, 5px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) + 1px)\n}\n.slider-horizontal .slider-origin>.slider-tooltip-bottom{\r\n top:calc(var(--slider-tooltip-arrow-size, 5px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) + var(--slider-height, 6px) - 1px)\n}\n.slider-vertical .slider-origin>.slider-tooltip{\r\n top:auto;\r\n transform:translateY(calc((var(--slider-tooltip-line-height, 1.25rem) - var(--slider-tooltip-py, 2px))*-1 + 1px))\n}\n.slider-vertical .slider-origin>.slider-tooltip-left{\r\n right:calc(var(--slider-tooltip-arrow-size, 5px) + var(--slider-height, 6px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) - 1px)\n}\n.slider-vertical .slider-origin>.slider-tooltip-right{\r\n left:calc(var(--slider-tooltip-arrow-size, 5px) + var(--slider-height, 6px) + (var(--slider-handle-height, 16px) - var(--slider-height, 6px))/2 + var(--slider-tooltip-distance, 3px) - var(--slider-height, 6px) + 1px)\n}\r\n\r\n";
10857
10866
 
10858
10867
  const _hoisted_1 = { class: "text-white text-center text-sm" };
10859
10868
  const _hoisted_2 = { class: "text-white text-center text-xs" };
10860
-
10869
+
10861
10870
 
10862
10871
  const _sfc_main = {
10863
10872
  __name: 'App.ce',
10864
- props: {
10865
- bookTitle: String,
10866
- bookContent: String,
10867
- readerSettings: String,
10868
- readerBlocked: Boolean,
10869
- rootClass: {
10870
- type: String,
10871
- default: ''
10872
- },
10873
- cssFile: String,
10874
- cssString: String
10873
+ props: {
10874
+ bookTitle: String,
10875
+ bookContent: String,
10876
+ readerSettings: String,
10877
+ readerBlocked: Boolean,
10878
+ rootClass: {
10879
+ type: String,
10880
+ default: ''
10881
+ },
10882
+ cssFile: String,
10883
+ cssString: String
10875
10884
  },
10876
10885
  setup(__props) {
10877
10886
 
10878
10887
  const props = __props;
10879
-
10880
-
10881
-
10882
- const { baseFont, bookTitle, chapterTitle, textFont, fontSize, columns, setColumns, mode } = useReaderSettings;
10883
- const { currentPage, totalPages } = usePagination;
10884
- const { content, listenToClicks } = useTextContent;
10885
- const { width, height } = useWindowSize();
10886
-
10887
- const readerComponent = ref(null);
10888
- const contentArea = ref(null);
10889
- const rootComponent = ref(null);
10890
-
10891
- onMounted(async () => {
10892
- usePagination.init(readerComponent, contentArea);
10893
- useReaderSettings.initSettings(props.readerSettings);
10894
- useStyles.initStyles(props, rootComponent);
10895
-
10896
- if (['string', 'boolean'].includes(typeof props.readerBlocked)) {
10897
- useReaderSettings.setBlocked(props.readerBlocked);
10898
- }
10899
-
10900
- });
10901
-
10902
- watch(
10903
- props,
10904
- () => {
10905
- if (props.hasOwnProperty('readerBlocked')) {
10906
- const readerBlocked = typeof props.readerBlocked === 'boolean'
10907
- ? props.readerBlocked
10908
- : props.readerBlocked === 'true';
10909
- useReaderSettings.setBlocked(readerBlocked);
10910
- }
10911
- }
10912
- );
10913
-
10914
- watchDebounced(
10915
- [width, height, content, columns, fontSize, textFont],
10916
- () => {
10917
- if (width.value < 1024 && columns.value === 'double')
10918
- setColumns('single');
10919
- else
10920
- useEstimatePages.estimate(readerComponent, contentArea);
10921
- },
10922
- { debounce: 125, maxWait: 250 }
10923
- );
10924
-
10925
- watchDebounced(content,
10926
- () => listenToClicks(contentArea),
10927
- { debounce: 125, maxWait: 250 }
10928
- );
10929
-
10888
+
10889
+
10890
+
10891
+ const { baseFont, bookTitle, chapterTitle, textFont, fontSize, columns, setColumns, mode } = useReaderSettings;
10892
+ const { currentPage, totalPages } = usePagination;
10893
+ const { content, listenToClicks } = useTextContent;
10894
+ const { width, height } = useWindowSize();
10895
+
10896
+ const readerComponent = ref(null);
10897
+ const contentArea = ref(null);
10898
+ const rootComponent = ref(null);
10899
+
10900
+ onMounted(async () => {
10901
+ usePagination.init(readerComponent, contentArea);
10902
+ useReaderSettings.initSettings(props.readerSettings);
10903
+ useStyles.initStyles(props, rootComponent);
10904
+
10905
+ if (['string', 'boolean'].includes(typeof props.readerBlocked)) {
10906
+ useReaderSettings.setBlocked(props.readerBlocked);
10907
+ }
10908
+
10909
+ });
10910
+
10911
+ watch(
10912
+ props,
10913
+ () => {
10914
+ if (props.hasOwnProperty('readerBlocked')) {
10915
+ const readerBlocked = typeof props.readerBlocked === 'boolean'
10916
+ ? props.readerBlocked
10917
+ : props.readerBlocked === 'true';
10918
+ useReaderSettings.setBlocked(readerBlocked);
10919
+ }
10920
+ }
10921
+ );
10922
+
10923
+ watchDebounced(
10924
+ [width, height, content, columns, fontSize, textFont],
10925
+ () => {
10926
+ if (width.value < 1024 && columns.value === 'double')
10927
+ setColumns('single');
10928
+ else
10929
+ useEstimatePages.estimate(readerComponent, contentArea);
10930
+ },
10931
+ { debounce: 125, maxWait: 250 }
10932
+ );
10933
+
10934
+ watchDebounced(content,
10935
+ () => listenToClicks(contentArea),
10936
+ { debounce: 125, maxWait: 250 }
10937
+ );
10938
+
10930
10939
 
10931
10940
  return (_ctx, _cache) => {
10932
10941
  return (openBlock(), createElementBlock("div", {
@@ -10936,11 +10945,11 @@ return (_ctx, _cache) => {
10936
10945
  id: "rootComponent",
10937
10946
  ref_key: "rootComponent",
10938
10947
  ref: rootComponent,
10939
- class: normalizeClass(unref(mode)
10940
- .concat(` ${props.rootClass}`)
10941
- .concat(` currentPage-${unref(currentPage)}`)
10942
- .concat(` totalPages-${unref(totalPages)}`)
10943
- .concat(` columns-${unref(columns)}`)
10948
+ class: normalizeClass(unref(mode)
10949
+ .concat(` ${props.rootClass}`)
10950
+ .concat(` currentPage-${unref(currentPage)}`)
10951
+ .concat(` totalPages-${unref(totalPages)}`)
10952
+ .concat(` columns-${unref(columns)}`)
10944
10953
  ),
10945
10954
  style: normalizeStyle(`font-family: ${unref(baseFont)}`)
10946
10955
  }, [
@@ -11010,18 +11019,18 @@ const App = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]]]);
11010
11019
 
11011
11020
  const tailwindStyles = "/*\n! tailwindcss v3.1.8 | MIT License | https://tailwindcss.com\n*/\n\n/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box;\n /* 1 */\n border-width: 0;\n /* 2 */\n border-style: solid;\n /* 2 */\n border-color: #e5e7eb;\n /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n*/\n\nhtml {\n line-height: 1.5;\n /* 1 */\n -webkit-text-size-adjust: 100%;\n /* 2 */\n -moz-tab-size: 4;\n /* 3 */\n -o-tab-size: 4;\n tab-size: 4;\n /* 3 */\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n /* 4 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0;\n /* 1 */\n line-height: inherit;\n /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0;\n /* 1 */\n color: inherit;\n /* 2 */\n border-top-width: 1px;\n /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0;\n /* 1 */\n border-color: inherit;\n /* 2 */\n border-collapse: collapse;\n /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n /* 1 */\n font-size: 100%;\n /* 1 */\n font-weight: inherit;\n /* 1 */\n line-height: inherit;\n /* 1 */\n color: inherit;\n /* 1 */\n margin: 0;\n /* 2 */\n padding: 0;\n /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button;\n /* 1 */\n background-color: transparent;\n /* 2 */\n background-image: none;\n /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield;\n /* 1 */\n outline-offset: -2px;\n /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n /* 1 */\n font: inherit;\n /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1;\n /* 1 */\n color: #9ca3af;\n /* 2 */\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1;\n /* 1 */\n color: #9ca3af;\n /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block;\n /* 1 */\n vertical-align: middle;\n /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n::-webkit-backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n.fixed {\n position: fixed;\n}\n\n.absolute {\n position: absolute;\n}\n\n.relative {\n position: relative;\n}\n\n.top-0 {\n top: 0px;\n}\n\n.right-0 {\n right: 0px;\n}\n\n.top-4 {\n top: 1rem;\n}\n\n.right-8 {\n right: 2rem;\n}\n\n.bottom-0 {\n bottom: 0px;\n}\n\n.top-14 {\n top: 3.5rem;\n}\n\n.-right-2 {\n right: -0.5rem;\n}\n\n.z-20 {\n z-index: 20;\n}\n\n.z-40 {\n z-index: 40;\n}\n\n.z-10 {\n z-index: 10;\n}\n\n.col-span-1 {\n grid-column: span 1 / span 1;\n}\n\n.col-span-2 {\n grid-column: span 2 / span 2;\n}\n\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.my-3 {\n margin-top: 0.75rem;\n margin-bottom: 0.75rem;\n}\n\n.my-8 {\n margin-top: 2rem;\n margin-bottom: 2rem;\n}\n\n.mb-6 {\n margin-bottom: 1.5rem;\n}\n\n.ml-4 {\n margin-left: 1rem;\n}\n\n.ml-10 {\n margin-left: 2.5rem;\n}\n\n.mt-3 {\n margin-top: 0.75rem;\n}\n\n.mr-3 {\n margin-right: 0.75rem;\n}\n\n.ml-3 {\n margin-left: 0.75rem;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem;\n}\n\n.block {\n display: block;\n}\n\n.flex {\n display: flex;\n}\n\n.grid {\n display: grid;\n}\n\n.hidden {\n display: none;\n}\n\n.h-screen {\n height: 100vh;\n}\n\n.h-6 {\n height: 1.5rem;\n}\n\n.h-8 {\n height: 2rem;\n}\n\n.h-full {\n height: 100%;\n}\n\n.h-10 {\n height: 2.5rem;\n}\n\n.h-5 {\n height: 1.25rem;\n}\n\n.w-full {\n width: 100%;\n}\n\n.w-96 {\n width: 24rem;\n}\n\n.w-6 {\n width: 1.5rem;\n}\n\n.w-8 {\n width: 2rem;\n}\n\n.w-4\\/5 {\n width: 80%;\n}\n\n.w-5 {\n width: 1.25rem;\n}\n\n.w-60 {\n width: 15rem;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0;\n}\n\n.scale-95 {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.scale-100 {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.cursor-default {\n cursor: default;\n}\n\n.grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n\n.items-center {\n align-items: center;\n}\n\n.justify-center {\n justify-content: center;\n}\n\n.justify-between {\n justify-content: space-between;\n}\n\n.gap-2 {\n gap: 0.5rem;\n}\n\n.divide-opacity-75 > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-opacity: 0.75;\n}\n\n.self-end {\n align-self: flex-end;\n}\n\n.overflow-auto {\n overflow: auto;\n}\n\n.overflow-hidden {\n overflow: hidden;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-sm {\n border-radius: 0.125rem;\n}\n\n.border {\n border-width: 1px;\n}\n\n.border-2 {\n border-width: 2px;\n}\n\n.border-b {\n border-bottom-width: 1px;\n}\n\n.border-white {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n}\n\n.border-gray-300 {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity));\n}\n\n.border-b-white\\/25 {\n border-bottom-color: rgb(255 255 255 / 0.25);\n}\n\n.bg-gray-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\n}\n\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.p-4 {\n padding: 1rem;\n}\n\n.p-10 {\n padding: 2.5rem;\n}\n\n.p-3 {\n padding: 0.75rem;\n}\n\n.py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.px-10 {\n padding-left: 2.5rem;\n padding-right: 2.5rem;\n}\n\n.py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n\n.py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n\n.px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n.pt-10 {\n padding-top: 2.5rem;\n}\n\n.pl-4 {\n padding-left: 1rem;\n}\n\n.text-left {\n text-align: left;\n}\n\n.text-center {\n text-align: center;\n}\n\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n\n.text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n\n.text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n\n.font-light {\n font-weight: 300;\n}\n\n.lowercase {\n text-transform: lowercase;\n}\n\n.tracking-wide {\n letter-spacing: 0.025em;\n}\n\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(55 65 81 / var(--tw-text-opacity));\n}\n\n.text-black {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity));\n}\n\n.opacity-50 {\n opacity: 0.5;\n}\n\n.opacity-100 {\n opacity: 1;\n}\n\n.opacity-0 {\n opacity: 0;\n}\n\n.opacity-30 {\n opacity: 0.3;\n}\n\n.opacity-75 {\n opacity: 0.75;\n}\n\n.shadow-2xl {\n --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.transition-colors {\n transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.transition {\n transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.duration-100 {\n transition-duration: 100ms;\n}\n\n.duration-200 {\n transition-duration: 200ms;\n}\n\n.duration-75 {\n transition-duration: 75ms;\n}\n\n.ease-out {\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n\n.ease-in {\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n}\n\n.last\\:border-transparent:last-child {\n border-color: transparent;\n}\n\n.hover\\:bg-gray-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\n}\n\n@media (prefers-color-scheme: dark) {\n .dark\\:text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n }\n}\n\n@media (min-width: 768px) {\n .md\\:bottom-14 {\n bottom: 3.5rem;\n }\n\n .md\\:right-3 {\n right: 0.75rem;\n }\n\n .md\\:right-16 {\n right: 4rem;\n }\n\n .md\\:flex {\n display: flex;\n }\n\n .md\\:grid {\n display: grid;\n }\n\n .md\\:w-\\[40em\\] {\n width: 40em;\n }\n\n .md\\:w-2\\/5 {\n width: 40%;\n }\n\n .md\\:px-24 {\n padding-left: 6rem;\n padding-right: 6rem;\n }\n}";
11012
11021
 
11013
- // https://maximomussini.com/posts/vue-custom-elements
11014
-
11015
- const styles = [
11016
- ...[tailwindStyles],
11017
- ...App.styles
11018
- ];
11019
-
11020
- customElements.define(
11021
- 'paginate-content',
11022
- defineCustomElement({
11023
- ...App,
11024
- styles
11025
- })
11022
+ // https://maximomussini.com/posts/vue-custom-elements
11023
+
11024
+ const styles = [
11025
+ ...[tailwindStyles],
11026
+ ...App.styles
11027
+ ];
11028
+
11029
+ customElements.define(
11030
+ 'paginate-content',
11031
+ defineCustomElement({
11032
+ ...App,
11033
+ styles
11034
+ })
11026
11035
  );
11027
11036
  //# sourceMappingURL=index.es.js.map