paginar 0.1.7 → 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
  ]),
@@ -9525,304 +9793,140 @@ return (_ctx, _cache) => {
9525
9793
 
9526
9794
  };
9527
9795
 
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
- applyStylesheet(cssText, ref);
9660
-
9661
- } catch (err) {
9662
- console.log({ err });
9663
- }
9664
- }
9665
- }
9666
-
9667
- async function applyStylesheet(stylesheet, ref) {
9668
- const style = document.createElement('style');
9669
- ref.value.appendChild(style);
9670
- style.type = 'text/css';
9671
- style.appendChild(document.createTextNode(stylesheet));
9672
- }
9673
-
9674
- const useStyles = {
9675
- fontLoader,
9676
- stylesheetLoader,
9677
- applyStylesheet
9678
- };
9679
-
9680
- const state = reactive({
9681
- baseFont: 'Arial, sans-serif',
9682
- textFont: 'Times New Roman, serif',
9683
- fontsOptions: [
9684
- { name: 'Times New Roman, serif' },
9685
- { name: 'Georgia, serif' },
9686
- { name: 'Arial, sans-serif' },
9687
- { name: 'Verdana, sans-serif' },
9688
- ],
9689
- fontSize: 16,
9690
- columns: 'single',
9691
- mode: 'light'
9692
- });
9693
-
9694
- const baseFont = computed(() => state.baseFont);
9695
- const textFont = computed(() => state.textFont);
9696
- const fontSize = computed(() => state.fontSize);
9697
- const fontsOptions = computed(() => state.fontsOptions);
9698
- const columns = computed(() => state.columns);
9699
- const mode = computed(() => state.mode);
9700
-
9701
- watch(
9702
- [baseFont, textFont, fontSize, columns, mode],
9703
- () => saveSettings()
9704
- );
9705
-
9706
- async function initSettings(settingsString) {
9707
- const settings = settingsString
9708
- ? JSON.parse(settingsString)
9709
- : null;
9710
-
9711
- if (settings?.baseFont)
9712
- state.baseFont = settings.baseFont;
9713
-
9714
- if (settings?.textFont)
9715
- state.textFont = settings.textFont;
9716
-
9717
- if (settings?.fontSize)
9718
- state.fontSize = Number(settings.fontSize);
9719
-
9720
- if (settings?.fontsOptions) {
9721
- state.fontsOptions = settings.fontsOptions;
9722
- useStyles.fontLoader(settings.fontsOptions);
9723
-
9724
- // baseFont
9725
- const defaultBaseFont = settings.fontsOptions.find(
9726
- item => item.defaultBaseFont
9727
- );
9728
- if (defaultBaseFont)
9729
- state.baseFont = defaultBaseFont.name;
9796
+ const _sfc_main$n = {};
9730
9797
 
9731
- // textFont
9732
- const defaultTextFont = settings.fontsOptions.find(
9733
- item => item.defaultTextFont
9734
- );
9735
- if (defaultTextFont)
9736
- state.textFont = defaultTextFont.name;
9737
- }
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
+ ];
9738
9813
 
9739
- loadSavedSettings(settings);
9814
+ function _sfc_render$9(_ctx, _cache) {
9815
+ return (openBlock(), createElementBlock("svg", _hoisted_1$l, _hoisted_3$b))
9740
9816
  }
9817
+ const IconThreeDots = /*#__PURE__*/_export_sfc(_sfc_main$n, [['render',_sfc_render$9]]);
9741
9818
 
9742
- function loadSavedSettings(settings) {
9743
- const hasSettings = localStorage.getItem('readerSettings');
9819
+ const _sfc_main$m = {};
9744
9820
 
9745
- if (hasSettings) {
9746
- const savedSettings = JSON.parse(hasSettings);
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
+ ];
9747
9836
 
9748
- state.fontSize = savedSettings.fontSize;
9749
- state.columns = savedSettings.columns;
9750
- state.mode = savedSettings.mode;
9837
+ function _sfc_render$8(_ctx, _cache) {
9838
+ return (openBlock(), createElementBlock("svg", _hoisted_1$k, _hoisted_3$a))
9839
+ }
9840
+ const IconExpand = /*#__PURE__*/_export_sfc(_sfc_main$m, [['render',_sfc_render$8]]);
9751
9841
 
9752
- if (settings?.fontsOptions &&
9753
- settings?.fontsOptions?.find(item => item.name === savedSettings.textFont)
9754
- ) {
9755
- state.textFont = savedSettings.textFont;
9756
- }
9842
+ const _sfc_main$l = {};
9757
9843
 
9758
- if (savedSettings.mode === 'dark') {
9759
- const htmlRoot = document.querySelector('html');
9760
- if (htmlRoot) {
9761
- htmlRoot.classList.remove("light");
9762
- htmlRoot.classList.add("dark");
9763
- }
9764
- }
9765
- }
9766
- }
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
+ ];
9767
9866
 
9768
- function setColumns(value) {
9769
- state.columns = value;
9867
+ function _sfc_render$7(_ctx, _cache) {
9868
+ return (openBlock(), createElementBlock("svg", _hoisted_1$j, _hoisted_4$3))
9770
9869
  }
9870
+ const IconEye = /*#__PURE__*/_export_sfc(_sfc_main$l, [['render',_sfc_render$7]]);
9771
9871
 
9772
- function setTextFont(value) {
9773
- state.textFont = value;
9774
- }
9872
+ const _sfc_main$k = {};
9775
9873
 
9776
- function setFontSize(value) {
9777
- state.fontSize = value;
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
+ ];
9889
+
9890
+ function _sfc_render$6(_ctx, _cache) {
9891
+ return (openBlock(), createElementBlock("svg", _hoisted_1$i, _hoisted_3$8))
9778
9892
  }
9893
+ const IconFootnote = /*#__PURE__*/_export_sfc(_sfc_main$k, [['render',_sfc_render$6]]);
9779
9894
 
9780
- function setMode(value) {
9781
- state.mode = value;
9895
+ const _sfc_main$j = {};
9782
9896
 
9783
- const htmlRoot = document.querySelector('html');
9784
- if (htmlRoot) {
9785
- if (htmlRoot.classList.contains("dark")) {
9786
- htmlRoot.classList.remove("dark");
9787
- htmlRoot.classList.add("light");
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
+ ];
9788
9905
 
9789
- } else {
9790
- htmlRoot.classList.remove("light");
9791
- htmlRoot.classList.add("dark");
9792
- }
9793
- }
9906
+ function _sfc_render$5(_ctx, _cache) {
9907
+ return (openBlock(), createElementBlock("svg", _hoisted_1$h, _hoisted_11))
9794
9908
  }
9909
+ const SingleColumn = /*#__PURE__*/_export_sfc(_sfc_main$j, [['render',_sfc_render$5]]);
9795
9910
 
9796
- function saveSettings() {
9797
- localStorage.setItem(
9798
- 'readerSettings',
9799
- JSON.stringify({
9800
- textFont: textFont.value,
9801
- fontSize: fontSize.value,
9802
- columns: columns.value,
9803
- mode: mode.value
9804
- })
9805
- );
9806
- }
9911
+ const _sfc_main$i = {};
9807
9912
 
9808
- const useReaderSettings = {
9809
- baseFont,
9810
- textFont,
9811
- fontSize,
9812
- fontsOptions,
9813
- columns,
9814
- initSettings,
9815
- setColumns,
9816
- setTextFont,
9817
- setFontSize,
9818
- mode,
9819
- setMode,
9820
- saveSettings
9913
+ const _hoisted_1$g = {
9914
+ viewBox: "0 0 653 441.2",
9915
+ fill: "currentColor"
9821
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
+ ];
9822
9921
 
9823
- const _hoisted_1$d = { class: "w-full hidden md:grid grid-cols-3 gap-2 mt-3" };
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]]);
9824
9926
 
9825
- const _sfc_main$f = {
9927
+ const _hoisted_1$f = { class: "w-full hidden md:grid grid-cols-3 gap-2 mt-3" };
9928
+
9929
+ const _sfc_main$h = {
9826
9930
  __name: 'OptionsColumns',
9827
9931
  setup(__props) {
9828
9932
 
@@ -9831,7 +9935,7 @@ const { width } = useWindowSize();
9831
9935
 
9832
9936
 
9833
9937
  return (_ctx, _cache) => {
9834
- return (openBlock(), createElementBlock("div", _hoisted_1$d, [
9938
+ return (openBlock(), createElementBlock("div", _hoisted_1$f, [
9835
9939
  createBaseVNode("button", {
9836
9940
  class: normalizeClass(["col-span-1 text-primary text-center cursor-pointer py-3 rounded-sm border", {
9837
9941
  'border-gray-300': unref(columns) !== 'single',
@@ -9864,10 +9968,10 @@ return (_ctx, _cache) => {
9864
9968
 
9865
9969
  };
9866
9970
 
9867
- const _hoisted_1$c = { class: "w-full grid grid-cols-4 gap-2 my-3" };
9868
- 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"];
9869
9973
 
9870
- const _sfc_main$e = {
9974
+ const _sfc_main$g = {
9871
9975
  __name: 'OptionsFontFamily',
9872
9976
  setup(__props) {
9873
9977
 
@@ -9875,7 +9979,7 @@ const { textFont, fontsOptions, setTextFont } = useReaderSettings;
9875
9979
 
9876
9980
 
9877
9981
  return (_ctx, _cache) => {
9878
- return (openBlock(), createElementBlock("div", _hoisted_1$c, [
9982
+ return (openBlock(), createElementBlock("div", _hoisted_1$e, [
9879
9983
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(fontsOptions), (font) => {
9880
9984
  return (openBlock(), createElementBlock("button", {
9881
9985
  key: font.name,
@@ -9885,7 +9989,7 @@ return (_ctx, _cache) => {
9885
9989
  }]),
9886
9990
  style: normalizeStyle(`font-family: ${font.name}`),
9887
9991
  title: font.label ?? font.name
9888
- }, " Ff ", 14, _hoisted_2$9))
9992
+ }, " Ff ", 14, _hoisted_2$b))
9889
9993
  }), 128))
9890
9994
  ]))
9891
9995
  }
@@ -9893,7 +9997,7 @@ return (_ctx, _cache) => {
9893
9997
 
9894
9998
  };
9895
9999
 
9896
- const _sfc_main$d = {
10000
+ const _sfc_main$f = {
9897
10001
  __name: 'OptionsFontSize',
9898
10002
  setup(__props) {
9899
10003
 
@@ -9916,53 +10020,53 @@ return (_ctx, _cache) => {
9916
10020
 
9917
10021
  };
9918
10022
 
9919
- const _sfc_main$c = {};
10023
+ const _sfc_main$e = {};
9920
10024
 
9921
- const _hoisted_1$b = {
10025
+ const _hoisted_1$d = {
9922
10026
  fill: "none",
9923
10027
  stroke: "currentColor",
9924
10028
  viewBox: "0 0 24 24",
9925
10029
  xmlns: "http://www.w3.org/2000/svg"
9926
10030
  };
9927
- const _hoisted_2$8 = /*#__PURE__*/createBaseVNode("path", {
10031
+ const _hoisted_2$a = /*#__PURE__*/createBaseVNode("path", {
9928
10032
  "stroke-linecap": "round",
9929
10033
  "stroke-linejoin": "round",
9930
10034
  "stroke-width": "2",
9931
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"
9932
10036
  }, null, -1);
9933
- const _hoisted_3$5 = [
9934
- _hoisted_2$8
10037
+ const _hoisted_3$7 = [
10038
+ _hoisted_2$a
9935
10039
  ];
9936
10040
 
9937
- function _sfc_render$2(_ctx, _cache) {
9938
- 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))
9939
10043
  }
9940
- 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]]);
9941
10045
 
9942
- const _sfc_main$b = {};
10046
+ const _sfc_main$d = {};
9943
10047
 
9944
- const _hoisted_1$a = {
10048
+ const _hoisted_1$c = {
9945
10049
  fill: "none",
9946
10050
  stroke: "currentColor",
9947
10051
  viewBox: "0 0 24 24",
9948
10052
  xmlns: "http://www.w3.org/2000/svg"
9949
10053
  };
9950
- const _hoisted_2$7 = /*#__PURE__*/createBaseVNode("path", {
10054
+ const _hoisted_2$9 = /*#__PURE__*/createBaseVNode("path", {
9951
10055
  "stroke-linecap": "round",
9952
10056
  "stroke-linejoin": "round",
9953
10057
  "stroke-width": "2",
9954
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"
9955
10059
  }, null, -1);
9956
- const _hoisted_3$4 = [
9957
- _hoisted_2$7
10060
+ const _hoisted_3$6 = [
10061
+ _hoisted_2$9
9958
10062
  ];
9959
10063
 
9960
- function _sfc_render$1(_ctx, _cache) {
9961
- 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))
9962
10066
  }
9963
- 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]]);
9964
10068
 
9965
- const _sfc_main$a = {
10069
+ const _sfc_main$c = {
9966
10070
  __name: 'OptionsColor',
9967
10071
  setup(__props) {
9968
10072
 
@@ -9995,37 +10099,48 @@ return (_ctx, _cache) => {
9995
10099
 
9996
10100
  };
9997
10101
 
9998
- const _hoisted_1$9 = {
10102
+ const _hoisted_1$b = {
9999
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",
10000
10104
  role: "Opções",
10001
10105
  "aria-orientation": "vertical",
10002
10106
  "aria-labelledby": "options-menu"
10003
10107
  };
10004
- const _hoisted_2$6 = { class: "w-full flex justify-center items-center py-3" };
10005
- const _hoisted_3$3 = /*#__PURE__*/createBaseVNode("span", { class: "ml-4" }, "Visualização", -1);
10006
- const _hoisted_4$1 = { class: "w-full grid grid-cols-4 gap-2 my-3" };
10007
- 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);
10008
10114
 
10009
- const _sfc_main$9 = {
10115
+
10116
+ const _sfc_main$b = {
10010
10117
  __name: 'OptionsDropdown',
10011
10118
  setup(__props) {
10012
10119
 
10013
10120
 
10014
10121
  return (_ctx, _cache) => {
10015
- return (openBlock(), createElementBlock("div", _hoisted_1$9, [
10122
+ return (openBlock(), createElementBlock("div", _hoisted_1$b, [
10016
10123
  createBaseVNode("div", null, [
10017
10124
  renderSlot(_ctx.$slots, "optionsTop"),
10018
- 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, [
10019
10134
  createVNode(IconEye, { class: "w-6 h-6" }),
10020
- _hoisted_3$3
10135
+ _hoisted_5$2
10021
10136
  ]),
10022
- createVNode(_sfc_main$f),
10023
- createVNode(_sfc_main$e),
10024
- createBaseVNode("div", _hoisted_4$1, [
10025
- createVNode(_sfc_main$d),
10026
- 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)
10027
10142
  ]),
10028
- _hoisted_5$1,
10143
+ _hoisted_7$1,
10029
10144
  renderSlot(_ctx.$slots, "optionsBottom")
10030
10145
  ])
10031
10146
  ]))
@@ -10034,12 +10149,12 @@ return (_ctx, _cache) => {
10034
10149
 
10035
10150
  };
10036
10151
 
10037
- const _hoisted_1$8 = { class: "flex" };
10038
- const _hoisted_2$5 = ["aria-expanded"];
10039
- 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);
10040
10155
 
10041
10156
 
10042
- const _sfc_main$8 = {
10157
+ const _sfc_main$a = {
10043
10158
  __name: 'OptionsButton',
10044
10159
  setup(__props) {
10045
10160
 
@@ -10047,7 +10162,11 @@ const show = ref(false);
10047
10162
  const button = ref(null);
10048
10163
 
10049
10164
  const toggleSummary = () => show.value = !show.value;
10050
- const hide = () => show.value = false;
10165
+ const hide = () => {
10166
+ if (!useReaderSettings.blocked.value) {
10167
+ show.value = false;
10168
+ }
10169
+ };
10051
10170
 
10052
10171
  onClickOutside(button, () => hide());
10053
10172
  onKeyStroke('Escape', () => hide());
@@ -10060,7 +10179,7 @@ return (_ctx, _cache) => {
10060
10179
  ref: button,
10061
10180
  class: "relative"
10062
10181
  }, [
10063
- createBaseVNode("div", _hoisted_1$8, [
10182
+ createBaseVNode("div", _hoisted_1$a, [
10064
10183
  createBaseVNode("button", {
10065
10184
  onClick: _cache[0] || (_cache[0] = withModifiers($event => (toggleSummary()), ["prevent"])),
10066
10185
  class: "border p-3 shadow flex items-center border-white text-white",
@@ -10068,7 +10187,7 @@ return (_ctx, _cache) => {
10068
10187
  "aria-haspopup": "true",
10069
10188
  "aria-expanded": show.value
10070
10189
  }, [
10071
- _hoisted_3$2,
10190
+ _hoisted_3$4,
10072
10191
  (show.value)
10073
10192
  ? (openBlock(), createBlock(IconClose, {
10074
10193
  key: 0,
@@ -10078,7 +10197,7 @@ return (_ctx, _cache) => {
10078
10197
  key: 1,
10079
10198
  class: "w-6 h-6"
10080
10199
  }))
10081
- ], 8, _hoisted_2$5),
10200
+ ], 8, _hoisted_2$7),
10082
10201
  createBaseVNode("button", {
10083
10202
  onClick: _cache[1] || (_cache[1] = withModifiers($event => (unref(toggleFullScreen)()), ["prevent"])),
10084
10203
  class: "hidden md:flex items-center border p-3 shadow ml-3 border-white text-white"
@@ -10095,7 +10214,7 @@ return (_ctx, _cache) => {
10095
10214
  "leave-to-class": "opacity-0 scale-95"
10096
10215
  }, {
10097
10216
  default: withCtx(() => [
10098
- withDirectives(createVNode(_sfc_main$9, null, {
10217
+ withDirectives(createVNode(_sfc_main$b, null, {
10099
10218
  optionsTop: withCtx(() => [
10100
10219
  renderSlot(_ctx.$slots, "optionsTop")
10101
10220
  ]),
@@ -10115,16 +10234,16 @@ return (_ctx, _cache) => {
10115
10234
 
10116
10235
  };
10117
10236
 
10118
- 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" };
10119
10238
 
10120
- const _sfc_main$7 = {
10239
+ const _sfc_main$9 = {
10121
10240
  __name: 'HeaderSlot',
10122
10241
  setup(__props) {
10123
10242
 
10124
10243
 
10125
10244
  return (_ctx, _cache) => {
10126
- return (openBlock(), createElementBlock("div", _hoisted_1$7, [
10127
- createVNode(_sfc_main$l, null, {
10245
+ return (openBlock(), createElementBlock("div", _hoisted_1$9, [
10246
+ createVNode(_sfc_main$o, null, {
10128
10247
  summaryTop: withCtx(() => [
10129
10248
  renderSlot(_ctx.$slots, "summaryTop")
10130
10249
  ]),
@@ -10136,7 +10255,7 @@ return (_ctx, _cache) => {
10136
10255
  createBaseVNode("div", null, [
10137
10256
  renderSlot(_ctx.$slots, "header")
10138
10257
  ]),
10139
- createVNode(_sfc_main$8, null, {
10258
+ createVNode(_sfc_main$a, null, {
10140
10259
  optionsTop: withCtx(() => [
10141
10260
  renderSlot(_ctx.$slots, "optionsTop")
10142
10261
  ]),
@@ -10151,9 +10270,9 @@ return (_ctx, _cache) => {
10151
10270
 
10152
10271
  };
10153
10272
 
10154
- const _hoisted_1$6 = ["innerHTML"];
10273
+ const _hoisted_1$8 = ["innerHTML"];
10155
10274
 
10156
- const _sfc_main$6 = {
10275
+ const _sfc_main$8 = {
10157
10276
  __name: 'BookContent',
10158
10277
  props: {
10159
10278
  bookContent: String
@@ -10181,7 +10300,7 @@ return (_ctx, _cache) => {
10181
10300
  ? (openBlock(), createElementBlock("div", {
10182
10301
  key: 0,
10183
10302
  innerHTML: unref(content)
10184
- }, null, 8, _hoisted_1$6))
10303
+ }, null, 8, _hoisted_1$8))
10185
10304
  : renderSlot(_ctx.$slots, "content", { key: 1 })
10186
10305
  ], 512))
10187
10306
  }
@@ -10189,7 +10308,7 @@ return (_ctx, _cache) => {
10189
10308
 
10190
10309
  };
10191
10310
 
10192
- const _sfc_main$5 = {
10311
+ const _sfc_main$7 = {
10193
10312
  name: "NavPrev",
10194
10313
 
10195
10314
  props: {
@@ -10203,66 +10322,66 @@ const _sfc_main$5 = {
10203
10322
  }
10204
10323
  };
10205
10324
 
10206
- const _hoisted_1$5 = {
10325
+ const _hoisted_1$7 = {
10207
10326
  key: 0,
10208
10327
  viewBox: "0 0 20 20",
10209
10328
  fill: "currentColor",
10210
10329
  class: "[ viewer-nav-icon nav-prev ] arrow-narrow-left"
10211
10330
  };
10212
- const _hoisted_2$4 = /*#__PURE__*/createBaseVNode("path", {
10331
+ const _hoisted_2$6 = /*#__PURE__*/createBaseVNode("path", {
10213
10332
  "fill-rule": "evenodd",
10214
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",
10215
10334
  "clip-rule": "evenodd"
10216
10335
  }, null, -1);
10217
- const _hoisted_3$1 = [
10218
- _hoisted_2$4
10336
+ const _hoisted_3$3 = [
10337
+ _hoisted_2$6
10219
10338
  ];
10220
- const _hoisted_4 = {
10339
+ const _hoisted_4$1 = {
10221
10340
  key: 1,
10222
10341
  "data-v-ef9c31bc": "",
10223
10342
  viewBox: "0 0 20 20",
10224
10343
  fill: "currentColor",
10225
10344
  class: "[ viewer-nav-icon nav-next ] right-0 arrow-narrow-right"
10226
10345
  };
10227
- const _hoisted_5 = /*#__PURE__*/createBaseVNode("path", {
10346
+ const _hoisted_5$1 = /*#__PURE__*/createBaseVNode("path", {
10228
10347
  "fill-rule": "evenodd",
10229
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",
10230
10349
  "clip-rule": "evenodd"
10231
10350
  }, null, -1);
10232
- const _hoisted_6 = [
10233
- _hoisted_5
10351
+ const _hoisted_6$1 = [
10352
+ _hoisted_5$1
10234
10353
  ];
10235
10354
 
10236
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
10355
+ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
10237
10356
  return (openBlock(), createElementBlock("button", {
10238
10357
  onClick: _cache[0] || (_cache[0] = withModifiers($event => (_ctx.$emit('clicked')), ["prevent"])),
10239
10358
  class: normalizeClass(["[ viewer-nav ]", $options.type === 'cover' ? 'text-white' : 'text-gray-dark'])
10240
10359
  }, [
10241
10360
  ($props.target === 'prev')
10242
- ? (openBlock(), createElementBlock("svg", _hoisted_1$5, _hoisted_3$1))
10361
+ ? (openBlock(), createElementBlock("svg", _hoisted_1$7, _hoisted_3$3))
10243
10362
  : createCommentVNode("", true),
10244
10363
  ($props.target === 'next')
10245
- ? (openBlock(), createElementBlock("svg", _hoisted_4, _hoisted_6))
10364
+ ? (openBlock(), createElementBlock("svg", _hoisted_4$1, _hoisted_6$1))
10246
10365
  : createCommentVNode("", true)
10247
10366
  ], 2))
10248
10367
  }
10249
- const NavigationButton = /*#__PURE__*/_export_sfc(_sfc_main$5, [['render',_sfc_render]]);
10368
+ const NavigationButton = /*#__PURE__*/_export_sfc(_sfc_main$7, [['render',_sfc_render$1]]);
10250
10369
 
10251
- const _hoisted_1$4 = {
10370
+ const _hoisted_1$6 = {
10252
10371
  id: "engine",
10253
10372
  class: "pt-10 transition-colors"
10254
10373
  };
10255
- const _hoisted_2$3 = { class: "engineWrapper overflow-hidden" };
10374
+ const _hoisted_2$5 = { class: "engineWrapper overflow-hidden" };
10256
10375
 
10257
- const _sfc_main$4 = {
10376
+ const _sfc_main$6 = {
10258
10377
  __name: 'EngineWrapper',
10259
10378
  setup(__props) {
10260
10379
 
10261
10380
  const { next, prev } = usePagination;
10262
10381
 
10263
10382
  return (_ctx, _cache) => {
10264
- return (openBlock(), createElementBlock("div", _hoisted_1$4, [
10265
- createBaseVNode("div", _hoisted_2$3, [
10383
+ return (openBlock(), createElementBlock("div", _hoisted_1$6, [
10384
+ createBaseVNode("div", _hoisted_2$5, [
10266
10385
  createVNode(NavigationButton, {
10267
10386
  target: "prev",
10268
10387
  onClicked: _cache[0] || (_cache[0] = $event => (unref(prev)()))
@@ -10279,10 +10398,10 @@ return (_ctx, _cache) => {
10279
10398
 
10280
10399
  };
10281
10400
 
10282
- 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" };
10283
10402
 
10284
10403
 
10285
- const _sfc_main$3 = {
10404
+ const _sfc_main$5 = {
10286
10405
  __name: 'ReaderWrapper',
10287
10406
  setup(__props) {
10288
10407
  const { currentPage } = usePagination;
@@ -10311,7 +10430,7 @@ return (_ctx, _cache) => {
10311
10430
  class: "columnsArea",
10312
10431
  style: normalizeStyle(`margin-left: -${100 * (unref(currentPage) - 1)}%`)
10313
10432
  }, [
10314
- createBaseVNode("div", _hoisted_1$3, [
10433
+ createBaseVNode("div", _hoisted_1$5, [
10315
10434
  renderSlot(_ctx.$slots, "default")
10316
10435
  ])
10317
10436
  ], 4))
@@ -10320,15 +10439,16 @@ return (_ctx, _cache) => {
10320
10439
 
10321
10440
  };
10322
10441
 
10323
- const _hoisted_1$2 = {
10442
+ const _hoisted_1$4 = {
10324
10443
  key: 0,
10325
10444
  tabindex: "0",
10326
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"
10327
10446
  };
10328
- const _hoisted_2$2 = ["innerHTML"];
10329
- 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
+
10330
10450
 
10331
- const _sfc_main$2 = {
10451
+ const _sfc_main$4 = {
10332
10452
  __name: 'ReferencePopup',
10333
10453
  setup(__props) {
10334
10454
 
@@ -10339,7 +10459,9 @@ function closeRef() {
10339
10459
  }
10340
10460
 
10341
10461
  onKeyStroke('Escape', () => {
10342
- setHighlightedReference(null);
10462
+ if (!useReaderSettings.blocked.value) {
10463
+ setHighlightedReference(null);
10464
+ }
10343
10465
  });
10344
10466
 
10345
10467
 
@@ -10354,12 +10476,12 @@ return (_ctx, _cache) => {
10354
10476
  }, {
10355
10477
  default: withCtx(() => [
10356
10478
  (unref(reference))
10357
- ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
10479
+ ? (openBlock(), createElementBlock("div", _hoisted_1$4, [
10358
10480
  createBaseVNode("p", {
10359
10481
  class: "w-4/5",
10360
10482
  innerHTML: unref(reference).ref
10361
- }, null, 8, _hoisted_2$2),
10362
- createBaseVNode("div", _hoisted_3, [
10483
+ }, null, 8, _hoisted_2$4),
10484
+ createBaseVNode("div", _hoisted_3$2, [
10363
10485
  createBaseVNode("button", {
10364
10486
  onClick: _cache[0] || (_cache[0] = withModifiers($event => (closeRef()), ["prevent"])),
10365
10487
  class: "button button-negative"
@@ -10377,10 +10499,10 @@ return (_ctx, _cache) => {
10377
10499
 
10378
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";
10379
10501
 
10380
- const _hoisted_1$1 = { class: "py-2 px-10 text-gray-700 dark:text-white" };
10381
- 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);
10382
10504
 
10383
- const _sfc_main$1 = {
10505
+ const _sfc_main$3 = {
10384
10506
  __name: 'FooterSlot',
10385
10507
  setup(__props) {
10386
10508
 
@@ -10392,9 +10514,9 @@ function format() {
10392
10514
 
10393
10515
 
10394
10516
  return (_ctx, _cache) => {
10395
- return (openBlock(), createElementBlock("div", _hoisted_1$1, [
10517
+ return (openBlock(), createElementBlock("div", _hoisted_1$3, [
10396
10518
  renderSlot(_ctx.$slots, "footer", {}, () => [
10397
- _hoisted_2$1
10519
+ _hoisted_2$3
10398
10520
  ]),
10399
10521
  createVNode(unref(m), {
10400
10522
  modelValue: unref(currentPage),
@@ -10413,7 +10535,143 @@ return (_ctx, _cache) => {
10413
10535
 
10414
10536
  };
10415
10537
 
10416
- 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";
10417
10675
 
10418
10676
  const _hoisted_1 = { class: "rootWrapper" };
10419
10677
  const _hoisted_2 = { class: "text-white text-center text-xs" };
@@ -10425,6 +10683,7 @@ const _sfc_main = {
10425
10683
  bookTitle: String,
10426
10684
  bookContent: String,
10427
10685
  readerSettings: String,
10686
+ readerBlocked: Boolean,
10428
10687
  rootClass: {
10429
10688
  type: String,
10430
10689
  default: ''
@@ -10440,8 +10699,7 @@ const props = __props;
10440
10699
 
10441
10700
  const { initSettings, baseFont, textFont, fontSize, columns, setColumns, mode } = useReaderSettings;
10442
10701
  const { currentPage, totalPages, init } = usePagination;
10443
- const { content } = useTextContent;
10444
- const { listenToReferencesClick } = useReferences;
10702
+ const { content, listenToClicks } = useTextContent;
10445
10703
  const { width, height } = useWindowSize();
10446
10704
 
10447
10705
  const readerComponent = ref(null);
@@ -10452,6 +10710,10 @@ onMounted(async () => {
10452
10710
  init(readerComponent, contentArea);
10453
10711
  initSettings(props.readerSettings);
10454
10712
 
10713
+ if (['string', 'boolean'].includes(typeof props.readerBlocked)) {
10714
+ useReaderSettings.setBlocked(props.readerBlocked);
10715
+ }
10716
+
10455
10717
  if (props.cssFile) {
10456
10718
  useStyles.stylesheetLoader(props.cssFile, rootComponent);
10457
10719
  }
@@ -10461,6 +10723,18 @@ onMounted(async () => {
10461
10723
  }
10462
10724
  });
10463
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
+
10464
10738
  watchDebounced(
10465
10739
  [width, height, content, columns, fontSize, textFont],
10466
10740
  () => {
@@ -10473,7 +10747,7 @@ watchDebounced(
10473
10747
  );
10474
10748
 
10475
10749
  watchDebounced(content,
10476
- () => listenToReferencesClick(contentArea),
10750
+ () => listenToClicks(contentArea),
10477
10751
  { debounce: 125, maxWait: 250 }
10478
10752
  );
10479
10753
 
@@ -10492,7 +10766,7 @@ return (_ctx, _cache) => {
10492
10766
  ),
10493
10767
  style: normalizeStyle(`font-family: ${unref(baseFont)}`)
10494
10768
  }, [
10495
- createVNode(_sfc_main$7, null, {
10769
+ createVNode(_sfc_main$9, null, {
10496
10770
  header: withCtx(() => [
10497
10771
  renderSlot(_ctx.$slots, "header", {}, () => [
10498
10772
  createBaseVNode("p", _hoisted_2, toDisplayString(props.bookTitle), 1)
@@ -10512,14 +10786,14 @@ return (_ctx, _cache) => {
10512
10786
  ]),
10513
10787
  _: 3
10514
10788
  }),
10515
- createVNode(_sfc_main$4, null, {
10789
+ createVNode(_sfc_main$6, null, {
10516
10790
  default: withCtx(() => [
10517
10791
  createBaseVNode("div", {
10518
10792
  id: "reader-component",
10519
10793
  ref_key: "readerComponent",
10520
10794
  ref: readerComponent
10521
10795
  }, [
10522
- createVNode(_sfc_main$3, null, {
10796
+ createVNode(_sfc_main$5, null, {
10523
10797
  default: withCtx(() => [
10524
10798
  createBaseVNode("section", {
10525
10799
  id: "content-area",
@@ -10527,7 +10801,7 @@ return (_ctx, _cache) => {
10527
10801
  ref: contentArea,
10528
10802
  style: normalizeStyle(`font-family: ${unref(textFont)}; font-size: ${unref(fontSize)}px`)
10529
10803
  }, [
10530
- createVNode(_sfc_main$6, { bookContent: __props.bookContent }, {
10804
+ createVNode(_sfc_main$8, { bookContent: __props.bookContent }, {
10531
10805
  content: withCtx(() => [
10532
10806
  renderSlot(_ctx.$slots, "content")
10533
10807
  ]),
@@ -10541,12 +10815,13 @@ return (_ctx, _cache) => {
10541
10815
  ]),
10542
10816
  _: 3
10543
10817
  }),
10544
- createVNode(_sfc_main$1, {
10818
+ createVNode(_sfc_main$3, {
10545
10819
  currPage: unref(currentPage),
10546
10820
  totalPages: unref(totalPages)
10547
10821
  }, null, 8, ["currPage", "totalPages"]),
10548
- createVNode(_sfc_main$2)
10549
- ], 6)
10822
+ createVNode(_sfc_main$4)
10823
+ ], 6),
10824
+ createVNode(FootnotesAside)
10550
10825
  ]))
10551
10826
  }
10552
10827
  }
@@ -10554,7 +10829,7 @@ return (_ctx, _cache) => {
10554
10829
  };
10555
10830
  const App = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]]]);
10556
10831
 
10557
- 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}";
10558
10833
 
10559
10834
  // https://maximomussini.com/posts/vue-custom-elements
10560
10835