paginar 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/README.md +5 -5
  2. package/demo/slot/slot-chapter1.html +40 -5
  3. package/demo/slot/slot-chapter2.html +7 -0
  4. package/demo/slot/slot-chapter3.html +6 -0
  5. package/demo/summary/_content/1chapter.html +5 -5
  6. package/demo/summary/_content/2chapter.html +2 -2
  7. package/demo/summary/index.html +25 -1
  8. package/dist/index.es.js +470 -268
  9. package/dist/index.es.js.map +1 -1
  10. package/dist/style.css +63 -46
  11. package/package.json +4 -2
  12. package/src/App.ce.vue +62 -52
  13. package/src/assets/main.css +279 -13
  14. package/src/components/BookContent.vue +23 -0
  15. package/src/components/EngineWrapper.vue +2 -10
  16. package/src/components/FooterSlot.vue +32 -0
  17. package/src/components/HeaderSlot/{HeaderSlot.ce.vue → HeaderSlot.vue} +30 -37
  18. package/src/components/HeaderSlot/OptionsButton/{OptionsButton.ce.vue → OptionsButton.vue} +7 -9
  19. package/src/components/HeaderSlot/OptionsButton/OptionsColor.vue +2 -2
  20. package/src/components/HeaderSlot/OptionsButton/OptionsColumns.vue +5 -5
  21. package/src/components/HeaderSlot/OptionsButton/OptionsFontFamily.vue +2 -2
  22. package/src/components/HeaderSlot/SummaryButton/{SummaryButton.ce.vue → SummaryButton.vue} +2 -7
  23. package/src/components/HeaderSlot/SummaryButton/SummaryDropdown.vue +30 -29
  24. package/src/components/{NavigationButton.ce.vue → NavigationButton.vue} +0 -0
  25. package/src/components/ReferencePopup.vue +31 -0
  26. package/src/composables/useFootnotes.js +27 -0
  27. package/src/composables/usePagination.js +9 -0
  28. package/src/composables/useReferences.js +63 -0
  29. package/src/composables/useTextContent.js +35 -4
  30. package/src/main.js +1 -3
  31. package/src/tailwind.css +63 -46
  32. package/src/components/FileContent.ce.vue +0 -20
  33. package/src/components/FooterSlot.ce.vue +0 -22
package/dist/index.es.js CHANGED
@@ -1277,6 +1277,37 @@ function proxyRefs(objectWithRefs) {
1277
1277
  ? objectWithRefs
1278
1278
  : new Proxy(objectWithRefs, shallowUnwrapHandlers);
1279
1279
  }
1280
+ function toRefs(object) {
1281
+ if (({}.NODE_ENV !== 'production') && !isProxy(object)) {
1282
+ console.warn(`toRefs() expects a reactive object but received a plain one.`);
1283
+ }
1284
+ const ret = isArray(object) ? new Array(object.length) : {};
1285
+ for (const key in object) {
1286
+ ret[key] = toRef(object, key);
1287
+ }
1288
+ return ret;
1289
+ }
1290
+ class ObjectRefImpl {
1291
+ constructor(_object, _key, _defaultValue) {
1292
+ this._object = _object;
1293
+ this._key = _key;
1294
+ this._defaultValue = _defaultValue;
1295
+ this.__v_isRef = true;
1296
+ }
1297
+ get value() {
1298
+ const val = this._object[this._key];
1299
+ return val === undefined ? this._defaultValue : val;
1300
+ }
1301
+ set value(newVal) {
1302
+ this._object[this._key] = newVal;
1303
+ }
1304
+ }
1305
+ function toRef(object, key, defaultValue) {
1306
+ const val = object[key];
1307
+ return isRef(val)
1308
+ ? val
1309
+ : new ObjectRefImpl(object, key, defaultValue);
1310
+ }
1280
1311
 
1281
1312
  class ComputedRefImpl {
1282
1313
  constructor(getter, _setter, isReadonly, isSSR) {
@@ -7257,7 +7288,7 @@ const computed = ((getterOrOptions, debugOptions) => {
7257
7288
  });
7258
7289
 
7259
7290
  // Actual implementation
7260
- function h(type, propsOrChildren, children) {
7291
+ function h$1(type, propsOrChildren, children) {
7261
7292
  const l = arguments.length;
7262
7293
  if (l === 2) {
7263
7294
  if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
@@ -7788,12 +7819,12 @@ const [_getNow, skipTimestampCheck] = /*#__PURE__*/ (() => {
7788
7819
  // To avoid the overhead of repeatedly calling performance.now(), we cache
7789
7820
  // and use the same timestamp for all event listeners attached in the same tick.
7790
7821
  let cachedNow = 0;
7791
- const p = /*#__PURE__*/ Promise.resolve();
7822
+ const p$1 = /*#__PURE__*/ Promise.resolve();
7792
7823
  const reset = () => {
7793
7824
  cachedNow = 0;
7794
7825
  };
7795
- const getNow = () => cachedNow || (p.then(reset), (cachedNow = _getNow()));
7796
- function addEventListener(el, event, handler, options) {
7826
+ const getNow = () => cachedNow || (p$1.then(reset), (cachedNow = _getNow()));
7827
+ function addEventListener$1(el, event, handler, options) {
7797
7828
  el.addEventListener(event, handler, options);
7798
7829
  }
7799
7830
  function removeEventListener(el, event, handler, options) {
@@ -7812,7 +7843,7 @@ function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
7812
7843
  if (nextValue) {
7813
7844
  // add
7814
7845
  const invoker = (invokers[rawName] = createInvoker(nextValue, instance));
7815
- addEventListener(el, name, invoker, options);
7846
+ addEventListener$1(el, name, invoker, options);
7816
7847
  }
7817
7848
  else if (existingInvoker) {
7818
7849
  // remove
@@ -8157,7 +8188,7 @@ const TRANSITION = 'transition';
8157
8188
  const ANIMATION = 'animation';
8158
8189
  // DOM Transition is a higher-order-component based on the platform-agnostic
8159
8190
  // base Transition component, with DOM-specific logic.
8160
- const Transition = (props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots);
8191
+ const Transition = (props, { slots }) => h$1(BaseTransition, resolveTransitionProps(props), slots);
8161
8192
  Transition.displayName = 'Transition';
8162
8193
  const DOMTransitionPropsValidators = {
8163
8194
  name: String,
@@ -8989,62 +9020,62 @@ const _export_sfc = (sfc, props) => {
8989
9020
  return target;
8990
9021
  };
8991
9022
 
8992
- const _sfc_main$o = {};
9023
+ const _sfc_main$p = {};
8993
9024
 
8994
- const _hoisted_1$m = {
9025
+ const _hoisted_1$n = {
8995
9026
  fill: "none",
8996
9027
  stroke: "currentColor",
8997
9028
  viewBox: "0 0 20 22",
8998
9029
  xmlns: "http://www.w3.org/2000/svg"
8999
9030
  };
9000
- const _hoisted_2$f = /*#__PURE__*/createBaseVNode("path", {
9031
+ const _hoisted_2$i = /*#__PURE__*/createBaseVNode("path", {
9001
9032
  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",
9002
9033
  "stroke-width": "2",
9003
9034
  "stroke-linecap": "round",
9004
9035
  "stroke-linejoin": "round"
9005
9036
  }, null, -1);
9006
- const _hoisted_3$a = /*#__PURE__*/createBaseVNode("path", {
9037
+ const _hoisted_3$b = /*#__PURE__*/createBaseVNode("path", {
9007
9038
  d: "M7 21V11H13V21",
9008
9039
  "stroke-width": "2",
9009
9040
  "stroke-linecap": "round",
9010
9041
  "stroke-linejoin": "round"
9011
9042
  }, null, -1);
9012
9043
  const _hoisted_4$4 = [
9013
- _hoisted_2$f,
9014
- _hoisted_3$a
9044
+ _hoisted_2$i,
9045
+ _hoisted_3$b
9015
9046
  ];
9016
9047
 
9017
9048
  function _sfc_render$a(_ctx, _cache) {
9018
- return (openBlock(), createElementBlock("svg", _hoisted_1$m, _hoisted_4$4))
9049
+ return (openBlock(), createElementBlock("svg", _hoisted_1$n, _hoisted_4$4))
9019
9050
  }
9020
- const IconHome = /*#__PURE__*/_export_sfc(_sfc_main$o, [['render',_sfc_render$a]]);
9051
+ const IconHome = /*#__PURE__*/_export_sfc(_sfc_main$p, [['render',_sfc_render$a]]);
9021
9052
 
9022
- const _sfc_main$n = {};
9053
+ const _sfc_main$o = {};
9023
9054
 
9024
- const _hoisted_1$l = {
9055
+ const _hoisted_1$m = {
9025
9056
  fill: "none",
9026
9057
  stroke: "currentColor",
9027
9058
  viewBox: "0 0 24 24",
9028
9059
  xmlns: "http://www.w3.org/2000/svg"
9029
9060
  };
9030
- const _hoisted_2$e = /*#__PURE__*/createBaseVNode("path", {
9061
+ const _hoisted_2$h = /*#__PURE__*/createBaseVNode("path", {
9031
9062
  "stroke-linecap": "round",
9032
9063
  "stroke-linejoin": "round",
9033
9064
  "stroke-width": "2",
9034
9065
  d: "M6 18L18 6M6 6l12 12"
9035
9066
  }, null, -1);
9036
- const _hoisted_3$9 = [
9037
- _hoisted_2$e
9067
+ const _hoisted_3$a = [
9068
+ _hoisted_2$h
9038
9069
  ];
9039
9070
 
9040
9071
  function _sfc_render$9(_ctx, _cache) {
9041
- return (openBlock(), createElementBlock("svg", _hoisted_1$l, _hoisted_3$9))
9072
+ return (openBlock(), createElementBlock("svg", _hoisted_1$m, _hoisted_3$a))
9042
9073
  }
9043
- const IconClose = /*#__PURE__*/_export_sfc(_sfc_main$n, [['render',_sfc_render$9]]);
9074
+ const IconClose = /*#__PURE__*/_export_sfc(_sfc_main$o, [['render',_sfc_render$9]]);
9044
9075
 
9045
- const _sfc_main$m = {};
9076
+ const _sfc_main$n = {};
9046
9077
 
9047
- const _hoisted_1$k = {
9078
+ const _hoisted_1$l = {
9048
9079
  width: "24",
9049
9080
  height: "19",
9050
9081
  viewBox: "0 0 24 19",
@@ -9052,15 +9083,76 @@ const _hoisted_1$k = {
9052
9083
  stroke: "currentColor",
9053
9084
  xmlns: "http://www.w3.org/2000/svg"
9054
9085
  };
9055
- const _hoisted_2$d = /*#__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);
9086
+ 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);
9056
9087
  const _hoisted_8 = [
9057
- _hoisted_2$d
9088
+ _hoisted_2$g
9058
9089
  ];
9059
9090
 
9060
9091
  function _sfc_render$8(_ctx, _cache) {
9061
- return (openBlock(), createElementBlock("svg", _hoisted_1$k, _hoisted_8))
9092
+ return (openBlock(), createElementBlock("svg", _hoisted_1$l, _hoisted_8))
9062
9093
  }
9063
- const IconSummary = /*#__PURE__*/_export_sfc(_sfc_main$m, [['render',_sfc_render$8]]);
9094
+ const IconSummary = /*#__PURE__*/_export_sfc(_sfc_main$n, [['render',_sfc_render$8]]);
9095
+
9096
+ const state$4 = reactive({
9097
+ references: [],
9098
+ reference: null
9099
+ });
9100
+
9101
+ const references = computed(() => state$4.references);
9102
+
9103
+ function setReferences(references) {
9104
+ state$4.references = references;
9105
+ }
9106
+
9107
+ const reference = computed(() => state$4.reference);
9108
+
9109
+ function setHighlightedReference(reference) {
9110
+ state$4.reference = reference;
9111
+ }
9112
+
9113
+ function applyReferences(contentRaw) {
9114
+ if (state$4.references.length === 0 || !contentRaw)
9115
+ return contentRaw
9116
+
9117
+ return state$4.references.reduce((content, reference) => {
9118
+ if (!content) return content
9119
+
9120
+ if (content.includes(reference.cit)) {
9121
+ const regex = new RegExp(reference.cit, 'g');
9122
+ const newContent = content.replace(
9123
+ regex,
9124
+ `<span class='reference' data-ref='${reference.cit}'>${reference.cit}</span>`
9125
+ );
9126
+ return newContent
9127
+ }
9128
+ return content
9129
+ }, contentRaw)
9130
+ }
9131
+
9132
+ function listenToReferencesClick(contentWrapper) {
9133
+ setTimeout(() => {
9134
+ useEventListener(contentWrapper, 'click', getClickedReferenceData);
9135
+ }, 100);
9136
+ }
9137
+
9138
+ function getClickedReferenceData(event) {
9139
+ console.log(event.target.classList);
9140
+ if (event.target.classList.value.includes('reference')) {
9141
+ const ref = state$4.references.find(item => item.cit === event.target.innerText);
9142
+ if (ref) {
9143
+ state$4.reference = ref;
9144
+ }
9145
+ }
9146
+ }
9147
+
9148
+ const useReferences = {
9149
+ references,
9150
+ reference,
9151
+ setReferences,
9152
+ setHighlightedReference,
9153
+ applyReferences,
9154
+ listenToReferencesClick
9155
+ };
9064
9156
 
9065
9157
  const state$3 = reactive({
9066
9158
  summary: null,
@@ -9070,7 +9162,9 @@ const state$3 = reactive({
9070
9162
  const content = computed(() => state$3.content);
9071
9163
  const summary = computed(() => state$3.summary);
9072
9164
 
9073
- async function initContent(contentString) {
9165
+ async function initContent(contentString, contentWrapper) {
9166
+ const { setReferences, applyReferences, listenToReferencesClick } = useReferences;
9167
+
9074
9168
  const content = contentString
9075
9169
  ? JSON.parse(contentString)
9076
9170
  : null;
@@ -9078,27 +9172,54 @@ async function initContent(contentString) {
9078
9172
  if (content?.summary)
9079
9173
  state$3.summary = content.summary;
9080
9174
 
9175
+ if (content?.references)
9176
+ setReferences(content.references);
9177
+
9178
+ // if content comes from file, apply references to file
9081
9179
  if (content?.summary?.[0]?.file) {
9082
- getContent(content.summary?.[0]?.file);
9180
+ const text = await getContent(content.summary?.[0]?.file);
9181
+ const newContent = applyReferences(text);
9182
+ state$3.content = newContent;
9183
+
9184
+ // else if content comes from slot, apply references to slot
9185
+ } else {
9186
+ const content = document.querySelectorAll('[slot="content"]');
9187
+
9188
+ if (content && content?.[0]?.innerHTML) {
9189
+ const newContent = applyReferences(content?.[0]?.innerHTML);
9190
+ if (newContent) {
9191
+ content[0].innerHTML = newContent;
9192
+ }
9193
+ }
9083
9194
  }
9195
+
9196
+ // after applying references above, now we start to listen to its clicks
9197
+ listenToReferencesClick(contentWrapper);
9084
9198
  }
9085
9199
 
9086
9200
  async function getContent(location) {
9087
9201
  try {
9088
9202
  const dataRef = await fetch(location);
9089
9203
  const text = await dataRef.text();
9090
- state$3.content = text;
9204
+ return text
9091
9205
  } catch (err) {
9092
9206
  console.log({ err });
9093
9207
  state$3.content = 'Ops, não foi possível carregar o arquivo solicitado.';
9094
9208
  }
9095
9209
  }
9096
9210
 
9211
+ function applyContent(text) {
9212
+ const { applyReferences } = useReferences;
9213
+ const newContent = applyReferences(text);
9214
+ state$3.content = newContent;
9215
+ }
9216
+
9097
9217
  const useTextContent = {
9098
9218
  content,
9099
9219
  summary,
9100
9220
  initContent,
9101
- getContent
9221
+ getContent,
9222
+ applyContent
9102
9223
  };
9103
9224
 
9104
9225
  const state$2 = reactive({
@@ -9137,6 +9258,7 @@ const totalPages = computed(() => useEstimatePages.totalPages.value);
9137
9258
 
9138
9259
  function init(viewport, content) {
9139
9260
  useEstimatePages.estimate(viewport, content);
9261
+ addEventListener('wheel', onWheel);
9140
9262
  }
9141
9263
 
9142
9264
  // when resizing the viewport, totalPages change
@@ -9158,6 +9280,13 @@ onKeyStroke('ArrowRight', (e) => {
9158
9280
  next();
9159
9281
  });
9160
9282
 
9283
+ function onWheel(event) {
9284
+ if (event.wheelDelta < 0) {
9285
+ next();
9286
+ } else {
9287
+ prev();
9288
+ }
9289
+ }
9161
9290
  function prev() {
9162
9291
  if ((state$1.currentPage - 1) > 0) {
9163
9292
  state$1.currentPage = state$1.currentPage - 1;
@@ -9182,18 +9311,19 @@ const usePagination = {
9182
9311
  set
9183
9312
  };
9184
9313
 
9185
- const _hoisted_1$j = ["role"];
9314
+ const _hoisted_1$k = ["role"];
9186
9315
 
9187
- const _sfc_main$l = {
9316
+ const _sfc_main$m = {
9188
9317
  __name: 'SummaryDropdown',
9189
9318
  setup(__props) {
9190
-
9191
- const { summary } = useTextContent;
9192
-
9193
- function getChapter(item) {
9194
- useTextContent.getContent(item.file);
9195
- usePagination.set(1);
9196
- }
9319
+
9320
+ const { summary } = useTextContent;
9321
+
9322
+ async function getChapter(item) {
9323
+ const text = await useTextContent.getContent(item.file);
9324
+ useTextContent.applyContent(text);
9325
+ usePagination.set(1);
9326
+ }
9197
9327
 
9198
9328
  return (_ctx, _cache) => {
9199
9329
  return (openBlock(), createElementBlock("div", {
@@ -9220,24 +9350,24 @@ return (_ctx, _cache) => {
9220
9350
  }), 128)),
9221
9351
  renderSlot(_ctx.$slots, "summaryBottom")
9222
9352
  ])
9223
- ], 8, _hoisted_1$j))
9353
+ ], 8, _hoisted_1$k))
9224
9354
  }
9225
9355
  }
9226
9356
 
9227
9357
  };
9228
9358
 
9229
- const _hoisted_1$i = { class: "flex" };
9230
- const _hoisted_2$c = {
9359
+ const _hoisted_1$j = { class: "flex" };
9360
+ const _hoisted_2$f = {
9231
9361
  href: "/",
9232
9362
  title: "Homepage",
9233
- class: "hidden md:flex items-center border p-3 shadow mr-3 border-gray-800 text-gray-800 dark:border-white dark:text-white"
9363
+ class: "hidden md:flex items-center border p-3 shadow mr-3 border-white text-white"
9234
9364
  };
9235
- const _hoisted_3$8 = ["aria-expanded"];
9365
+ const _hoisted_3$9 = ["aria-expanded"];
9236
9366
  const _hoisted_4$3 = /*#__PURE__*/createBaseVNode("span", { class: "block ml-3" }, " Sumário ", -1);
9237
9367
 
9238
9368
 
9239
- const _sfc_main$k = {
9240
- __name: 'SummaryButton.ce',
9369
+ const _sfc_main$l = {
9370
+ __name: 'SummaryButton',
9241
9371
  setup(__props) {
9242
9372
 
9243
9373
  const show = ref(false);
@@ -9255,17 +9385,13 @@ return (_ctx, _cache) => {
9255
9385
  ref: button,
9256
9386
  class: "relative"
9257
9387
  }, [
9258
- createBaseVNode("div", _hoisted_1$i, [
9259
- createBaseVNode("a", _hoisted_2$c, [
9388
+ createBaseVNode("div", _hoisted_1$j, [
9389
+ createBaseVNode("a", _hoisted_2$f, [
9260
9390
  createVNode(IconHome, { class: "w-6 h-6" })
9261
9391
  ]),
9262
9392
  createBaseVNode("button", {
9263
9393
  onClick: _cache[0] || (_cache[0] = withModifiers($event => (toggleSummary()), ["prevent"])),
9264
- class: normalizeClass(["border p-3 shadow flex items-center", {
9265
- 'border-white text-white': _ctx.invertBackground || show.value,
9266
- 'border-gray-800 text-gray-800 dark:border-white dark:text-white': !_ctx.invertBackground && !show.value,
9267
- 'bg-terra': show.value
9268
- }]),
9394
+ class: "border p-3 shadow flex items-center border-white text-white",
9269
9395
  id: "summary-menu",
9270
9396
  "aria-haspopup": "true",
9271
9397
  "aria-expanded": show.value
@@ -9277,7 +9403,7 @@ return (_ctx, _cache) => {
9277
9403
  class: "w-6 h-6"
9278
9404
  })),
9279
9405
  _hoisted_4$3
9280
- ], 10, _hoisted_3$8)
9406
+ ], 8, _hoisted_3$9)
9281
9407
  ]),
9282
9408
  createVNode(Transition, {
9283
9409
  "enter-active-class": "transition ease-out duration-100 transform",
@@ -9289,7 +9415,7 @@ return (_ctx, _cache) => {
9289
9415
  }, {
9290
9416
  default: withCtx(() => [
9291
9417
  (show.value)
9292
- ? (openBlock(), createBlock(_sfc_main$l, { key: 0 }, {
9418
+ ? (openBlock(), createBlock(_sfc_main$m, { key: 0 }, {
9293
9419
  summaryTop: withCtx(() => [
9294
9420
  renderSlot(_ctx.$slots, "summaryTop")
9295
9421
  ]),
@@ -9308,113 +9434,113 @@ return (_ctx, _cache) => {
9308
9434
 
9309
9435
  };
9310
9436
 
9311
- const _sfc_main$j = {};
9437
+ const _sfc_main$k = {};
9312
9438
 
9313
- const _hoisted_1$h = {
9439
+ const _hoisted_1$i = {
9314
9440
  fill: "none",
9315
9441
  stroke: "currentColor",
9316
9442
  viewBox: "0 0 24 24",
9317
9443
  xmlns: "http://www.w3.org/2000/svg"
9318
9444
  };
9319
- const _hoisted_2$b = /*#__PURE__*/createBaseVNode("path", {
9445
+ const _hoisted_2$e = /*#__PURE__*/createBaseVNode("path", {
9320
9446
  "stroke-linecap": "round",
9321
9447
  "stroke-linejoin": "round",
9322
9448
  "stroke-width": "2",
9323
9449
  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"
9324
9450
  }, null, -1);
9325
- const _hoisted_3$7 = [
9326
- _hoisted_2$b
9451
+ const _hoisted_3$8 = [
9452
+ _hoisted_2$e
9327
9453
  ];
9328
9454
 
9329
9455
  function _sfc_render$7(_ctx, _cache) {
9330
- return (openBlock(), createElementBlock("svg", _hoisted_1$h, _hoisted_3$7))
9456
+ return (openBlock(), createElementBlock("svg", _hoisted_1$i, _hoisted_3$8))
9331
9457
  }
9332
- const IconThreeDots = /*#__PURE__*/_export_sfc(_sfc_main$j, [['render',_sfc_render$7]]);
9458
+ const IconThreeDots = /*#__PURE__*/_export_sfc(_sfc_main$k, [['render',_sfc_render$7]]);
9333
9459
 
9334
- const _sfc_main$i = {};
9460
+ const _sfc_main$j = {};
9335
9461
 
9336
- const _hoisted_1$g = {
9462
+ const _hoisted_1$h = {
9337
9463
  fill: "none",
9338
9464
  stroke: "currentColor",
9339
9465
  viewBox: "0 0 24 24",
9340
9466
  xmlns: "http://www.w3.org/2000/svg"
9341
9467
  };
9342
- const _hoisted_2$a = /*#__PURE__*/createBaseVNode("path", {
9468
+ const _hoisted_2$d = /*#__PURE__*/createBaseVNode("path", {
9343
9469
  "stroke-linecap": "round",
9344
9470
  "stroke-linejoin": "round",
9345
9471
  "stroke-width": "2",
9346
9472
  d: "M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"
9347
9473
  }, null, -1);
9348
- const _hoisted_3$6 = [
9349
- _hoisted_2$a
9474
+ const _hoisted_3$7 = [
9475
+ _hoisted_2$d
9350
9476
  ];
9351
9477
 
9352
9478
  function _sfc_render$6(_ctx, _cache) {
9353
- return (openBlock(), createElementBlock("svg", _hoisted_1$g, _hoisted_3$6))
9479
+ return (openBlock(), createElementBlock("svg", _hoisted_1$h, _hoisted_3$7))
9354
9480
  }
9355
- const IconExpand = /*#__PURE__*/_export_sfc(_sfc_main$i, [['render',_sfc_render$6]]);
9481
+ const IconExpand = /*#__PURE__*/_export_sfc(_sfc_main$j, [['render',_sfc_render$6]]);
9356
9482
 
9357
- const _sfc_main$h = {};
9483
+ const _sfc_main$i = {};
9358
9484
 
9359
- const _hoisted_1$f = {
9485
+ const _hoisted_1$g = {
9360
9486
  fill: "none",
9361
9487
  stroke: "currentColor",
9362
9488
  viewBox: "0 0 24 24",
9363
9489
  xmlns: "http://www.w3.org/2000/svg"
9364
9490
  };
9365
- const _hoisted_2$9 = /*#__PURE__*/createBaseVNode("path", {
9491
+ const _hoisted_2$c = /*#__PURE__*/createBaseVNode("path", {
9366
9492
  "stroke-linecap": "round",
9367
9493
  "stroke-linejoin": "round",
9368
9494
  "stroke-width": "2",
9369
9495
  d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
9370
9496
  }, null, -1);
9371
- const _hoisted_3$5 = /*#__PURE__*/createBaseVNode("path", {
9497
+ const _hoisted_3$6 = /*#__PURE__*/createBaseVNode("path", {
9372
9498
  "stroke-linecap": "round",
9373
9499
  "stroke-linejoin": "round",
9374
9500
  "stroke-width": "2",
9375
9501
  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"
9376
9502
  }, null, -1);
9377
9503
  const _hoisted_4$2 = [
9378
- _hoisted_2$9,
9379
- _hoisted_3$5
9504
+ _hoisted_2$c,
9505
+ _hoisted_3$6
9380
9506
  ];
9381
9507
 
9382
9508
  function _sfc_render$5(_ctx, _cache) {
9383
- return (openBlock(), createElementBlock("svg", _hoisted_1$f, _hoisted_4$2))
9509
+ return (openBlock(), createElementBlock("svg", _hoisted_1$g, _hoisted_4$2))
9384
9510
  }
9385
- const IconEye = /*#__PURE__*/_export_sfc(_sfc_main$h, [['render',_sfc_render$5]]);
9511
+ const IconEye = /*#__PURE__*/_export_sfc(_sfc_main$i, [['render',_sfc_render$5]]);
9386
9512
 
9387
- const _sfc_main$g = {};
9513
+ const _sfc_main$h = {};
9388
9514
 
9389
- const _hoisted_1$e = {
9515
+ const _hoisted_1$f = {
9390
9516
  viewBox: "0 0 341.5 441.2",
9391
9517
  fill: "currentColor"
9392
9518
  };
9393
- const _hoisted_2$8 = /*#__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);
9519
+ 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);
9394
9520
  const _hoisted_11 = [
9395
- _hoisted_2$8
9521
+ _hoisted_2$b
9396
9522
  ];
9397
9523
 
9398
9524
  function _sfc_render$4(_ctx, _cache) {
9399
- return (openBlock(), createElementBlock("svg", _hoisted_1$e, _hoisted_11))
9525
+ return (openBlock(), createElementBlock("svg", _hoisted_1$f, _hoisted_11))
9400
9526
  }
9401
- const SingleColumn = /*#__PURE__*/_export_sfc(_sfc_main$g, [['render',_sfc_render$4]]);
9527
+ const SingleColumn = /*#__PURE__*/_export_sfc(_sfc_main$h, [['render',_sfc_render$4]]);
9402
9528
 
9403
- const _sfc_main$f = {};
9529
+ const _sfc_main$g = {};
9404
9530
 
9405
- const _hoisted_1$d = {
9531
+ const _hoisted_1$e = {
9406
9532
  viewBox: "0 0 653 441.2",
9407
9533
  fill: "currentColor"
9408
9534
  };
9409
- const _hoisted_2$7 = /*#__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);
9535
+ 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);
9410
9536
  const _hoisted_13 = [
9411
- _hoisted_2$7
9537
+ _hoisted_2$a
9412
9538
  ];
9413
9539
 
9414
9540
  function _sfc_render$3(_ctx, _cache) {
9415
- return (openBlock(), createElementBlock("svg", _hoisted_1$d, _hoisted_13))
9541
+ return (openBlock(), createElementBlock("svg", _hoisted_1$e, _hoisted_13))
9416
9542
  }
9417
- const DoubleColumn = /*#__PURE__*/_export_sfc(_sfc_main$f, [['render',_sfc_render$3]]);
9543
+ const DoubleColumn = /*#__PURE__*/_export_sfc(_sfc_main$g, [['render',_sfc_render$3]]);
9418
9544
 
9419
9545
  function fontLoader(fontsOptions) {
9420
9546
  const fontsToLoad = fontsOptions.filter(item => item.link);
@@ -9578,9 +9704,9 @@ const useReaderSettings = {
9578
9704
  saveSettings
9579
9705
  };
9580
9706
 
9581
- const _hoisted_1$c = { class: "w-full hidden md:grid grid-cols-3 gap-2 mt-3" };
9707
+ const _hoisted_1$d = { class: "w-full hidden md:grid grid-cols-3 gap-2 mt-3" };
9582
9708
 
9583
- const _sfc_main$e = {
9709
+ const _sfc_main$f = {
9584
9710
  __name: 'OptionsColumns',
9585
9711
  setup(__props) {
9586
9712
 
@@ -9589,11 +9715,11 @@ const { width } = useWindowSize();
9589
9715
 
9590
9716
 
9591
9717
  return (_ctx, _cache) => {
9592
- return (openBlock(), createElementBlock("div", _hoisted_1$c, [
9718
+ return (openBlock(), createElementBlock("div", _hoisted_1$d, [
9593
9719
  createBaseVNode("button", {
9594
- class: normalizeClass(["col-span-1 text-center cursor-pointer py-3 rounded-sm border", {
9720
+ class: normalizeClass(["col-span-1 text-primary text-center cursor-pointer py-3 rounded-sm border", {
9595
9721
  'border-gray-300': unref(columns) !== 'singleColumns',
9596
- 'bg-gray-100 text-gray-800 border-2 border-gray-500': unref(columns) === 'singleColumns'
9722
+ 'bg-primary-extralight border-2 border-primary': unref(columns) === 'singleColumns'
9597
9723
  }]),
9598
9724
  onClick: _cache[0] || (_cache[0] = withModifiers($event => (unref(setColumns)('singleColumns')), ["prevent"])),
9599
9725
  "aria-label": "Coluna única",
@@ -9602,10 +9728,10 @@ return (_ctx, _cache) => {
9602
9728
  createVNode(SingleColumn, { class: "mx-auto h-10 opacity-75" })
9603
9729
  ], 2),
9604
9730
  createBaseVNode("button", {
9605
- class: normalizeClass(["col-span-2 text-center cursor-pointer py-3 rounded-sm border", {
9731
+ class: normalizeClass(["col-span-2 text-primary text-center cursor-pointer py-3 rounded-sm border", {
9606
9732
  'border-gray-300': unref(columns) !== 'doubleColumns',
9607
- 'bg-gray-100 text-gray-800 border-2 border-gray-500': unref(columns) === 'doubleColumns',
9608
- 'opacity-30 bg-gray-300': unref(width) < 1024
9733
+ 'bg-primary-extralight border-2 border-primary': unref(columns) === 'doubleColumns',
9734
+ 'opacity-30': unref(width) < 1024
9609
9735
  }]),
9610
9736
  onClick: _cache[1] || (_cache[1] = withModifiers($event => (unref(width) >= 1024 && unref(setColumns)('doubleColumns')), ["prevent"])),
9611
9737
  "aria-label": "Coluna dupla",
@@ -9622,10 +9748,10 @@ return (_ctx, _cache) => {
9622
9748
 
9623
9749
  };
9624
9750
 
9625
- const _hoisted_1$b = { class: "w-full grid grid-cols-4 gap-2 my-3" };
9626
- const _hoisted_2$6 = ["onClick", "title"];
9751
+ const _hoisted_1$c = { class: "w-full grid grid-cols-4 gap-2 my-3" };
9752
+ const _hoisted_2$9 = ["onClick", "title"];
9627
9753
 
9628
- const _sfc_main$d = {
9754
+ const _sfc_main$e = {
9629
9755
  __name: 'OptionsFontFamily',
9630
9756
  setup(__props) {
9631
9757
 
@@ -9633,17 +9759,17 @@ const { textFont, fontsOptions, setTextFont } = useReaderSettings;
9633
9759
 
9634
9760
 
9635
9761
  return (_ctx, _cache) => {
9636
- return (openBlock(), createElementBlock("div", _hoisted_1$b, [
9762
+ return (openBlock(), createElementBlock("div", _hoisted_1$c, [
9637
9763
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(fontsOptions), (font) => {
9638
9764
  return (openBlock(), createElementBlock("button", {
9639
9765
  key: font.name,
9640
9766
  onClick: withModifiers($event => (unref(setTextFont)(font.name)), ["prevent"]),
9641
- class: normalizeClass(["font-light text-lg tracking-wide border border-urucum w-full h-10 flex justify-center items-center", {
9642
- 'bg-gray-100 text-gray-800 border-2 border-gray-500': unref(textFont) === font.name
9767
+ class: normalizeClass(["font-light text-lg text-primary tracking-wide border border-urucum w-full h-10 flex justify-center items-center", {
9768
+ 'bg-primary-extralight border-2 border-primary': unref(textFont) === font.name
9643
9769
  }]),
9644
9770
  style: normalizeStyle(`font-family: ${font.name}`),
9645
9771
  title: font.label ?? font.name
9646
- }, " Ff ", 14, _hoisted_2$6))
9772
+ }, " Ff ", 14, _hoisted_2$9))
9647
9773
  }), 128))
9648
9774
  ]))
9649
9775
  }
@@ -9651,7 +9777,7 @@ return (_ctx, _cache) => {
9651
9777
 
9652
9778
  };
9653
9779
 
9654
- const _sfc_main$c = {
9780
+ const _sfc_main$d = {
9655
9781
  __name: 'OptionsFontSize',
9656
9782
  setup(__props) {
9657
9783
 
@@ -9674,53 +9800,53 @@ return (_ctx, _cache) => {
9674
9800
 
9675
9801
  };
9676
9802
 
9677
- const _sfc_main$b = {};
9803
+ const _sfc_main$c = {};
9678
9804
 
9679
- const _hoisted_1$a = {
9805
+ const _hoisted_1$b = {
9680
9806
  fill: "none",
9681
9807
  stroke: "currentColor",
9682
9808
  viewBox: "0 0 24 24",
9683
9809
  xmlns: "http://www.w3.org/2000/svg"
9684
9810
  };
9685
- const _hoisted_2$5 = /*#__PURE__*/createBaseVNode("path", {
9811
+ const _hoisted_2$8 = /*#__PURE__*/createBaseVNode("path", {
9686
9812
  "stroke-linecap": "round",
9687
9813
  "stroke-linejoin": "round",
9688
9814
  "stroke-width": "2",
9689
9815
  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"
9690
9816
  }, null, -1);
9691
- const _hoisted_3$4 = [
9692
- _hoisted_2$5
9817
+ const _hoisted_3$5 = [
9818
+ _hoisted_2$8
9693
9819
  ];
9694
9820
 
9695
9821
  function _sfc_render$2(_ctx, _cache) {
9696
- return (openBlock(), createElementBlock("svg", _hoisted_1$a, _hoisted_3$4))
9822
+ return (openBlock(), createElementBlock("svg", _hoisted_1$b, _hoisted_3$5))
9697
9823
  }
9698
- const IconSun = /*#__PURE__*/_export_sfc(_sfc_main$b, [['render',_sfc_render$2]]);
9824
+ const IconSun = /*#__PURE__*/_export_sfc(_sfc_main$c, [['render',_sfc_render$2]]);
9699
9825
 
9700
- const _sfc_main$a = {};
9826
+ const _sfc_main$b = {};
9701
9827
 
9702
- const _hoisted_1$9 = {
9828
+ const _hoisted_1$a = {
9703
9829
  fill: "none",
9704
9830
  stroke: "currentColor",
9705
9831
  viewBox: "0 0 24 24",
9706
9832
  xmlns: "http://www.w3.org/2000/svg"
9707
9833
  };
9708
- const _hoisted_2$4 = /*#__PURE__*/createBaseVNode("path", {
9834
+ const _hoisted_2$7 = /*#__PURE__*/createBaseVNode("path", {
9709
9835
  "stroke-linecap": "round",
9710
9836
  "stroke-linejoin": "round",
9711
9837
  "stroke-width": "2",
9712
9838
  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"
9713
9839
  }, null, -1);
9714
- const _hoisted_3$3 = [
9715
- _hoisted_2$4
9840
+ const _hoisted_3$4 = [
9841
+ _hoisted_2$7
9716
9842
  ];
9717
9843
 
9718
9844
  function _sfc_render$1(_ctx, _cache) {
9719
- return (openBlock(), createElementBlock("svg", _hoisted_1$9, _hoisted_3$3))
9845
+ return (openBlock(), createElementBlock("svg", _hoisted_1$a, _hoisted_3$4))
9720
9846
  }
9721
- const IconMoon = /*#__PURE__*/_export_sfc(_sfc_main$a, [['render',_sfc_render$1]]);
9847
+ const IconMoon = /*#__PURE__*/_export_sfc(_sfc_main$b, [['render',_sfc_render$1]]);
9722
9848
 
9723
- const _sfc_main$9 = {
9849
+ const _sfc_main$a = {
9724
9850
  __name: 'OptionsColor',
9725
9851
  setup(__props) {
9726
9852
 
@@ -9733,7 +9859,7 @@ return (_ctx, _cache) => {
9733
9859
  onClick: _cache[0] || (_cache[0] = withModifiers($event => (unref(setMode)('light')), ["prevent"])),
9734
9860
  title: "Leitura diurna",
9735
9861
  class: normalizeClass(["font-light text-base border border-urucum w-full h-10 flex justify-center items-center", {
9736
- 'bg-gray-100 text-gray-800 border-2 border-gray-500': unref(mode) === 'light'
9862
+ 'bg-primary-extralight text-gray-800 border-2 border-primary': unref(mode) === 'light'
9737
9863
  }])
9738
9864
  }, [
9739
9865
  createVNode(IconSun, { class: "w-5 h-5" })
@@ -9742,7 +9868,7 @@ return (_ctx, _cache) => {
9742
9868
  onClick: _cache[1] || (_cache[1] = withModifiers($event => (unref(setMode)('dark')), ["prevent"])),
9743
9869
  title: "Leitura noturna",
9744
9870
  class: normalizeClass(["font-light text-base border border-urucum w-full h-10 flex justify-center items-center", {
9745
- 'bg-gray-100 text-gray-800 border-2 border-gray-500': unref(mode) === 'dark'
9871
+ 'bg-primary-extralight text-gray-800 border-2 border-primary': unref(mode) === 'dark'
9746
9872
  }])
9747
9873
  }, [
9748
9874
  createVNode(IconMoon, { class: "w-5 h-5" })
@@ -9753,35 +9879,35 @@ return (_ctx, _cache) => {
9753
9879
 
9754
9880
  };
9755
9881
 
9756
- const _hoisted_1$8 = {
9882
+ const _hoisted_1$9 = {
9757
9883
  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",
9758
9884
  role: "Opções",
9759
9885
  "aria-orientation": "vertical",
9760
9886
  "aria-labelledby": "options-menu"
9761
9887
  };
9762
- const _hoisted_2$3 = { class: "w-full flex justify-center items-center py-3" };
9763
- const _hoisted_3$2 = /*#__PURE__*/createBaseVNode("span", { class: "ml-4" }, "Visualização", -1);
9888
+ const _hoisted_2$6 = { class: "w-full flex justify-center items-center py-3" };
9889
+ const _hoisted_3$3 = /*#__PURE__*/createBaseVNode("span", { class: "ml-4" }, "Visualização", -1);
9764
9890
  const _hoisted_4$1 = { class: "w-full grid grid-cols-4 gap-2 my-3" };
9765
9891
  const _hoisted_5$1 = /*#__PURE__*/createBaseVNode("div", { class: "hidden w-full border-b border-areia my-8" }, null, -1);
9766
9892
 
9767
- const _sfc_main$8 = {
9893
+ const _sfc_main$9 = {
9768
9894
  __name: 'OptionsDropdown',
9769
9895
  setup(__props) {
9770
9896
 
9771
9897
 
9772
9898
  return (_ctx, _cache) => {
9773
- return (openBlock(), createElementBlock("div", _hoisted_1$8, [
9899
+ return (openBlock(), createElementBlock("div", _hoisted_1$9, [
9774
9900
  createBaseVNode("div", null, [
9775
9901
  renderSlot(_ctx.$slots, "optionsTop"),
9776
- createBaseVNode("div", _hoisted_2$3, [
9902
+ createBaseVNode("div", _hoisted_2$6, [
9777
9903
  createVNode(IconEye, { class: "w-6 h-6" }),
9778
- _hoisted_3$2
9904
+ _hoisted_3$3
9779
9905
  ]),
9906
+ createVNode(_sfc_main$f),
9780
9907
  createVNode(_sfc_main$e),
9781
- createVNode(_sfc_main$d),
9782
9908
  createBaseVNode("div", _hoisted_4$1, [
9783
- createVNode(_sfc_main$c),
9784
- createVNode(_sfc_main$9)
9909
+ createVNode(_sfc_main$d),
9910
+ createVNode(_sfc_main$a)
9785
9911
  ]),
9786
9912
  _hoisted_5$1,
9787
9913
  renderSlot(_ctx.$slots, "optionsBottom")
@@ -9792,13 +9918,13 @@ return (_ctx, _cache) => {
9792
9918
 
9793
9919
  };
9794
9920
 
9795
- const _hoisted_1$7 = { class: "flex" };
9796
- const _hoisted_2$2 = ["aria-expanded"];
9797
- const _hoisted_3$1 = /*#__PURE__*/createBaseVNode("span", { class: "block mr-3" }, " Opções ", -1);
9921
+ const _hoisted_1$8 = { class: "flex" };
9922
+ const _hoisted_2$5 = ["aria-expanded"];
9923
+ const _hoisted_3$2 = /*#__PURE__*/createBaseVNode("span", { class: "block mr-3" }, " Opções ", -1);
9798
9924
 
9799
9925
 
9800
- const _sfc_main$7 = {
9801
- __name: 'OptionsButton.ce',
9926
+ const _sfc_main$8 = {
9927
+ __name: 'OptionsButton',
9802
9928
  setup(__props) {
9803
9929
 
9804
9930
  const show = ref(false);
@@ -9818,19 +9944,15 @@ return (_ctx, _cache) => {
9818
9944
  ref: button,
9819
9945
  class: "relative"
9820
9946
  }, [
9821
- createBaseVNode("div", _hoisted_1$7, [
9947
+ createBaseVNode("div", _hoisted_1$8, [
9822
9948
  createBaseVNode("button", {
9823
9949
  onClick: _cache[0] || (_cache[0] = withModifiers($event => (toggleSummary()), ["prevent"])),
9824
- class: normalizeClass(["border p-3 shadow flex items-center", {
9825
- 'border-white text-white': _ctx.invertBackground || show.value,
9826
- 'border-gray-800 text-gray-800 dark:border-white dark:text-white': !_ctx.invertBackground && !show.value,
9827
- 'bg-terra': show.value
9828
- }]),
9950
+ class: "border p-3 shadow flex items-center border-white text-white",
9829
9951
  id: "summary-menu",
9830
9952
  "aria-haspopup": "true",
9831
9953
  "aria-expanded": show.value
9832
9954
  }, [
9833
- _hoisted_3$1,
9955
+ _hoisted_3$2,
9834
9956
  (show.value)
9835
9957
  ? (openBlock(), createBlock(IconClose, {
9836
9958
  key: 0,
@@ -9840,16 +9962,13 @@ return (_ctx, _cache) => {
9840
9962
  key: 1,
9841
9963
  class: "w-6 h-6"
9842
9964
  }))
9843
- ], 10, _hoisted_2$2),
9965
+ ], 8, _hoisted_2$5),
9844
9966
  createBaseVNode("button", {
9845
9967
  onClick: _cache[1] || (_cache[1] = withModifiers($event => (unref(toggleFullScreen)()), ["prevent"])),
9846
- class: normalizeClass(["hidden md:flex items-center border p-3 shadow ml-3", {
9847
- 'border-white text-white': _ctx.invertBackground,
9848
- 'border-gray-800 text-gray-800 dark:border-white dark:text-white': !_ctx.invertBackground
9849
- }])
9968
+ class: "hidden md:flex items-center border p-3 shadow ml-3 border-white text-white"
9850
9969
  }, [
9851
9970
  createVNode(IconExpand, { class: "w-6 h-6" })
9852
- ], 2)
9971
+ ])
9853
9972
  ]),
9854
9973
  createVNode(Transition, {
9855
9974
  "enter-active-class": "transition ease-out duration-100 transform",
@@ -9860,7 +9979,7 @@ return (_ctx, _cache) => {
9860
9979
  "leave-to-class": "opacity-0 scale-95"
9861
9980
  }, {
9862
9981
  default: withCtx(() => [
9863
- withDirectives(createVNode(_sfc_main$8, null, {
9982
+ withDirectives(createVNode(_sfc_main$9, null, {
9864
9983
  optionsTop: withCtx(() => [
9865
9984
  renderSlot(_ctx.$slots, "optionsTop")
9866
9985
  ]),
@@ -9880,18 +9999,16 @@ return (_ctx, _cache) => {
9880
9999
 
9881
10000
  };
9882
10001
 
9883
- const _style_0$1 = "\n.headerSlot {\r\n\ttext-align: center;\r\n\tborder: 1px dashed #000;\n}\r\n";
9884
-
9885
- const _hoisted_1$6 = { class: "bg-gray-800 flex justify-between items-center p-4" };
10002
+ const _hoisted_1$7 = { class: "bg-primary flex justify-between items-center p-4" };
9886
10003
 
9887
- const _sfc_main$6 = {
9888
- __name: 'HeaderSlot.ce',
10004
+ const _sfc_main$7 = {
10005
+ __name: 'HeaderSlot',
9889
10006
  setup(__props) {
9890
-
10007
+
9891
10008
 
9892
10009
  return (_ctx, _cache) => {
9893
- return (openBlock(), createElementBlock("div", _hoisted_1$6, [
9894
- createVNode(_sfc_main$k, null, {
10010
+ return (openBlock(), createElementBlock("div", _hoisted_1$7, [
10011
+ createVNode(_sfc_main$l, null, {
9895
10012
  summaryTop: withCtx(() => [
9896
10013
  renderSlot(_ctx.$slots, "summaryTop")
9897
10014
  ]),
@@ -9903,7 +10020,7 @@ return (_ctx, _cache) => {
9903
10020
  createBaseVNode("div", null, [
9904
10021
  renderSlot(_ctx.$slots, "header")
9905
10022
  ]),
9906
- createVNode(_sfc_main$7, null, {
10023
+ createVNode(_sfc_main$8, null, {
9907
10024
  optionsTop: withCtx(() => [
9908
10025
  renderSlot(_ctx.$slots, "optionsTop")
9909
10026
  ]),
@@ -9917,12 +10034,11 @@ return (_ctx, _cache) => {
9917
10034
  }
9918
10035
 
9919
10036
  };
9920
- const HeaderSlot = /*#__PURE__*/_export_sfc(_sfc_main$6, [['styles',[_style_0$1]]]);
9921
10037
 
9922
- const _hoisted_1$5 = ["innerHTML"];
10038
+ const _hoisted_1$6 = ["innerHTML"];
9923
10039
 
9924
- const _sfc_main$5 = {
9925
- __name: 'FileContent.ce',
10040
+ const _sfc_main$6 = {
10041
+ __name: 'BookContent',
9926
10042
  props: {
9927
10043
  bookContent: String
9928
10044
  },
@@ -9934,20 +10050,30 @@ const { content, initContent } = useTextContent;
9934
10050
 
9935
10051
 
9936
10052
 
10053
+ const contentWrapper = ref(null);
10054
+
9937
10055
  onMounted(() => {
9938
- initContent(props.bookContent);
10056
+ initContent(props.bookContent, contentWrapper);
9939
10057
  });
9940
10058
 
9941
10059
  return (_ctx, _cache) => {
9942
- return (openBlock(), createElementBlock("div", null, [
9943
- createBaseVNode("div", { innerHTML: unref(content) }, null, 8, _hoisted_1$5)
9944
- ]))
10060
+ return (openBlock(), createElementBlock("div", {
10061
+ ref_key: "contentWrapper",
10062
+ ref: contentWrapper
10063
+ }, [
10064
+ (unref(content))
10065
+ ? (openBlock(), createElementBlock("div", {
10066
+ key: 0,
10067
+ innerHTML: unref(content)
10068
+ }, null, 8, _hoisted_1$6))
10069
+ : renderSlot(_ctx.$slots, "content", { key: 1 })
10070
+ ], 512))
9945
10071
  }
9946
10072
  }
9947
10073
 
9948
10074
  };
9949
10075
 
9950
- const _sfc_main$4 = {
10076
+ const _sfc_main$5 = {
9951
10077
  name: "NavPrev",
9952
10078
 
9953
10079
  props: {
@@ -9961,19 +10087,19 @@ const _sfc_main$4 = {
9961
10087
  }
9962
10088
  };
9963
10089
 
9964
- const _hoisted_1$4 = {
10090
+ const _hoisted_1$5 = {
9965
10091
  key: 0,
9966
10092
  viewBox: "0 0 20 20",
9967
10093
  fill: "currentColor",
9968
10094
  class: "[ viewer-nav-icon nav-prev ] arrow-narrow-left"
9969
10095
  };
9970
- const _hoisted_2$1 = /*#__PURE__*/createBaseVNode("path", {
10096
+ const _hoisted_2$4 = /*#__PURE__*/createBaseVNode("path", {
9971
10097
  "fill-rule": "evenodd",
9972
10098
  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",
9973
10099
  "clip-rule": "evenodd"
9974
10100
  }, null, -1);
9975
- const _hoisted_3 = [
9976
- _hoisted_2$1
10101
+ const _hoisted_3$1 = [
10102
+ _hoisted_2$4
9977
10103
  ];
9978
10104
  const _hoisted_4 = {
9979
10105
  key: 1,
@@ -9997,32 +10123,30 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
9997
10123
  class: normalizeClass(["[ viewer-nav ]", $options.type === 'cover' ? 'text-white' : 'text-gray-dark'])
9998
10124
  }, [
9999
10125
  ($props.target === 'prev')
10000
- ? (openBlock(), createElementBlock("svg", _hoisted_1$4, _hoisted_3))
10126
+ ? (openBlock(), createElementBlock("svg", _hoisted_1$5, _hoisted_3$1))
10001
10127
  : createCommentVNode("", true),
10002
10128
  ($props.target === 'next')
10003
10129
  ? (openBlock(), createElementBlock("svg", _hoisted_4, _hoisted_6))
10004
10130
  : createCommentVNode("", true)
10005
10131
  ], 2))
10006
10132
  }
10007
- const NavigationButton = /*#__PURE__*/_export_sfc(_sfc_main$4, [['render',_sfc_render]]);
10008
-
10009
- const _hoisted_1$3 = { class: "engineWrapper overflow-hidden" };
10133
+ const NavigationButton = /*#__PURE__*/_export_sfc(_sfc_main$5, [['render',_sfc_render]]);
10010
10134
 
10135
+ const _hoisted_1$4 = {
10136
+ id: "engine",
10137
+ class: "pt-10 transition-colors"
10138
+ };
10139
+ const _hoisted_2$3 = { class: "engineWrapper overflow-hidden" };
10011
10140
 
10012
- const _sfc_main$3 = {
10141
+ const _sfc_main$4 = {
10013
10142
  __name: 'EngineWrapper',
10014
10143
  setup(__props) {
10015
10144
 
10016
10145
  const { next, prev } = usePagination;
10017
- const { mode } = useReaderSettings;
10018
-
10019
10146
 
10020
10147
  return (_ctx, _cache) => {
10021
- return (openBlock(), createElementBlock("div", {
10022
- id: "engine",
10023
- class: normalizeClass(["pt-10 transition-colors", unref(mode)])
10024
- }, [
10025
- createBaseVNode("div", _hoisted_1$3, [
10148
+ return (openBlock(), createElementBlock("div", _hoisted_1$4, [
10149
+ createBaseVNode("div", _hoisted_2$3, [
10026
10150
  createVNode(NavigationButton, {
10027
10151
  target: "prev",
10028
10152
  onClicked: _cache[0] || (_cache[0] = $event => (unref(prev)()))
@@ -10033,16 +10157,16 @@ return (_ctx, _cache) => {
10033
10157
  onClicked: _cache[1] || (_cache[1] = $event => (unref(next)()))
10034
10158
  })
10035
10159
  ])
10036
- ], 2))
10160
+ ]))
10037
10161
  }
10038
10162
  }
10039
10163
 
10040
10164
  };
10041
10165
 
10042
- const _hoisted_1$2 = { class: "[ typeArea ] h-full relative transition-opacity duration-100 opacity-100 px-24" };
10166
+ const _hoisted_1$3 = { class: "[ typeArea ] h-full relative transition-opacity duration-100 opacity-100 px-24" };
10043
10167
 
10044
10168
 
10045
- const _sfc_main$2 = {
10169
+ const _sfc_main$3 = {
10046
10170
  __name: 'ReaderWrapper',
10047
10171
  setup(__props) {
10048
10172
 
@@ -10054,7 +10178,7 @@ return (_ctx, _cache) => {
10054
10178
  class: normalizeClass(unref(columns)),
10055
10179
  style: normalizeStyle(`margin-left: -${100 * (unref(currentPage) - 1)}%`)
10056
10180
  }, [
10057
- createBaseVNode("div", _hoisted_1$2, [
10181
+ createBaseVNode("div", _hoisted_1$3, [
10058
10182
  renderSlot(_ctx.$slots, "default")
10059
10183
  ])
10060
10184
  ], 6))
@@ -10063,39 +10187,103 @@ return (_ctx, _cache) => {
10063
10187
 
10064
10188
  };
10065
10189
 
10066
- const _hoisted_1$1 = { class: "bg-gray-800 flex justify-center items-center p-2 text-white" };
10067
- const _hoisted_2 = ["max", "value"];
10190
+ const _hoisted_1$2 = {
10191
+ key: 0,
10192
+ tabindex: "0",
10193
+ 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"
10194
+ };
10195
+ const _hoisted_2$2 = ["innerHTML"];
10196
+ const _hoisted_3 = { class: "mt-3 flex self-end" };
10197
+
10198
+ const _sfc_main$2 = {
10199
+ __name: 'ReferencePopup',
10200
+ setup(__props) {
10201
+
10202
+ const { reference, setHighlightedReference } = useReferences;
10203
+
10204
+ function closeRef() {
10205
+ setHighlightedReference(null);
10206
+ }
10207
+
10208
+ onKeyStroke('Escape', () => {
10209
+ setHighlightedReference(null);
10210
+ });
10211
+
10212
+
10213
+ return (_ctx, _cache) => {
10214
+ return (openBlock(), createBlock(Transition, {
10215
+ "enter-active-class": "transition ease-out duration-200",
10216
+ "enter-from-class": "transform opacity-0 scale-95",
10217
+ "enter-to-class": "transform opacity-100 scale-100",
10218
+ "leave-active-class": "transition ease-in duration-200",
10219
+ "leave-from-class": "transform opacity-100 scale-100",
10220
+ "leave-to-class": "transform opacity-0 scale-95"
10221
+ }, {
10222
+ default: withCtx(() => [
10223
+ (unref(reference))
10224
+ ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
10225
+ createBaseVNode("p", {
10226
+ class: "w-4/5",
10227
+ innerHTML: unref(reference).ref
10228
+ }, null, 8, _hoisted_2$2),
10229
+ createBaseVNode("div", _hoisted_3, [
10230
+ createBaseVNode("button", {
10231
+ onClick: _cache[0] || (_cache[0] = withModifiers($event => (closeRef()), ["prevent"])),
10232
+ class: "button button-negative"
10233
+ }, "OK")
10234
+ ])
10235
+ ]))
10236
+ : createCommentVNode("", true)
10237
+ ]),
10238
+ _: 1
10239
+ }))
10240
+ }
10241
+ }
10242
+
10243
+ };
10244
+
10245
+ 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";
10246
+
10247
+ const _hoisted_1$1 = { class: "py-2 px-10 text-gray-700 dark:text-white" };
10248
+ const _hoisted_2$1 = /*#__PURE__*/createBaseVNode("p", null, " ", -1);
10068
10249
 
10069
10250
  const _sfc_main$1 = {
10070
- __name: 'FooterSlot.ce',
10251
+ __name: 'FooterSlot',
10071
10252
  setup(__props) {
10072
10253
 
10073
10254
  const { totalPages, currentPage, set } = usePagination;
10074
10255
 
10256
+ function format() {
10257
+ return `${currentPage.value} de ${totalPages.value}`
10258
+ }
10259
+
10260
+
10075
10261
  return (_ctx, _cache) => {
10076
10262
  return (openBlock(), createElementBlock("div", _hoisted_1$1, [
10077
- createBaseVNode("div", null, [
10078
- createBaseVNode("input", {
10079
- type: "range",
10080
- min: 1,
10081
- max: unref(totalPages),
10082
- value: unref(currentPage),
10083
- onInput: _cache[0] || (_cache[0] = event => unref(set)(Number(event.target.value)))
10084
- }, null, 40, _hoisted_2),
10085
- renderSlot(_ctx.$slots, "footer", {}, () => [
10086
- createBaseVNode("span", null, "Página " + toDisplayString(unref(currentPage)) + " de " + toDisplayString(unref(totalPages)), 1),
10087
- renderSlot(_ctx.$slots, "default")
10088
- ])
10089
- ])
10263
+ renderSlot(_ctx.$slots, "footer", {}, () => [
10264
+ _hoisted_2$1
10265
+ ]),
10266
+ createVNode(unref(m), {
10267
+ modelValue: unref(currentPage),
10268
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (unref(set)(Math.round($event)))),
10269
+ min: 1,
10270
+ max: unref(totalPages),
10271
+ step: -1,
10272
+ showTooltip: "drag",
10273
+ format: format,
10274
+ lazy: false,
10275
+ class: "w-full"
10276
+ }, null, 8, ["modelValue", "max"])
10090
10277
  ]))
10091
10278
  }
10092
10279
  }
10093
10280
 
10094
10281
  };
10095
10282
 
10096
- const _style_0 = "header.wrapper {\n\twidth: 200px;\n\tmargin: 0 auto;\n}\n#engine {\n\theight: calc(100vh - 7.6rem);\n\tposition: relative;\n right: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n}\n#engine.light {\n\t\tbackground-color: #fff7e0\n}\n#engine.dark {\n\t\tbackground-color: #2d2d2d;\n}\n#engine.dark #content-area {\n\t\t\tcolor: #fff\n}\n#reader-component {\n\twidth: 100%;\n}\n.typeArea {\n\twidth: 100%;\n}\n.engineWrapper {\n\theight: calc(100% - 2rem);\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.doubleColumns {\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.doubleColumns {\n\t\t-moz-column-count: 1;\n \tcolumn-count: 1\n}\n}\n.singleColumns {\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.singleColumns #content-area {\n\t\tmax-width: 37em;\n\t\tmargin: 0 auto;\n}\n.nav-prev {\n\tleft: 0px;\n}\n.nav-next {\n\tright: 0px;\n}\n.viewer-nav {\n\theight: 100%;\n\tposition: fixed;\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@media (min-width: 768px) {\n.viewer-nav {\n\t\tposition: relative;\n}\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.viewer-nav-icon {\n\topacity: 0;\n}\n@media (min-width: 768px) {\n.viewer-nav-icon {\n\t\topacity: 0.8;\n}\n}\n";
10283
+ 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.doubleColumns {\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.doubleColumns {\n\t\t-moz-column-count: 1;\n \tcolumn-count: 1\n}\n}\n.singleColumns {\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.singleColumns #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: fixed;\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@media (min-width: 768px) {\n.viewer-nav { position: relative;\n}\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/* 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";
10097
10284
 
10098
- const _hoisted_1 = { class: "text-white text-center text-xs" };
10285
+ const _hoisted_1 = { class: "rootWrapper" };
10286
+ const _hoisted_2 = { class: "text-white text-center text-xs" };
10099
10287
 
10100
10288
 
10101
10289
  const _sfc_main = {
@@ -10112,9 +10300,10 @@ const props = __props;
10112
10300
 
10113
10301
 
10114
10302
 
10115
- const { initSettings, baseFont, textFont, fontSize, columns, setColumns } = useReaderSettings;
10303
+ const { initSettings, baseFont, textFont, fontSize, columns, setColumns, mode } = useReaderSettings;
10116
10304
  const { currentPage, totalPages, init } = usePagination;
10117
10305
  const { content } = useTextContent;
10306
+ const { listenToReferencesClick } = useReferences;
10118
10307
  const { width, height } = useWindowSize();
10119
10308
 
10120
10309
  const readerComponent = ref(null);
@@ -10141,77 +10330,90 @@ watchDebounced(
10141
10330
  { debounce: 125, maxWait: 250 }
10142
10331
  );
10143
10332
 
10333
+ watchDebounced(content,
10334
+ () => listenToReferencesClick(contentArea),
10335
+ { debounce: 125, maxWait: 250 }
10336
+ );
10337
+
10338
+
10144
10339
  return (_ctx, _cache) => {
10145
- return (openBlock(), createElementBlock("main", {
10146
- ref_key: "rootComponent",
10147
- ref: rootComponent,
10148
- style: normalizeStyle(`font-family: ${unref(baseFont)}`)
10149
- }, [
10150
- createVNode(HeaderSlot, null, {
10151
- header: withCtx(() => [
10152
- renderSlot(_ctx.$slots, "header", {}, () => [
10153
- createBaseVNode("p", _hoisted_1, toDisplayString(props.bookTitle), 1)
10154
- ])
10155
- ]),
10156
- summaryTop: withCtx(() => [
10157
- renderSlot(_ctx.$slots, "summaryTop")
10158
- ]),
10159
- summaryBottom: withCtx(() => [
10160
- renderSlot(_ctx.$slots, "summaryBottom")
10161
- ]),
10162
- optionsTop: withCtx(() => [
10163
- renderSlot(_ctx.$slots, "optionsTop")
10164
- ]),
10165
- optionsBottom: withCtx(() => [
10166
- renderSlot(_ctx.$slots, "optionsBottom")
10167
- ]),
10168
- _: 3
10169
- }),
10170
- createVNode(_sfc_main$3, null, {
10171
- default: withCtx(() => [
10172
- createBaseVNode("div", {
10173
- id: "reader-component",
10174
- ref_key: "readerComponent",
10175
- ref: readerComponent
10176
- }, [
10177
- createVNode(_sfc_main$2, null, {
10178
- default: withCtx(() => [
10179
- createBaseVNode("section", {
10180
- id: "content-area",
10181
- ref_key: "contentArea",
10182
- ref: contentArea,
10183
- style: normalizeStyle(`font-family: ${unref(textFont)}; font-size: ${unref(fontSize)}px`)
10184
- }, [
10185
- renderSlot(_ctx.$slots, "content", {}, () => [
10186
- createVNode(_sfc_main$5, { bookContent: __props.bookContent }, null, 8, ["bookContent"])
10187
- ])
10188
- ], 4)
10189
- ]),
10190
- _: 3
10191
- })
10192
- ], 512)
10193
- ]),
10194
- _: 3
10195
- }),
10196
- createVNode(_sfc_main$1, {
10197
- currPage: unref(currentPage),
10198
- totalPages: unref(totalPages)
10199
- }, null, 8, ["currPage", "totalPages"])
10200
- ], 4))
10340
+ return (openBlock(), createElementBlock("div", _hoisted_1, [
10341
+ createBaseVNode("main", {
10342
+ id: "rootComponent",
10343
+ ref_key: "rootComponent",
10344
+ ref: rootComponent,
10345
+ class: normalizeClass(unref(mode)),
10346
+ style: normalizeStyle(`font-family: ${unref(baseFont)}`)
10347
+ }, [
10348
+ createVNode(_sfc_main$7, null, {
10349
+ header: withCtx(() => [
10350
+ renderSlot(_ctx.$slots, "header", {}, () => [
10351
+ createBaseVNode("p", _hoisted_2, toDisplayString(props.bookTitle), 1)
10352
+ ])
10353
+ ]),
10354
+ summaryTop: withCtx(() => [
10355
+ renderSlot(_ctx.$slots, "summaryTop")
10356
+ ]),
10357
+ summaryBottom: withCtx(() => [
10358
+ renderSlot(_ctx.$slots, "summaryBottom")
10359
+ ]),
10360
+ optionsTop: withCtx(() => [
10361
+ renderSlot(_ctx.$slots, "optionsTop")
10362
+ ]),
10363
+ optionsBottom: withCtx(() => [
10364
+ renderSlot(_ctx.$slots, "optionsBottom")
10365
+ ]),
10366
+ _: 3
10367
+ }),
10368
+ createVNode(_sfc_main$4, null, {
10369
+ default: withCtx(() => [
10370
+ createBaseVNode("div", {
10371
+ id: "reader-component",
10372
+ ref_key: "readerComponent",
10373
+ ref: readerComponent
10374
+ }, [
10375
+ createVNode(_sfc_main$3, null, {
10376
+ default: withCtx(() => [
10377
+ createBaseVNode("section", {
10378
+ id: "content-area",
10379
+ ref_key: "contentArea",
10380
+ ref: contentArea,
10381
+ style: normalizeStyle(`font-family: ${unref(textFont)}; font-size: ${unref(fontSize)}px`)
10382
+ }, [
10383
+ createVNode(_sfc_main$6, { bookContent: __props.bookContent }, {
10384
+ content: withCtx(() => [
10385
+ renderSlot(_ctx.$slots, "content")
10386
+ ]),
10387
+ _: 3
10388
+ }, 8, ["bookContent"])
10389
+ ], 4)
10390
+ ]),
10391
+ _: 3
10392
+ })
10393
+ ], 512)
10394
+ ]),
10395
+ _: 3
10396
+ }),
10397
+ createVNode(_sfc_main$1, {
10398
+ currPage: unref(currentPage),
10399
+ totalPages: unref(totalPages)
10400
+ }, null, 8, ["currPage", "totalPages"]),
10401
+ createVNode(_sfc_main$2)
10402
+ ], 6)
10403
+ ]))
10201
10404
  }
10202
10405
  }
10203
10406
 
10204
10407
  };
10205
10408
  const App = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]]]);
10206
10409
 
10207
- 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.absolute {\n position: absolute;\n}\n\n.relative {\n position: relative;\n}\n\n.right-0 {\n right: 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-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.mr-3 {\n margin-right: 0.75rem;\n}\n\n.ml-3 {\n margin-left: 0.75rem;\n}\n\n.mt-3 {\n margin-top: 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-6 {\n width: 1.5rem;\n}\n\n.w-full {\n width: 100%;\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.overflow-hidden {\n overflow: hidden;\n}\n\n.rounded-sm {\n border-radius: 0.125rem;\n}\n\n.rounded {\n border-radius: 0.25rem;\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-800 {\n --tw-border-opacity: 1;\n border-color: rgb(31 41 55 / var(--tw-border-opacity));\n}\n\n.border-gray-500 {\n --tw-border-opacity: 1;\n border-color: rgb(107 114 128 / 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-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\n}\n\n.bg-gray-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(209 213 219 / 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-2 {\n padding: 0.5rem;\n}\n\n.p-4 {\n padding: 1rem;\n}\n\n.p-3 {\n padding: 0.75rem;\n}\n\n.px-24 {\n padding-left: 6rem;\n padding-right: 6rem;\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.py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\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-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-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\\:border-white {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n }\n\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\\: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}";
10410
+ 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-24 {\n padding-left: 6rem;\n padding-right: 6rem;\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}";
10208
10411
 
10209
10412
  // https://maximomussini.com/posts/vue-custom-elements
10210
10413
 
10211
10414
  const styles = [
10212
10415
  ...[tailwindStyles],
10213
- ...App.styles,
10214
- ...HeaderSlot.styles
10416
+ ...App.styles
10215
10417
  ];
10216
10418
 
10217
10419
  customElements.define(