paginar 0.1.6 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -9103,6 +9103,201 @@ function useWindowSize(options = {}) {
9103
9103
  return { width, height };
9104
9104
  }
9105
9105
 
9106
+ function fontLoader(fontsOptions) {
9107
+ const fontsToLoad = fontsOptions.filter(item => item.link);
9108
+
9109
+ if (fontsToLoad.length > 0) {
9110
+ const style = document.createElement('style');
9111
+ const head = document.head || document.getElementsByTagName('head')[0];
9112
+ head.appendChild(style);
9113
+
9114
+ style.type = 'text/css';
9115
+ let css = '';
9116
+ fontsToLoad.forEach(
9117
+ item => css = css + `@import url(${item.link}); \n`
9118
+ );
9119
+ style.appendChild(document.createTextNode(css));
9120
+ }
9121
+ }
9122
+
9123
+ async function stylesheetLoader(stylesheet, ref) {
9124
+ if (stylesheet) {
9125
+ try {
9126
+ const dataRef = await fetch(stylesheet);
9127
+ const cssText = await dataRef.text();
9128
+
9129
+ applyStylesheet(cssText, ref);
9130
+
9131
+ } catch (err) {
9132
+ console.log({ err });
9133
+ }
9134
+ }
9135
+ }
9136
+
9137
+ async function applyStylesheet(stylesheet, ref) {
9138
+ const style = document.createElement('style');
9139
+ ref.value.appendChild(style);
9140
+ style.type = 'text/css';
9141
+ style.appendChild(document.createTextNode(stylesheet));
9142
+ }
9143
+
9144
+ const useStyles = {
9145
+ fontLoader,
9146
+ stylesheetLoader,
9147
+ applyStylesheet
9148
+ };
9149
+
9150
+ const state$5 = reactive({
9151
+ baseFont: 'Arial, sans-serif',
9152
+ textFont: 'Times New Roman, serif',
9153
+ fontsOptions: [
9154
+ { name: 'Times New Roman, serif' },
9155
+ { name: 'Georgia, serif' },
9156
+ { name: 'Arial, sans-serif' },
9157
+ { name: 'Verdana, sans-serif' },
9158
+ ],
9159
+ fontSize: 16,
9160
+ columns: 'single',
9161
+ mode: 'light',
9162
+ blocked: false
9163
+ });
9164
+
9165
+ const baseFont = computed(() => state$5.baseFont);
9166
+ const textFont = computed(() => state$5.textFont);
9167
+ const fontSize = computed(() => state$5.fontSize);
9168
+ const fontsOptions = computed(() => state$5.fontsOptions);
9169
+ const columns = computed(() => state$5.columns);
9170
+ const mode = computed(() => state$5.mode);
9171
+ const blocked = computed(() => state$5.blocked);
9172
+
9173
+ watch(
9174
+ [baseFont, textFont, fontSize, columns, mode],
9175
+ () => saveSettings()
9176
+ );
9177
+
9178
+ async function initSettings(settingsString) {
9179
+ const settings = settingsString
9180
+ ? JSON.parse(settingsString)
9181
+ : null;
9182
+
9183
+ if (settings?.baseFont)
9184
+ state$5.baseFont = settings.baseFont;
9185
+
9186
+ if (settings?.textFont)
9187
+ state$5.textFont = settings.textFont;
9188
+
9189
+ if (settings?.fontSize)
9190
+ state$5.fontSize = Number(settings.fontSize);
9191
+
9192
+ if (settings?.fontsOptions) {
9193
+ state$5.fontsOptions = settings.fontsOptions;
9194
+ useStyles.fontLoader(settings.fontsOptions);
9195
+
9196
+ // baseFont
9197
+ const defaultBaseFont = settings.fontsOptions.find(
9198
+ item => item.defaultBaseFont
9199
+ );
9200
+ if (defaultBaseFont)
9201
+ state$5.baseFont = defaultBaseFont.name;
9202
+
9203
+ // textFont
9204
+ const defaultTextFont = settings.fontsOptions.find(
9205
+ item => item.defaultTextFont
9206
+ );
9207
+ if (defaultTextFont)
9208
+ state$5.textFont = defaultTextFont.name;
9209
+ }
9210
+
9211
+ loadSavedSettings(settings);
9212
+ }
9213
+
9214
+ function loadSavedSettings(settings) {
9215
+ const hasSettings = localStorage.getItem('readerSettings');
9216
+
9217
+ if (hasSettings) {
9218
+ const savedSettings = JSON.parse(hasSettings);
9219
+
9220
+ state$5.fontSize = savedSettings.fontSize;
9221
+ state$5.columns = savedSettings.columns;
9222
+ state$5.mode = savedSettings.mode;
9223
+
9224
+ if (settings?.fontsOptions &&
9225
+ settings?.fontsOptions?.find(item => item.name === savedSettings.textFont)
9226
+ ) {
9227
+ state$5.textFont = savedSettings.textFont;
9228
+ }
9229
+
9230
+ if (savedSettings.mode === 'dark') {
9231
+ const htmlRoot = document.querySelector('html');
9232
+ if (htmlRoot) {
9233
+ htmlRoot.classList.remove("light");
9234
+ htmlRoot.classList.add("dark");
9235
+ }
9236
+ }
9237
+ }
9238
+ }
9239
+
9240
+ function setColumns(value) {
9241
+ state$5.columns = value;
9242
+ }
9243
+
9244
+ function setTextFont(value) {
9245
+ state$5.textFont = value;
9246
+ }
9247
+
9248
+ function setFontSize(value) {
9249
+ state$5.fontSize = value;
9250
+ }
9251
+
9252
+ function setBlocked(value) {
9253
+ state$5.blocked = value;
9254
+ }
9255
+
9256
+ function setMode(value) {
9257
+ state$5.mode = value;
9258
+
9259
+ const htmlRoot = document.querySelector('html');
9260
+ if (htmlRoot) {
9261
+ if (htmlRoot.classList.contains("dark")) {
9262
+ htmlRoot.classList.remove("dark");
9263
+ htmlRoot.classList.add("light");
9264
+
9265
+ } else {
9266
+ htmlRoot.classList.remove("light");
9267
+ htmlRoot.classList.add("dark");
9268
+ }
9269
+ }
9270
+ }
9271
+
9272
+ function saveSettings() {
9273
+ localStorage.setItem(
9274
+ 'readerSettings',
9275
+ JSON.stringify({
9276
+ textFont: textFont.value,
9277
+ fontSize: fontSize.value,
9278
+ columns: columns.value,
9279
+ mode: mode.value
9280
+ })
9281
+ );
9282
+ }
9283
+
9284
+ const useReaderSettings = {
9285
+ baseFont,
9286
+ textFont,
9287
+ fontSize,
9288
+ fontsOptions,
9289
+ columns,
9290
+ initSettings,
9291
+ setColumns,
9292
+ setTextFont,
9293
+ setFontSize,
9294
+ setBlocked,
9295
+ mode,
9296
+ blocked,
9297
+ setMode,
9298
+ saveSettings
9299
+ };
9300
+
9106
9301
  const _export_sfc = (sfc, props) => {
9107
9302
  const target = sfc.__vccOpts || sfc;
9108
9303
  for (const [key, val] of props) {
@@ -9111,62 +9306,62 @@ const _export_sfc = (sfc, props) => {
9111
9306
  return target;
9112
9307
  };
9113
9308
 
9114
- const _sfc_main$p = {};
9309
+ const _sfc_main$s = {};
9115
9310
 
9116
- const _hoisted_1$n = {
9311
+ const _hoisted_1$q = {
9117
9312
  fill: "none",
9118
9313
  stroke: "currentColor",
9119
9314
  viewBox: "0 0 20 22",
9120
9315
  xmlns: "http://www.w3.org/2000/svg"
9121
9316
  };
9122
- const _hoisted_2$i = /*#__PURE__*/createBaseVNode("path", {
9317
+ const _hoisted_2$l = /*#__PURE__*/createBaseVNode("path", {
9123
9318
  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",
9124
9319
  "stroke-width": "2",
9125
9320
  "stroke-linecap": "round",
9126
9321
  "stroke-linejoin": "round"
9127
9322
  }, null, -1);
9128
- const _hoisted_3$b = /*#__PURE__*/createBaseVNode("path", {
9323
+ const _hoisted_3$e = /*#__PURE__*/createBaseVNode("path", {
9129
9324
  d: "M7 21V11H13V21",
9130
9325
  "stroke-width": "2",
9131
9326
  "stroke-linecap": "round",
9132
9327
  "stroke-linejoin": "round"
9133
9328
  }, null, -1);
9134
- const _hoisted_4$4 = [
9135
- _hoisted_2$i,
9136
- _hoisted_3$b
9329
+ const _hoisted_4$5 = [
9330
+ _hoisted_2$l,
9331
+ _hoisted_3$e
9137
9332
  ];
9138
9333
 
9139
- function _sfc_render$a(_ctx, _cache) {
9140
- return (openBlock(), createElementBlock("svg", _hoisted_1$n, _hoisted_4$4))
9334
+ function _sfc_render$c(_ctx, _cache) {
9335
+ return (openBlock(), createElementBlock("svg", _hoisted_1$q, _hoisted_4$5))
9141
9336
  }
9142
- const IconHome = /*#__PURE__*/_export_sfc(_sfc_main$p, [['render',_sfc_render$a]]);
9337
+ const IconHome = /*#__PURE__*/_export_sfc(_sfc_main$s, [['render',_sfc_render$c]]);
9143
9338
 
9144
- const _sfc_main$o = {};
9339
+ const _sfc_main$r = {};
9145
9340
 
9146
- const _hoisted_1$m = {
9341
+ const _hoisted_1$p = {
9147
9342
  fill: "none",
9148
9343
  stroke: "currentColor",
9149
9344
  viewBox: "0 0 24 24",
9150
9345
  xmlns: "http://www.w3.org/2000/svg"
9151
9346
  };
9152
- const _hoisted_2$h = /*#__PURE__*/createBaseVNode("path", {
9347
+ const _hoisted_2$k = /*#__PURE__*/createBaseVNode("path", {
9153
9348
  "stroke-linecap": "round",
9154
9349
  "stroke-linejoin": "round",
9155
9350
  "stroke-width": "2",
9156
9351
  d: "M6 18L18 6M6 6l12 12"
9157
9352
  }, null, -1);
9158
- const _hoisted_3$a = [
9159
- _hoisted_2$h
9353
+ const _hoisted_3$d = [
9354
+ _hoisted_2$k
9160
9355
  ];
9161
9356
 
9162
- function _sfc_render$9(_ctx, _cache) {
9163
- return (openBlock(), createElementBlock("svg", _hoisted_1$m, _hoisted_3$a))
9357
+ function _sfc_render$b(_ctx, _cache) {
9358
+ return (openBlock(), createElementBlock("svg", _hoisted_1$p, _hoisted_3$d))
9164
9359
  }
9165
- const IconClose = /*#__PURE__*/_export_sfc(_sfc_main$o, [['render',_sfc_render$9]]);
9360
+ const IconClose = /*#__PURE__*/_export_sfc(_sfc_main$r, [['render',_sfc_render$b]]);
9166
9361
 
9167
- const _sfc_main$n = {};
9362
+ const _sfc_main$q = {};
9168
9363
 
9169
- const _hoisted_1$l = {
9364
+ const _hoisted_1$o = {
9170
9365
  width: "24",
9171
9366
  height: "19",
9172
9367
  viewBox: "0 0 24 19",
@@ -9174,15 +9369,15 @@ const _hoisted_1$l = {
9174
9369
  stroke: "currentColor",
9175
9370
  xmlns: "http://www.w3.org/2000/svg"
9176
9371
  };
9177
- const _hoisted_2$g = /*#__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);
9178
- const _hoisted_8 = [
9179
- _hoisted_2$g
9372
+ const _hoisted_2$j = /*#__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);
9373
+ const _hoisted_8$1 = [
9374
+ _hoisted_2$j
9180
9375
  ];
9181
9376
 
9182
- function _sfc_render$8(_ctx, _cache) {
9183
- return (openBlock(), createElementBlock("svg", _hoisted_1$l, _hoisted_8))
9377
+ function _sfc_render$a(_ctx, _cache) {
9378
+ return (openBlock(), createElementBlock("svg", _hoisted_1$o, _hoisted_8$1))
9184
9379
  }
9185
- const IconSummary = /*#__PURE__*/_export_sfc(_sfc_main$n, [['render',_sfc_render$8]]);
9380
+ const IconSummary = /*#__PURE__*/_export_sfc(_sfc_main$q, [['render',_sfc_render$a]]);
9186
9381
 
9187
9382
  const state$4 = reactive({
9188
9383
  references: [],
@@ -9220,57 +9415,101 @@ function applyReferences(contentRaw) {
9220
9415
  }, contentRaw)
9221
9416
  }
9222
9417
 
9223
- function listenToReferencesClick(contentWrapper) {
9224
- setTimeout(() => {
9225
- useEventListener(contentWrapper, 'click', getClickedReferenceData);
9226
- }, 100);
9227
- }
9228
-
9229
- function getClickedReferenceData(event) {
9230
- console.log(event.target.classList);
9231
- if (event.target.classList.value.includes('reference')) {
9232
- const ref = state$4.references.find(item => item.cit === event.target.innerText);
9233
- if (ref) {
9234
- state$4.reference = ref;
9235
- }
9418
+ function applyReference(event) {
9419
+ const ref = state$4.references.find(item => item.cit === event.target.innerText);
9420
+ if (ref) {
9421
+ state$4.reference = ref;
9236
9422
  }
9237
9423
  }
9238
9424
 
9239
9425
  const useReferences = {
9240
9426
  references,
9241
9427
  reference,
9428
+ applyReference,
9242
9429
  setReferences,
9243
9430
  setHighlightedReference,
9244
9431
  applyReferences,
9245
- listenToReferencesClick
9246
9432
  };
9247
9433
 
9248
9434
  const state$3 = reactive({
9435
+ footnotes: [],
9436
+ showFootnotes: false,
9437
+ footnote: null
9438
+ });
9439
+
9440
+ const footnotes = computed(() => state$3.footnotes);
9441
+ function setFootnotes(footnotes) {
9442
+ state$3.footnotes = footnotes;
9443
+ }
9444
+
9445
+ const showFootnotes = computed(() => state$3.showFootnotes);
9446
+ function setShowFootnotes(value) {
9447
+ state$3.showFootnotes = value;
9448
+ }
9449
+
9450
+ const footnote = computed(() => state$3.footnote);
9451
+ function setHighlightedFootnote(footnote) {
9452
+ state$3.footnote = footnote;
9453
+ }
9454
+
9455
+ function applyFootnote(event) {
9456
+ const classList = event.target.classList.value.split(' ');
9457
+
9458
+ if (classList.length === 0)
9459
+ return
9460
+
9461
+ const footnoteTarget = classList.find(
9462
+ item => item.includes('footnote') && item !== 'footnote'
9463
+ );
9464
+
9465
+ if (footnoteTarget) {
9466
+ const ref = state$3.footnotes.find(item => item.id === footnoteTarget);
9467
+ if (ref) {
9468
+ state$3.footnote = ref;
9469
+ }
9470
+ }
9471
+ }
9472
+
9473
+ const useFootnotes = {
9474
+ footnotes,
9475
+ footnote,
9476
+ setFootnotes,
9477
+ applyFootnote,
9478
+ setHighlightedFootnote,
9479
+ setShowFootnotes,
9480
+ showFootnotes
9481
+ };
9482
+
9483
+ const state$2 = reactive({
9249
9484
  summary: null,
9250
9485
  content: null
9251
9486
  });
9252
9487
 
9253
- const content = computed(() => state$3.content);
9254
- const summary = computed(() => state$3.summary);
9488
+ const content = computed(() => state$2.content);
9489
+ const summary = computed(() => state$2.summary);
9255
9490
 
9256
9491
  async function initContent(contentString, contentWrapper) {
9257
- const { setReferences, applyReferences, listenToReferencesClick } = useReferences;
9492
+ const { setReferences, applyReferences } = useReferences;
9493
+ const { setFootnotes } = useFootnotes;
9258
9494
 
9259
9495
  const content = contentString
9260
9496
  ? JSON.parse(contentString)
9261
9497
  : null;
9262
9498
 
9263
9499
  if (content?.summary)
9264
- state$3.summary = content.summary;
9500
+ state$2.summary = content.summary;
9265
9501
 
9266
9502
  if (content?.references)
9267
9503
  setReferences(content.references);
9268
9504
 
9505
+ if (content?.footnotes)
9506
+ setFootnotes(content.footnotes);
9507
+
9269
9508
  // if content comes from file, apply references to file
9270
9509
  if (content?.summary?.[0]?.file) {
9271
9510
  const text = await getContent(content.summary?.[0]?.file);
9272
9511
  const newContent = applyReferences(text);
9273
- state$3.content = newContent;
9512
+ state$2.content = newContent;
9274
9513
 
9275
9514
  // else if content comes from slot, apply references to slot
9276
9515
  } else {
@@ -9285,7 +9524,7 @@ async function initContent(contentString, contentWrapper) {
9285
9524
  }
9286
9525
 
9287
9526
  // after applying references above, now we start to listen to its clicks
9288
- listenToReferencesClick(contentWrapper);
9527
+ listenToClicks(contentWrapper);
9289
9528
  }
9290
9529
 
9291
9530
  async function getContent(location) {
@@ -9295,14 +9534,30 @@ async function getContent(location) {
9295
9534
  return text
9296
9535
  } catch (err) {
9297
9536
  console.log({ err });
9298
- state$3.content = 'Ops, não foi possível carregar o arquivo solicitado.';
9537
+ state$2.content = 'Ops, não foi possível carregar o arquivo solicitado.';
9299
9538
  }
9300
9539
  }
9301
9540
 
9302
9541
  function applyContent(text) {
9303
9542
  const { applyReferences } = useReferences;
9304
9543
  const newContent = applyReferences(text);
9305
- state$3.content = newContent;
9544
+ state$2.content = newContent;
9545
+ }
9546
+
9547
+ function listenToClicks(contentWrapper) {
9548
+ setTimeout(() => {
9549
+ useEventListener(contentWrapper, 'click', getClickedReferenceData);
9550
+ }, 100);
9551
+ }
9552
+
9553
+ function getClickedReferenceData(event) {
9554
+ if (event.target.classList.value.includes('reference')) {
9555
+ useReferences.applyReference(event);
9556
+ }
9557
+
9558
+ if (event.target.classList.value.includes('footnote')) {
9559
+ useFootnotes.applyFootnote(event);
9560
+ }
9306
9561
  }
9307
9562
 
9308
9563
  const useTextContent = {
@@ -9310,46 +9565,51 @@ const useTextContent = {
9310
9565
  summary,
9311
9566
  initContent,
9312
9567
  getContent,
9313
- applyContent
9568
+ applyContent,
9569
+ listenToClicks
9314
9570
  };
9315
9571
 
9316
- const state$2 = reactive({
9317
- totalPages: 1
9318
- });
9319
-
9320
- function estimate(viewport, content) {
9321
- if (viewport && content) {
9322
- const { width: viewportWidth } = viewport.value.getBoundingClientRect();
9323
- const { width: contentWidth } = content.value.getBoundingClientRect();
9324
-
9325
- if (contentWidth > viewportWidth) {
9326
- state$2.totalPages = Math.ceil(contentWidth / viewportWidth);
9327
-
9328
- } else {
9329
- state$2.totalPages = 1;
9330
- }
9331
- } else {
9332
- state$2.totalPages = 1;
9333
- }
9334
- }
9335
-
9336
- const totalPages$1 = computed(() => state$2.totalPages);
9337
-
9338
- const useEstimatePages = {
9339
- totalPages: totalPages$1,
9340
- estimate
9572
+ const state$1 = reactive({
9573
+ totalPages: 1
9574
+ });
9575
+
9576
+ function estimate(viewport, content) {
9577
+ if (viewport && content) {
9578
+ const { width: viewportWidth } = viewport.value.getBoundingClientRect();
9579
+ const { width: contentWidth } = content.value.getBoundingClientRect();
9580
+
9581
+ if (contentWidth > viewportWidth) {
9582
+ state$1.totalPages = Math.ceil(contentWidth / viewportWidth);
9583
+
9584
+ } else {
9585
+ state$1.totalPages = 1;
9586
+ }
9587
+ } else {
9588
+ state$1.totalPages = 1;
9589
+ }
9590
+ }
9591
+
9592
+ const totalPages$1 = computed(() => state$1.totalPages);
9593
+
9594
+ const useEstimatePages = {
9595
+ totalPages: totalPages$1,
9596
+ estimate
9341
9597
  };
9342
9598
 
9343
- const state$1 = reactive({
9599
+ const state = reactive({
9344
9600
  currentPage: 1
9345
9601
  });
9346
9602
 
9347
- const currentPage = computed(() => state$1.currentPage);
9603
+ const currentPage = computed(() => state.currentPage);
9348
9604
  const totalPages = computed(() => useEstimatePages.totalPages.value);
9349
9605
 
9350
9606
  function init(viewport, content) {
9351
9607
  useEstimatePages.estimate(viewport, content);
9352
9608
  addEventListener('wheel', onWheel);
9609
+
9610
+ setInterval(() => {
9611
+ useEstimatePages.estimate(viewport, content);
9612
+ }, 5000);
9353
9613
  }
9354
9614
 
9355
9615
  // when resizing the viewport, totalPages change
@@ -9362,8 +9622,10 @@ watch(totalPages, () => {
9362
9622
 
9363
9623
  // navigate by increase/decrease value
9364
9624
  function next() {
9365
- if ((state$1.currentPage + 1) <= totalPages.value) {
9366
- state$1.currentPage = state$1.currentPage + 1;
9625
+ if (!useReaderSettings.blocked.value) {
9626
+ if ((state.currentPage + 1) <= totalPages.value) {
9627
+ state.currentPage = state.currentPage + 1;
9628
+ }
9367
9629
  }
9368
9630
  }
9369
9631
  onKeyStroke('ArrowRight', (e) => {
@@ -9379,8 +9641,10 @@ function onWheel(event) {
9379
9641
  }
9380
9642
  }
9381
9643
  function prev() {
9382
- if ((state$1.currentPage - 1) > 0) {
9383
- state$1.currentPage = state$1.currentPage - 1;
9644
+ if (!useReaderSettings.blocked.value) {
9645
+ if ((state.currentPage - 1) > 0) {
9646
+ state.currentPage = state.currentPage - 1;
9647
+ }
9384
9648
  }
9385
9649
  }
9386
9650
  onKeyStroke('ArrowLeft', (e) => {
@@ -9390,7 +9654,7 @@ onKeyStroke('ArrowLeft', (e) => {
9390
9654
 
9391
9655
  // navigate to specific page
9392
9656
  function set(val) {
9393
- state$1.currentPage = val;
9657
+ state.currentPage = val;
9394
9658
  }
9395
9659
 
9396
9660
  const usePagination = {
@@ -9402,9 +9666,9 @@ const usePagination = {
9402
9666
  set
9403
9667
  };
9404
9668
 
9405
- const _hoisted_1$k = ["role"];
9669
+ const _hoisted_1$n = ["role"];
9406
9670
 
9407
- const _sfc_main$m = {
9671
+ const _sfc_main$p = {
9408
9672
  __name: 'SummaryDropdown',
9409
9673
  setup(__props) {
9410
9674
 
@@ -9441,23 +9705,23 @@ return (_ctx, _cache) => {
9441
9705
  }), 128)),
9442
9706
  renderSlot(_ctx.$slots, "summaryBottom")
9443
9707
  ])
9444
- ], 8, _hoisted_1$k))
9708
+ ], 8, _hoisted_1$n))
9445
9709
  }
9446
9710
  }
9447
9711
 
9448
9712
  };
9449
9713
 
9450
- const _hoisted_1$j = { class: "flex" };
9451
- const _hoisted_2$f = {
9714
+ const _hoisted_1$m = { class: "flex" };
9715
+ const _hoisted_2$i = {
9452
9716
  href: "/",
9453
9717
  title: "Homepage",
9454
9718
  class: "hidden md:flex items-center border p-3 shadow mr-3 border-white text-white"
9455
9719
  };
9456
- const _hoisted_3$9 = ["aria-expanded"];
9457
- const _hoisted_4$3 = /*#__PURE__*/createBaseVNode("span", { class: "block ml-3" }, " Sumário ", -1);
9720
+ const _hoisted_3$c = ["aria-expanded"];
9721
+ const _hoisted_4$4 = /*#__PURE__*/createBaseVNode("span", { class: "block ml-3" }, " Sumário ", -1);
9458
9722
 
9459
9723
 
9460
- const _sfc_main$l = {
9724
+ const _sfc_main$o = {
9461
9725
  __name: 'SummaryButton',
9462
9726
  setup(__props) {
9463
9727
 
@@ -9465,7 +9729,11 @@ const show = ref(false);
9465
9729
  const button = ref(null);
9466
9730
 
9467
9731
  const toggleSummary = () => show.value = !show.value;
9468
- const hide = () => show.value = false;
9732
+ const hide = () => {
9733
+ if (!useReaderSettings.blocked.value) {
9734
+ show.value = false;
9735
+ }
9736
+ };
9469
9737
 
9470
9738
  onClickOutside(button, () => hide());
9471
9739
  onKeyStroke('Escape', () => hide());
@@ -9476,8 +9744,8 @@ return (_ctx, _cache) => {
9476
9744
  ref: button,
9477
9745
  class: "relative"
9478
9746
  }, [
9479
- createBaseVNode("div", _hoisted_1$j, [
9480
- createBaseVNode("a", _hoisted_2$f, [
9747
+ createBaseVNode("div", _hoisted_1$m, [
9748
+ createBaseVNode("a", _hoisted_2$i, [
9481
9749
  createVNode(IconHome, { class: "w-6 h-6" })
9482
9750
  ]),
9483
9751
  createBaseVNode("button", {
@@ -9493,8 +9761,8 @@ return (_ctx, _cache) => {
9493
9761
  key: 1,
9494
9762
  class: "w-6 h-6"
9495
9763
  })),
9496
- _hoisted_4$3
9497
- ], 8, _hoisted_3$9)
9764
+ _hoisted_4$4
9765
+ ], 8, _hoisted_3$c)
9498
9766
  ]),
9499
9767
  createVNode(Transition, {
9500
9768
  "enter-active-class": "transition ease-out duration-100 transform",
@@ -9506,7 +9774,7 @@ return (_ctx, _cache) => {
9506
9774
  }, {
9507
9775
  default: withCtx(() => [
9508
9776
  (show.value)
9509
- ? (openBlock(), createBlock(_sfc_main$m, { key: 0 }, {
9777
+ ? (openBlock(), createBlock(_sfc_main$p, { key: 0 }, {
9510
9778
  summaryTop: withCtx(() => [
9511
9779
  renderSlot(_ctx.$slots, "summaryTop")
9512
9780
  ]),
@@ -9523,301 +9791,142 @@ return (_ctx, _cache) => {
9523
9791
  }
9524
9792
  }
9525
9793
 
9526
- };
9527
-
9528
- const _sfc_main$k = {};
9529
-
9530
- const _hoisted_1$i = {
9531
- fill: "none",
9532
- stroke: "currentColor",
9533
- viewBox: "0 0 24 24",
9534
- xmlns: "http://www.w3.org/2000/svg"
9535
- };
9536
- const _hoisted_2$e = /*#__PURE__*/createBaseVNode("path", {
9537
- "stroke-linecap": "round",
9538
- "stroke-linejoin": "round",
9539
- "stroke-width": "2",
9540
- d: "M5 12h.01M12 12h.01M19 12h.01M6 12a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0z"
9541
- }, null, -1);
9542
- const _hoisted_3$8 = [
9543
- _hoisted_2$e
9544
- ];
9545
-
9546
- function _sfc_render$7(_ctx, _cache) {
9547
- return (openBlock(), createElementBlock("svg", _hoisted_1$i, _hoisted_3$8))
9548
- }
9549
- const IconThreeDots = /*#__PURE__*/_export_sfc(_sfc_main$k, [['render',_sfc_render$7]]);
9550
-
9551
- const _sfc_main$j = {};
9552
-
9553
- const _hoisted_1$h = {
9554
- fill: "none",
9555
- stroke: "currentColor",
9556
- viewBox: "0 0 24 24",
9557
- xmlns: "http://www.w3.org/2000/svg"
9558
- };
9559
- const _hoisted_2$d = /*#__PURE__*/createBaseVNode("path", {
9560
- "stroke-linecap": "round",
9561
- "stroke-linejoin": "round",
9562
- "stroke-width": "2",
9563
- d: "M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"
9564
- }, null, -1);
9565
- const _hoisted_3$7 = [
9566
- _hoisted_2$d
9567
- ];
9568
-
9569
- function _sfc_render$6(_ctx, _cache) {
9570
- return (openBlock(), createElementBlock("svg", _hoisted_1$h, _hoisted_3$7))
9571
- }
9572
- const IconExpand = /*#__PURE__*/_export_sfc(_sfc_main$j, [['render',_sfc_render$6]]);
9573
-
9574
- const _sfc_main$i = {};
9575
-
9576
- const _hoisted_1$g = {
9577
- fill: "none",
9578
- stroke: "currentColor",
9579
- viewBox: "0 0 24 24",
9580
- xmlns: "http://www.w3.org/2000/svg"
9581
- };
9582
- const _hoisted_2$c = /*#__PURE__*/createBaseVNode("path", {
9583
- "stroke-linecap": "round",
9584
- "stroke-linejoin": "round",
9585
- "stroke-width": "2",
9586
- d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
9587
- }, null, -1);
9588
- const _hoisted_3$6 = /*#__PURE__*/createBaseVNode("path", {
9589
- "stroke-linecap": "round",
9590
- "stroke-linejoin": "round",
9591
- "stroke-width": "2",
9592
- d: "M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"
9593
- }, null, -1);
9594
- const _hoisted_4$2 = [
9595
- _hoisted_2$c,
9596
- _hoisted_3$6
9597
- ];
9598
-
9599
- function _sfc_render$5(_ctx, _cache) {
9600
- return (openBlock(), createElementBlock("svg", _hoisted_1$g, _hoisted_4$2))
9601
- }
9602
- const IconEye = /*#__PURE__*/_export_sfc(_sfc_main$i, [['render',_sfc_render$5]]);
9603
-
9604
- const _sfc_main$h = {};
9605
-
9606
- const _hoisted_1$f = {
9607
- viewBox: "0 0 341.5 441.2",
9608
- fill: "currentColor"
9609
- };
9610
- const _hoisted_2$b = /*#__PURE__*/createStaticVNode("<rect data-v-acadaaca=\"\" x=\"73.2\" y=\"143.7\" width=\"195.2\" height=\"20\"></rect><rect data-v-acadaaca=\"\" x=\"73.2\" y=\"82.7\" width=\"195.2\" height=\"20\"></rect><rect data-v-acadaaca=\"\" x=\"73.2\" y=\"203.7\" width=\"195.2\" height=\"20\"></rect><rect data-v-acadaaca=\"\" x=\"73.2\" y=\"263.7\" width=\"195.2\" height=\"20\"></rect><rect data-v-acadaaca=\"\" x=\"73.2\" y=\"319\" width=\"195.2\" height=\"20\"></rect><rect data-v-acadaaca=\"\" x=\"0\" y=\"-0.6\" width=\"332.3\" height=\"15\"></rect><rect data-v-acadaaca=\"\" x=\"0\" y=\"426.2\" width=\"332.3\" height=\"15\"></rect><rect data-v-acadaaca=\"\" x=\"-209.4\" y=\"216.2\" transform=\"matrix(6.123234e-17 -1 1 6.123234e-17 -216.2339 231.2339)\" width=\"433.7\" height=\"15\"></rect><rect data-v-acadaaca=\"\" x=\"108\" y=\"211.9\" transform=\"matrix(6.123234e-17 -1 1 6.123234e-17 105.4808 544.1859)\" width=\"433.7\" height=\"15\"></rect>", 9);
9611
- const _hoisted_11 = [
9612
- _hoisted_2$b
9613
- ];
9614
-
9615
- function _sfc_render$4(_ctx, _cache) {
9616
- return (openBlock(), createElementBlock("svg", _hoisted_1$f, _hoisted_11))
9617
- }
9618
- const SingleColumn = /*#__PURE__*/_export_sfc(_sfc_main$h, [['render',_sfc_render$4]]);
9619
-
9620
- const _sfc_main$g = {};
9621
-
9622
- const _hoisted_1$e = {
9623
- viewBox: "0 0 653 441.2",
9624
- fill: "currentColor"
9625
- };
9626
- const _hoisted_2$a = /*#__PURE__*/createStaticVNode("<rect x=\"73.2\" y=\"143.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"73.2\" y=\"82.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"73.2\" y=\"203.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"73.2\" y=\"263.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"73.2\" y=\"319\" width=\"195.2\" height=\"20\"></rect><rect x=\"384.7\" y=\"143.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"384.7\" y=\"82.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"384.7\" y=\"203.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"384.7\" y=\"263.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"384.7\" y=\"319\" width=\"195.2\" height=\"20\"></rect><path d=\"M0-0.6v7.5v7.5v411.8v14.4v0.6h653v-5v-10V14.4V2.5v-3.1H0z M638,426.2H15V14.4h623V426.2z\"></path>", 11);
9627
- const _hoisted_13 = [
9628
- _hoisted_2$a
9629
- ];
9630
-
9631
- function _sfc_render$3(_ctx, _cache) {
9632
- return (openBlock(), createElementBlock("svg", _hoisted_1$e, _hoisted_13))
9633
- }
9634
- const DoubleColumn = /*#__PURE__*/_export_sfc(_sfc_main$g, [['render',_sfc_render$3]]);
9635
-
9636
- function fontLoader(fontsOptions) {
9637
- const fontsToLoad = fontsOptions.filter(item => item.link);
9638
-
9639
- if (fontsToLoad.length > 0) {
9640
- const style = document.createElement('style');
9641
- const head = document.head || document.getElementsByTagName('head')[0];
9642
- head.appendChild(style);
9643
-
9644
- style.type = 'text/css';
9645
- let css = '';
9646
- fontsToLoad.forEach(
9647
- item => css = css + `@import url(${item.link}); \n`
9648
- );
9649
- style.appendChild(document.createTextNode(css));
9650
- }
9651
- }
9652
-
9653
- async function stylesheetLoader(stylesheet, ref) {
9654
- if (stylesheet) {
9655
- try {
9656
- const dataRef = await fetch(stylesheet);
9657
- const cssText = await dataRef.text();
9658
-
9659
- const style = document.createElement('style');
9660
- ref.value.appendChild(style);
9661
- style.type = 'text/css';
9662
- style.appendChild(document.createTextNode(cssText));
9663
-
9664
- } catch (err) {
9665
- console.log({ err });
9666
- }
9667
- }
9668
- }
9669
-
9670
- const useStyles = {
9671
- fontLoader,
9672
- stylesheetLoader
9673
- };
9674
-
9675
- const state = reactive({
9676
- baseFont: 'Arial, sans-serif',
9677
- textFont: 'Times New Roman, serif',
9678
- fontsOptions: [
9679
- { name: 'Times New Roman, serif' },
9680
- { name: 'Georgia, serif' },
9681
- { name: 'Arial, sans-serif' },
9682
- { name: 'Verdana, sans-serif' },
9683
- ],
9684
- fontSize: 16,
9685
- columns: 'single',
9686
- mode: 'light'
9687
- });
9688
-
9689
- const baseFont = computed(() => state.baseFont);
9690
- const textFont = computed(() => state.textFont);
9691
- const fontSize = computed(() => state.fontSize);
9692
- const fontsOptions = computed(() => state.fontsOptions);
9693
- const columns = computed(() => state.columns);
9694
- const mode = computed(() => state.mode);
9695
-
9696
- watch(
9697
- [baseFont, textFont, fontSize, columns, mode],
9698
- () => saveSettings()
9699
- );
9700
-
9701
- async function initSettings(settingsString) {
9702
- const settings = settingsString
9703
- ? JSON.parse(settingsString)
9704
- : null;
9705
-
9706
- if (settings?.baseFont)
9707
- state.baseFont = settings.baseFont;
9708
-
9709
- if (settings?.textFont)
9710
- state.textFont = settings.textFont;
9711
-
9712
- if (settings?.fontSize)
9713
- state.fontSize = Number(settings.fontSize);
9714
-
9715
- if (settings?.fontsOptions) {
9716
- state.fontsOptions = settings.fontsOptions;
9717
- useStyles.fontLoader(settings.fontsOptions);
9718
-
9719
- // baseFont
9720
- const defaultBaseFont = settings.fontsOptions.find(
9721
- item => item.defaultBaseFont
9722
- );
9723
- if (defaultBaseFont)
9724
- state.baseFont = defaultBaseFont.name;
9725
-
9726
- // textFont
9727
- const defaultTextFont = settings.fontsOptions.find(
9728
- item => item.defaultTextFont
9729
- );
9730
- if (defaultTextFont)
9731
- state.textFont = defaultTextFont.name;
9732
- }
9794
+ };
9733
9795
 
9734
- loadSavedSettings(settings);
9735
- }
9796
+ const _sfc_main$n = {};
9736
9797
 
9737
- function loadSavedSettings(settings) {
9738
- const hasSettings = localStorage.getItem('readerSettings');
9798
+ const _hoisted_1$l = {
9799
+ fill: "none",
9800
+ stroke: "currentColor",
9801
+ viewBox: "0 0 24 24",
9802
+ xmlns: "http://www.w3.org/2000/svg"
9803
+ };
9804
+ const _hoisted_2$h = /*#__PURE__*/createBaseVNode("path", {
9805
+ "stroke-linecap": "round",
9806
+ "stroke-linejoin": "round",
9807
+ "stroke-width": "2",
9808
+ d: "M5 12h.01M12 12h.01M19 12h.01M6 12a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0z"
9809
+ }, null, -1);
9810
+ const _hoisted_3$b = [
9811
+ _hoisted_2$h
9812
+ ];
9739
9813
 
9740
- if (hasSettings) {
9741
- const savedSettings = JSON.parse(hasSettings);
9814
+ function _sfc_render$9(_ctx, _cache) {
9815
+ return (openBlock(), createElementBlock("svg", _hoisted_1$l, _hoisted_3$b))
9816
+ }
9817
+ const IconThreeDots = /*#__PURE__*/_export_sfc(_sfc_main$n, [['render',_sfc_render$9]]);
9742
9818
 
9743
- state.fontSize = savedSettings.fontSize;
9744
- state.columns = savedSettings.columns;
9745
- state.mode = savedSettings.mode;
9819
+ const _sfc_main$m = {};
9746
9820
 
9747
- if (settings?.fontsOptions &&
9748
- settings?.fontsOptions?.find(item => item.name === savedSettings.textFont)
9749
- ) {
9750
- state.textFont = savedSettings.textFont;
9751
- }
9821
+ const _hoisted_1$k = {
9822
+ fill: "none",
9823
+ stroke: "currentColor",
9824
+ viewBox: "0 0 24 24",
9825
+ xmlns: "http://www.w3.org/2000/svg"
9826
+ };
9827
+ const _hoisted_2$g = /*#__PURE__*/createBaseVNode("path", {
9828
+ "stroke-linecap": "round",
9829
+ "stroke-linejoin": "round",
9830
+ "stroke-width": "2",
9831
+ d: "M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"
9832
+ }, null, -1);
9833
+ const _hoisted_3$a = [
9834
+ _hoisted_2$g
9835
+ ];
9752
9836
 
9753
- if (savedSettings.mode === 'dark') {
9754
- const htmlRoot = document.querySelector('html');
9755
- if (htmlRoot) {
9756
- htmlRoot.classList.remove("light");
9757
- htmlRoot.classList.add("dark");
9758
- }
9759
- }
9760
- }
9837
+ function _sfc_render$8(_ctx, _cache) {
9838
+ return (openBlock(), createElementBlock("svg", _hoisted_1$k, _hoisted_3$a))
9761
9839
  }
9840
+ const IconExpand = /*#__PURE__*/_export_sfc(_sfc_main$m, [['render',_sfc_render$8]]);
9762
9841
 
9763
- function setColumns(value) {
9764
- state.columns = value;
9765
- }
9842
+ const _sfc_main$l = {};
9766
9843
 
9767
- function setTextFont(value) {
9768
- state.textFont = value;
9769
- }
9844
+ const _hoisted_1$j = {
9845
+ fill: "none",
9846
+ stroke: "currentColor",
9847
+ viewBox: "0 0 24 24",
9848
+ xmlns: "http://www.w3.org/2000/svg"
9849
+ };
9850
+ const _hoisted_2$f = /*#__PURE__*/createBaseVNode("path", {
9851
+ "stroke-linecap": "round",
9852
+ "stroke-linejoin": "round",
9853
+ "stroke-width": "2",
9854
+ d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
9855
+ }, null, -1);
9856
+ const _hoisted_3$9 = /*#__PURE__*/createBaseVNode("path", {
9857
+ "stroke-linecap": "round",
9858
+ "stroke-linejoin": "round",
9859
+ "stroke-width": "2",
9860
+ d: "M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"
9861
+ }, null, -1);
9862
+ const _hoisted_4$3 = [
9863
+ _hoisted_2$f,
9864
+ _hoisted_3$9
9865
+ ];
9770
9866
 
9771
- function setFontSize(value) {
9772
- state.fontSize = value;
9867
+ function _sfc_render$7(_ctx, _cache) {
9868
+ return (openBlock(), createElementBlock("svg", _hoisted_1$j, _hoisted_4$3))
9773
9869
  }
9870
+ const IconEye = /*#__PURE__*/_export_sfc(_sfc_main$l, [['render',_sfc_render$7]]);
9774
9871
 
9775
- function setMode(value) {
9776
- state.mode = value;
9872
+ const _sfc_main$k = {};
9777
9873
 
9778
- const htmlRoot = document.querySelector('html');
9779
- if (htmlRoot) {
9780
- if (htmlRoot.classList.contains("dark")) {
9781
- htmlRoot.classList.remove("dark");
9782
- htmlRoot.classList.add("light");
9874
+ const _hoisted_1$i = {
9875
+ fill: "none",
9876
+ stroke: "currentColor",
9877
+ viewBox: "0 0 24 24",
9878
+ xmlns: "http://www.w3.org/2000/svg"
9879
+ };
9880
+ const _hoisted_2$e = /*#__PURE__*/createBaseVNode("path", {
9881
+ "stroke-linecap": "round",
9882
+ "stroke-linejoin": "round",
9883
+ "stroke-width": "2",
9884
+ d: "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"
9885
+ }, null, -1);
9886
+ const _hoisted_3$8 = [
9887
+ _hoisted_2$e
9888
+ ];
9783
9889
 
9784
- } else {
9785
- htmlRoot.classList.remove("light");
9786
- htmlRoot.classList.add("dark");
9787
- }
9788
- }
9890
+ function _sfc_render$6(_ctx, _cache) {
9891
+ return (openBlock(), createElementBlock("svg", _hoisted_1$i, _hoisted_3$8))
9789
9892
  }
9893
+ const IconFootnote = /*#__PURE__*/_export_sfc(_sfc_main$k, [['render',_sfc_render$6]]);
9790
9894
 
9791
- function saveSettings() {
9792
- localStorage.setItem(
9793
- 'readerSettings',
9794
- JSON.stringify({
9795
- textFont: textFont.value,
9796
- fontSize: fontSize.value,
9797
- columns: columns.value,
9798
- mode: mode.value
9799
- })
9800
- );
9895
+ const _sfc_main$j = {};
9896
+
9897
+ const _hoisted_1$h = {
9898
+ viewBox: "0 0 341.5 441.2",
9899
+ fill: "currentColor"
9900
+ };
9901
+ const _hoisted_2$d = /*#__PURE__*/createStaticVNode("<rect data-v-acadaaca=\"\" x=\"73.2\" y=\"143.7\" width=\"195.2\" height=\"20\"></rect><rect data-v-acadaaca=\"\" x=\"73.2\" y=\"82.7\" width=\"195.2\" height=\"20\"></rect><rect data-v-acadaaca=\"\" x=\"73.2\" y=\"203.7\" width=\"195.2\" height=\"20\"></rect><rect data-v-acadaaca=\"\" x=\"73.2\" y=\"263.7\" width=\"195.2\" height=\"20\"></rect><rect data-v-acadaaca=\"\" x=\"73.2\" y=\"319\" width=\"195.2\" height=\"20\"></rect><rect data-v-acadaaca=\"\" x=\"0\" y=\"-0.6\" width=\"332.3\" height=\"15\"></rect><rect data-v-acadaaca=\"\" x=\"0\" y=\"426.2\" width=\"332.3\" height=\"15\"></rect><rect data-v-acadaaca=\"\" x=\"-209.4\" y=\"216.2\" transform=\"matrix(6.123234e-17 -1 1 6.123234e-17 -216.2339 231.2339)\" width=\"433.7\" height=\"15\"></rect><rect data-v-acadaaca=\"\" x=\"108\" y=\"211.9\" transform=\"matrix(6.123234e-17 -1 1 6.123234e-17 105.4808 544.1859)\" width=\"433.7\" height=\"15\"></rect>", 9);
9902
+ const _hoisted_11 = [
9903
+ _hoisted_2$d
9904
+ ];
9905
+
9906
+ function _sfc_render$5(_ctx, _cache) {
9907
+ return (openBlock(), createElementBlock("svg", _hoisted_1$h, _hoisted_11))
9801
9908
  }
9909
+ const SingleColumn = /*#__PURE__*/_export_sfc(_sfc_main$j, [['render',_sfc_render$5]]);
9802
9910
 
9803
- const useReaderSettings = {
9804
- baseFont,
9805
- textFont,
9806
- fontSize,
9807
- fontsOptions,
9808
- columns,
9809
- initSettings,
9810
- setColumns,
9811
- setTextFont,
9812
- setFontSize,
9813
- mode,
9814
- setMode,
9815
- saveSettings
9911
+ const _sfc_main$i = {};
9912
+
9913
+ const _hoisted_1$g = {
9914
+ viewBox: "0 0 653 441.2",
9915
+ fill: "currentColor"
9816
9916
  };
9917
+ const _hoisted_2$c = /*#__PURE__*/createStaticVNode("<rect x=\"73.2\" y=\"143.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"73.2\" y=\"82.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"73.2\" y=\"203.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"73.2\" y=\"263.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"73.2\" y=\"319\" width=\"195.2\" height=\"20\"></rect><rect x=\"384.7\" y=\"143.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"384.7\" y=\"82.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"384.7\" y=\"203.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"384.7\" y=\"263.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"384.7\" y=\"319\" width=\"195.2\" height=\"20\"></rect><path d=\"M0-0.6v7.5v7.5v411.8v14.4v0.6h653v-5v-10V14.4V2.5v-3.1H0z M638,426.2H15V14.4h623V426.2z\"></path>", 11);
9918
+ const _hoisted_13 = [
9919
+ _hoisted_2$c
9920
+ ];
9921
+
9922
+ function _sfc_render$4(_ctx, _cache) {
9923
+ return (openBlock(), createElementBlock("svg", _hoisted_1$g, _hoisted_13))
9924
+ }
9925
+ const DoubleColumn = /*#__PURE__*/_export_sfc(_sfc_main$i, [['render',_sfc_render$4]]);
9817
9926
 
9818
- const _hoisted_1$d = { class: "w-full hidden md:grid grid-cols-3 gap-2 mt-3" };
9927
+ const _hoisted_1$f = { class: "w-full hidden md:grid grid-cols-3 gap-2 mt-3" };
9819
9928
 
9820
- const _sfc_main$f = {
9929
+ const _sfc_main$h = {
9821
9930
  __name: 'OptionsColumns',
9822
9931
  setup(__props) {
9823
9932
 
@@ -9826,7 +9935,7 @@ const { width } = useWindowSize();
9826
9935
 
9827
9936
 
9828
9937
  return (_ctx, _cache) => {
9829
- return (openBlock(), createElementBlock("div", _hoisted_1$d, [
9938
+ return (openBlock(), createElementBlock("div", _hoisted_1$f, [
9830
9939
  createBaseVNode("button", {
9831
9940
  class: normalizeClass(["col-span-1 text-primary text-center cursor-pointer py-3 rounded-sm border", {
9832
9941
  'border-gray-300': unref(columns) !== 'single',
@@ -9859,10 +9968,10 @@ return (_ctx, _cache) => {
9859
9968
 
9860
9969
  };
9861
9970
 
9862
- const _hoisted_1$c = { class: "w-full grid grid-cols-4 gap-2 my-3" };
9863
- const _hoisted_2$9 = ["onClick", "title"];
9971
+ const _hoisted_1$e = { class: "w-full grid grid-cols-4 gap-2 my-3" };
9972
+ const _hoisted_2$b = ["onClick", "title"];
9864
9973
 
9865
- const _sfc_main$e = {
9974
+ const _sfc_main$g = {
9866
9975
  __name: 'OptionsFontFamily',
9867
9976
  setup(__props) {
9868
9977
 
@@ -9870,7 +9979,7 @@ const { textFont, fontsOptions, setTextFont } = useReaderSettings;
9870
9979
 
9871
9980
 
9872
9981
  return (_ctx, _cache) => {
9873
- return (openBlock(), createElementBlock("div", _hoisted_1$c, [
9982
+ return (openBlock(), createElementBlock("div", _hoisted_1$e, [
9874
9983
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(fontsOptions), (font) => {
9875
9984
  return (openBlock(), createElementBlock("button", {
9876
9985
  key: font.name,
@@ -9880,7 +9989,7 @@ return (_ctx, _cache) => {
9880
9989
  }]),
9881
9990
  style: normalizeStyle(`font-family: ${font.name}`),
9882
9991
  title: font.label ?? font.name
9883
- }, " Ff ", 14, _hoisted_2$9))
9992
+ }, " Ff ", 14, _hoisted_2$b))
9884
9993
  }), 128))
9885
9994
  ]))
9886
9995
  }
@@ -9888,7 +9997,7 @@ return (_ctx, _cache) => {
9888
9997
 
9889
9998
  };
9890
9999
 
9891
- const _sfc_main$d = {
10000
+ const _sfc_main$f = {
9892
10001
  __name: 'OptionsFontSize',
9893
10002
  setup(__props) {
9894
10003
 
@@ -9911,53 +10020,53 @@ return (_ctx, _cache) => {
9911
10020
 
9912
10021
  };
9913
10022
 
9914
- const _sfc_main$c = {};
10023
+ const _sfc_main$e = {};
9915
10024
 
9916
- const _hoisted_1$b = {
10025
+ const _hoisted_1$d = {
9917
10026
  fill: "none",
9918
10027
  stroke: "currentColor",
9919
10028
  viewBox: "0 0 24 24",
9920
10029
  xmlns: "http://www.w3.org/2000/svg"
9921
10030
  };
9922
- const _hoisted_2$8 = /*#__PURE__*/createBaseVNode("path", {
10031
+ const _hoisted_2$a = /*#__PURE__*/createBaseVNode("path", {
9923
10032
  "stroke-linecap": "round",
9924
10033
  "stroke-linejoin": "round",
9925
10034
  "stroke-width": "2",
9926
10035
  d: "M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"
9927
10036
  }, null, -1);
9928
- const _hoisted_3$5 = [
9929
- _hoisted_2$8
10037
+ const _hoisted_3$7 = [
10038
+ _hoisted_2$a
9930
10039
  ];
9931
10040
 
9932
- function _sfc_render$2(_ctx, _cache) {
9933
- return (openBlock(), createElementBlock("svg", _hoisted_1$b, _hoisted_3$5))
10041
+ function _sfc_render$3(_ctx, _cache) {
10042
+ return (openBlock(), createElementBlock("svg", _hoisted_1$d, _hoisted_3$7))
9934
10043
  }
9935
- const IconSun = /*#__PURE__*/_export_sfc(_sfc_main$c, [['render',_sfc_render$2]]);
10044
+ const IconSun = /*#__PURE__*/_export_sfc(_sfc_main$e, [['render',_sfc_render$3]]);
9936
10045
 
9937
- const _sfc_main$b = {};
10046
+ const _sfc_main$d = {};
9938
10047
 
9939
- const _hoisted_1$a = {
10048
+ const _hoisted_1$c = {
9940
10049
  fill: "none",
9941
10050
  stroke: "currentColor",
9942
10051
  viewBox: "0 0 24 24",
9943
10052
  xmlns: "http://www.w3.org/2000/svg"
9944
10053
  };
9945
- const _hoisted_2$7 = /*#__PURE__*/createBaseVNode("path", {
10054
+ const _hoisted_2$9 = /*#__PURE__*/createBaseVNode("path", {
9946
10055
  "stroke-linecap": "round",
9947
10056
  "stroke-linejoin": "round",
9948
10057
  "stroke-width": "2",
9949
10058
  d: "M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"
9950
10059
  }, null, -1);
9951
- const _hoisted_3$4 = [
9952
- _hoisted_2$7
10060
+ const _hoisted_3$6 = [
10061
+ _hoisted_2$9
9953
10062
  ];
9954
10063
 
9955
- function _sfc_render$1(_ctx, _cache) {
9956
- return (openBlock(), createElementBlock("svg", _hoisted_1$a, _hoisted_3$4))
10064
+ function _sfc_render$2(_ctx, _cache) {
10065
+ return (openBlock(), createElementBlock("svg", _hoisted_1$c, _hoisted_3$6))
9957
10066
  }
9958
- const IconMoon = /*#__PURE__*/_export_sfc(_sfc_main$b, [['render',_sfc_render$1]]);
10067
+ const IconMoon = /*#__PURE__*/_export_sfc(_sfc_main$d, [['render',_sfc_render$2]]);
9959
10068
 
9960
- const _sfc_main$a = {
10069
+ const _sfc_main$c = {
9961
10070
  __name: 'OptionsColor',
9962
10071
  setup(__props) {
9963
10072
 
@@ -9990,37 +10099,48 @@ return (_ctx, _cache) => {
9990
10099
 
9991
10100
  };
9992
10101
 
9993
- const _hoisted_1$9 = {
10102
+ const _hoisted_1$b = {
9994
10103
  class: "absolute top-14 py-4 px-3 shadow-lg w-60 md:w-104 text-areia -right-2 md:right-16 z-10 bg-white",
9995
10104
  role: "Opções",
9996
10105
  "aria-orientation": "vertical",
9997
10106
  "aria-labelledby": "options-menu"
9998
10107
  };
9999
- const _hoisted_2$6 = { class: "w-full flex justify-center items-center py-3" };
10000
- const _hoisted_3$3 = /*#__PURE__*/createBaseVNode("span", { class: "ml-4" }, "Visualização", -1);
10001
- const _hoisted_4$1 = { class: "w-full grid grid-cols-4 gap-2 my-3" };
10002
- const _hoisted_5$1 = /*#__PURE__*/createBaseVNode("div", { class: "hidden w-full border-b border-areia my-8" }, null, -1);
10108
+ const _hoisted_2$8 = /*#__PURE__*/createBaseVNode("span", { class: "ml-4" }, "Notas de rodapé", -1);
10109
+ const _hoisted_3$5 = /*#__PURE__*/createBaseVNode("div", { class: "w-full border-b border-areia my-3" }, null, -1);
10110
+ const _hoisted_4$2 = { class: "w-full flex justify-center items-center py-3 lowercase" };
10111
+ const _hoisted_5$2 = /*#__PURE__*/createBaseVNode("span", { class: "ml-4" }, "Visualização", -1);
10112
+ const _hoisted_6$2 = { class: "w-full grid grid-cols-4 gap-2 my-3" };
10113
+ const _hoisted_7$1 = /*#__PURE__*/createBaseVNode("div", { class: "hidden w-full border-b border-areia my-8" }, null, -1);
10003
10114
 
10004
- const _sfc_main$9 = {
10115
+
10116
+ const _sfc_main$b = {
10005
10117
  __name: 'OptionsDropdown',
10006
10118
  setup(__props) {
10007
10119
 
10008
10120
 
10009
10121
  return (_ctx, _cache) => {
10010
- return (openBlock(), createElementBlock("div", _hoisted_1$9, [
10122
+ return (openBlock(), createElementBlock("div", _hoisted_1$b, [
10011
10123
  createBaseVNode("div", null, [
10012
10124
  renderSlot(_ctx.$slots, "optionsTop"),
10013
- createBaseVNode("div", _hoisted_2$6, [
10125
+ createBaseVNode("button", {
10126
+ onClick: _cache[0] || (_cache[0] = withModifiers($event => (unref(useFootnotes).setShowFootnotes(true)), ["prevent"])),
10127
+ class: "w-full flex justify-center items-center py-3 lowercase"
10128
+ }, [
10129
+ createVNode(IconFootnote, { class: "w-6 h-6" }),
10130
+ _hoisted_2$8
10131
+ ]),
10132
+ _hoisted_3$5,
10133
+ createBaseVNode("div", _hoisted_4$2, [
10014
10134
  createVNode(IconEye, { class: "w-6 h-6" }),
10015
- _hoisted_3$3
10135
+ _hoisted_5$2
10016
10136
  ]),
10017
- createVNode(_sfc_main$f),
10018
- createVNode(_sfc_main$e),
10019
- createBaseVNode("div", _hoisted_4$1, [
10020
- createVNode(_sfc_main$d),
10021
- createVNode(_sfc_main$a)
10137
+ createVNode(_sfc_main$h),
10138
+ createVNode(_sfc_main$g),
10139
+ createBaseVNode("div", _hoisted_6$2, [
10140
+ createVNode(_sfc_main$f),
10141
+ createVNode(_sfc_main$c)
10022
10142
  ]),
10023
- _hoisted_5$1,
10143
+ _hoisted_7$1,
10024
10144
  renderSlot(_ctx.$slots, "optionsBottom")
10025
10145
  ])
10026
10146
  ]))
@@ -10029,12 +10149,12 @@ return (_ctx, _cache) => {
10029
10149
 
10030
10150
  };
10031
10151
 
10032
- const _hoisted_1$8 = { class: "flex" };
10033
- const _hoisted_2$5 = ["aria-expanded"];
10034
- const _hoisted_3$2 = /*#__PURE__*/createBaseVNode("span", { class: "block mr-3" }, " Opções ", -1);
10152
+ const _hoisted_1$a = { class: "flex" };
10153
+ const _hoisted_2$7 = ["aria-expanded"];
10154
+ const _hoisted_3$4 = /*#__PURE__*/createBaseVNode("span", { class: "block mr-3" }, " Opções ", -1);
10035
10155
 
10036
10156
 
10037
- const _sfc_main$8 = {
10157
+ const _sfc_main$a = {
10038
10158
  __name: 'OptionsButton',
10039
10159
  setup(__props) {
10040
10160
 
@@ -10042,7 +10162,11 @@ const show = ref(false);
10042
10162
  const button = ref(null);
10043
10163
 
10044
10164
  const toggleSummary = () => show.value = !show.value;
10045
- const hide = () => show.value = false;
10165
+ const hide = () => {
10166
+ if (!useReaderSettings.blocked.value) {
10167
+ show.value = false;
10168
+ }
10169
+ };
10046
10170
 
10047
10171
  onClickOutside(button, () => hide());
10048
10172
  onKeyStroke('Escape', () => hide());
@@ -10055,7 +10179,7 @@ return (_ctx, _cache) => {
10055
10179
  ref: button,
10056
10180
  class: "relative"
10057
10181
  }, [
10058
- createBaseVNode("div", _hoisted_1$8, [
10182
+ createBaseVNode("div", _hoisted_1$a, [
10059
10183
  createBaseVNode("button", {
10060
10184
  onClick: _cache[0] || (_cache[0] = withModifiers($event => (toggleSummary()), ["prevent"])),
10061
10185
  class: "border p-3 shadow flex items-center border-white text-white",
@@ -10063,7 +10187,7 @@ return (_ctx, _cache) => {
10063
10187
  "aria-haspopup": "true",
10064
10188
  "aria-expanded": show.value
10065
10189
  }, [
10066
- _hoisted_3$2,
10190
+ _hoisted_3$4,
10067
10191
  (show.value)
10068
10192
  ? (openBlock(), createBlock(IconClose, {
10069
10193
  key: 0,
@@ -10073,7 +10197,7 @@ return (_ctx, _cache) => {
10073
10197
  key: 1,
10074
10198
  class: "w-6 h-6"
10075
10199
  }))
10076
- ], 8, _hoisted_2$5),
10200
+ ], 8, _hoisted_2$7),
10077
10201
  createBaseVNode("button", {
10078
10202
  onClick: _cache[1] || (_cache[1] = withModifiers($event => (unref(toggleFullScreen)()), ["prevent"])),
10079
10203
  class: "hidden md:flex items-center border p-3 shadow ml-3 border-white text-white"
@@ -10090,7 +10214,7 @@ return (_ctx, _cache) => {
10090
10214
  "leave-to-class": "opacity-0 scale-95"
10091
10215
  }, {
10092
10216
  default: withCtx(() => [
10093
- withDirectives(createVNode(_sfc_main$9, null, {
10217
+ withDirectives(createVNode(_sfc_main$b, null, {
10094
10218
  optionsTop: withCtx(() => [
10095
10219
  renderSlot(_ctx.$slots, "optionsTop")
10096
10220
  ]),
@@ -10110,16 +10234,16 @@ return (_ctx, _cache) => {
10110
10234
 
10111
10235
  };
10112
10236
 
10113
- const _hoisted_1$7 = { class: "bg-primary flex justify-between items-center p-4" };
10237
+ const _hoisted_1$9 = { class: "bg-primary flex justify-between items-center p-4" };
10114
10238
 
10115
- const _sfc_main$7 = {
10239
+ const _sfc_main$9 = {
10116
10240
  __name: 'HeaderSlot',
10117
10241
  setup(__props) {
10118
10242
 
10119
10243
 
10120
10244
  return (_ctx, _cache) => {
10121
- return (openBlock(), createElementBlock("div", _hoisted_1$7, [
10122
- createVNode(_sfc_main$l, null, {
10245
+ return (openBlock(), createElementBlock("div", _hoisted_1$9, [
10246
+ createVNode(_sfc_main$o, null, {
10123
10247
  summaryTop: withCtx(() => [
10124
10248
  renderSlot(_ctx.$slots, "summaryTop")
10125
10249
  ]),
@@ -10131,7 +10255,7 @@ return (_ctx, _cache) => {
10131
10255
  createBaseVNode("div", null, [
10132
10256
  renderSlot(_ctx.$slots, "header")
10133
10257
  ]),
10134
- createVNode(_sfc_main$8, null, {
10258
+ createVNode(_sfc_main$a, null, {
10135
10259
  optionsTop: withCtx(() => [
10136
10260
  renderSlot(_ctx.$slots, "optionsTop")
10137
10261
  ]),
@@ -10146,9 +10270,9 @@ return (_ctx, _cache) => {
10146
10270
 
10147
10271
  };
10148
10272
 
10149
- const _hoisted_1$6 = ["innerHTML"];
10273
+ const _hoisted_1$8 = ["innerHTML"];
10150
10274
 
10151
- const _sfc_main$6 = {
10275
+ const _sfc_main$8 = {
10152
10276
  __name: 'BookContent',
10153
10277
  props: {
10154
10278
  bookContent: String
@@ -10176,7 +10300,7 @@ return (_ctx, _cache) => {
10176
10300
  ? (openBlock(), createElementBlock("div", {
10177
10301
  key: 0,
10178
10302
  innerHTML: unref(content)
10179
- }, null, 8, _hoisted_1$6))
10303
+ }, null, 8, _hoisted_1$8))
10180
10304
  : renderSlot(_ctx.$slots, "content", { key: 1 })
10181
10305
  ], 512))
10182
10306
  }
@@ -10184,7 +10308,7 @@ return (_ctx, _cache) => {
10184
10308
 
10185
10309
  };
10186
10310
 
10187
- const _sfc_main$5 = {
10311
+ const _sfc_main$7 = {
10188
10312
  name: "NavPrev",
10189
10313
 
10190
10314
  props: {
@@ -10198,66 +10322,66 @@ const _sfc_main$5 = {
10198
10322
  }
10199
10323
  };
10200
10324
 
10201
- const _hoisted_1$5 = {
10325
+ const _hoisted_1$7 = {
10202
10326
  key: 0,
10203
10327
  viewBox: "0 0 20 20",
10204
10328
  fill: "currentColor",
10205
10329
  class: "[ viewer-nav-icon nav-prev ] arrow-narrow-left"
10206
10330
  };
10207
- const _hoisted_2$4 = /*#__PURE__*/createBaseVNode("path", {
10331
+ const _hoisted_2$6 = /*#__PURE__*/createBaseVNode("path", {
10208
10332
  "fill-rule": "evenodd",
10209
10333
  d: "M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z",
10210
10334
  "clip-rule": "evenodd"
10211
10335
  }, null, -1);
10212
- const _hoisted_3$1 = [
10213
- _hoisted_2$4
10336
+ const _hoisted_3$3 = [
10337
+ _hoisted_2$6
10214
10338
  ];
10215
- const _hoisted_4 = {
10339
+ const _hoisted_4$1 = {
10216
10340
  key: 1,
10217
10341
  "data-v-ef9c31bc": "",
10218
10342
  viewBox: "0 0 20 20",
10219
10343
  fill: "currentColor",
10220
10344
  class: "[ viewer-nav-icon nav-next ] right-0 arrow-narrow-right"
10221
10345
  };
10222
- const _hoisted_5 = /*#__PURE__*/createBaseVNode("path", {
10346
+ const _hoisted_5$1 = /*#__PURE__*/createBaseVNode("path", {
10223
10347
  "fill-rule": "evenodd",
10224
10348
  d: "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",
10225
10349
  "clip-rule": "evenodd"
10226
10350
  }, null, -1);
10227
- const _hoisted_6 = [
10228
- _hoisted_5
10351
+ const _hoisted_6$1 = [
10352
+ _hoisted_5$1
10229
10353
  ];
10230
10354
 
10231
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
10355
+ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
10232
10356
  return (openBlock(), createElementBlock("button", {
10233
10357
  onClick: _cache[0] || (_cache[0] = withModifiers($event => (_ctx.$emit('clicked')), ["prevent"])),
10234
10358
  class: normalizeClass(["[ viewer-nav ]", $options.type === 'cover' ? 'text-white' : 'text-gray-dark'])
10235
10359
  }, [
10236
10360
  ($props.target === 'prev')
10237
- ? (openBlock(), createElementBlock("svg", _hoisted_1$5, _hoisted_3$1))
10361
+ ? (openBlock(), createElementBlock("svg", _hoisted_1$7, _hoisted_3$3))
10238
10362
  : createCommentVNode("", true),
10239
10363
  ($props.target === 'next')
10240
- ? (openBlock(), createElementBlock("svg", _hoisted_4, _hoisted_6))
10364
+ ? (openBlock(), createElementBlock("svg", _hoisted_4$1, _hoisted_6$1))
10241
10365
  : createCommentVNode("", true)
10242
10366
  ], 2))
10243
10367
  }
10244
- const NavigationButton = /*#__PURE__*/_export_sfc(_sfc_main$5, [['render',_sfc_render]]);
10368
+ const NavigationButton = /*#__PURE__*/_export_sfc(_sfc_main$7, [['render',_sfc_render$1]]);
10245
10369
 
10246
- const _hoisted_1$4 = {
10370
+ const _hoisted_1$6 = {
10247
10371
  id: "engine",
10248
10372
  class: "pt-10 transition-colors"
10249
10373
  };
10250
- const _hoisted_2$3 = { class: "engineWrapper overflow-hidden" };
10374
+ const _hoisted_2$5 = { class: "engineWrapper overflow-hidden" };
10251
10375
 
10252
- const _sfc_main$4 = {
10376
+ const _sfc_main$6 = {
10253
10377
  __name: 'EngineWrapper',
10254
10378
  setup(__props) {
10255
10379
 
10256
10380
  const { next, prev } = usePagination;
10257
10381
 
10258
10382
  return (_ctx, _cache) => {
10259
- return (openBlock(), createElementBlock("div", _hoisted_1$4, [
10260
- createBaseVNode("div", _hoisted_2$3, [
10383
+ return (openBlock(), createElementBlock("div", _hoisted_1$6, [
10384
+ createBaseVNode("div", _hoisted_2$5, [
10261
10385
  createVNode(NavigationButton, {
10262
10386
  target: "prev",
10263
10387
  onClicked: _cache[0] || (_cache[0] = $event => (unref(prev)()))
@@ -10274,10 +10398,10 @@ return (_ctx, _cache) => {
10274
10398
 
10275
10399
  };
10276
10400
 
10277
- const _hoisted_1$3 = { class: "[ typeArea ] h-full relative transition-opacity duration-100 opacity-100 px-2 md:px-24" };
10401
+ const _hoisted_1$5 = { class: "[ typeArea ] h-full relative transition-opacity duration-100 opacity-100 px-2 md:px-24" };
10278
10402
 
10279
10403
 
10280
- const _sfc_main$3 = {
10404
+ const _sfc_main$5 = {
10281
10405
  __name: 'ReaderWrapper',
10282
10406
  setup(__props) {
10283
10407
  const { currentPage } = usePagination;
@@ -10306,7 +10430,7 @@ return (_ctx, _cache) => {
10306
10430
  class: "columnsArea",
10307
10431
  style: normalizeStyle(`margin-left: -${100 * (unref(currentPage) - 1)}%`)
10308
10432
  }, [
10309
- createBaseVNode("div", _hoisted_1$3, [
10433
+ createBaseVNode("div", _hoisted_1$5, [
10310
10434
  renderSlot(_ctx.$slots, "default")
10311
10435
  ])
10312
10436
  ], 4))
@@ -10315,15 +10439,16 @@ return (_ctx, _cache) => {
10315
10439
 
10316
10440
  };
10317
10441
 
10318
- const _hoisted_1$2 = {
10442
+ const _hoisted_1$4 = {
10319
10443
  key: 0,
10320
10444
  tabindex: "0",
10321
10445
  class: "[ reference-popup ] bg-gray-800 text-white fixed z-40 bottom-0 md:bottom-14 right-0 md:right-3 rounded flex justify-between p-4 shadow w-full md:w-2/5"
10322
10446
  };
10323
- const _hoisted_2$2 = ["innerHTML"];
10324
- const _hoisted_3 = { class: "mt-3 flex self-end" };
10447
+ const _hoisted_2$4 = ["innerHTML"];
10448
+ const _hoisted_3$2 = { class: "mt-3 flex self-end" };
10449
+
10325
10450
 
10326
- const _sfc_main$2 = {
10451
+ const _sfc_main$4 = {
10327
10452
  __name: 'ReferencePopup',
10328
10453
  setup(__props) {
10329
10454
 
@@ -10334,7 +10459,9 @@ function closeRef() {
10334
10459
  }
10335
10460
 
10336
10461
  onKeyStroke('Escape', () => {
10337
- setHighlightedReference(null);
10462
+ if (!useReaderSettings.blocked.value) {
10463
+ setHighlightedReference(null);
10464
+ }
10338
10465
  });
10339
10466
 
10340
10467
 
@@ -10349,12 +10476,12 @@ return (_ctx, _cache) => {
10349
10476
  }, {
10350
10477
  default: withCtx(() => [
10351
10478
  (unref(reference))
10352
- ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
10479
+ ? (openBlock(), createElementBlock("div", _hoisted_1$4, [
10353
10480
  createBaseVNode("p", {
10354
10481
  class: "w-4/5",
10355
10482
  innerHTML: unref(reference).ref
10356
- }, null, 8, _hoisted_2$2),
10357
- createBaseVNode("div", _hoisted_3, [
10483
+ }, null, 8, _hoisted_2$4),
10484
+ createBaseVNode("div", _hoisted_3$2, [
10358
10485
  createBaseVNode("button", {
10359
10486
  onClick: _cache[0] || (_cache[0] = withModifiers($event => (closeRef()), ["prevent"])),
10360
10487
  class: "button button-negative"
@@ -10372,10 +10499,10 @@ return (_ctx, _cache) => {
10372
10499
 
10373
10500
  function u(e){return -1!==[null,void 0,!1].indexOf(e)}function c(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function p(e){var t={exports:{}};return e(t,t.exports),t.exports}var d=p((function(e,t){e.exports=function(){var e=["decimals","thousand","mark","prefix","suffix","encoder","decoder","negativeBefore","negative","edit","undo"];function t(e){return e.split("").reverse().join("")}function r(e,t){return e.substring(0,t.length)===t}function i(e,t){return e.slice(-1*t.length)===t}function n(e,t,r){if((e[t]||e[r])&&e[t]===e[r])throw new Error(t)}function o(e){return "number"==typeof e&&isFinite(e)}function a(e,t){return e=e.toString().split("e"),(+((e=(e=Math.round(+(e[0]+"e"+(e[1]?+e[1]+t:t)))).toString().split("e"))[0]+"e"+(e[1]?+e[1]-t:-t))).toFixed(t)}function s(e,r,i,n,s,l,u,c,p,d,f,h){var m,v,g,b=h,y="",S="";return l&&(h=l(h)),!!o(h)&&(!1!==e&&0===parseFloat(h.toFixed(e))&&(h=0),h<0&&(m=!0,h=Math.abs(h)),!1!==e&&(h=a(h,e)),-1!==(h=h.toString()).indexOf(".")?(g=(v=h.split("."))[0],i&&(y=i+v[1])):g=h,r&&(g=t(g).match(/.{1,3}/g),g=t(g.join(t(r)))),m&&c&&(S+=c),n&&(S+=n),m&&p&&(S+=p),S+=g,S+=y,s&&(S+=s),d&&(S=d(S,b)),S)}function l(e,t,n,a,s,l,u,c,p,d,f,h){var m,v="";return f&&(h=f(h)),!(!h||"string"!=typeof h)&&(c&&r(h,c)&&(h=h.replace(c,""),m=!0),a&&r(h,a)&&(h=h.replace(a,"")),p&&r(h,p)&&(h=h.replace(p,""),m=!0),s&&i(h,s)&&(h=h.slice(0,-1*s.length)),t&&(h=h.split(t).join("")),n&&(h=h.replace(n,".")),m&&(v+="-"),""!==(v=(v+=h).replace(/[^0-9\.\-.]/g,""))&&(v=Number(v),u&&(v=u(v)),!!o(v)&&v))}function u(t){var r,i,o,a={};for(void 0===t.suffix&&(t.suffix=t.postfix),r=0;r<e.length;r+=1)if(void 0===(o=t[i=e[r]]))"negative"!==i||a.negativeBefore?"mark"===i&&"."!==a.thousand?a[i]=".":a[i]=!1:a[i]="-";else if("decimals"===i){if(!(o>=0&&o<8))throw new Error(i);a[i]=o;}else if("encoder"===i||"decoder"===i||"edit"===i||"undo"===i){if("function"!=typeof o)throw new Error(i);a[i]=o;}else {if("string"!=typeof o)throw new Error(i);a[i]=o;}return n(a,"mark","thousand"),n(a,"prefix","negative"),n(a,"prefix","negativeBefore"),a}function c(t,r,i){var n,o=[];for(n=0;n<e.length;n+=1)o.push(t[e[n]]);return o.push(i),r.apply("",o)}function p(e){if(!(this instanceof p))return new p(e);"object"==typeof e&&(e=u(e),this.to=function(t){return c(e,s,t)},this.from=function(t){return c(e,l,t)});}return p}();}));var f=c(p((function(e,t){!function(e){function t(e){return r(e)&&"function"==typeof e.from}function r(e){return "object"==typeof e&&"function"==typeof e.to}function i(e){e.parentElement.removeChild(e);}function n(e){return null!=e}function o(e){e.preventDefault();}function a(e){return e.filter((function(e){return !this[e]&&(this[e]=!0)}),{})}function s(e,t){return Math.round(e/t)*t}function l(e,t){var r=e.getBoundingClientRect(),i=e.ownerDocument,n=i.documentElement,o=g(i);return /webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(o.x=0),t?r.top+o.y-n.clientTop:r.left+o.x-n.clientLeft}function u(e){return "number"==typeof e&&!isNaN(e)&&isFinite(e)}function c(e,t,r){r>0&&(h(e,t),setTimeout((function(){m(e,t);}),r));}function p(e){return Math.max(Math.min(e,100),0)}function d(e){return Array.isArray(e)?e:[e]}function f(e){var t=(e=String(e)).split(".");return t.length>1?t[1].length:0}function h(e,t){e.classList&&!/\s/.test(t)?e.classList.add(t):e.className+=" "+t;}function m(e,t){e.classList&&!/\s/.test(t)?e.classList.remove(t):e.className=e.className.replace(new RegExp("(^|\\b)"+t.split(" ").join("|")+"(\\b|$)","gi")," ");}function v(e,t){return e.classList?e.classList.contains(t):new RegExp("\\b"+t+"\\b").test(e.className)}function g(e){var t=void 0!==window.pageXOffset,r="CSS1Compat"===(e.compatMode||"");return {x:t?window.pageXOffset:r?e.documentElement.scrollLeft:e.body.scrollLeft,y:t?window.pageYOffset:r?e.documentElement.scrollTop:e.body.scrollTop}}function b(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"}}function y(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0;}});window.addEventListener("test",null,t);}catch(e){}return e}function S(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none")}function x(e,t){return 100/(t-e)}function w(e,t,r){return 100*t/(e[r+1]-e[r])}function E(e,t){return w(e,e[0]<0?t+Math.abs(e[0]):t-e[0],0)}function P(e,t){return t*(e[1]-e[0])/100+e[0]}function N(e,t){for(var r=1;e>=t[r];)r+=1;return r}function C(e,t,r){if(r>=e.slice(-1)[0])return 100;var i=N(r,e),n=e[i-1],o=e[i],a=t[i-1],s=t[i];return a+E([n,o],r)/x(a,s)}function k(e,t,r){if(r>=100)return e.slice(-1)[0];var i=N(r,t),n=e[i-1],o=e[i],a=t[i-1];return P([n,o],(r-a)*x(a,t[i]))}function A(e,t,r,i){if(100===i)return i;var n=N(i,e),o=e[n-1],a=e[n];return r?i-o>(a-o)/2?a:o:t[n-1]?e[n-1]+s(i-e[n-1],t[n-1]):i}var V,M;e.PipsMode=void 0,(M=e.PipsMode||(e.PipsMode={})).Range="range",M.Steps="steps",M.Positions="positions",M.Count="count",M.Values="values",e.PipsType=void 0,(V=e.PipsType||(e.PipsType={}))[V.None=-1]="None",V[V.NoValue=0]="NoValue",V[V.LargeValue=1]="LargeValue",V[V.SmallValue=2]="SmallValue";var L=function(){function e(e,t,r){var i;this.xPct=[],this.xVal=[],this.xSteps=[],this.xNumSteps=[],this.xHighestCompleteStep=[],this.xSteps=[r||!1],this.xNumSteps=[!1],this.snap=t;var n=[];for(Object.keys(e).forEach((function(t){n.push([d(e[t]),t]);})),n.sort((function(e,t){return e[0][0]-t[0][0]})),i=0;i<n.length;i++)this.handleEntryPoint(n[i][1],n[i][0]);for(this.xNumSteps=this.xSteps.slice(0),i=0;i<this.xNumSteps.length;i++)this.handleStepPoint(i,this.xNumSteps[i]);}return e.prototype.getDistance=function(e){for(var t=[],r=0;r<this.xNumSteps.length-1;r++)t[r]=w(this.xVal,e,r);return t},e.prototype.getAbsoluteDistance=function(e,t,r){var i,n=0;if(e<this.xPct[this.xPct.length-1])for(;e>this.xPct[n+1];)n++;else e===this.xPct[this.xPct.length-1]&&(n=this.xPct.length-2);r||e!==this.xPct[n+1]||n++,null===t&&(t=[]);var o=1,a=t[n],s=0,l=0,u=0,c=0;for(i=r?(e-this.xPct[n])/(this.xPct[n+1]-this.xPct[n]):(this.xPct[n+1]-e)/(this.xPct[n+1]-this.xPct[n]);a>0;)s=this.xPct[n+1+c]-this.xPct[n+c],t[n+c]*o+100-100*i>100?(l=s*i,o=(a-100*i)/t[n+c],i=1):(l=t[n+c]*s/100*o,o=0),r?(u-=l,this.xPct.length+c>=1&&c--):(u+=l,this.xPct.length-c>=1&&c++),a=t[n+c]*o;return e+u},e.prototype.toStepping=function(e){return e=C(this.xVal,this.xPct,e)},e.prototype.fromStepping=function(e){return k(this.xVal,this.xPct,e)},e.prototype.getStep=function(e){return e=A(this.xPct,this.xSteps,this.snap,e)},e.prototype.getDefaultStep=function(e,t,r){var i=N(e,this.xPct);return (100===e||t&&e===this.xPct[i-1])&&(i=Math.max(i-1,1)),(this.xVal[i]-this.xVal[i-1])/r},e.prototype.getNearbySteps=function(e){var t=N(e,this.xPct);return {stepBefore:{startValue:this.xVal[t-2],step:this.xNumSteps[t-2],highestStep:this.xHighestCompleteStep[t-2]},thisStep:{startValue:this.xVal[t-1],step:this.xNumSteps[t-1],highestStep:this.xHighestCompleteStep[t-1]},stepAfter:{startValue:this.xVal[t],step:this.xNumSteps[t],highestStep:this.xHighestCompleteStep[t]}}},e.prototype.countStepDecimals=function(){var e=this.xNumSteps.map(f);return Math.max.apply(null,e)},e.prototype.hasNoSize=function(){return this.xVal[0]===this.xVal[this.xVal.length-1]},e.prototype.convert=function(e){return this.getStep(this.toStepping(e))},e.prototype.handleEntryPoint=function(e,t){var r;if(!u(r="min"===e?0:"max"===e?100:parseFloat(e))||!u(t[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");this.xPct.push(r),this.xVal.push(t[0]);var i=Number(t[1]);r?this.xSteps.push(!isNaN(i)&&i):isNaN(i)||(this.xSteps[0]=i),this.xHighestCompleteStep.push(0);},e.prototype.handleStepPoint=function(e,t){if(t)if(this.xVal[e]!==this.xVal[e+1]){this.xSteps[e]=w([this.xVal[e],this.xVal[e+1]],t,0)/x(this.xPct[e],this.xPct[e+1]);var r=(this.xVal[e+1]-this.xVal[e])/this.xNumSteps[e],i=Math.ceil(Number(r.toFixed(3))-1),n=this.xVal[e]+this.xNumSteps[e]*i;this.xHighestCompleteStep[e]=n;}else this.xSteps[e]=this.xHighestCompleteStep[e]=this.xVal[e];},e}(),U={to:function(e){return void 0===e?"":e.toFixed(2)},from:Number},O={target:"target",base:"base",origin:"origin",handle:"handle",handleLower:"handle-lower",handleUpper:"handle-upper",touchArea:"touch-area",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",connects:"connects",ltr:"ltr",rtl:"rtl",textDirectionLtr:"txt-dir-ltr",textDirectionRtl:"txt-dir-rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"},D={tooltips:".__tooltips",aria:".__aria"};function j(e,t){if(!u(t))throw new Error("noUiSlider: 'step' is not numeric.");e.singleStep=t;}function F(e,t){if(!u(t))throw new Error("noUiSlider: 'keyboardPageMultiplier' is not numeric.");e.keyboardPageMultiplier=t;}function T(e,t){if(!u(t))throw new Error("noUiSlider: 'keyboardMultiplier' is not numeric.");e.keyboardMultiplier=t;}function z(e,t){if(!u(t))throw new Error("noUiSlider: 'keyboardDefaultStep' is not numeric.");e.keyboardDefaultStep=t;}function H(e,t){if("object"!=typeof t||Array.isArray(t))throw new Error("noUiSlider: 'range' is not an object.");if(void 0===t.min||void 0===t.max)throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");e.spectrum=new L(t,e.snap||!1,e.singleStep);}function q(e,t){if(t=d(t),!Array.isArray(t)||!t.length)throw new Error("noUiSlider: 'start' option is incorrect.");e.handles=t.length,e.start=t;}function R(e,t){if("boolean"!=typeof t)throw new Error("noUiSlider: 'snap' option must be a boolean.");e.snap=t;}function B(e,t){if("boolean"!=typeof t)throw new Error("noUiSlider: 'animate' option must be a boolean.");e.animate=t;}function _(e,t){if("number"!=typeof t)throw new Error("noUiSlider: 'animationDuration' option must be a number.");e.animationDuration=t;}function $(e,t){var r,i=[!1];if("lower"===t?t=[!0,!1]:"upper"===t&&(t=[!1,!0]),!0===t||!1===t){for(r=1;r<e.handles;r++)i.push(t);i.push(!1);}else {if(!Array.isArray(t)||!t.length||t.length!==e.handles+1)throw new Error("noUiSlider: 'connect' option doesn't match handle count.");i=t;}e.connect=i;}function X(e,t){switch(t){case"horizontal":e.ort=0;break;case"vertical":e.ort=1;break;default:throw new Error("noUiSlider: 'orientation' option is invalid.")}}function Y(e,t){if(!u(t))throw new Error("noUiSlider: 'margin' option must be numeric.");0!==t&&(e.margin=e.spectrum.getDistance(t));}function I(e,t){if(!u(t))throw new Error("noUiSlider: 'limit' option must be numeric.");if(e.limit=e.spectrum.getDistance(t),!e.limit||e.handles<2)throw new Error("noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.")}function W(e,t){var r;if(!u(t)&&!Array.isArray(t))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(Array.isArray(t)&&2!==t.length&&!u(t[0])&&!u(t[1]))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(0!==t){for(Array.isArray(t)||(t=[t,t]),e.padding=[e.spectrum.getDistance(t[0]),e.spectrum.getDistance(t[1])],r=0;r<e.spectrum.xNumSteps.length-1;r++)if(e.padding[0][r]<0||e.padding[1][r]<0)throw new Error("noUiSlider: 'padding' option must be a positive number(s).");var i=t[0]+t[1],n=e.spectrum.xVal[0];if(i/(e.spectrum.xVal[e.spectrum.xVal.length-1]-n)>1)throw new Error("noUiSlider: 'padding' option must not exceed 100% of the range.")}}function G(e,t){switch(t){case"ltr":e.dir=0;break;case"rtl":e.dir=1;break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function J(e,t){if("string"!=typeof t)throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var r=t.indexOf("tap")>=0,i=t.indexOf("drag")>=0,n=t.indexOf("fixed")>=0,o=t.indexOf("snap")>=0,a=t.indexOf("hover")>=0,s=t.indexOf("unconstrained")>=0,l=t.indexOf("drag-all")>=0,u=t.indexOf("smooth-steps")>=0;if(n){if(2!==e.handles)throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");Y(e,e.start[1]-e.start[0]);}if(s&&(e.margin||e.limit))throw new Error("noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit");e.events={tap:r||o,drag:i,dragAll:l,smoothSteps:u,fixed:n,snap:o,hover:a,unconstrained:s};}function K(e,t){if(!1!==t)if(!0===t||r(t)){e.tooltips=[];for(var i=0;i<e.handles;i++)e.tooltips.push(t);}else {if((t=d(t)).length!==e.handles)throw new Error("noUiSlider: must pass a formatter for all handles.");t.forEach((function(e){if("boolean"!=typeof e&&!r(e))throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.")})),e.tooltips=t;}}function Q(e,t){if(t.length!==e.handles)throw new Error("noUiSlider: must pass a attributes for all handles.");e.handleAttributes=t;}function Z(e,t){if(!r(t))throw new Error("noUiSlider: 'ariaFormat' requires 'to' method.");e.ariaFormat=t;}function ee(e,r){if(!t(r))throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.");e.format=r;}function te(e,t){if("boolean"!=typeof t)throw new Error("noUiSlider: 'keyboardSupport' option must be a boolean.");e.keyboardSupport=t;}function re(e,t){e.documentElement=t;}function ie(e,t){if("string"!=typeof t&&!1!==t)throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");e.cssPrefix=t;}function ne(e,t){if("object"!=typeof t)throw new Error("noUiSlider: 'cssClasses' must be an object.");"string"==typeof e.cssPrefix?(e.cssClasses={},Object.keys(t).forEach((function(r){e.cssClasses[r]=e.cssPrefix+t[r];}))):e.cssClasses=t;}function oe(e){var t={margin:null,limit:null,padding:null,animate:!0,animationDuration:300,ariaFormat:U,format:U},r={step:{r:!1,t:j},keyboardPageMultiplier:{r:!1,t:F},keyboardMultiplier:{r:!1,t:T},keyboardDefaultStep:{r:!1,t:z},start:{r:!0,t:q},connect:{r:!0,t:$},direction:{r:!0,t:G},snap:{r:!1,t:R},animate:{r:!1,t:B},animationDuration:{r:!1,t:_},range:{r:!0,t:H},orientation:{r:!1,t:X},margin:{r:!1,t:Y},limit:{r:!1,t:I},padding:{r:!1,t:W},behaviour:{r:!0,t:J},ariaFormat:{r:!1,t:Z},format:{r:!1,t:ee},tooltips:{r:!1,t:K},keyboardSupport:{r:!0,t:te},documentElement:{r:!1,t:re},cssPrefix:{r:!0,t:ie},cssClasses:{r:!0,t:ne},handleAttributes:{r:!1,t:Q}},i={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:!0,cssPrefix:"noUi-",cssClasses:O,keyboardPageMultiplier:5,keyboardMultiplier:1,keyboardDefaultStep:10};e.format&&!e.ariaFormat&&(e.ariaFormat=e.format),Object.keys(r).forEach((function(o){if(n(e[o])||void 0!==i[o])r[o].t(t,n(e[o])?e[o]:i[o]);else if(r[o].r)throw new Error("noUiSlider: '"+o+"' is required.")})),t.pips=e.pips;var o=document.createElement("div"),a=void 0!==o.style.msTransform,s=void 0!==o.style.transform;t.transformRule=s?"transform":a?"msTransform":"webkitTransform";var l=[["left","top"],["right","bottom"]];return t.style=l[t.dir][t.ort],t}function ae(t,r,s){var u,f,x,w,E,P=b(),N=S()&&y(),C=t,k=r.spectrum,A=[],V=[],M=[],L=0,U={},O=t.ownerDocument,j=r.documentElement||O.documentElement,F=O.body,T="rtl"===O.dir||1===r.ort?0:100;function z(e,t){var r=O.createElement("div");return t&&h(r,t),e.appendChild(r),r}function H(e,t){var i=z(e,r.cssClasses.origin),n=z(i,r.cssClasses.handle);if(z(n,r.cssClasses.touchArea),n.setAttribute("data-handle",String(t)),r.keyboardSupport&&(n.setAttribute("tabindex","0"),n.addEventListener("keydown",(function(e){return fe(e,t)}))),void 0!==r.handleAttributes){var o=r.handleAttributes[t];Object.keys(o).forEach((function(e){n.setAttribute(e,o[e]);}));}return n.setAttribute("role","slider"),n.setAttribute("aria-orientation",r.ort?"vertical":"horizontal"),0===t?h(n,r.cssClasses.handleLower):t===r.handles-1&&h(n,r.cssClasses.handleUpper),i}function q(e,t){return !!t&&z(e,r.cssClasses.connect)}function R(e,t){var i=z(t,r.cssClasses.connects);f=[],(x=[]).push(q(i,e[0]));for(var n=0;n<r.handles;n++)f.push(H(t,n)),M[n]=n,x.push(q(i,e[n+1]));}function B(e){return h(e,r.cssClasses.target),0===r.dir?h(e,r.cssClasses.ltr):h(e,r.cssClasses.rtl),0===r.ort?h(e,r.cssClasses.horizontal):h(e,r.cssClasses.vertical),h(e,"rtl"===getComputedStyle(e).direction?r.cssClasses.textDirectionRtl:r.cssClasses.textDirectionLtr),z(e,r.cssClasses.base)}function _(e,t){return !(!r.tooltips||!r.tooltips[t])&&z(e.firstChild,r.cssClasses.tooltip)}function $(){return C.hasAttribute("disabled")}function X(e){return f[e].hasAttribute("disabled")}function Y(){E&&(ge("update"+D.tooltips),E.forEach((function(e){e&&i(e);})),E=null);}function I(){Y(),E=f.map(_),me("update"+D.tooltips,(function(e,t,i){if(E&&r.tooltips&&!1!==E[t]){var n=e[t];!0!==r.tooltips[t]&&(n=r.tooltips[t].to(i[t])),E[t].innerHTML=n;}}));}function W(){ge("update"+D.aria),me("update"+D.aria,(function(e,t,i,n,o){M.forEach((function(e){var t=f[e],n=ye(V,e,0,!0,!0,!0),a=ye(V,e,100,!0,!0,!0),s=o[e],l=String(r.ariaFormat.to(i[e]));n=k.fromStepping(n).toFixed(1),a=k.fromStepping(a).toFixed(1),s=k.fromStepping(s).toFixed(1),t.children[0].setAttribute("aria-valuemin",n),t.children[0].setAttribute("aria-valuemax",a),t.children[0].setAttribute("aria-valuenow",s),t.children[0].setAttribute("aria-valuetext",l);}));}));}function G(t){if(t.mode===e.PipsMode.Range||t.mode===e.PipsMode.Steps)return k.xVal;if(t.mode===e.PipsMode.Count){if(t.values<2)throw new Error("noUiSlider: 'values' (>= 2) required for mode 'count'.");for(var r=t.values-1,i=100/r,n=[];r--;)n[r]=r*i;return n.push(100),J(n,t.stepped)}return t.mode===e.PipsMode.Positions?J(t.values,t.stepped):t.mode===e.PipsMode.Values?t.stepped?t.values.map((function(e){return k.fromStepping(k.getStep(k.toStepping(e)))})):t.values:[]}function J(e,t){return e.map((function(e){return k.fromStepping(t?k.getStep(e):e)}))}function K(t){function r(e,t){return Number((e+t).toFixed(7))}var i=G(t),n={},o=k.xVal[0],s=k.xVal[k.xVal.length-1],l=!1,u=!1,c=0;return (i=a(i.slice().sort((function(e,t){return e-t}))))[0]!==o&&(i.unshift(o),l=!0),i[i.length-1]!==s&&(i.push(s),u=!0),i.forEach((function(o,a){var s,p,d,f,h,m,v,g,b,y,S=o,x=i[a+1],w=t.mode===e.PipsMode.Steps;for(w&&(s=k.xNumSteps[a]),s||(s=x-S),void 0===x&&(x=S),s=Math.max(s,1e-7),p=S;p<=x;p=r(p,s)){for(g=(h=(f=k.toStepping(p))-c)/(t.density||1),y=h/(b=Math.round(g)),d=1;d<=b;d+=1)n[(m=c+d*y).toFixed(5)]=[k.fromStepping(m),0];v=i.indexOf(p)>-1?e.PipsType.LargeValue:w?e.PipsType.SmallValue:e.PipsType.NoValue,!a&&l&&p!==x&&(v=0),p===x&&u||(n[f.toFixed(5)]=[p,v]),c=f;}})),n}function Q(t,i,n){var o,a,s=O.createElement("div"),l=((o={})[e.PipsType.None]="",o[e.PipsType.NoValue]=r.cssClasses.valueNormal,o[e.PipsType.LargeValue]=r.cssClasses.valueLarge,o[e.PipsType.SmallValue]=r.cssClasses.valueSub,o),u=((a={})[e.PipsType.None]="",a[e.PipsType.NoValue]=r.cssClasses.markerNormal,a[e.PipsType.LargeValue]=r.cssClasses.markerLarge,a[e.PipsType.SmallValue]=r.cssClasses.markerSub,a),c=[r.cssClasses.valueHorizontal,r.cssClasses.valueVertical],p=[r.cssClasses.markerHorizontal,r.cssClasses.markerVertical];function d(e,t){var i=t===r.cssClasses.value,n=i?l:u;return t+" "+(i?c:p)[r.ort]+" "+n[e]}function f(t,o,a){if((a=i?i(o,a):a)!==e.PipsType.None){var l=z(s,!1);l.className=d(a,r.cssClasses.marker),l.style[r.style]=t+"%",a>e.PipsType.NoValue&&((l=z(s,!1)).className=d(a,r.cssClasses.value),l.setAttribute("data-value",String(o)),l.style[r.style]=t+"%",l.innerHTML=String(n.to(o)));}}return h(s,r.cssClasses.pips),h(s,0===r.ort?r.cssClasses.pipsHorizontal:r.cssClasses.pipsVertical),Object.keys(t).forEach((function(e){f(e,t[e][0],t[e][1]);})),s}function Z(){w&&(i(w),w=null);}function ee(e){Z();var t=K(e),r=e.filter,i=e.format||{to:function(e){return String(Math.round(e))}};return w=C.appendChild(Q(t,r,i))}function te(){var e=u.getBoundingClientRect(),t="offset"+["Width","Height"][r.ort];return 0===r.ort?e.width||u[t]:e.height||u[t]}function re(e,t,i,n){var o=function(o){var a=ie(o,n.pageOffset,n.target||t);return !!a&&!($()&&!n.doNotReject)&&!(v(C,r.cssClasses.tap)&&!n.doNotReject)&&!(e===P.start&&void 0!==a.buttons&&a.buttons>1)&&(!n.hover||!a.buttons)&&(N||a.preventDefault(),a.calcPoint=a.points[r.ort],void i(a,n))},a=[];return e.split(" ").forEach((function(e){t.addEventListener(e,o,!!N&&{passive:!0}),a.push([e,o]);})),a}function ie(e,t,r){var i=0===e.type.indexOf("touch"),n=0===e.type.indexOf("mouse"),o=0===e.type.indexOf("pointer"),a=0,s=0;if(0===e.type.indexOf("MSPointer")&&(o=!0),"mousedown"===e.type&&!e.buttons&&!e.touches)return !1;if(i){var l=function(t){var i=t.target;return i===r||r.contains(i)||e.composed&&e.composedPath().shift()===r};if("touchstart"===e.type){var u=Array.prototype.filter.call(e.touches,l);if(u.length>1)return !1;a=u[0].pageX,s=u[0].pageY;}else {var c=Array.prototype.find.call(e.changedTouches,l);if(!c)return !1;a=c.pageX,s=c.pageY;}}return t=t||g(O),(n||o)&&(a=e.clientX+t.x,s=e.clientY+t.y),e.pageOffset=t,e.points=[a,s],e.cursor=n||o,e}function ne(e){var t=100*(e-l(u,r.ort))/te();return t=p(t),r.dir?100-t:t}function ae(e){var t=100,r=!1;return f.forEach((function(i,n){if(!X(n)){var o=V[n],a=Math.abs(o-e);(a<t||a<=t&&e>o||100===a&&100===t)&&(r=n,t=a);}})),r}function se(e,t){"mouseout"===e.type&&"HTML"===e.target.nodeName&&null===e.relatedTarget&&ue(e,t);}function le(e,t){if(-1===navigator.appVersion.indexOf("MSIE 9")&&0===e.buttons&&0!==t.buttonsProperty)return ue(e,t);var i=(r.dir?-1:1)*(e.calcPoint-t.startCalcPoint);xe(i>0,100*i/t.baseSize,t.locations,t.handleNumbers,t.connect);}function ue(e,t){t.handle&&(m(t.handle,r.cssClasses.active),L-=1),t.listeners.forEach((function(e){j.removeEventListener(e[0],e[1]);})),0===L&&(m(C,r.cssClasses.drag),Pe(),e.cursor&&(F.style.cursor="",F.removeEventListener("selectstart",o))),r.events.smoothSteps&&(t.handleNumbers.forEach((function(e){Ne(e,V[e],!0,!0,!1,!1);})),t.handleNumbers.forEach((function(e){be("update",e);}))),t.handleNumbers.forEach((function(e){be("change",e),be("set",e),be("end",e);}));}function ce(e,t){if(!t.handleNumbers.some(X)){var i;1===t.handleNumbers.length&&(i=f[t.handleNumbers[0]].children[0],L+=1,h(i,r.cssClasses.active)),e.stopPropagation();var n=[],a=re(P.move,j,le,{target:e.target,handle:i,connect:t.connect,listeners:n,startCalcPoint:e.calcPoint,baseSize:te(),pageOffset:e.pageOffset,handleNumbers:t.handleNumbers,buttonsProperty:e.buttons,locations:V.slice()}),s=re(P.end,j,ue,{target:e.target,handle:i,listeners:n,doNotReject:!0,handleNumbers:t.handleNumbers}),l=re("mouseout",j,se,{target:e.target,handle:i,listeners:n,doNotReject:!0,handleNumbers:t.handleNumbers});n.push.apply(n,a.concat(s,l)),e.cursor&&(F.style.cursor=getComputedStyle(e.target).cursor,f.length>1&&h(C,r.cssClasses.drag),F.addEventListener("selectstart",o,!1)),t.handleNumbers.forEach((function(e){be("start",e);}));}}function pe(e){e.stopPropagation();var t=ne(e.calcPoint),i=ae(t);!1!==i&&(r.events.snap||c(C,r.cssClasses.tap,r.animationDuration),Ne(i,t,!0,!0),Pe(),be("slide",i,!0),be("update",i,!0),r.events.snap?ce(e,{handleNumbers:[i]}):(be("change",i,!0),be("set",i,!0)));}function de(e){var t=ne(e.calcPoint),r=k.getStep(t),i=k.fromStepping(r);Object.keys(U).forEach((function(e){"hover"===e.split(".")[0]&&U[e].forEach((function(e){e.call(Te,i);}));}));}function fe(e,t){if($()||X(t))return !1;var i=["Left","Right"],n=["Down","Up"],o=["PageDown","PageUp"],a=["Home","End"];r.dir&&!r.ort?i.reverse():r.ort&&!r.dir&&(n.reverse(),o.reverse());var s,l=e.key.replace("Arrow",""),u=l===o[0],c=l===o[1],p=l===n[0]||l===i[0]||u,d=l===n[1]||l===i[1]||c,f=l===a[0],h=l===a[1];if(!(p||d||f||h))return !0;if(e.preventDefault(),d||p){var m=p?0:1,v=Oe(t)[m];if(null===v)return !1;!1===v&&(v=k.getDefaultStep(V[t],p,r.keyboardDefaultStep)),v*=c||u?r.keyboardPageMultiplier:r.keyboardMultiplier,v=Math.max(v,1e-7),v*=p?-1:1,s=A[t]+v;}else s=h?r.spectrum.xVal[r.spectrum.xVal.length-1]:r.spectrum.xVal[0];return Ne(t,k.toStepping(s),!0,!0),be("slide",t),be("update",t),be("change",t),be("set",t),!1}function he(e){e.fixed||f.forEach((function(e,t){re(P.start,e.children[0],ce,{handleNumbers:[t]});})),e.tap&&re(P.start,u,pe,{}),e.hover&&re(P.move,u,de,{hover:!0}),e.drag&&x.forEach((function(t,i){if(!1!==t&&0!==i&&i!==x.length-1){var n=f[i-1],o=f[i],a=[t],s=[n,o],l=[i-1,i];h(t,r.cssClasses.draggable),e.fixed&&(a.push(n.children[0]),a.push(o.children[0])),e.dragAll&&(s=f,l=M),a.forEach((function(e){re(P.start,e,ce,{handles:s,handleNumbers:l,connect:t});}));}}));}function me(e,t){U[e]=U[e]||[],U[e].push(t),"update"===e.split(".")[0]&&f.forEach((function(e,t){be("update",t);}));}function ve(e){return e===D.aria||e===D.tooltips}function ge(e){var t=e&&e.split(".")[0],r=t?e.substring(t.length):e;Object.keys(U).forEach((function(e){var i=e.split(".")[0],n=e.substring(i.length);t&&t!==i||r&&r!==n||ve(n)&&r!==n||delete U[e];}));}function be(e,t,i){Object.keys(U).forEach((function(n){var o=n.split(".")[0];e===o&&U[n].forEach((function(e){e.call(Te,A.map(r.format.to),t,A.slice(),i||!1,V.slice(),Te);}));}));}function ye(e,t,i,n,o,a,s){var l;return f.length>1&&!r.events.unconstrained&&(n&&t>0&&(l=k.getAbsoluteDistance(e[t-1],r.margin,!1),i=Math.max(i,l)),o&&t<f.length-1&&(l=k.getAbsoluteDistance(e[t+1],r.margin,!0),i=Math.min(i,l))),f.length>1&&r.limit&&(n&&t>0&&(l=k.getAbsoluteDistance(e[t-1],r.limit,!1),i=Math.min(i,l)),o&&t<f.length-1&&(l=k.getAbsoluteDistance(e[t+1],r.limit,!0),i=Math.max(i,l))),r.padding&&(0===t&&(l=k.getAbsoluteDistance(0,r.padding[0],!1),i=Math.max(i,l)),t===f.length-1&&(l=k.getAbsoluteDistance(100,r.padding[1],!0),i=Math.min(i,l))),s||(i=k.getStep(i)),!((i=p(i))===e[t]&&!a)&&i}function Se(e,t){var i=r.ort;return (i?t:e)+", "+(i?e:t)}function xe(e,t,i,n,o){var a=i.slice(),s=n[0],l=r.events.smoothSteps,u=[!e,e],c=[e,!e];n=n.slice(),e&&n.reverse(),n.length>1?n.forEach((function(e,r){var i=ye(a,e,a[e]+t,u[r],c[r],!1,l);!1===i?t=0:(t=i-a[e],a[e]=i);})):u=c=[!0];var p=!1;n.forEach((function(e,r){p=Ne(e,i[e]+t,u[r],c[r],!1,l)||p;})),p&&(n.forEach((function(e){be("update",e),be("slide",e);})),null!=o&&be("drag",s));}function we(e,t){return r.dir?100-e-t:e}function Ee(e,t){V[e]=t,A[e]=k.fromStepping(t);var i="translate("+Se(we(t,0)-T+"%","0")+")";f[e].style[r.transformRule]=i,Ce(e),Ce(e+1);}function Pe(){M.forEach((function(e){var t=V[e]>50?-1:1,r=3+(f.length+t*e);f[e].style.zIndex=String(r);}));}function Ne(e,t,r,i,n,o){return n||(t=ye(V,e,t,r,i,!1,o)),!1!==t&&(Ee(e,t),!0)}function Ce(e){if(x[e]){var t=0,i=100;0!==e&&(t=V[e-1]),e!==x.length-1&&(i=V[e]);var n=i-t,o="translate("+Se(we(t,n)+"%","0")+")",a="scale("+Se(n/100,"1")+")";x[e].style[r.transformRule]=o+" "+a;}}function ke(e,t){return null===e||!1===e||void 0===e?V[t]:("number"==typeof e&&(e=String(e)),!1!==(e=r.format.from(e))&&(e=k.toStepping(e)),!1===e||isNaN(e)?V[t]:e)}function Ae(e,t,i){var n=d(e),o=void 0===V[0];t=void 0===t||t,r.animate&&!o&&c(C,r.cssClasses.tap,r.animationDuration),M.forEach((function(e){Ne(e,ke(n[e],e),!0,!1,i);}));var a=1===M.length?0:1;if(o&&k.hasNoSize()&&(i=!0,V[0]=0,M.length>1)){var s=100/(M.length-1);M.forEach((function(e){V[e]=e*s;}));}for(;a<M.length;++a)M.forEach((function(e){Ne(e,V[e],!0,!0,i);}));Pe(),M.forEach((function(e){be("update",e),null!==n[e]&&t&&be("set",e);}));}function Ve(e){Ae(r.start,e);}function Me(e,t,r,i){if(!((e=Number(e))>=0&&e<M.length))throw new Error("noUiSlider: invalid handle number, got: "+e);Ne(e,ke(t,e),!0,!0,i),be("update",e),r&&be("set",e);}function Le(e){if(void 0===e&&(e=!1),e)return 1===A.length?A[0]:A.slice(0);var t=A.map(r.format.to);return 1===t.length?t[0]:t}function Ue(){for(ge(D.aria),ge(D.tooltips),Object.keys(r.cssClasses).forEach((function(e){m(C,r.cssClasses[e]);}));C.firstChild;)C.removeChild(C.firstChild);delete C.noUiSlider;}function Oe(e){var t=V[e],i=k.getNearbySteps(t),n=A[e],o=i.thisStep.step,a=null;if(r.snap)return [n-i.stepBefore.startValue||null,i.stepAfter.startValue-n||null];!1!==o&&n+o>i.stepAfter.startValue&&(o=i.stepAfter.startValue-n),a=n>i.thisStep.startValue?i.thisStep.step:!1!==i.stepBefore.step&&n-i.stepBefore.highestStep,100===t?o=null:0===t&&(a=null);var s=k.countStepDecimals();return null!==o&&!1!==o&&(o=Number(o.toFixed(s))),null!==a&&!1!==a&&(a=Number(a.toFixed(s))),[a,o]}function De(){return M.map(Oe)}function je(e,t){var i=Le(),o=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips"];o.forEach((function(t){void 0!==e[t]&&(s[t]=e[t]);}));var a=oe(s);o.forEach((function(t){void 0!==e[t]&&(r[t]=a[t]);})),k=a.spectrum,r.margin=a.margin,r.limit=a.limit,r.padding=a.padding,r.pips?ee(r.pips):Z(),r.tooltips?I():Y(),V=[],Ae(n(e.start)?e.start:i,t);}function Fe(){u=B(C),R(r.connect,u),he(r.events),Ae(r.start),r.pips&&ee(r.pips),r.tooltips&&I(),W();}Fe();var Te={destroy:Ue,steps:De,on:me,off:ge,get:Le,set:Ae,setHandle:Me,reset:Ve,__moveHandles:function(e,t,r){xe(e,t,V,r);},options:s,updateOptions:je,target:C,removePips:Z,removeTooltips:Y,getPositions:function(){return V.slice()},getTooltips:function(){return E},getOrigins:function(){return f},pips:ee};return Te}function se(e,t){if(!e||!e.nodeName)throw new Error("noUiSlider: create requires a single element, got: "+e);if(e.noUiSlider)throw new Error("noUiSlider: Slider was already initialized.");var r=ae(e,oe(t),t);return e.noUiSlider=r,r}var le={__spectrum:L,cssClasses:O,create:se};e.create=se,e.cssClasses=O,e.default=le,Object.defineProperty(e,"__esModule",{value:!0});}(t);})));function h(e,t){if(!Array.isArray(e)||!Array.isArray(t))return !1;const r=t.slice().sort();return e.length===t.length&&e.slice().sort().every((function(e,t){return e===r[t]}))}var m={name:"Slider",emits:["input","update:modelValue","update","change"],props:{...{value:{validator:function(e){return e=>"number"==typeof e||e instanceof Array||null==e||!1===e},required:!1},modelValue:{validator:function(e){return e=>"number"==typeof e||e instanceof Array||null==e||!1===e},required:!1}},id:{type:[String,Number],required:!1},disabled:{type:Boolean,required:!1,default:!1},min:{type:Number,required:!1,default:0},max:{type:Number,required:!1,default:100},step:{type:Number,required:!1,default:1},orientation:{type:String,required:!1,default:"horizontal"},direction:{type:String,required:!1,default:"ltr"},tooltips:{type:Boolean,required:!1,default:!0},options:{type:Object,required:!1,default:()=>({})},merge:{type:Number,required:!1,default:-1},format:{type:[Object,Function,Boolean],required:!1,default:null},classes:{type:Object,required:!1,default:()=>({})},showTooltip:{type:String,required:!1,default:"always"},tooltipPosition:{type:String,required:!1,default:null},lazy:{type:Boolean,required:!1,default:!0},ariaLabelledby:{type:String,required:!1,default:void 0},aria:{required:!1,type:Object,default:()=>({})}},setup(a,s){const l=function(r,i,n){const{value:o,modelValue:a}=toRefs(r),s=a&&void 0!==a.value?a:o,l=ref(s.value);if(u(s.value))throw new Error("Slider v-model must be a Number or Array");if(Array.isArray(s.value)&&0==s.value.length)throw new Error("Slider v-model must not be an empty array");return {value:s,initialValue:l}}(a),c=function(t,i,n){const{classes:o,showTooltip:a,tooltipPosition:s,orientation:l}=toRefs(t),u=computed((()=>({target:"slider-target",focused:"slider-focused",tooltipFocus:"slider-tooltip-focus",tooltipDrag:"slider-tooltip-drag",ltr:"slider-ltr",rtl:"slider-rtl",horizontal:"slider-horizontal",vertical:"slider-vertical",textDirectionRtl:"slider-txt-dir-rtl",textDirectionLtr:"slider-txt-dir-ltr",base:"slider-base",connects:"slider-connects",connect:"slider-connect",origin:"slider-origin",handle:"slider-handle",handleLower:"slider-handle-lower",handleUpper:"slider-handle-upper",touchArea:"slider-touch-area",tooltip:"slider-tooltip",tooltipTop:"slider-tooltip-top",tooltipBottom:"slider-tooltip-bottom",tooltipLeft:"slider-tooltip-left",tooltipRight:"slider-tooltip-right",tooltipHidden:"slider-tooltip-hidden",active:"slider-active",draggable:"slider-draggable",tap:"slider-state-tap",drag:"slider-state-drag",pips:"slider-pips",pipsHorizontal:"slider-pips-horizontal",pipsVertical:"slider-pips-vertical",marker:"slider-marker",markerHorizontal:"slider-marker-horizontal",markerVertical:"slider-marker-vertical",markerNormal:"slider-marker-normal",markerLarge:"slider-marker-large",markerSub:"slider-marker-sub",value:"slider-value",valueHorizontal:"slider-value-horizontal",valueVertical:"slider-value-vertical",valueNormal:"slider-value-normal",valueLarge:"slider-value-large",valueSub:"slider-value-sub",...o.value})));return {classList:computed((()=>{const e={...u.value};return Object.keys(e).forEach((t=>{e[t]=Array.isArray(e[t])?e[t].filter((e=>null!==e)).join(" "):e[t];})),"always"!==a.value&&(e.target+=` ${"drag"===a.value?e.tooltipDrag:e.tooltipFocus}`),"horizontal"===l.value&&(e.tooltip+="bottom"===s.value?` ${e.tooltipBottom}`:` ${e.tooltipTop}`),"vertical"===l.value&&(e.tooltip+="right"===s.value?` ${e.tooltipRight}`:` ${e.tooltipLeft}`),e}))}}(a),p=function(t,i,n){const{format:o,step:a}=toRefs(t),s=n.value,l=n.classList,u=computed((()=>o&&o.value?"function"==typeof o.value?{to:o.value}:d({...o.value}):d({decimals:a.value>=0?0:2}))),c=computed((()=>Array.isArray(s.value)?s.value.map((e=>u.value)):u.value));return {tooltipFormat:u,tooltipsFormat:c,tooltipsMerge:(e,t,r)=>{var i="rtl"===getComputedStyle(e).direction,n="rtl"===e.noUiSlider.options.direction,o="vertical"===e.noUiSlider.options.orientation,a=e.noUiSlider.getTooltips(),s=e.noUiSlider.getOrigins();a.forEach((function(e,t){e&&s[t].appendChild(e);})),e.noUiSlider.on("update",(function(e,s,c,p,d){var f=[[]],h=[[]],m=[[]],v=0;a[0]&&(f[0][0]=0,h[0][0]=d[0],m[0][0]=u.value.to(parseFloat(e[0])));for(var g=1;g<e.length;g++)(!a[g]||e[g]-e[g-1]>t)&&(f[++v]=[],m[v]=[],h[v]=[]),a[g]&&(f[v].push(g),m[v].push(u.value.to(parseFloat(e[g]))),h[v].push(d[g]));f.forEach((function(e,t){for(var s=e.length,u=0;u<s;u++){var c=e[u];if(u===s-1){var p=0;h[t].forEach((function(e){p+=1e3-e;}));var d=o?"bottom":"right",f=n?0:s-1,v=1e3-h[t][f];p=(i&&!o?100:0)+p/s-v,a[c].innerHTML=m[t].join(r),a[c].style.display="block",a[c].style[d]=p+"%",l.value.tooltipHidden.split(" ").forEach((e=>{a[c].classList.contains(e)&&a[c].classList.remove(e);}));}else a[c].style.display="none",l.value.tooltipHidden.split(" ").forEach((e=>{a[c].classList.add(e);}));}}));}));}}}(a,0,{value:l.value,classList:c.classList}),m=function(a,s,l){const{orientation:c,direction:p,tooltips:d,step:m,min:v,max:g,merge:b,id:y,disabled:S,options:x,classes:w,format:E,lazy:P,ariaLabelledby:N,aria:C}=toRefs(a),k=l.value,A=l.initialValue,V=l.tooltipsFormat,M=l.tooltipsMerge,L=l.tooltipFormat,U=l.classList,O=ref(null),D=ref(null),j=ref(!1),F=computed((()=>{let e={cssPrefix:"",cssClasses:U.value,orientation:c.value,direction:p.value,tooltips:!!d.value&&V.value,connect:"lower",start:u(k.value)?v.value:k.value,range:{min:v.value,max:g.value}};if(m.value>0&&(e.step=m.value),Array.isArray(k.value)&&(e.connect=!0),N&&N.value||C&&Object.keys(C.value).length){let t=Array.isArray(k.value)?k.value:[k.value];e.handleAttributes=t.map((e=>Object.assign({},C.value,N&&N.value?{"aria-labelledby":N.value}:{})));}return E.value&&(e.ariaFormat=L.value),e})),T=computed((()=>{let e={id:y&&y.value?y.value:void 0};return S.value&&(e.disabled=!0),e})),z=computed((()=>Array.isArray(k.value))),H=()=>{let e=D.value.get();return Array.isArray(e)?e.map((e=>parseFloat(e))):parseFloat(e)},q=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];D.value.set(e,t);},R=e=>{s.emit("input",e),s.emit("update:modelValue",e),s.emit("update",e);},B=()=>{D.value=f.create(O.value,Object.assign({},F.value,x.value)),d.value&&z.value&&b.value>=0&&M(O.value,b.value," - "),D.value.on("set",(e=>{const t=H();s.emit("change",t),P.value&&R(t);})),D.value.on("update",(e=>{if(!j.value)return;const t=H();z.value&&h(k.value,t)||!z.value&&k.value==t?s.emit("update",t):P.value||R(t);})),O.value.querySelectorAll("[data-handle]").forEach((e=>{e.onblur=()=>{U.value.focused.split(" ").forEach((e=>{O.value.classList.remove(e);}));},e.onfocus=()=>{U.value.focused.split(" ").forEach((e=>{O.value.classList.add(e);}));};})),j.value=!0;},_=()=>{D.value.off(),D.value.destroy(),D.value=null;},$=(e,t)=>{j.value=!1,_(),B();};return onMounted(B),onUnmounted(_),watch(k,((e,t)=>{t&&("object"==typeof t&&"object"==typeof e&&e&&Object.keys(t)>Object.keys(e)||"object"==typeof t&&"object"!=typeof e||!e)&&$();}),{immediate:!1}),watch(z,$,{immediate:!1}),watch(v,$,{immediate:!1}),watch(g,$,{immediate:!1}),watch(m,$,{immediate:!1}),watch(c,$,{immediate:!1}),watch(p,$,{immediate:!1}),watch(d,$,{immediate:!1}),watch(b,$,{immediate:!1}),watch(E,$,{immediate:!1,deep:!0}),watch(x,$,{immediate:!1,deep:!0}),watch(w,$,{immediate:!1,deep:!0}),watch(k,(e=>{if(u(e))return void q(v.value,!1);let t=H();z.value&&!Array.isArray(t)&&(t=[t]),(z.value&&!h(e,t)||!z.value&&e!=t)&&q(e,!1);}),{deep:!0}),{slider:O,slider$:D,isRange:z,sliderProps:T,init:B,destroy:_,refresh:$,update:q,reset:()=>{R(A.value);}}}(a,s,{value:l.value,initialValue:l.initialValue,tooltipFormat:p.tooltipFormat,tooltipsFormat:p.tooltipsFormat,tooltipsMerge:p.tooltipsMerge,classList:c.classList});return {...c,...p,...m}}};m.render=function(e,t,r,i,n,o){return openBlock(),createElementBlock("div",mergeProps(e.sliderProps,{ref:"slider"}),null,16)},m.__file="src/Slider.vue";
10374
10501
 
10375
- const _hoisted_1$1 = { class: "py-2 px-10 text-gray-700 dark:text-white" };
10376
- const _hoisted_2$1 = /*#__PURE__*/createBaseVNode("p", null, " ", -1);
10502
+ const _hoisted_1$3 = { class: "py-2 px-10 text-gray-700 dark:text-white" };
10503
+ const _hoisted_2$3 = /*#__PURE__*/createBaseVNode("p", null, " ", -1);
10377
10504
 
10378
- const _sfc_main$1 = {
10505
+ const _sfc_main$3 = {
10379
10506
  __name: 'FooterSlot',
10380
10507
  setup(__props) {
10381
10508
 
@@ -10387,9 +10514,9 @@ function format() {
10387
10514
 
10388
10515
 
10389
10516
  return (_ctx, _cache) => {
10390
- return (openBlock(), createElementBlock("div", _hoisted_1$1, [
10517
+ return (openBlock(), createElementBlock("div", _hoisted_1$3, [
10391
10518
  renderSlot(_ctx.$slots, "footer", {}, () => [
10392
- _hoisted_2$1
10519
+ _hoisted_2$3
10393
10520
  ]),
10394
10521
  createVNode(unref(m), {
10395
10522
  modelValue: unref(currentPage),
@@ -10408,7 +10535,143 @@ return (_ctx, _cache) => {
10408
10535
 
10409
10536
  };
10410
10537
 
10411
- 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#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.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.columns-double .columnsArea {\n\t\t-moz-column-count: 1;\n \tcolumn-count: 1\n}\n}\n.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.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\n/* slider */\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";
10538
+ const _sfc_main$2 = {};
10539
+
10540
+ const _hoisted_1$2 = {
10541
+ xmlns: "http://www.w3.org/2000/svg",
10542
+ fill: "none",
10543
+ viewBox: "0 0 24 24",
10544
+ stroke: "currentColor"
10545
+ };
10546
+ const _hoisted_2$2 = /*#__PURE__*/createBaseVNode("path", {
10547
+ "stroke-linecap": "round",
10548
+ "stroke-linejoin": "round",
10549
+ "stroke-width": "2",
10550
+ d: "M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"
10551
+ }, null, -1);
10552
+ const _hoisted_3$1 = [
10553
+ _hoisted_2$2
10554
+ ];
10555
+
10556
+ function _sfc_render(_ctx, _cache) {
10557
+ return (openBlock(), createElementBlock("svg", _hoisted_1$2, _hoisted_3$1))
10558
+ }
10559
+ const IconNotes = /*#__PURE__*/_export_sfc(_sfc_main$2, [['render',_sfc_render]]);
10560
+
10561
+ const FootnotesAside_vue_vue_type_style_index_0_scoped_bbeb8542_lang = '';
10562
+
10563
+ const _hoisted_1$1 = {
10564
+ key: 0,
10565
+ id: "asidebar",
10566
+ class: "absolute top-0 right-0 w-96 flex-shrink-0 h-screen overflow-auto overflow-x-hidden z-20 shadow-2xl"
10567
+ };
10568
+ const _hoisted_2$1 = { class: "w-96 p-4" };
10569
+ const _hoisted_3 = { class: "text-areia py-4 pl-4" };
10570
+ const _hoisted_4 = { class: "flex items-center mb-10" };
10571
+ const _hoisted_5 = { class: "ml-4" };
10572
+ const _hoisted_6 = /*#__PURE__*/createTextVNode(" Notas de rodapé ");
10573
+ const _hoisted_7 = { class: "ml-10" };
10574
+ const _hoisted_8 = ["id", "innerHTML"];
10575
+
10576
+
10577
+ const _sfc_main$1 = {
10578
+ __name: 'FootnotesAside',
10579
+ setup(__props) {
10580
+
10581
+ const show = computed(() => useFootnotes.footnote.value);
10582
+ const footnote = computed(() => useFootnotes.footnote.value);
10583
+ const showFootnotes = computed(() => useFootnotes.showFootnotes.value);
10584
+ const footnotes = computed(() => useFootnotes.footnotes.value);
10585
+
10586
+ const oldBlockedValue = ref(null);
10587
+
10588
+ function hideAside() {
10589
+ useFootnotes.setHighlightedFootnote(null);
10590
+ useFootnotes.setShowFootnotes(false);
10591
+ }
10592
+
10593
+ onMounted(() => {
10594
+ if (footnote.value) {
10595
+ var topPos = document.getElementById(footnote.value.id).offsetTop;
10596
+ document.getElementById('asidebar').scrollTop = topPos - 50;
10597
+ document.getElementById(footnote.value.id).focus();
10598
+ }
10599
+ });
10600
+
10601
+ onKeyStroke('Escape', () => {
10602
+ if (footnote.value || showFootnotes.value) {
10603
+ hideAside();
10604
+ }
10605
+ });
10606
+
10607
+ watch(
10608
+ [footnote, showFootnotes],
10609
+ () => {
10610
+ if (footnote.value || showFootnotes.value) {
10611
+ if (useReaderSettings.blocked.value === false) {
10612
+ oldBlockedValue.value = useReaderSettings.blocked.value;
10613
+ }
10614
+ useReaderSettings.setBlocked(true);
10615
+
10616
+ } else {
10617
+ if (oldBlockedValue.value === false) {
10618
+ useReaderSettings.setBlocked(oldBlockedValue.value);
10619
+ }
10620
+ oldBlockedValue.value = null;
10621
+ }
10622
+ }
10623
+ );
10624
+
10625
+
10626
+ return (_ctx, _cache) => {
10627
+ return (openBlock(), createBlock(Transition, { name: "width" }, {
10628
+ default: withCtx(() => [
10629
+ (unref(show) || unref(showFootnotes))
10630
+ ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
10631
+ createBaseVNode("button", {
10632
+ onClick: _cache[0] || (_cache[0] = withModifiers($event => (hideAside()), ["prevent"])),
10633
+ class: "fixed top-4 right-8 z-20"
10634
+ }, [
10635
+ createVNode(IconClose, { class: "w-6 h-6 text-white" })
10636
+ ]),
10637
+ createBaseVNode("div", _hoisted_2$1, [
10638
+ createBaseVNode("header", _hoisted_3, [
10639
+ createBaseVNode("div", _hoisted_4, [
10640
+ createVNode(IconNotes, { class: "w-8 h-8" }),
10641
+ createBaseVNode("span", _hoisted_5, [
10642
+ _hoisted_6,
10643
+ createBaseVNode("span", _hoisted_7, toDisplayString(unref(footnotes).length), 1)
10644
+ ])
10645
+ ])
10646
+ ]),
10647
+ createBaseVNode("section", null, [
10648
+ createBaseVNode("ul", null, [
10649
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(footnotes), (footnoteItem, index) => {
10650
+ return (openBlock(), createElementBlock("li", {
10651
+ key: footnoteItem._id,
10652
+ id: footnoteItem._id,
10653
+ innerHTML: `<span class='footnote-index'>${index + 1}.</span> ${footnoteItem.text}`,
10654
+ class: normalizeClass(["text-left border-b border-b-white/25 last:border-transparent pb-10 mt-10 px-10 relative", unref(footnote) && unref(footnote).id !== footnoteItem.id
10655
+ ? 'opacity-50'
10656
+ : 'opacity-100'
10657
+ ])
10658
+ }, null, 10, _hoisted_8))
10659
+ }), 128))
10660
+ ])
10661
+ ])
10662
+ ])
10663
+ ]))
10664
+ : createCommentVNode("", true)
10665
+ ]),
10666
+ _: 1
10667
+ }))
10668
+ }
10669
+ }
10670
+
10671
+ };
10672
+ const FootnotesAside = /*#__PURE__*/_export_sfc(_sfc_main$1, [['__scopeId',"data-v-bbeb8542"]]);
10673
+
10674
+ 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#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.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.columns-double .columnsArea {\n\t\t-moz-column-count: 1;\n \tcolumn-count: 1\n}\n}\n.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.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(--theme-primary, #690000);\n\tcolor: var(--theme-primary-extralight, #f3f4f6);\n}\n\n/* slider */\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";
10412
10675
 
10413
10676
  const _hoisted_1 = { class: "rootWrapper" };
10414
10677
  const _hoisted_2 = { class: "text-white text-center text-xs" };
@@ -10420,11 +10683,13 @@ const _sfc_main = {
10420
10683
  bookTitle: String,
10421
10684
  bookContent: String,
10422
10685
  readerSettings: String,
10686
+ readerBlocked: Boolean,
10423
10687
  rootClass: {
10424
10688
  type: String,
10425
10689
  default: ''
10426
10690
  },
10427
- cssFile: String
10691
+ cssFile: String,
10692
+ cssString: String
10428
10693
  },
10429
10694
  setup(__props) {
10430
10695
 
@@ -10434,8 +10699,7 @@ const props = __props;
10434
10699
 
10435
10700
  const { initSettings, baseFont, textFont, fontSize, columns, setColumns, mode } = useReaderSettings;
10436
10701
  const { currentPage, totalPages, init } = usePagination;
10437
- const { content } = useTextContent;
10438
- const { listenToReferencesClick } = useReferences;
10702
+ const { content, listenToClicks } = useTextContent;
10439
10703
  const { width, height } = useWindowSize();
10440
10704
 
10441
10705
  const readerComponent = ref(null);
@@ -10446,11 +10710,31 @@ onMounted(async () => {
10446
10710
  init(readerComponent, contentArea);
10447
10711
  initSettings(props.readerSettings);
10448
10712
 
10713
+ if (['string', 'boolean'].includes(typeof props.readerBlocked)) {
10714
+ useReaderSettings.setBlocked(props.readerBlocked);
10715
+ }
10716
+
10449
10717
  if (props.cssFile) {
10450
10718
  useStyles.stylesheetLoader(props.cssFile, rootComponent);
10451
10719
  }
10720
+
10721
+ if (props.cssString) {
10722
+ useStyles.applyStylesheet(props.cssString, rootComponent);
10723
+ }
10452
10724
  });
10453
10725
 
10726
+ watch(
10727
+ props,
10728
+ () => {
10729
+ if (props.hasOwnProperty('readerBlocked')) {
10730
+ const readerBlocked = typeof props.readerBlocked === 'boolean'
10731
+ ? props.readerBlocked
10732
+ : props.readerBlocked === 'true';
10733
+ useReaderSettings.setBlocked(readerBlocked);
10734
+ }
10735
+ }
10736
+ );
10737
+
10454
10738
  watchDebounced(
10455
10739
  [width, height, content, columns, fontSize, textFont],
10456
10740
  () => {
@@ -10463,7 +10747,7 @@ watchDebounced(
10463
10747
  );
10464
10748
 
10465
10749
  watchDebounced(content,
10466
- () => listenToReferencesClick(contentArea),
10750
+ () => listenToClicks(contentArea),
10467
10751
  { debounce: 125, maxWait: 250 }
10468
10752
  );
10469
10753
 
@@ -10482,7 +10766,7 @@ return (_ctx, _cache) => {
10482
10766
  ),
10483
10767
  style: normalizeStyle(`font-family: ${unref(baseFont)}`)
10484
10768
  }, [
10485
- createVNode(_sfc_main$7, null, {
10769
+ createVNode(_sfc_main$9, null, {
10486
10770
  header: withCtx(() => [
10487
10771
  renderSlot(_ctx.$slots, "header", {}, () => [
10488
10772
  createBaseVNode("p", _hoisted_2, toDisplayString(props.bookTitle), 1)
@@ -10502,14 +10786,14 @@ return (_ctx, _cache) => {
10502
10786
  ]),
10503
10787
  _: 3
10504
10788
  }),
10505
- createVNode(_sfc_main$4, null, {
10789
+ createVNode(_sfc_main$6, null, {
10506
10790
  default: withCtx(() => [
10507
10791
  createBaseVNode("div", {
10508
10792
  id: "reader-component",
10509
10793
  ref_key: "readerComponent",
10510
10794
  ref: readerComponent
10511
10795
  }, [
10512
- createVNode(_sfc_main$3, null, {
10796
+ createVNode(_sfc_main$5, null, {
10513
10797
  default: withCtx(() => [
10514
10798
  createBaseVNode("section", {
10515
10799
  id: "content-area",
@@ -10517,7 +10801,7 @@ return (_ctx, _cache) => {
10517
10801
  ref: contentArea,
10518
10802
  style: normalizeStyle(`font-family: ${unref(textFont)}; font-size: ${unref(fontSize)}px`)
10519
10803
  }, [
10520
- createVNode(_sfc_main$6, { bookContent: __props.bookContent }, {
10804
+ createVNode(_sfc_main$8, { bookContent: __props.bookContent }, {
10521
10805
  content: withCtx(() => [
10522
10806
  renderSlot(_ctx.$slots, "content")
10523
10807
  ]),
@@ -10531,12 +10815,13 @@ return (_ctx, _cache) => {
10531
10815
  ]),
10532
10816
  _: 3
10533
10817
  }),
10534
- createVNode(_sfc_main$1, {
10818
+ createVNode(_sfc_main$3, {
10535
10819
  currPage: unref(currentPage),
10536
10820
  totalPages: unref(totalPages)
10537
10821
  }, null, 8, ["currPage", "totalPages"]),
10538
- createVNode(_sfc_main$2)
10539
- ], 6)
10822
+ createVNode(_sfc_main$4)
10823
+ ], 6),
10824
+ createVNode(FootnotesAside)
10540
10825
  ]))
10541
10826
  }
10542
10827
  }
@@ -10544,7 +10829,7 @@ return (_ctx, _cache) => {
10544
10829
  };
10545
10830
  const App = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]]]);
10546
10831
 
10547
- 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.right-0 {\n right: 0px;\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.-left-2 {\n left: -0.5rem;\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.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.ml-4 {\n margin-left: 1rem;\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-full {\n height: 100%;\n}\n\n.h-6 {\n height: 1.5rem;\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-4\\/5 {\n width: 80%;\n}\n\n.w-6 {\n width: 1.5rem;\n}\n\n.w-5 {\n width: 1.25rem;\n}\n\n.w-60 {\n width: 15rem;\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.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-hidden {\n overflow: 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.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-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.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.py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\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.text-left {\n text-align: left;\n}\n\n.text-center {\n text-align: center;\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.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-gray-800 {\n --tw-text-opacity: 1;\n color: rgb(31 41 55 / 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-100 {\n opacity: 1;\n}\n\n.opacity-0 {\n opacity: 0;\n}\n\n.opacity-75 {\n opacity: 0.75;\n}\n\n.opacity-30 {\n opacity: 0.3;\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-opacity {\n transition-property: opacity;\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.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.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\\:left-16 {\n left: 4rem;\n }\n\n .md\\:flex {\n display: flex;\n }\n\n .md\\:grid {\n display: grid;\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}";
10832
+ 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.-left-2 {\n left: -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-10 {\n margin-bottom: 2.5rem;\n}\n\n.ml-4 {\n margin-left: 1rem;\n}\n\n.ml-10 {\n margin-left: 2.5rem;\n}\n\n.mt-10 {\n margin-top: 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.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-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.pb-10 {\n padding-bottom: 2.5rem;\n}\n\n.text-left {\n text-align: left;\n}\n\n.text-center {\n text-align: center;\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-gray-800 {\n --tw-text-opacity: 1;\n color: rgb(31 41 55 / 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-75 {\n opacity: 0.75;\n}\n\n.opacity-30 {\n opacity: 0.3;\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\\:left-16 {\n left: 4rem;\n }\n\n .md\\:flex {\n display: flex;\n }\n\n .md\\:grid {\n display: grid;\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}";
10548
10833
 
10549
10834
  // https://maximomussini.com/posts/vue-custom-elements
10550
10835