paginar 0.1.7 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,63 +9415,111 @@ function applyReferences(contentRaw) {
9220
9415
  }, contentRaw)
9221
9416
  }
9222
9417
 
9223
- function listenToReferencesClick(contentWrapper) {
9224
- setTimeout(() => {
9225
- useEventListener(contentWrapper, 'click', getClickedReferenceData);
9226
- }, 100);
9227
- }
9418
+ function applyReference(event) {
9419
+ const target = event.target.closest('.reference')?.getAttribute("data-ref");
9228
9420
 
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
- }
9421
+ const ref = state$4.references.find(item => target && item.cit === target);
9422
+ if (ref) {
9423
+ state$4.reference = ref;
9236
9424
  }
9237
9425
  }
9238
9426
 
9239
9427
  const useReferences = {
9240
9428
  references,
9241
9429
  reference,
9430
+ applyReference,
9242
9431
  setReferences,
9243
9432
  setHighlightedReference,
9244
9433
  applyReferences,
9245
- listenToReferencesClick
9246
9434
  };
9247
9435
 
9248
9436
  const state$3 = reactive({
9437
+ footnotes: [],
9438
+ showFootnotes: false,
9439
+ footnote: null
9440
+ });
9441
+
9442
+ const footnotes = computed(() => state$3.footnotes);
9443
+ function setFootnotes(footnotes) {
9444
+ state$3.footnotes = footnotes;
9445
+ }
9446
+
9447
+ const showFootnotes = computed(() => state$3.showFootnotes);
9448
+ function setShowFootnotes(value) {
9449
+ state$3.showFootnotes = value;
9450
+ }
9451
+
9452
+ const footnote = computed(() => state$3.footnote);
9453
+ function setHighlightedFootnote(footnote) {
9454
+ state$3.footnote = footnote;
9455
+ }
9456
+
9457
+ function applyFootnote(event) {
9458
+ const classList = event.target.closest('.footnote')?.classList.value.split(' ');
9459
+
9460
+ if (classList.length === 0)
9461
+ return
9462
+
9463
+ const footnoteTarget = classList.find(
9464
+ item => item.includes('footnote') && item !== 'footnote'
9465
+ );
9466
+
9467
+ if (footnoteTarget) {
9468
+ const ref = state$3.footnotes.find(item => item.id === footnoteTarget);
9469
+ if (ref) {
9470
+ state$3.footnote = ref;
9471
+ }
9472
+ }
9473
+ }
9474
+
9475
+ const useFootnotes = {
9476
+ footnotes,
9477
+ footnote,
9478
+ setFootnotes,
9479
+ applyFootnote,
9480
+ setHighlightedFootnote,
9481
+ setShowFootnotes,
9482
+ showFootnotes
9483
+ };
9484
+
9485
+ const state$2 = reactive({
9249
9486
  summary: null,
9250
9487
  content: null
9251
9488
  });
9252
9489
 
9253
- const content = computed(() => state$3.content);
9254
- const summary = computed(() => state$3.summary);
9490
+ const content = computed(() => state$2.content);
9491
+ const summary = computed(() => state$2.summary);
9255
9492
 
9256
9493
  async function initContent(contentString, contentWrapper) {
9257
- const { setReferences, applyReferences, listenToReferencesClick } = useReferences;
9494
+ const { setReferences, applyReferences } = useReferences;
9495
+ const { setFootnotes } = useFootnotes;
9258
9496
 
9259
9497
  const content = contentString
9260
9498
  ? JSON.parse(contentString)
9261
9499
  : null;
9262
9500
 
9263
9501
  if (content?.summary)
9264
- state$3.summary = content.summary;
9502
+ state$2.summary = content.summary;
9265
9503
 
9266
9504
  if (content?.references)
9267
9505
  setReferences(content.references);
9268
9506
 
9507
+ if (content?.footnotes)
9508
+ setFootnotes(content.footnotes);
9509
+
9269
9510
  // if content comes from file, apply references to file
9270
9511
  if (content?.summary?.[0]?.file) {
9271
9512
  const text = await getContent(content.summary?.[0]?.file);
9272
- const newContent = applyReferences(text);
9273
- state$3.content = newContent;
9513
+ const newContent = content.applyReferences
9514
+ ? applyReferences(text)
9515
+ : text;
9516
+ state$2.content = newContent;
9274
9517
 
9275
9518
  // else if content comes from slot, apply references to slot
9276
9519
  } else {
9277
9520
  const content = document.querySelectorAll('[slot="content"]');
9278
9521
 
9279
- if (content && content?.[0]?.innerHTML) {
9522
+ if (content && content?.[0]?.innerHTML && content.applyReferences) {
9280
9523
  const newContent = applyReferences(content?.[0]?.innerHTML);
9281
9524
  if (newContent) {
9282
9525
  content[0].innerHTML = newContent;
@@ -9285,7 +9528,7 @@ async function initContent(contentString, contentWrapper) {
9285
9528
  }
9286
9529
 
9287
9530
  // after applying references above, now we start to listen to its clicks
9288
- listenToReferencesClick(contentWrapper);
9531
+ listenToClicks(contentWrapper);
9289
9532
  }
9290
9533
 
9291
9534
  async function getContent(location) {
@@ -9295,14 +9538,30 @@ async function getContent(location) {
9295
9538
  return text
9296
9539
  } catch (err) {
9297
9540
  console.log({ err });
9298
- state$3.content = 'Ops, não foi possível carregar o arquivo solicitado.';
9541
+ state$2.content = 'Ops, não foi possível carregar o arquivo solicitado.';
9299
9542
  }
9300
9543
  }
9301
9544
 
9302
9545
  function applyContent(text) {
9303
9546
  const { applyReferences } = useReferences;
9304
9547
  const newContent = applyReferences(text);
9305
- state$3.content = newContent;
9548
+ state$2.content = newContent;
9549
+ }
9550
+
9551
+ function listenToClicks(contentWrapper) {
9552
+ setTimeout(() => {
9553
+ useEventListener(contentWrapper, 'click', getClickedReferenceData);
9554
+ }, 100);
9555
+ }
9556
+
9557
+ function getClickedReferenceData(event) {
9558
+ if (event.target.closest('.reference')) {
9559
+ useReferences.applyReference(event);
9560
+ }
9561
+
9562
+ if (event.target.closest('.footnote')) {
9563
+ useFootnotes.applyFootnote(event);
9564
+ }
9306
9565
  }
9307
9566
 
9308
9567
  const useTextContent = {
@@ -9310,46 +9569,51 @@ const useTextContent = {
9310
9569
  summary,
9311
9570
  initContent,
9312
9571
  getContent,
9313
- applyContent
9572
+ applyContent,
9573
+ listenToClicks
9314
9574
  };
9315
9575
 
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
9576
+ const state$1 = reactive({
9577
+ totalPages: 1
9578
+ });
9579
+
9580
+ function estimate(viewport, content) {
9581
+ if (viewport && content) {
9582
+ const { width: viewportWidth } = viewport.value.getBoundingClientRect();
9583
+ const { width: contentWidth } = content.value.getBoundingClientRect();
9584
+
9585
+ if (contentWidth > viewportWidth) {
9586
+ state$1.totalPages = Math.ceil(contentWidth / viewportWidth);
9587
+
9588
+ } else {
9589
+ state$1.totalPages = 1;
9590
+ }
9591
+ } else {
9592
+ state$1.totalPages = 1;
9593
+ }
9594
+ }
9595
+
9596
+ const totalPages$1 = computed(() => state$1.totalPages);
9597
+
9598
+ const useEstimatePages = {
9599
+ totalPages: totalPages$1,
9600
+ estimate
9341
9601
  };
9342
9602
 
9343
- const state$1 = reactive({
9603
+ const state = reactive({
9344
9604
  currentPage: 1
9345
9605
  });
9346
9606
 
9347
- const currentPage = computed(() => state$1.currentPage);
9607
+ const currentPage = computed(() => state.currentPage);
9348
9608
  const totalPages = computed(() => useEstimatePages.totalPages.value);
9349
9609
 
9350
9610
  function init(viewport, content) {
9351
9611
  useEstimatePages.estimate(viewport, content);
9352
9612
  addEventListener('wheel', onWheel);
9613
+
9614
+ setInterval(() => {
9615
+ useEstimatePages.estimate(viewport, content);
9616
+ }, 5000);
9353
9617
  }
9354
9618
 
9355
9619
  // when resizing the viewport, totalPages change
@@ -9362,8 +9626,10 @@ watch(totalPages, () => {
9362
9626
 
9363
9627
  // navigate by increase/decrease value
9364
9628
  function next() {
9365
- if ((state$1.currentPage + 1) <= totalPages.value) {
9366
- state$1.currentPage = state$1.currentPage + 1;
9629
+ if (!useReaderSettings.blocked.value) {
9630
+ if ((state.currentPage + 1) <= totalPages.value) {
9631
+ state.currentPage = state.currentPage + 1;
9632
+ }
9367
9633
  }
9368
9634
  }
9369
9635
  onKeyStroke('ArrowRight', (e) => {
@@ -9379,8 +9645,10 @@ function onWheel(event) {
9379
9645
  }
9380
9646
  }
9381
9647
  function prev() {
9382
- if ((state$1.currentPage - 1) > 0) {
9383
- state$1.currentPage = state$1.currentPage - 1;
9648
+ if (!useReaderSettings.blocked.value) {
9649
+ if ((state.currentPage - 1) > 0) {
9650
+ state.currentPage = state.currentPage - 1;
9651
+ }
9384
9652
  }
9385
9653
  }
9386
9654
  onKeyStroke('ArrowLeft', (e) => {
@@ -9390,7 +9658,7 @@ onKeyStroke('ArrowLeft', (e) => {
9390
9658
 
9391
9659
  // navigate to specific page
9392
9660
  function set(val) {
9393
- state$1.currentPage = val;
9661
+ state.currentPage = val;
9394
9662
  }
9395
9663
 
9396
9664
  const usePagination = {
@@ -9402,9 +9670,9 @@ const usePagination = {
9402
9670
  set
9403
9671
  };
9404
9672
 
9405
- const _hoisted_1$k = ["role"];
9673
+ const _hoisted_1$n = ["role"];
9406
9674
 
9407
- const _sfc_main$m = {
9675
+ const _sfc_main$p = {
9408
9676
  __name: 'SummaryDropdown',
9409
9677
  setup(__props) {
9410
9678
 
@@ -9441,23 +9709,23 @@ return (_ctx, _cache) => {
9441
9709
  }), 128)),
9442
9710
  renderSlot(_ctx.$slots, "summaryBottom")
9443
9711
  ])
9444
- ], 8, _hoisted_1$k))
9712
+ ], 8, _hoisted_1$n))
9445
9713
  }
9446
9714
  }
9447
9715
 
9448
9716
  };
9449
9717
 
9450
- const _hoisted_1$j = { class: "flex" };
9451
- const _hoisted_2$f = {
9718
+ const _hoisted_1$m = { class: "flex" };
9719
+ const _hoisted_2$i = {
9452
9720
  href: "/",
9453
9721
  title: "Homepage",
9454
9722
  class: "hidden md:flex items-center border p-3 shadow mr-3 border-white text-white"
9455
9723
  };
9456
- const _hoisted_3$9 = ["aria-expanded"];
9457
- const _hoisted_4$3 = /*#__PURE__*/createBaseVNode("span", { class: "block ml-3" }, " Sumário ", -1);
9724
+ const _hoisted_3$c = ["aria-expanded"];
9725
+ const _hoisted_4$4 = /*#__PURE__*/createBaseVNode("span", { class: "block ml-3" }, " Sumário ", -1);
9458
9726
 
9459
9727
 
9460
- const _sfc_main$l = {
9728
+ const _sfc_main$o = {
9461
9729
  __name: 'SummaryButton',
9462
9730
  setup(__props) {
9463
9731
 
@@ -9465,7 +9733,11 @@ const show = ref(false);
9465
9733
  const button = ref(null);
9466
9734
 
9467
9735
  const toggleSummary = () => show.value = !show.value;
9468
- const hide = () => show.value = false;
9736
+ const hide = () => {
9737
+ if (!useReaderSettings.blocked.value) {
9738
+ show.value = false;
9739
+ }
9740
+ };
9469
9741
 
9470
9742
  onClickOutside(button, () => hide());
9471
9743
  onKeyStroke('Escape', () => hide());
@@ -9476,8 +9748,8 @@ return (_ctx, _cache) => {
9476
9748
  ref: button,
9477
9749
  class: "relative"
9478
9750
  }, [
9479
- createBaseVNode("div", _hoisted_1$j, [
9480
- createBaseVNode("a", _hoisted_2$f, [
9751
+ createBaseVNode("div", _hoisted_1$m, [
9752
+ createBaseVNode("a", _hoisted_2$i, [
9481
9753
  createVNode(IconHome, { class: "w-6 h-6" })
9482
9754
  ]),
9483
9755
  createBaseVNode("button", {
@@ -9493,8 +9765,8 @@ return (_ctx, _cache) => {
9493
9765
  key: 1,
9494
9766
  class: "w-6 h-6"
9495
9767
  })),
9496
- _hoisted_4$3
9497
- ], 8, _hoisted_3$9)
9768
+ _hoisted_4$4
9769
+ ], 8, _hoisted_3$c)
9498
9770
  ]),
9499
9771
  createVNode(Transition, {
9500
9772
  "enter-active-class": "transition ease-out duration-100 transform",
@@ -9506,7 +9778,7 @@ return (_ctx, _cache) => {
9506
9778
  }, {
9507
9779
  default: withCtx(() => [
9508
9780
  (show.value)
9509
- ? (openBlock(), createBlock(_sfc_main$m, { key: 0 }, {
9781
+ ? (openBlock(), createBlock(_sfc_main$p, { key: 0 }, {
9510
9782
  summaryTop: withCtx(() => [
9511
9783
  renderSlot(_ctx.$slots, "summaryTop")
9512
9784
  ]),
@@ -9523,306 +9795,142 @@ return (_ctx, _cache) => {
9523
9795
  }
9524
9796
  }
9525
9797
 
9526
- };
9527
-
9528
- const _sfc_main$k = {};
9529
-
9530
- const _hoisted_1$i = {
9531
- fill: "none",
9532
- stroke: "currentColor",
9533
- viewBox: "0 0 24 24",
9534
- xmlns: "http://www.w3.org/2000/svg"
9535
- };
9536
- const _hoisted_2$e = /*#__PURE__*/createBaseVNode("path", {
9537
- "stroke-linecap": "round",
9538
- "stroke-linejoin": "round",
9539
- "stroke-width": "2",
9540
- d: "M5 12h.01M12 12h.01M19 12h.01M6 12a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0z"
9541
- }, null, -1);
9542
- const _hoisted_3$8 = [
9543
- _hoisted_2$e
9544
- ];
9545
-
9546
- function _sfc_render$7(_ctx, _cache) {
9547
- return (openBlock(), createElementBlock("svg", _hoisted_1$i, _hoisted_3$8))
9548
- }
9549
- const IconThreeDots = /*#__PURE__*/_export_sfc(_sfc_main$k, [['render',_sfc_render$7]]);
9550
-
9551
- const _sfc_main$j = {};
9552
-
9553
- const _hoisted_1$h = {
9554
- fill: "none",
9555
- stroke: "currentColor",
9556
- viewBox: "0 0 24 24",
9557
- xmlns: "http://www.w3.org/2000/svg"
9558
- };
9559
- const _hoisted_2$d = /*#__PURE__*/createBaseVNode("path", {
9560
- "stroke-linecap": "round",
9561
- "stroke-linejoin": "round",
9562
- "stroke-width": "2",
9563
- d: "M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"
9564
- }, null, -1);
9565
- const _hoisted_3$7 = [
9566
- _hoisted_2$d
9567
- ];
9568
-
9569
- function _sfc_render$6(_ctx, _cache) {
9570
- return (openBlock(), createElementBlock("svg", _hoisted_1$h, _hoisted_3$7))
9571
- }
9572
- const IconExpand = /*#__PURE__*/_export_sfc(_sfc_main$j, [['render',_sfc_render$6]]);
9573
-
9574
- const _sfc_main$i = {};
9575
-
9576
- const _hoisted_1$g = {
9577
- fill: "none",
9578
- stroke: "currentColor",
9579
- viewBox: "0 0 24 24",
9580
- xmlns: "http://www.w3.org/2000/svg"
9581
- };
9582
- const _hoisted_2$c = /*#__PURE__*/createBaseVNode("path", {
9583
- "stroke-linecap": "round",
9584
- "stroke-linejoin": "round",
9585
- "stroke-width": "2",
9586
- d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
9587
- }, null, -1);
9588
- const _hoisted_3$6 = /*#__PURE__*/createBaseVNode("path", {
9589
- "stroke-linecap": "round",
9590
- "stroke-linejoin": "round",
9591
- "stroke-width": "2",
9592
- d: "M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"
9593
- }, null, -1);
9594
- const _hoisted_4$2 = [
9595
- _hoisted_2$c,
9596
- _hoisted_3$6
9597
- ];
9598
-
9599
- function _sfc_render$5(_ctx, _cache) {
9600
- return (openBlock(), createElementBlock("svg", _hoisted_1$g, _hoisted_4$2))
9601
- }
9602
- const IconEye = /*#__PURE__*/_export_sfc(_sfc_main$i, [['render',_sfc_render$5]]);
9603
-
9604
- const _sfc_main$h = {};
9605
-
9606
- const _hoisted_1$f = {
9607
- viewBox: "0 0 341.5 441.2",
9608
- fill: "currentColor"
9609
- };
9610
- const _hoisted_2$b = /*#__PURE__*/createStaticVNode("<rect data-v-acadaaca=\"\" x=\"73.2\" y=\"143.7\" width=\"195.2\" height=\"20\"></rect><rect data-v-acadaaca=\"\" x=\"73.2\" y=\"82.7\" width=\"195.2\" height=\"20\"></rect><rect data-v-acadaaca=\"\" x=\"73.2\" y=\"203.7\" width=\"195.2\" height=\"20\"></rect><rect data-v-acadaaca=\"\" x=\"73.2\" y=\"263.7\" width=\"195.2\" height=\"20\"></rect><rect data-v-acadaaca=\"\" x=\"73.2\" y=\"319\" width=\"195.2\" height=\"20\"></rect><rect data-v-acadaaca=\"\" x=\"0\" y=\"-0.6\" width=\"332.3\" height=\"15\"></rect><rect data-v-acadaaca=\"\" x=\"0\" y=\"426.2\" width=\"332.3\" height=\"15\"></rect><rect data-v-acadaaca=\"\" x=\"-209.4\" y=\"216.2\" transform=\"matrix(6.123234e-17 -1 1 6.123234e-17 -216.2339 231.2339)\" width=\"433.7\" height=\"15\"></rect><rect data-v-acadaaca=\"\" x=\"108\" y=\"211.9\" transform=\"matrix(6.123234e-17 -1 1 6.123234e-17 105.4808 544.1859)\" width=\"433.7\" height=\"15\"></rect>", 9);
9611
- const _hoisted_11 = [
9612
- _hoisted_2$b
9613
- ];
9614
-
9615
- function _sfc_render$4(_ctx, _cache) {
9616
- return (openBlock(), createElementBlock("svg", _hoisted_1$f, _hoisted_11))
9617
- }
9618
- const SingleColumn = /*#__PURE__*/_export_sfc(_sfc_main$h, [['render',_sfc_render$4]]);
9619
-
9620
- const _sfc_main$g = {};
9621
-
9622
- const _hoisted_1$e = {
9623
- viewBox: "0 0 653 441.2",
9624
- fill: "currentColor"
9625
- };
9626
- const _hoisted_2$a = /*#__PURE__*/createStaticVNode("<rect x=\"73.2\" y=\"143.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"73.2\" y=\"82.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"73.2\" y=\"203.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"73.2\" y=\"263.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"73.2\" y=\"319\" width=\"195.2\" height=\"20\"></rect><rect x=\"384.7\" y=\"143.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"384.7\" y=\"82.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"384.7\" y=\"203.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"384.7\" y=\"263.7\" width=\"195.2\" height=\"20\"></rect><rect x=\"384.7\" y=\"319\" width=\"195.2\" height=\"20\"></rect><path d=\"M0-0.6v7.5v7.5v411.8v14.4v0.6h653v-5v-10V14.4V2.5v-3.1H0z M638,426.2H15V14.4h623V426.2z\"></path>", 11);
9627
- const _hoisted_13 = [
9628
- _hoisted_2$a
9629
- ];
9630
-
9631
- function _sfc_render$3(_ctx, _cache) {
9632
- return (openBlock(), createElementBlock("svg", _hoisted_1$e, _hoisted_13))
9633
- }
9634
- const DoubleColumn = /*#__PURE__*/_export_sfc(_sfc_main$g, [['render',_sfc_render$3]]);
9635
-
9636
- function fontLoader(fontsOptions) {
9637
- const fontsToLoad = fontsOptions.filter(item => item.link);
9638
-
9639
- if (fontsToLoad.length > 0) {
9640
- const style = document.createElement('style');
9641
- const head = document.head || document.getElementsByTagName('head')[0];
9642
- head.appendChild(style);
9643
-
9644
- style.type = 'text/css';
9645
- let css = '';
9646
- fontsToLoad.forEach(
9647
- item => css = css + `@import url(${item.link}); \n`
9648
- );
9649
- style.appendChild(document.createTextNode(css));
9650
- }
9651
- }
9652
-
9653
- async function stylesheetLoader(stylesheet, ref) {
9654
- if (stylesheet) {
9655
- try {
9656
- const dataRef = await fetch(stylesheet);
9657
- const cssText = await dataRef.text();
9658
-
9659
- 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);
9798
+ };
9723
9799
 
9724
- // baseFont
9725
- const defaultBaseFont = settings.fontsOptions.find(
9726
- item => item.defaultBaseFont
9727
- );
9728
- if (defaultBaseFont)
9729
- state.baseFont = defaultBaseFont.name;
9800
+ const _sfc_main$n = {};
9730
9801
 
9731
- // textFont
9732
- const defaultTextFont = settings.fontsOptions.find(
9733
- item => item.defaultTextFont
9734
- );
9735
- if (defaultTextFont)
9736
- state.textFont = defaultTextFont.name;
9737
- }
9802
+ const _hoisted_1$l = {
9803
+ fill: "none",
9804
+ stroke: "currentColor",
9805
+ viewBox: "0 0 24 24",
9806
+ xmlns: "http://www.w3.org/2000/svg"
9807
+ };
9808
+ const _hoisted_2$h = /*#__PURE__*/createBaseVNode("path", {
9809
+ "stroke-linecap": "round",
9810
+ "stroke-linejoin": "round",
9811
+ "stroke-width": "2",
9812
+ 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"
9813
+ }, null, -1);
9814
+ const _hoisted_3$b = [
9815
+ _hoisted_2$h
9816
+ ];
9738
9817
 
9739
- loadSavedSettings(settings);
9818
+ function _sfc_render$9(_ctx, _cache) {
9819
+ return (openBlock(), createElementBlock("svg", _hoisted_1$l, _hoisted_3$b))
9740
9820
  }
9821
+ const IconThreeDots = /*#__PURE__*/_export_sfc(_sfc_main$n, [['render',_sfc_render$9]]);
9741
9822
 
9742
- function loadSavedSettings(settings) {
9743
- const hasSettings = localStorage.getItem('readerSettings');
9823
+ const _sfc_main$m = {};
9744
9824
 
9745
- if (hasSettings) {
9746
- const savedSettings = JSON.parse(hasSettings);
9825
+ const _hoisted_1$k = {
9826
+ fill: "none",
9827
+ stroke: "currentColor",
9828
+ viewBox: "0 0 24 24",
9829
+ xmlns: "http://www.w3.org/2000/svg"
9830
+ };
9831
+ const _hoisted_2$g = /*#__PURE__*/createBaseVNode("path", {
9832
+ "stroke-linecap": "round",
9833
+ "stroke-linejoin": "round",
9834
+ "stroke-width": "2",
9835
+ d: "M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"
9836
+ }, null, -1);
9837
+ const _hoisted_3$a = [
9838
+ _hoisted_2$g
9839
+ ];
9747
9840
 
9748
- state.fontSize = savedSettings.fontSize;
9749
- state.columns = savedSettings.columns;
9750
- state.mode = savedSettings.mode;
9841
+ function _sfc_render$8(_ctx, _cache) {
9842
+ return (openBlock(), createElementBlock("svg", _hoisted_1$k, _hoisted_3$a))
9843
+ }
9844
+ const IconExpand = /*#__PURE__*/_export_sfc(_sfc_main$m, [['render',_sfc_render$8]]);
9751
9845
 
9752
- if (settings?.fontsOptions &&
9753
- settings?.fontsOptions?.find(item => item.name === savedSettings.textFont)
9754
- ) {
9755
- state.textFont = savedSettings.textFont;
9756
- }
9846
+ const _sfc_main$l = {};
9757
9847
 
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
- }
9848
+ const _hoisted_1$j = {
9849
+ fill: "none",
9850
+ stroke: "currentColor",
9851
+ viewBox: "0 0 24 24",
9852
+ xmlns: "http://www.w3.org/2000/svg"
9853
+ };
9854
+ const _hoisted_2$f = /*#__PURE__*/createBaseVNode("path", {
9855
+ "stroke-linecap": "round",
9856
+ "stroke-linejoin": "round",
9857
+ "stroke-width": "2",
9858
+ d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
9859
+ }, null, -1);
9860
+ const _hoisted_3$9 = /*#__PURE__*/createBaseVNode("path", {
9861
+ "stroke-linecap": "round",
9862
+ "stroke-linejoin": "round",
9863
+ "stroke-width": "2",
9864
+ 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"
9865
+ }, null, -1);
9866
+ const _hoisted_4$3 = [
9867
+ _hoisted_2$f,
9868
+ _hoisted_3$9
9869
+ ];
9767
9870
 
9768
- function setColumns(value) {
9769
- state.columns = value;
9871
+ function _sfc_render$7(_ctx, _cache) {
9872
+ return (openBlock(), createElementBlock("svg", _hoisted_1$j, _hoisted_4$3))
9770
9873
  }
9874
+ const IconEye = /*#__PURE__*/_export_sfc(_sfc_main$l, [['render',_sfc_render$7]]);
9771
9875
 
9772
- function setTextFont(value) {
9773
- state.textFont = value;
9774
- }
9876
+ const _sfc_main$k = {};
9775
9877
 
9776
- function setFontSize(value) {
9777
- state.fontSize = value;
9878
+ const _hoisted_1$i = {
9879
+ fill: "none",
9880
+ stroke: "currentColor",
9881
+ viewBox: "0 0 24 24",
9882
+ xmlns: "http://www.w3.org/2000/svg"
9883
+ };
9884
+ const _hoisted_2$e = /*#__PURE__*/createBaseVNode("path", {
9885
+ "stroke-linecap": "round",
9886
+ "stroke-linejoin": "round",
9887
+ "stroke-width": "2",
9888
+ 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"
9889
+ }, null, -1);
9890
+ const _hoisted_3$8 = [
9891
+ _hoisted_2$e
9892
+ ];
9893
+
9894
+ function _sfc_render$6(_ctx, _cache) {
9895
+ return (openBlock(), createElementBlock("svg", _hoisted_1$i, _hoisted_3$8))
9778
9896
  }
9897
+ const IconFootnote = /*#__PURE__*/_export_sfc(_sfc_main$k, [['render',_sfc_render$6]]);
9779
9898
 
9780
- function setMode(value) {
9781
- state.mode = value;
9899
+ const _sfc_main$j = {};
9782
9900
 
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");
9901
+ const _hoisted_1$h = {
9902
+ viewBox: "0 0 341.5 441.2",
9903
+ fill: "currentColor"
9904
+ };
9905
+ 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);
9906
+ const _hoisted_11 = [
9907
+ _hoisted_2$d
9908
+ ];
9788
9909
 
9789
- } else {
9790
- htmlRoot.classList.remove("light");
9791
- htmlRoot.classList.add("dark");
9792
- }
9793
- }
9910
+ function _sfc_render$5(_ctx, _cache) {
9911
+ return (openBlock(), createElementBlock("svg", _hoisted_1$h, _hoisted_11))
9794
9912
  }
9913
+ const SingleColumn = /*#__PURE__*/_export_sfc(_sfc_main$j, [['render',_sfc_render$5]]);
9795
9914
 
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
- }
9915
+ const _sfc_main$i = {};
9807
9916
 
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
9917
+ const _hoisted_1$g = {
9918
+ viewBox: "0 0 653 441.2",
9919
+ fill: "currentColor"
9821
9920
  };
9921
+ 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);
9922
+ const _hoisted_13 = [
9923
+ _hoisted_2$c
9924
+ ];
9925
+
9926
+ function _sfc_render$4(_ctx, _cache) {
9927
+ return (openBlock(), createElementBlock("svg", _hoisted_1$g, _hoisted_13))
9928
+ }
9929
+ const DoubleColumn = /*#__PURE__*/_export_sfc(_sfc_main$i, [['render',_sfc_render$4]]);
9822
9930
 
9823
- const _hoisted_1$d = { class: "w-full hidden md:grid grid-cols-3 gap-2 mt-3" };
9931
+ const _hoisted_1$f = { class: "w-full hidden md:grid grid-cols-3 gap-2 mt-3" };
9824
9932
 
9825
- const _sfc_main$f = {
9933
+ const _sfc_main$h = {
9826
9934
  __name: 'OptionsColumns',
9827
9935
  setup(__props) {
9828
9936
 
@@ -9831,7 +9939,7 @@ const { width } = useWindowSize();
9831
9939
 
9832
9940
 
9833
9941
  return (_ctx, _cache) => {
9834
- return (openBlock(), createElementBlock("div", _hoisted_1$d, [
9942
+ return (openBlock(), createElementBlock("div", _hoisted_1$f, [
9835
9943
  createBaseVNode("button", {
9836
9944
  class: normalizeClass(["col-span-1 text-primary text-center cursor-pointer py-3 rounded-sm border", {
9837
9945
  'border-gray-300': unref(columns) !== 'single',
@@ -9864,10 +9972,10 @@ return (_ctx, _cache) => {
9864
9972
 
9865
9973
  };
9866
9974
 
9867
- const _hoisted_1$c = { class: "w-full grid grid-cols-4 gap-2 my-3" };
9868
- const _hoisted_2$9 = ["onClick", "title"];
9975
+ const _hoisted_1$e = { class: "w-full grid grid-cols-4 gap-2 my-3" };
9976
+ const _hoisted_2$b = ["onClick", "title"];
9869
9977
 
9870
- const _sfc_main$e = {
9978
+ const _sfc_main$g = {
9871
9979
  __name: 'OptionsFontFamily',
9872
9980
  setup(__props) {
9873
9981
 
@@ -9875,7 +9983,7 @@ const { textFont, fontsOptions, setTextFont } = useReaderSettings;
9875
9983
 
9876
9984
 
9877
9985
  return (_ctx, _cache) => {
9878
- return (openBlock(), createElementBlock("div", _hoisted_1$c, [
9986
+ return (openBlock(), createElementBlock("div", _hoisted_1$e, [
9879
9987
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(fontsOptions), (font) => {
9880
9988
  return (openBlock(), createElementBlock("button", {
9881
9989
  key: font.name,
@@ -9885,7 +9993,7 @@ return (_ctx, _cache) => {
9885
9993
  }]),
9886
9994
  style: normalizeStyle(`font-family: ${font.name}`),
9887
9995
  title: font.label ?? font.name
9888
- }, " Ff ", 14, _hoisted_2$9))
9996
+ }, " Ff ", 14, _hoisted_2$b))
9889
9997
  }), 128))
9890
9998
  ]))
9891
9999
  }
@@ -9893,7 +10001,7 @@ return (_ctx, _cache) => {
9893
10001
 
9894
10002
  };
9895
10003
 
9896
- const _sfc_main$d = {
10004
+ const _sfc_main$f = {
9897
10005
  __name: 'OptionsFontSize',
9898
10006
  setup(__props) {
9899
10007
 
@@ -9916,53 +10024,53 @@ return (_ctx, _cache) => {
9916
10024
 
9917
10025
  };
9918
10026
 
9919
- const _sfc_main$c = {};
10027
+ const _sfc_main$e = {};
9920
10028
 
9921
- const _hoisted_1$b = {
10029
+ const _hoisted_1$d = {
9922
10030
  fill: "none",
9923
10031
  stroke: "currentColor",
9924
10032
  viewBox: "0 0 24 24",
9925
10033
  xmlns: "http://www.w3.org/2000/svg"
9926
10034
  };
9927
- const _hoisted_2$8 = /*#__PURE__*/createBaseVNode("path", {
10035
+ const _hoisted_2$a = /*#__PURE__*/createBaseVNode("path", {
9928
10036
  "stroke-linecap": "round",
9929
10037
  "stroke-linejoin": "round",
9930
10038
  "stroke-width": "2",
9931
10039
  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
10040
  }, null, -1);
9933
- const _hoisted_3$5 = [
9934
- _hoisted_2$8
10041
+ const _hoisted_3$7 = [
10042
+ _hoisted_2$a
9935
10043
  ];
9936
10044
 
9937
- function _sfc_render$2(_ctx, _cache) {
9938
- return (openBlock(), createElementBlock("svg", _hoisted_1$b, _hoisted_3$5))
10045
+ function _sfc_render$3(_ctx, _cache) {
10046
+ return (openBlock(), createElementBlock("svg", _hoisted_1$d, _hoisted_3$7))
9939
10047
  }
9940
- const IconSun = /*#__PURE__*/_export_sfc(_sfc_main$c, [['render',_sfc_render$2]]);
10048
+ const IconSun = /*#__PURE__*/_export_sfc(_sfc_main$e, [['render',_sfc_render$3]]);
9941
10049
 
9942
- const _sfc_main$b = {};
10050
+ const _sfc_main$d = {};
9943
10051
 
9944
- const _hoisted_1$a = {
10052
+ const _hoisted_1$c = {
9945
10053
  fill: "none",
9946
10054
  stroke: "currentColor",
9947
10055
  viewBox: "0 0 24 24",
9948
10056
  xmlns: "http://www.w3.org/2000/svg"
9949
10057
  };
9950
- const _hoisted_2$7 = /*#__PURE__*/createBaseVNode("path", {
10058
+ const _hoisted_2$9 = /*#__PURE__*/createBaseVNode("path", {
9951
10059
  "stroke-linecap": "round",
9952
10060
  "stroke-linejoin": "round",
9953
10061
  "stroke-width": "2",
9954
10062
  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
10063
  }, null, -1);
9956
- const _hoisted_3$4 = [
9957
- _hoisted_2$7
10064
+ const _hoisted_3$6 = [
10065
+ _hoisted_2$9
9958
10066
  ];
9959
10067
 
9960
- function _sfc_render$1(_ctx, _cache) {
9961
- return (openBlock(), createElementBlock("svg", _hoisted_1$a, _hoisted_3$4))
10068
+ function _sfc_render$2(_ctx, _cache) {
10069
+ return (openBlock(), createElementBlock("svg", _hoisted_1$c, _hoisted_3$6))
9962
10070
  }
9963
- const IconMoon = /*#__PURE__*/_export_sfc(_sfc_main$b, [['render',_sfc_render$1]]);
10071
+ const IconMoon = /*#__PURE__*/_export_sfc(_sfc_main$d, [['render',_sfc_render$2]]);
9964
10072
 
9965
- const _sfc_main$a = {
10073
+ const _sfc_main$c = {
9966
10074
  __name: 'OptionsColor',
9967
10075
  setup(__props) {
9968
10076
 
@@ -9995,37 +10103,48 @@ return (_ctx, _cache) => {
9995
10103
 
9996
10104
  };
9997
10105
 
9998
- const _hoisted_1$9 = {
10106
+ const _hoisted_1$b = {
9999
10107
  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
10108
  role: "Opções",
10001
10109
  "aria-orientation": "vertical",
10002
10110
  "aria-labelledby": "options-menu"
10003
10111
  };
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);
10112
+ const _hoisted_2$8 = /*#__PURE__*/createBaseVNode("span", { class: "ml-4" }, "Notas de rodapé", -1);
10113
+ const _hoisted_3$5 = /*#__PURE__*/createBaseVNode("div", { class: "w-full border-b border-areia my-3" }, null, -1);
10114
+ const _hoisted_4$2 = { class: "w-full flex justify-center items-center py-3 lowercase" };
10115
+ const _hoisted_5$2 = /*#__PURE__*/createBaseVNode("span", { class: "ml-4" }, "Visualização", -1);
10116
+ const _hoisted_6$2 = { class: "w-full grid grid-cols-4 gap-2 my-3" };
10117
+ const _hoisted_7$1 = /*#__PURE__*/createBaseVNode("div", { class: "hidden w-full border-b border-areia my-8" }, null, -1);
10008
10118
 
10009
- const _sfc_main$9 = {
10119
+
10120
+ const _sfc_main$b = {
10010
10121
  __name: 'OptionsDropdown',
10011
10122
  setup(__props) {
10012
10123
 
10013
10124
 
10014
10125
  return (_ctx, _cache) => {
10015
- return (openBlock(), createElementBlock("div", _hoisted_1$9, [
10126
+ return (openBlock(), createElementBlock("div", _hoisted_1$b, [
10016
10127
  createBaseVNode("div", null, [
10017
10128
  renderSlot(_ctx.$slots, "optionsTop"),
10018
- createBaseVNode("div", _hoisted_2$6, [
10129
+ createBaseVNode("button", {
10130
+ onClick: _cache[0] || (_cache[0] = withModifiers($event => (unref(useFootnotes).setShowFootnotes(true)), ["prevent"])),
10131
+ class: "w-full flex justify-center items-center py-3 lowercase"
10132
+ }, [
10133
+ createVNode(IconFootnote, { class: "w-6 h-6" }),
10134
+ _hoisted_2$8
10135
+ ]),
10136
+ _hoisted_3$5,
10137
+ createBaseVNode("div", _hoisted_4$2, [
10019
10138
  createVNode(IconEye, { class: "w-6 h-6" }),
10020
- _hoisted_3$3
10139
+ _hoisted_5$2
10021
10140
  ]),
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)
10141
+ createVNode(_sfc_main$h),
10142
+ createVNode(_sfc_main$g),
10143
+ createBaseVNode("div", _hoisted_6$2, [
10144
+ createVNode(_sfc_main$f),
10145
+ createVNode(_sfc_main$c)
10027
10146
  ]),
10028
- _hoisted_5$1,
10147
+ _hoisted_7$1,
10029
10148
  renderSlot(_ctx.$slots, "optionsBottom")
10030
10149
  ])
10031
10150
  ]))
@@ -10034,12 +10153,12 @@ return (_ctx, _cache) => {
10034
10153
 
10035
10154
  };
10036
10155
 
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);
10156
+ const _hoisted_1$a = { class: "flex" };
10157
+ const _hoisted_2$7 = ["aria-expanded"];
10158
+ const _hoisted_3$4 = /*#__PURE__*/createBaseVNode("span", { class: "block mr-3" }, " Opções ", -1);
10040
10159
 
10041
10160
 
10042
- const _sfc_main$8 = {
10161
+ const _sfc_main$a = {
10043
10162
  __name: 'OptionsButton',
10044
10163
  setup(__props) {
10045
10164
 
@@ -10047,7 +10166,11 @@ const show = ref(false);
10047
10166
  const button = ref(null);
10048
10167
 
10049
10168
  const toggleSummary = () => show.value = !show.value;
10050
- const hide = () => show.value = false;
10169
+ const hide = () => {
10170
+ if (!useReaderSettings.blocked.value) {
10171
+ show.value = false;
10172
+ }
10173
+ };
10051
10174
 
10052
10175
  onClickOutside(button, () => hide());
10053
10176
  onKeyStroke('Escape', () => hide());
@@ -10060,7 +10183,7 @@ return (_ctx, _cache) => {
10060
10183
  ref: button,
10061
10184
  class: "relative"
10062
10185
  }, [
10063
- createBaseVNode("div", _hoisted_1$8, [
10186
+ createBaseVNode("div", _hoisted_1$a, [
10064
10187
  createBaseVNode("button", {
10065
10188
  onClick: _cache[0] || (_cache[0] = withModifiers($event => (toggleSummary()), ["prevent"])),
10066
10189
  class: "border p-3 shadow flex items-center border-white text-white",
@@ -10068,7 +10191,7 @@ return (_ctx, _cache) => {
10068
10191
  "aria-haspopup": "true",
10069
10192
  "aria-expanded": show.value
10070
10193
  }, [
10071
- _hoisted_3$2,
10194
+ _hoisted_3$4,
10072
10195
  (show.value)
10073
10196
  ? (openBlock(), createBlock(IconClose, {
10074
10197
  key: 0,
@@ -10078,7 +10201,7 @@ return (_ctx, _cache) => {
10078
10201
  key: 1,
10079
10202
  class: "w-6 h-6"
10080
10203
  }))
10081
- ], 8, _hoisted_2$5),
10204
+ ], 8, _hoisted_2$7),
10082
10205
  createBaseVNode("button", {
10083
10206
  onClick: _cache[1] || (_cache[1] = withModifiers($event => (unref(toggleFullScreen)()), ["prevent"])),
10084
10207
  class: "hidden md:flex items-center border p-3 shadow ml-3 border-white text-white"
@@ -10095,7 +10218,7 @@ return (_ctx, _cache) => {
10095
10218
  "leave-to-class": "opacity-0 scale-95"
10096
10219
  }, {
10097
10220
  default: withCtx(() => [
10098
- withDirectives(createVNode(_sfc_main$9, null, {
10221
+ withDirectives(createVNode(_sfc_main$b, null, {
10099
10222
  optionsTop: withCtx(() => [
10100
10223
  renderSlot(_ctx.$slots, "optionsTop")
10101
10224
  ]),
@@ -10115,16 +10238,16 @@ return (_ctx, _cache) => {
10115
10238
 
10116
10239
  };
10117
10240
 
10118
- const _hoisted_1$7 = { class: "bg-primary flex justify-between items-center p-4" };
10241
+ const _hoisted_1$9 = { class: "bg-primary flex justify-between items-center p-4" };
10119
10242
 
10120
- const _sfc_main$7 = {
10243
+ const _sfc_main$9 = {
10121
10244
  __name: 'HeaderSlot',
10122
10245
  setup(__props) {
10123
10246
 
10124
10247
 
10125
10248
  return (_ctx, _cache) => {
10126
- return (openBlock(), createElementBlock("div", _hoisted_1$7, [
10127
- createVNode(_sfc_main$l, null, {
10249
+ return (openBlock(), createElementBlock("div", _hoisted_1$9, [
10250
+ createVNode(_sfc_main$o, null, {
10128
10251
  summaryTop: withCtx(() => [
10129
10252
  renderSlot(_ctx.$slots, "summaryTop")
10130
10253
  ]),
@@ -10136,7 +10259,7 @@ return (_ctx, _cache) => {
10136
10259
  createBaseVNode("div", null, [
10137
10260
  renderSlot(_ctx.$slots, "header")
10138
10261
  ]),
10139
- createVNode(_sfc_main$8, null, {
10262
+ createVNode(_sfc_main$a, null, {
10140
10263
  optionsTop: withCtx(() => [
10141
10264
  renderSlot(_ctx.$slots, "optionsTop")
10142
10265
  ]),
@@ -10151,9 +10274,9 @@ return (_ctx, _cache) => {
10151
10274
 
10152
10275
  };
10153
10276
 
10154
- const _hoisted_1$6 = ["innerHTML"];
10277
+ const _hoisted_1$8 = ["innerHTML"];
10155
10278
 
10156
- const _sfc_main$6 = {
10279
+ const _sfc_main$8 = {
10157
10280
  __name: 'BookContent',
10158
10281
  props: {
10159
10282
  bookContent: String
@@ -10181,7 +10304,7 @@ return (_ctx, _cache) => {
10181
10304
  ? (openBlock(), createElementBlock("div", {
10182
10305
  key: 0,
10183
10306
  innerHTML: unref(content)
10184
- }, null, 8, _hoisted_1$6))
10307
+ }, null, 8, _hoisted_1$8))
10185
10308
  : renderSlot(_ctx.$slots, "content", { key: 1 })
10186
10309
  ], 512))
10187
10310
  }
@@ -10189,7 +10312,7 @@ return (_ctx, _cache) => {
10189
10312
 
10190
10313
  };
10191
10314
 
10192
- const _sfc_main$5 = {
10315
+ const _sfc_main$7 = {
10193
10316
  name: "NavPrev",
10194
10317
 
10195
10318
  props: {
@@ -10203,66 +10326,66 @@ const _sfc_main$5 = {
10203
10326
  }
10204
10327
  };
10205
10328
 
10206
- const _hoisted_1$5 = {
10329
+ const _hoisted_1$7 = {
10207
10330
  key: 0,
10208
10331
  viewBox: "0 0 20 20",
10209
10332
  fill: "currentColor",
10210
10333
  class: "[ viewer-nav-icon nav-prev ] arrow-narrow-left"
10211
10334
  };
10212
- const _hoisted_2$4 = /*#__PURE__*/createBaseVNode("path", {
10335
+ const _hoisted_2$6 = /*#__PURE__*/createBaseVNode("path", {
10213
10336
  "fill-rule": "evenodd",
10214
10337
  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
10338
  "clip-rule": "evenodd"
10216
10339
  }, null, -1);
10217
- const _hoisted_3$1 = [
10218
- _hoisted_2$4
10340
+ const _hoisted_3$3 = [
10341
+ _hoisted_2$6
10219
10342
  ];
10220
- const _hoisted_4 = {
10343
+ const _hoisted_4$1 = {
10221
10344
  key: 1,
10222
10345
  "data-v-ef9c31bc": "",
10223
10346
  viewBox: "0 0 20 20",
10224
10347
  fill: "currentColor",
10225
10348
  class: "[ viewer-nav-icon nav-next ] right-0 arrow-narrow-right"
10226
10349
  };
10227
- const _hoisted_5 = /*#__PURE__*/createBaseVNode("path", {
10350
+ const _hoisted_5$1 = /*#__PURE__*/createBaseVNode("path", {
10228
10351
  "fill-rule": "evenodd",
10229
10352
  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
10353
  "clip-rule": "evenodd"
10231
10354
  }, null, -1);
10232
- const _hoisted_6 = [
10233
- _hoisted_5
10355
+ const _hoisted_6$1 = [
10356
+ _hoisted_5$1
10234
10357
  ];
10235
10358
 
10236
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
10359
+ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
10237
10360
  return (openBlock(), createElementBlock("button", {
10238
10361
  onClick: _cache[0] || (_cache[0] = withModifiers($event => (_ctx.$emit('clicked')), ["prevent"])),
10239
10362
  class: normalizeClass(["[ viewer-nav ]", $options.type === 'cover' ? 'text-white' : 'text-gray-dark'])
10240
10363
  }, [
10241
10364
  ($props.target === 'prev')
10242
- ? (openBlock(), createElementBlock("svg", _hoisted_1$5, _hoisted_3$1))
10365
+ ? (openBlock(), createElementBlock("svg", _hoisted_1$7, _hoisted_3$3))
10243
10366
  : createCommentVNode("", true),
10244
10367
  ($props.target === 'next')
10245
- ? (openBlock(), createElementBlock("svg", _hoisted_4, _hoisted_6))
10368
+ ? (openBlock(), createElementBlock("svg", _hoisted_4$1, _hoisted_6$1))
10246
10369
  : createCommentVNode("", true)
10247
10370
  ], 2))
10248
10371
  }
10249
- const NavigationButton = /*#__PURE__*/_export_sfc(_sfc_main$5, [['render',_sfc_render]]);
10372
+ const NavigationButton = /*#__PURE__*/_export_sfc(_sfc_main$7, [['render',_sfc_render$1]]);
10250
10373
 
10251
- const _hoisted_1$4 = {
10374
+ const _hoisted_1$6 = {
10252
10375
  id: "engine",
10253
10376
  class: "pt-10 transition-colors"
10254
10377
  };
10255
- const _hoisted_2$3 = { class: "engineWrapper overflow-hidden" };
10378
+ const _hoisted_2$5 = { class: "engineWrapper overflow-hidden" };
10256
10379
 
10257
- const _sfc_main$4 = {
10380
+ const _sfc_main$6 = {
10258
10381
  __name: 'EngineWrapper',
10259
10382
  setup(__props) {
10260
10383
 
10261
10384
  const { next, prev } = usePagination;
10262
10385
 
10263
10386
  return (_ctx, _cache) => {
10264
- return (openBlock(), createElementBlock("div", _hoisted_1$4, [
10265
- createBaseVNode("div", _hoisted_2$3, [
10387
+ return (openBlock(), createElementBlock("div", _hoisted_1$6, [
10388
+ createBaseVNode("div", _hoisted_2$5, [
10266
10389
  createVNode(NavigationButton, {
10267
10390
  target: "prev",
10268
10391
  onClicked: _cache[0] || (_cache[0] = $event => (unref(prev)()))
@@ -10279,10 +10402,10 @@ return (_ctx, _cache) => {
10279
10402
 
10280
10403
  };
10281
10404
 
10282
- const _hoisted_1$3 = { class: "[ typeArea ] h-full relative transition-opacity duration-100 opacity-100 px-2 md:px-24" };
10405
+ const _hoisted_1$5 = { class: "[ typeArea ] h-full relative transition-opacity duration-100 opacity-100 px-2 md:px-24" };
10283
10406
 
10284
10407
 
10285
- const _sfc_main$3 = {
10408
+ const _sfc_main$5 = {
10286
10409
  __name: 'ReaderWrapper',
10287
10410
  setup(__props) {
10288
10411
  const { currentPage } = usePagination;
@@ -10311,7 +10434,7 @@ return (_ctx, _cache) => {
10311
10434
  class: "columnsArea",
10312
10435
  style: normalizeStyle(`margin-left: -${100 * (unref(currentPage) - 1)}%`)
10313
10436
  }, [
10314
- createBaseVNode("div", _hoisted_1$3, [
10437
+ createBaseVNode("div", _hoisted_1$5, [
10315
10438
  renderSlot(_ctx.$slots, "default")
10316
10439
  ])
10317
10440
  ], 4))
@@ -10320,15 +10443,16 @@ return (_ctx, _cache) => {
10320
10443
 
10321
10444
  };
10322
10445
 
10323
- const _hoisted_1$2 = {
10446
+ const _hoisted_1$4 = {
10324
10447
  key: 0,
10325
10448
  tabindex: "0",
10326
10449
  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
10450
  };
10328
- const _hoisted_2$2 = ["innerHTML"];
10329
- const _hoisted_3 = { class: "mt-3 flex self-end" };
10451
+ const _hoisted_2$4 = ["innerHTML"];
10452
+ const _hoisted_3$2 = { class: "mt-3 flex self-end" };
10330
10453
 
10331
- const _sfc_main$2 = {
10454
+
10455
+ const _sfc_main$4 = {
10332
10456
  __name: 'ReferencePopup',
10333
10457
  setup(__props) {
10334
10458
 
@@ -10339,7 +10463,9 @@ function closeRef() {
10339
10463
  }
10340
10464
 
10341
10465
  onKeyStroke('Escape', () => {
10342
- setHighlightedReference(null);
10466
+ if (!useReaderSettings.blocked.value) {
10467
+ setHighlightedReference(null);
10468
+ }
10343
10469
  });
10344
10470
 
10345
10471
 
@@ -10354,12 +10480,12 @@ return (_ctx, _cache) => {
10354
10480
  }, {
10355
10481
  default: withCtx(() => [
10356
10482
  (unref(reference))
10357
- ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
10483
+ ? (openBlock(), createElementBlock("div", _hoisted_1$4, [
10358
10484
  createBaseVNode("p", {
10359
10485
  class: "w-4/5",
10360
10486
  innerHTML: unref(reference).ref
10361
- }, null, 8, _hoisted_2$2),
10362
- createBaseVNode("div", _hoisted_3, [
10487
+ }, null, 8, _hoisted_2$4),
10488
+ createBaseVNode("div", _hoisted_3$2, [
10363
10489
  createBaseVNode("button", {
10364
10490
  onClick: _cache[0] || (_cache[0] = withModifiers($event => (closeRef()), ["prevent"])),
10365
10491
  class: "button button-negative"
@@ -10377,10 +10503,10 @@ return (_ctx, _cache) => {
10377
10503
 
10378
10504
  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
10505
 
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);
10506
+ const _hoisted_1$3 = { class: "py-2 px-10 text-gray-700 dark:text-white" };
10507
+ const _hoisted_2$3 = /*#__PURE__*/createBaseVNode("p", null, " ", -1);
10382
10508
 
10383
- const _sfc_main$1 = {
10509
+ const _sfc_main$3 = {
10384
10510
  __name: 'FooterSlot',
10385
10511
  setup(__props) {
10386
10512
 
@@ -10392,9 +10518,9 @@ function format() {
10392
10518
 
10393
10519
 
10394
10520
  return (_ctx, _cache) => {
10395
- return (openBlock(), createElementBlock("div", _hoisted_1$1, [
10521
+ return (openBlock(), createElementBlock("div", _hoisted_1$3, [
10396
10522
  renderSlot(_ctx.$slots, "footer", {}, () => [
10397
- _hoisted_2$1
10523
+ _hoisted_2$3
10398
10524
  ]),
10399
10525
  createVNode(unref(m), {
10400
10526
  modelValue: unref(currentPage),
@@ -10413,7 +10539,147 @@ return (_ctx, _cache) => {
10413
10539
 
10414
10540
  };
10415
10541
 
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";
10542
+ const _sfc_main$2 = {};
10543
+
10544
+ const _hoisted_1$2 = {
10545
+ xmlns: "http://www.w3.org/2000/svg",
10546
+ fill: "none",
10547
+ viewBox: "0 0 24 24",
10548
+ stroke: "currentColor"
10549
+ };
10550
+ const _hoisted_2$2 = /*#__PURE__*/createBaseVNode("path", {
10551
+ "stroke-linecap": "round",
10552
+ "stroke-linejoin": "round",
10553
+ "stroke-width": "2",
10554
+ 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"
10555
+ }, null, -1);
10556
+ const _hoisted_3$1 = [
10557
+ _hoisted_2$2
10558
+ ];
10559
+
10560
+ function _sfc_render(_ctx, _cache) {
10561
+ return (openBlock(), createElementBlock("svg", _hoisted_1$2, _hoisted_3$1))
10562
+ }
10563
+ const IconNotes = /*#__PURE__*/_export_sfc(_sfc_main$2, [['render',_sfc_render]]);
10564
+
10565
+ const FootnotesAside_vue_vue_type_style_index_0_scoped_a72e8c45_lang = '';
10566
+
10567
+ const _hoisted_1$1 = {
10568
+ key: 0,
10569
+ id: "asidebar",
10570
+ class: "absolute top-0 right-0 w-96 md:w-[40em] flex-shrink-0 h-screen overflow-auto overflow-x-hidden z-20 shadow-2xl"
10571
+ };
10572
+ const _hoisted_2$1 = { class: "w-full p-4" };
10573
+ const _hoisted_3 = { class: "text-areia py-4 pl-4" };
10574
+ const _hoisted_4 = { class: "flex items-center mb-6" };
10575
+ const _hoisted_5 = { class: "ml-4" };
10576
+ const _hoisted_6 = /*#__PURE__*/createTextVNode(" Notas de rodapé ");
10577
+ const _hoisted_7 = { class: "ml-10" };
10578
+ const _hoisted_8 = ["id", "innerHTML"];
10579
+
10580
+
10581
+ const _sfc_main$1 = {
10582
+ __name: 'FootnotesAside',
10583
+ setup(__props) {
10584
+
10585
+ const show = computed(() => useFootnotes.footnote.value);
10586
+ const footnote = computed(() => useFootnotes.footnote.value);
10587
+ const showFootnotes = computed(() => useFootnotes.showFootnotes.value);
10588
+ const footnotes = computed(() => useFootnotes.footnotes.value);
10589
+
10590
+ const oldBlockedValue = ref(null);
10591
+ const footnoteList = ref(null);
10592
+
10593
+ function hideAside() {
10594
+ useFootnotes.setHighlightedFootnote(null);
10595
+ useFootnotes.setShowFootnotes(false);
10596
+ }
10597
+
10598
+ onKeyStroke('Escape', () => {
10599
+ if (footnote.value || showFootnotes.value) {
10600
+ hideAside();
10601
+ }
10602
+ });
10603
+
10604
+ watch(
10605
+ [footnote, showFootnotes],
10606
+ () => {
10607
+ if (footnote.value || showFootnotes.value) {
10608
+ if (useReaderSettings.blocked.value === false) {
10609
+ oldBlockedValue.value = useReaderSettings.blocked.value;
10610
+ }
10611
+ useReaderSettings.setBlocked(true);
10612
+
10613
+ } else {
10614
+ if (oldBlockedValue.value === false) {
10615
+ useReaderSettings.setBlocked(oldBlockedValue.value);
10616
+ }
10617
+ oldBlockedValue.value = null;
10618
+ }
10619
+
10620
+ if (footnote.value) {
10621
+ setTimeout(() => {
10622
+ const element = footnoteList.value.querySelector(`#${footnote.value.id}`);
10623
+ element.scrollIntoView();
10624
+ element.focus();
10625
+ }, 50);
10626
+ }
10627
+ }
10628
+ );
10629
+
10630
+
10631
+ return (_ctx, _cache) => {
10632
+ return (openBlock(), createBlock(Transition, { name: "width" }, {
10633
+ default: withCtx(() => [
10634
+ (unref(show) || unref(showFootnotes))
10635
+ ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
10636
+ createBaseVNode("button", {
10637
+ onClick: _cache[0] || (_cache[0] = withModifiers($event => (hideAside()), ["prevent"])),
10638
+ class: "fixed top-4 right-8 z-20"
10639
+ }, [
10640
+ createVNode(IconClose, { class: "w-6 h-6 text-white" })
10641
+ ]),
10642
+ createBaseVNode("div", _hoisted_2$1, [
10643
+ createBaseVNode("header", _hoisted_3, [
10644
+ createBaseVNode("div", _hoisted_4, [
10645
+ createVNode(IconNotes, { class: "w-8 h-8" }),
10646
+ createBaseVNode("span", _hoisted_5, [
10647
+ _hoisted_6,
10648
+ createBaseVNode("span", _hoisted_7, toDisplayString(unref(footnotes).length), 1)
10649
+ ])
10650
+ ])
10651
+ ]),
10652
+ createBaseVNode("section", null, [
10653
+ createBaseVNode("ul", {
10654
+ ref_key: "footnoteList",
10655
+ ref: footnoteList
10656
+ }, [
10657
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(footnotes), (footnoteItem, index) => {
10658
+ return (openBlock(), createElementBlock("li", {
10659
+ key: footnoteItem.id,
10660
+ id: footnoteItem.id,
10661
+ innerHTML: `<span class='footnote-index'>${index + 1}.</span> ${footnoteItem.text}`,
10662
+ 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
10663
+ ? 'opacity-50'
10664
+ : 'opacity-100'
10665
+ ])
10666
+ }, null, 10, _hoisted_8))
10667
+ }), 128))
10668
+ ], 512)
10669
+ ])
10670
+ ])
10671
+ ]))
10672
+ : createCommentVNode("", true)
10673
+ ]),
10674
+ _: 1
10675
+ }))
10676
+ }
10677
+ }
10678
+
10679
+ };
10680
+ const FootnotesAside = /*#__PURE__*/_export_sfc(_sfc_main$1, [['__scopeId',"data-v-a72e8c45"]]);
10681
+
10682
+ 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(--sidebar-backgorund, #690000);\n\tcolor: var(--sidebar-text, #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
10683
 
10418
10684
  const _hoisted_1 = { class: "rootWrapper" };
10419
10685
  const _hoisted_2 = { class: "text-white text-center text-xs" };
@@ -10425,6 +10691,7 @@ const _sfc_main = {
10425
10691
  bookTitle: String,
10426
10692
  bookContent: String,
10427
10693
  readerSettings: String,
10694
+ readerBlocked: Boolean,
10428
10695
  rootClass: {
10429
10696
  type: String,
10430
10697
  default: ''
@@ -10440,8 +10707,7 @@ const props = __props;
10440
10707
 
10441
10708
  const { initSettings, baseFont, textFont, fontSize, columns, setColumns, mode } = useReaderSettings;
10442
10709
  const { currentPage, totalPages, init } = usePagination;
10443
- const { content } = useTextContent;
10444
- const { listenToReferencesClick } = useReferences;
10710
+ const { content, listenToClicks } = useTextContent;
10445
10711
  const { width, height } = useWindowSize();
10446
10712
 
10447
10713
  const readerComponent = ref(null);
@@ -10452,6 +10718,10 @@ onMounted(async () => {
10452
10718
  init(readerComponent, contentArea);
10453
10719
  initSettings(props.readerSettings);
10454
10720
 
10721
+ if (['string', 'boolean'].includes(typeof props.readerBlocked)) {
10722
+ useReaderSettings.setBlocked(props.readerBlocked);
10723
+ }
10724
+
10455
10725
  if (props.cssFile) {
10456
10726
  useStyles.stylesheetLoader(props.cssFile, rootComponent);
10457
10727
  }
@@ -10461,6 +10731,20 @@ onMounted(async () => {
10461
10731
  }
10462
10732
  });
10463
10733
 
10734
+ watch(
10735
+ props,
10736
+ () => {
10737
+ console.log(props);
10738
+ if (props.hasOwnProperty('readerBlocked')) {
10739
+ const readerBlocked = typeof props.readerBlocked === 'boolean'
10740
+ ? props.readerBlocked
10741
+ : props.readerBlocked === 'true';
10742
+ console.log(readerBlocked);
10743
+ useReaderSettings.setBlocked(readerBlocked);
10744
+ }
10745
+ }
10746
+ );
10747
+
10464
10748
  watchDebounced(
10465
10749
  [width, height, content, columns, fontSize, textFont],
10466
10750
  () => {
@@ -10473,7 +10757,7 @@ watchDebounced(
10473
10757
  );
10474
10758
 
10475
10759
  watchDebounced(content,
10476
- () => listenToReferencesClick(contentArea),
10760
+ () => listenToClicks(contentArea),
10477
10761
  { debounce: 125, maxWait: 250 }
10478
10762
  );
10479
10763
 
@@ -10492,7 +10776,7 @@ return (_ctx, _cache) => {
10492
10776
  ),
10493
10777
  style: normalizeStyle(`font-family: ${unref(baseFont)}`)
10494
10778
  }, [
10495
- createVNode(_sfc_main$7, null, {
10779
+ createVNode(_sfc_main$9, null, {
10496
10780
  header: withCtx(() => [
10497
10781
  renderSlot(_ctx.$slots, "header", {}, () => [
10498
10782
  createBaseVNode("p", _hoisted_2, toDisplayString(props.bookTitle), 1)
@@ -10512,14 +10796,14 @@ return (_ctx, _cache) => {
10512
10796
  ]),
10513
10797
  _: 3
10514
10798
  }),
10515
- createVNode(_sfc_main$4, null, {
10799
+ createVNode(_sfc_main$6, null, {
10516
10800
  default: withCtx(() => [
10517
10801
  createBaseVNode("div", {
10518
10802
  id: "reader-component",
10519
10803
  ref_key: "readerComponent",
10520
10804
  ref: readerComponent
10521
10805
  }, [
10522
- createVNode(_sfc_main$3, null, {
10806
+ createVNode(_sfc_main$5, null, {
10523
10807
  default: withCtx(() => [
10524
10808
  createBaseVNode("section", {
10525
10809
  id: "content-area",
@@ -10527,7 +10811,7 @@ return (_ctx, _cache) => {
10527
10811
  ref: contentArea,
10528
10812
  style: normalizeStyle(`font-family: ${unref(textFont)}; font-size: ${unref(fontSize)}px`)
10529
10813
  }, [
10530
- createVNode(_sfc_main$6, { bookContent: __props.bookContent }, {
10814
+ createVNode(_sfc_main$8, { bookContent: __props.bookContent }, {
10531
10815
  content: withCtx(() => [
10532
10816
  renderSlot(_ctx.$slots, "content")
10533
10817
  ]),
@@ -10541,12 +10825,13 @@ return (_ctx, _cache) => {
10541
10825
  ]),
10542
10826
  _: 3
10543
10827
  }),
10544
- createVNode(_sfc_main$1, {
10828
+ createVNode(_sfc_main$3, {
10545
10829
  currPage: unref(currentPage),
10546
10830
  totalPages: unref(totalPages)
10547
10831
  }, null, 8, ["currPage", "totalPages"]),
10548
- createVNode(_sfc_main$2)
10549
- ], 6)
10832
+ createVNode(_sfc_main$4)
10833
+ ], 6),
10834
+ createVNode(FootnotesAside)
10550
10835
  ]))
10551
10836
  }
10552
10837
  }
@@ -10554,7 +10839,7 @@ return (_ctx, _cache) => {
10554
10839
  };
10555
10840
  const App = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]]]);
10556
10841
 
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}";
10842
+ 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-6 {\n margin-bottom: 1.5rem;\n}\n\n.ml-4 {\n margin-left: 1rem;\n}\n\n.ml-10 {\n margin-left: 2.5rem;\n}\n\n.mt-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-\\[40em\\] {\n width: 40em;\n }\n\n .md\\:w-2\\/5 {\n width: 40%;\n }\n\n .md\\:px-24 {\n padding-left: 6rem;\n padding-right: 6rem;\n }\n}";
10558
10843
 
10559
10844
  // https://maximomussini.com/posts/vue-custom-elements
10560
10845