ixbrl-viewer 1.4.53__py3-none-any.whl → 1.4.55__py3-none-any.whl

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.

Potentially problematic release.


This version of ixbrl-viewer might be problematic. Click here for more details.

@@ -146,10 +146,10 @@
146
146
  "menu": {
147
147
  "actions": "Gweithredoedd",
148
148
  "applicationLanguage": "Iaith Cais",
149
+ "contactUs": "Cysylltwch â Ni",
149
150
  "documentLanguage": "Iaith Dogfen",
150
151
  "help": "Cymorth",
151
152
  "options": "Opsiynau",
152
- "contactUs": "Cysylltwch â Ni",
153
153
  "survey": "Arolwg",
154
154
  "userGuide": "Canllaw Defnyddiwr"
155
155
  },
@@ -146,10 +146,10 @@
146
146
  "menu": {
147
147
  "actions": "Actions",
148
148
  "applicationLanguage": "Application Language",
149
+ "contactUs": "Contact Us",
149
150
  "documentLanguage": "Document Language",
150
151
  "help": "Help",
151
152
  "options": "Options",
152
- "contactUs": "Contact Us",
153
153
  "survey": "Survey",
154
154
  "userGuide": "User Guide"
155
155
  },
@@ -146,10 +146,10 @@
146
146
  "menu": {
147
147
  "actions": "Comportamientos",
148
148
  "applicationLanguage": "Idioma de Aplicación",
149
+ "contactUs": "Contacta con nosotros",
149
150
  "documentLanguage": "Idioma del Documento",
150
151
  "help": "Ayuda",
151
152
  "options": "Opciones",
152
- "contactUs": "Contacta con nosotros",
153
153
  "survey": "Encuesta",
154
154
  "userGuide": "Guía del Usuario"
155
155
  },
@@ -3,7 +3,7 @@
3
3
  import $ from 'jquery'
4
4
  import i18next from 'i18next';
5
5
  import jqueryI18next from 'jquery-i18next';
6
- import {formatNumber, wrapLabel, truncateLabel, runGenerator, SHOW_FACT, HIGHLIGHT_COLORS, viewerUniqueId, GLOSSARY_URL, FEATURE_HOME_LINK_URL, FEATURE_HOME_LINK_LABEL, FEATURE_SEARCH_ON_STARTUP, FEATURE_HIGHLIGHT_FACTS_ON_STARTUP, STORAGE_HIGHLIGHT_FACTS, STORAGE_HOME_LINK_QUERY} from "./util.js";
6
+ import {formatNumber, wrapLabel, truncateLabel, runGenerator, SHOW_FACT, HIGHLIGHT_COLORS, viewerUniqueId, GLOSSARY_URL, FEATURE_HOME_LINK_URL, FEATURE_HOME_LINK_LABEL, FEATURE_SEARCH_ON_STARTUP, FEATURE_HIGHLIGHT_FACTS_ON_STARTUP, STORAGE_APP_LANGUAGE, STORAGE_HIGHLIGHT_FACTS, STORAGE_HOME_LINK_QUERY} from "./util.js";
7
7
  import { ReportSearch } from "./search.js";
8
8
  import { IXBRLChart } from './chart.js';
9
9
  import { ViewerOptions } from './viewerOptions.js';
@@ -422,12 +422,14 @@ export class Inspector {
422
422
  }
423
423
 
424
424
  changeApplicationLanguage(lang) {
425
+ localStorage.setItem(STORAGE_APP_LANGUAGE, lang);
425
426
  i18next.changeLanguage(lang);
426
427
  this.rebuildViewer();
427
428
  }
428
429
 
429
430
  rebuildViewer() {
430
431
  $("#ixv").localize();
432
+ $('html').attr('lang', i18next.resolvedLanguage);
431
433
  this.buildDisplayOptionsMenu();
432
434
  this.buildHomeLink()
433
435
  this.buildToolbarHighlightMenu();
@@ -1578,6 +1580,10 @@ export class Inspector {
1578
1580
  if (urlParams.has("lang")) {
1579
1581
  return [ urlParams.get("lang") ];
1580
1582
  }
1583
+ const localStorageAppLang = localStorage.getItem(STORAGE_APP_LANGUAGE);
1584
+ if (localStorageAppLang) {
1585
+ return [ localStorageAppLang ];
1586
+ }
1581
1587
  const langs = window.navigator.languages || [ window.navigator.language || window.navigator.userLanguage ] ;
1582
1588
  if (langs.length == 0 || !langs[0]) {
1583
1589
  return ["en"];
@@ -7,7 +7,7 @@ import { Viewer, DocumentTooLargeError } from "./viewer.js";
7
7
  import { Inspector } from "./inspector.js";
8
8
  import { initializeTheme } from './theme.js';
9
9
  import { TaxonomyNamer } from './taxonomynamer.js';
10
- import {FEATURE_GUIDE_LINK, FEATURE_REVIEW, FEATURE_SUPPORT_LINK, FEATURE_SURVEY_LINK} from "./util";
10
+ import { FEATURE_GUIDE_LINK, FEATURE_REVIEW, FEATURE_SUPPORT_LINK, FEATURE_SURVEY_LINK, moveNonAppAttributes } from "./util";
11
11
 
12
12
  const featureFalsyValues = new Set([undefined, null, '', 'false', false]);
13
13
 
@@ -202,15 +202,13 @@ export class iXBRLViewer {
202
202
  doc.close();
203
203
 
204
204
  let docTitle = $('title').text();
205
- if (docTitle != "") {
206
- docTitle = "Inline Viewer - " + docTitle;
205
+ if (docTitle !== "") {
206
+ docTitle = `Inline Viewer - ${docTitle}`;
207
207
  }
208
208
  else {
209
209
  docTitle = "Inline Viewer";
210
210
  }
211
- if ($('html').attr("lang") === undefined) {
212
- $('html').attr("lang", "en-US");
213
- }
211
+
214
212
 
215
213
  $('head')
216
214
  .children().not("script, style#ixv-style, link#ixv-style-skin, link#ixv-favicon").appendTo($(iframe).contents().find('head'));
@@ -220,24 +218,26 @@ export class iXBRLViewer {
220
218
  /* Due to self-closing tags, our script tags may not be a direct child of
221
219
  * the body tag in an HTML DOM, so move them so that they are */
222
220
  $('body script').appendTo($('body'));
221
+
222
+ const html = $('html');
223
+ const body = $('body');
224
+ const iframeHtml = $(iframe).contents().find('html');
223
225
  const iframeBody = $(iframe).contents().find('body');
224
- $('body').children().not("script").not('#ixv').not(iframeContainer).appendTo(iframeBody);
226
+ moveNonAppAttributes(html.get(0), iframeHtml.get(0));
227
+ moveNonAppAttributes(body.get(0), iframeBody.get(0));
228
+ html.attr('xmlns', 'http://www.w3.org/1999/xhtml');
225
229
 
226
- /* Move all attributes on the body tag to the new body */
227
- for (const bodyAttr of [...$('body').prop("attributes")]) {
228
- iframeBody.attr(bodyAttr.name, bodyAttr.value);
229
- $('body').removeAttr(bodyAttr.name);
230
- }
230
+ body.children().not("script").not('#ixv').not(iframeContainer).appendTo(iframeBody);
231
231
 
232
232
  /* Avoid any inline styles on the old body interfering with the inspector */
233
- $('body').removeAttr('style');
233
+ body.removeAttr('style');
234
234
  return iframe;
235
235
  }
236
236
 
237
237
  _getTaxonomyData() {
238
238
  for (let i = document.body.children.length - 1; i >= 0; i--) {
239
239
  const elt = document.body.children[i];
240
- if (elt.tagName.toUpperCase() == 'SCRIPT' && elt.getAttribute("type") == 'application/x.ixbrl-viewer+json') {
240
+ if (elt.tagName.toUpperCase() === 'SCRIPT' && elt.getAttribute("type") === 'application/x.ixbrl-viewer+json') {
241
241
  return elt.innerHTML;
242
242
  }
243
243
  }
@@ -245,7 +245,7 @@ export class iXBRLViewer {
245
245
  }
246
246
 
247
247
  _checkDocumentSetBrowserSupport() {
248
- if (document.location.protocol == 'file:') {
248
+ if (document.location.protocol === 'file:') {
249
249
  alert("Displaying iXBRL document sets from local files is not supported. Please view the viewer files using a web server.");
250
250
  }
251
251
  }
@@ -258,11 +258,11 @@ export class iXBRLViewer {
258
258
  else {
259
259
  fetch(this.options.configUrl)
260
260
  .then((resp) => {
261
- if (resp.status == 404) {
261
+ if (resp.status === 404) {
262
262
  return Promise.resolve({});
263
263
  }
264
- else if (resp.status != 200) {
265
- return Promise.reject("Fetch failed: " + resp.status);
264
+ if (resp.status !== 200) {
265
+ return Promise.reject(`Fetch failed: ${resp.status}`);
266
266
  }
267
267
  return resp.json();
268
268
  })
@@ -300,7 +300,7 @@ export class iXBRLViewer {
300
300
  // We need to parse JSON first so that we can determine feature enablement before loading begins.
301
301
  const taxonomyData = iv._getTaxonomyData();
302
302
  const parsedTaxonomyData = taxonomyData && JSON.parse(taxonomyData);
303
- let features = parsedTaxonomyData && parsedTaxonomyData["features"];
303
+ let features = parsedTaxonomyData?.features;
304
304
  if (!features) {
305
305
  features = {};
306
306
  }
@@ -349,19 +349,32 @@ export class iXBRLViewer {
349
349
  const progress = stubViewer ? 'Loading iXBRL Report' : 'Loading iXBRL Viewer';
350
350
  iv.setProgress(progress).then(() => {
351
351
  /* Poll for iframe load completing - there doesn't seem to be a reliable event that we can use */
352
- let timer = setInterval(function () {
352
+ const timer = setInterval(() => {
353
353
  let complete = true;
354
- iframes.each(function (n) {
355
- const iframe = this;
354
+ iframes.each((n, iframe) => {
356
355
  const iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
357
- if ((iframeDoc.readyState != 'complete' && iframeDoc.readyState != 'interactive') || $(iframe).contents().find("body").children().length == 0) {
356
+ if ((iframeDoc.readyState !== 'complete' && iframeDoc.readyState !== 'interactive') || $(iframe).contents().find("body").children().length === 0) {
358
357
  complete = false;
359
358
  }
360
359
  });
361
360
  if (complete) {
362
361
  clearInterval(timer);
363
362
 
364
- const viewer = iv.viewer = new Viewer(iv, iframes, reportSet);
363
+ iframes.each((n, iframe) => {
364
+ const htmlNode = $(iframe).contents().find('html');
365
+ // A schema valid report should not have a lang attribute on the html element.
366
+ // However, if the report is not schema valid, we shouldn't override it.
367
+ if (htmlNode.attr('lang') === undefined) {
368
+ // If the report has an XML lang attribute, use it as the HTML lang for screen readers.
369
+ // If the language of the report can't be detected, set it to an empty string to avoid
370
+ // inheriting the lang of the application HTML node (which is set to the UI language).
371
+ const docLang = htmlNode.attr('xml:lang') || '';
372
+ htmlNode.attr('lang', docLang);
373
+ }
374
+ });
375
+
376
+ const viewer = new Viewer(iv, iframes, reportSet);
377
+ iv.viewer = viewer
365
378
 
366
379
  viewer.initialize()
367
380
  .then(() => inspector.initialize(reportSet, viewer))
@@ -382,8 +395,8 @@ export class iXBRLViewer {
382
395
  .on('resizemove', (event) => {
383
396
  const target = event.target;
384
397
  const w = 100 * event.rect.width / $(target).parent().width();
385
- target.style.width = w + '%';
386
- $('#inspector').css('width', (100 - w) + '%');
398
+ target.style.width = `${w}%`;
399
+ $('#inspector').css('width', `${100 - w}%`);
387
400
  })
388
401
  .on('resizeend', (event) =>
389
402
  $('#ixv').css("pointer-events", "auto")
@@ -421,7 +434,7 @@ export class iXBRLViewer {
421
434
  * message up before the ensuing thread-blocking work
422
435
  * https://bugs.chromium.org/p/chromium/issues/detail?id=675795
423
436
  */
424
- window.requestAnimationFrame(function () {
437
+ window.requestAnimationFrame(() => {
425
438
  console.log(`%c [Progress] ${msg} `, 'background: #77d1c8; color: black;');
426
439
  $('#ixv .loader .text').text(msg);
427
440
  window.requestAnimationFrame(() => resolve());
@@ -1,9 +1,10 @@
1
1
  // See COPYRIGHT.md for copyright information
2
2
 
3
- import { STORAGE_THEME } from "./util";
3
+ import { IXBRL_VIEWER_DATASET_PREFIX, STORAGE_THEME } from "./util";
4
4
 
5
5
  const DARK_THEME = 'dark';
6
6
  const LIGHT_THEME = 'light';
7
+ const APP_THEME_DATASET_NAME = `${IXBRL_VIEWER_DATASET_PREFIX}Theme`;
7
8
 
8
9
  function getHtmlElement() {
9
10
  return document.querySelector('html');
@@ -16,7 +17,7 @@ export function getVariable(name) {
16
17
 
17
18
  function setTheme(theme) {
18
19
  const html = getHtmlElement();
19
- html.dataset.theme = `theme-${theme}`;
20
+ html.dataset[APP_THEME_DATASET_NAME] = theme;
20
21
  }
21
22
 
22
23
  function getStoredTheme() {
@@ -29,7 +30,7 @@ function storeTheme(theme) {
29
30
 
30
31
  export function getTheme() {
31
32
  const html = getHtmlElement();
32
- return html.dataset.theme.replace('theme-','');
33
+ return html.dataset[APP_THEME_DATASET_NAME];
33
34
  }
34
35
 
35
36
  export function initializeTheme() {
@@ -26,6 +26,9 @@ export const FEATURE_SURVEY_LINK = 'survey_link';
26
26
  export const FEATURE_SEARCH_ON_STARTUP = 'search_on_startup';
27
27
  export const FEATURE_HIGHLIGHT_FACTS_ON_STARTUP = 'highlight_facts_on_startup';
28
28
 
29
+ export const IXBRL_VIEWER_DATASET_PREFIX = 'ixbrlViewer';
30
+
31
+ export const STORAGE_APP_LANGUAGE = "ixbrl-viewer-app-language";
29
32
  export const STORAGE_THEME = "ixbrl-viewer-theme";
30
33
  export const STORAGE_HIGHLIGHT_FACTS = "ixbrl-viewer-highlight-all-facts";
31
34
  export const STORAGE_HOME_LINK_QUERY = "ixbrl-viewer-home-link-query";
@@ -231,3 +234,21 @@ export function getIXHiddenLinkStyle(domNode) {
231
234
  }
232
235
  return null;
233
236
  }
237
+
238
+ /**
239
+ * Moves all attributes from one element to another, excluding data attributes created by the viewer application.
240
+ */
241
+ export function moveNonAppAttributes(fromElement, toElement) {
242
+ for (const attr of [...fromElement.attributes]) {
243
+ if (!attr.name.startsWith("data-")) {
244
+ toElement.setAttribute(attr.name, attr.value);
245
+ fromElement.removeAttribute(attr.name);
246
+ }
247
+ }
248
+ for (const [key, value] of Object.entries(fromElement.dataset)) {
249
+ if (!key.startsWith(IXBRL_VIEWER_DATASET_PREFIX)) {
250
+ toElement.dataset[key] = value;
251
+ delete fromElement.dataset[key];
252
+ }
253
+ }
254
+ }
@@ -55,7 +55,7 @@
55
55
  }
56
56
  }
57
57
 
58
- :root[data-theme="theme-dark"] {
58
+ :root[data-ixbrl-viewer-theme="dark"] {
59
59
  --colour-bg-selected: @colour-bg-selected-d;
60
60
  --colour-bg-tag: @colour-bg-tag-d;
61
61
  --colour-bg: @colour-bg-d;
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ixbrl-viewer
3
- Version: 1.4.53
3
+ Version: 1.4.55
4
4
  Summary: The Arelle iXBRL Viewer allows iXBRL reports to be viewed interactively in a web browser.
5
5
  Author-email: "arelle.org" <support@arelle.org>
6
6
  License: Apache-2.0
@@ -1,5 +1,5 @@
1
- iXBRLViewerPlugin/__init__.py,sha256=Uk8Azqk53UTsUJT22LgR-irtQ9RJkA2yaTxqD-IFZyM,16662
2
- iXBRLViewerPlugin/_version.py,sha256=hqdPVRUMbqym2XJkeOLmAOZiYMHSDi91JbptV8gv8tQ,413
1
+ iXBRLViewerPlugin/__init__.py,sha256=263DtPKBXeTomSI-4SeE7gTX0ak16GiIB9DFOoxBK3k,16839
2
+ iXBRLViewerPlugin/_version.py,sha256=eQ005xxKUvcRsyC0nGD59Bu_E12gY2pPdtPqhp47-Ss,413
3
3
  iXBRLViewerPlugin/constants.py,sha256=DMyEKzoJZPN36vINiNF9wiP7PPofQg0ZLF0H2CP-ns4,3866
4
4
  iXBRLViewerPlugin/featureConfig.py,sha256=551aLjiGAkoxsgFDMBJT8s3nVaF787kgbRjFumTTsBE,255
5
5
  iXBRLViewerPlugin/iXBRLViewer.py,sha256=7IqbLuapCla5_c-lSM4KiKgSezbioKulJ5pa4ZEPejs,30643
@@ -12,7 +12,7 @@ iXBRLViewerPlugin/viewer/version.js,sha256=7b5si8UmaS7QqALQIP-wJ0I8onKFox8VyaAiU
12
12
  iXBRLViewerPlugin/viewer/webpack.common.js,sha256=hpXufjShXAESQh8Ds7ViJ_tbr8XSb7EdqQLRvyu_mQg,1691
13
13
  iXBRLViewerPlugin/viewer/webpack.dev.js,sha256=R9AwY_TBrg9otvXpDxT1UsGg5eMqi4aXW7C7EIsHzZk,551
14
14
  iXBRLViewerPlugin/viewer/webpack.prod.js,sha256=vfLowWC1EOty0zbq9P-usGaJ3w-JoERpJrYaE9MfoSE,499
15
- iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js,sha256=qSRMkf4m06qbYBS4VkR4ccZjtFR7-3pfoa3Xc-EKEWI,889907
15
+ iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js,sha256=j5kDtWhaMcgOovzO06wBhGlZlxEaizGj-GoEvknw4WY,890398
16
16
  iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js.LICENSE.txt,sha256=Ye_YmUQH4CCOb6Ksrap5lsJC7aZuNZbQnvLs7njZPc0,1832
17
17
  iXBRLViewerPlugin/viewer/src/data/utr.json,sha256=HWeZDLQuFunB7kmrP4evfhjMWIVgN8sc89U5Yogy5iA,13322
18
18
  iXBRLViewerPlugin/viewer/src/html/fact-details.html,sha256=r3cPuOzcosgBkYl0jfmRUGjYnLgv6Eu0IeTMmUHY4Ak,2863
@@ -26,7 +26,7 @@ iXBRLViewerPlugin/viewer/src/i18n/cy/labelroles.json,sha256=GX2ZC2v6a2kGa6AFfmCR
26
26
  iXBRLViewerPlugin/viewer/src/i18n/cy/referenceparts.json,sha256=1orbis0mQw7YdMox8ug_jEFbTdCdwA_rdu4HtdJXO_Y,216
27
27
  iXBRLViewerPlugin/viewer/src/i18n/cy/scale.json,sha256=F26lrAtK_4jxqUgMC0yiuO3ps9_zBd6q7GdfwEepqwk,253
28
28
  iXBRLViewerPlugin/viewer/src/i18n/cy/tooltips.json,sha256=4_jkn8u5AD825XYrkazZ47PZOptn75KTDljqyPshtK8,1947
29
- iXBRLViewerPlugin/viewer/src/i18n/cy/translation.json,sha256=Wb0wRScYj2vtq_uhIHPgOyBIhp2uJm8o7yLmKx-ewSk,5964
29
+ iXBRLViewerPlugin/viewer/src/i18n/cy/translation.json,sha256=uJMCIJ3Y1q6wCTzuGiD9gSeLynkXledjtNiVoy-B4dc,5964
30
30
  iXBRLViewerPlugin/viewer/src/i18n/en/balancetypes.json,sha256=wO6Yj6SIKZ6PKT70PgqL0NAM7cazEcc7gcGM-0cwZGw,45
31
31
  iXBRLViewerPlugin/viewer/src/i18n/en/currencies.json,sha256=p2vXnQcaRWX3tDY8E52AaIeKhbmcNNhPfTBHlL5AL_U,315
32
32
  iXBRLViewerPlugin/viewer/src/i18n/en/datatypes.json,sha256=_WEiZNjcNcY0ba3CRUvxsXCmovGbv0L9DCWfXxF40PE,228
@@ -34,7 +34,7 @@ iXBRLViewerPlugin/viewer/src/i18n/en/labelroles.json,sha256=6bKcGsz9rro-qmjQz5Y_
34
34
  iXBRLViewerPlugin/viewer/src/i18n/en/referenceparts.json,sha256=rp0p7aWt0U2Ny3ai_fadZhdV-LWx-9-tgKWQmggoewM,207
35
35
  iXBRLViewerPlugin/viewer/src/i18n/en/scale.json,sha256=xwOpnAE4WI81bg4I1o4YO3wdSXR4aP6h56cZNtdoAUo,276
36
36
  iXBRLViewerPlugin/viewer/src/i18n/en/tooltips.json,sha256=Iujea11Hgypjoq80ZCBGrlNYWgY97Q7oA7AEVAwn_BU,1888
37
- iXBRLViewerPlugin/viewer/src/i18n/en/translation.json,sha256=e-RpgwY_FJaC3ERNIi3zOpn98rfGB49i6oXB3hbky_0,5954
37
+ iXBRLViewerPlugin/viewer/src/i18n/en/translation.json,sha256=vY74dlqXxgOBEwT7fWbjsHnQvv9-DyixqdfYT_13-9w,5954
38
38
  iXBRLViewerPlugin/viewer/src/i18n/es/balancetypes.json,sha256=4qronHgwG0b35IxtuDyr7LgwHjQel7ezJ6cs5NbLbug,34
39
39
  iXBRLViewerPlugin/viewer/src/i18n/es/currencies.json,sha256=YzzYkYpUAgYFBDROUosaxoVbft5zPXKJ4zI9Zb2nsqQ,171
40
40
  iXBRLViewerPlugin/viewer/src/i18n/es/datatypes.json,sha256=uum_WmByXgo8q1E413chbBWXRB2bEbcpl5uEiS6ab0I,186
@@ -42,7 +42,7 @@ iXBRLViewerPlugin/viewer/src/i18n/es/labelroles.json,sha256=Ld2lwPeeQtG4d4mBoSSh
42
42
  iXBRLViewerPlugin/viewer/src/i18n/es/referenceparts.json,sha256=X6l9IS1w9LSItMaS14q9gqDIu1jaeHthuhOogaBLRTI,237
43
43
  iXBRLViewerPlugin/viewer/src/i18n/es/scale.json,sha256=aR4NOS4f1AyY4FdzOcGRQju0Q3D7SZub6liG4G2kUlA,285
44
44
  iXBRLViewerPlugin/viewer/src/i18n/es/tooltips.json,sha256=gp8b1t6Va6H-IZE-r3vPKIyaMKp46LSuYZpyXc2QV3M,2163
45
- iXBRLViewerPlugin/viewer/src/i18n/es/translation.json,sha256=mpLcyx1X0Q3ojn16gmaMzyTtXY0pGHhxHIpshGU31Uc,5219
45
+ iXBRLViewerPlugin/viewer/src/i18n/es/translation.json,sha256=BpEOujYt9khwhcmqK-jsSxgJNNG8DNAyKl0WHsAiLeM,5219
46
46
  iXBRLViewerPlugin/viewer/src/icons/arrow-down.svg,sha256=FjlACizI1NEMLQMyeVSfwsnP1t63HnGBQhmiFLgqDCI,403
47
47
  iXBRLViewerPlugin/viewer/src/icons/arrow-up.svg,sha256=-1ZLPAkpGUH4btofeJ_YLyw04dzoWNi_QAm6LK6yYh8,403
48
48
  iXBRLViewerPlugin/viewer/src/icons/calculator.svg,sha256=W86RLdi2jge2dvL1LciTYXBTymaZZEE_IoIzspVjcVI,1543
@@ -104,11 +104,11 @@ iXBRLViewerPlugin/viewer/src/js/footnote.js,sha256=YPj7GQAdTC2KPSHAZSWF2z_gnJoJP
104
104
  iXBRLViewerPlugin/viewer/src/js/identifiers.js,sha256=gcGitF1CfiyiUvzWDG6INnFDIBi5jXdBgiqCB8Ip0YE,2260
105
105
  iXBRLViewerPlugin/viewer/src/js/identifiers.test.js,sha256=eu2TkHVpuRItIyNdNAuoITnpGFwwAicqMynf0dFreRk,2112
106
106
  iXBRLViewerPlugin/viewer/src/js/index.js,sha256=frm9U9Am133B4SkzY_ejgImK9t9cr_Er6dVrQMjjO5k,468
107
- iXBRLViewerPlugin/viewer/src/js/inspector.js,sha256=xXWNzqaQIhxHH-KoVo3z438lysjBvqeUA_UCrt1H9Lw,64079
107
+ iXBRLViewerPlugin/viewer/src/js/inspector.js,sha256=6MNFlTC7Q0GK68STY_pPiDKtM8hBCAdKJ4FRmz5W9Qo,64386
108
108
  iXBRLViewerPlugin/viewer/src/js/inspector.test.js,sha256=7tqnxbjn6RCZ24L_JNo_Ws2NOvmLRWsUVh1DHOO78hA,10071
109
109
  iXBRLViewerPlugin/viewer/src/js/interval.js,sha256=ZEIbH4uwTIvF1jmulEWnJI5ZD1AamgKtkyplOwlcrv0,1889
110
110
  iXBRLViewerPlugin/viewer/src/js/interval.test.js,sha256=pLbukwlcS38ycDJaNYV_9pAca7wiprunXHqD4TkHEi8,4577
111
- iXBRLViewerPlugin/viewer/src/js/ixbrlviewer.js,sha256=FrmrROPnA-budqYsQGUe4HMw7a_PaFUsoaZkA0-pgFk,16897
111
+ iXBRLViewerPlugin/viewer/src/js/ixbrlviewer.js,sha256=IQQg6IHWwITJu8QqEQlrTBig5_nCXbJmEsz6u7yxLdY,17793
112
112
  iXBRLViewerPlugin/viewer/src/js/ixbrlviewer.test.js,sha256=eqp8hNamp7LMv1zyZxshLFkERZ0Es-jkKozXDcEG9qk,6973
113
113
  iXBRLViewerPlugin/viewer/src/js/ixnode.js,sha256=TMPGn62flpQVLaY0Zz_ASgLtq2M3OGLpyxYK5fF1CpA,1611
114
114
  iXBRLViewerPlugin/viewer/src/js/menu.js,sha256=oodODQ7D-2DjX-fiLKyD3OvftEkyOhg23tsesz3DvoE,3693
@@ -135,10 +135,10 @@ iXBRLViewerPlugin/viewer/src/js/taxonomynamer.js,sha256=VCr3bqfGJJ_5Y-CH4MoBqOqz
135
135
  iXBRLViewerPlugin/viewer/src/js/taxonomynamer.test.js,sha256=ZH_w5BtYEfzv43a8oCDX7ntNxLX-YtLixs6rHMtKxgI,991
136
136
  iXBRLViewerPlugin/viewer/src/js/test-utils.js,sha256=MXhrubSf0PmSRsrDrqHftPgTrK5PioroXN-FlU4HcN8,1680
137
137
  iXBRLViewerPlugin/viewer/src/js/textblockviewer.js,sha256=lCAZeN_wrSwmYie_rwdeIFCIjiOSblT0K9Vslqwktc8,1874
138
- iXBRLViewerPlugin/viewer/src/js/theme.js,sha256=xc1Ih2mqpwXTKLrGxd9K-PjqrQrgTHrbkTJLD4IKl7g,1212
138
+ iXBRLViewerPlugin/viewer/src/js/theme.js,sha256=dbh2lL1OQdTpcKRy9cLGyxcmjTejQMOn19xMITslNcg,1315
139
139
  iXBRLViewerPlugin/viewer/src/js/unit.js,sha256=tqghHvLTm7uLIJ4mApNNXYv4AT37kGhAdIM7GAJxatU,3902
140
140
  iXBRLViewerPlugin/viewer/src/js/unit.test.js,sha256=An7RSoNOurKYl6SEgRQu7w2stgP07jPFN8x0KjRupck,3220
141
- iXBRLViewerPlugin/viewer/src/js/util.js,sha256=RLY89DcDimC3QncKF9zcQssWoCt2WiEo2aDm_bgAcMM,7144
141
+ iXBRLViewerPlugin/viewer/src/js/util.js,sha256=91Sk4LwK6HIlecrloiX6yPhc1DYUBHSqO3BHjFQW8xc,7919
142
142
  iXBRLViewerPlugin/viewer/src/js/util.test.js,sha256=t6sgV6rTL3aXQMN3iIVe8XxTAOCn1UYHKr_kD6tjI7A,6495
143
143
  iXBRLViewerPlugin/viewer/src/js/utr.js,sha256=0oMasZ9OMGGI_6BQwxLRrXQT3voESWylv-ldGaS_aEA,581
144
144
  iXBRLViewerPlugin/viewer/src/js/validationreport.js,sha256=zWA9_8sWavX2Fi8fwEyDPABxWL_XSzvNQ21O1Qu2ayY,644
@@ -158,7 +158,7 @@ iXBRLViewerPlugin/viewer/src/less/dialog.less,sha256=R3Vu_rG8VgCL3deoja6XfRrPIbP
158
158
  iXBRLViewerPlugin/viewer/src/less/fonts.less,sha256=IamL4X-5uDuDM_Ob-kGrZKKxfCwVRk6C1hkRMwY8ESY,226
159
159
  iXBRLViewerPlugin/viewer/src/less/form-controls.less,sha256=H4_CwDhpxPzrORy2-3FF4zh50qJmMwlJJ4hBXLELTP0,2085
160
160
  iXBRLViewerPlugin/viewer/src/less/icons.less.njk,sha256=M-l5TC5MZTu69xD9bFjlgq7RHCmGoX_gTw1k4MDJeiU,253
161
- iXBRLViewerPlugin/viewer/src/less/inspector.less,sha256=IwhvTek8hsxbRA-tAHKdHs-K5yUCXfAHYobGJQ2FcUk,28353
161
+ iXBRLViewerPlugin/viewer/src/less/inspector.less,sha256=-C0TIrFq2ioiClgL_dJNtUbHtpPKvKE3CYsYyfa6DdQ,28360
162
162
  iXBRLViewerPlugin/viewer/src/less/loader.less,sha256=i9JlRVlJ5jODeU2VeHX_t__9eKgaRgvksE4ZWVUG5d8,1216
163
163
  iXBRLViewerPlugin/viewer/src/less/menu.less,sha256=iDsVQczWeX9r93nOKhtvZHZI6cSMdcTT4rrP8uJ6_c4,2611
164
164
  iXBRLViewerPlugin/viewer/src/less/summary.less,sha256=kBs3KlIg7NnQ_ojIYKg1HExr5VuAx54EwvaDuOX-tEM,1799
@@ -188,10 +188,10 @@ tests/unit_tests/iXBRLViewerPlugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
188
188
  tests/unit_tests/iXBRLViewerPlugin/mock_arelle.py,sha256=fQKJGwceaEVaxvqV9tyuvT6DJB5s1X3-oSMjbFMKlS8,1301
189
189
  tests/unit_tests/iXBRLViewerPlugin/test_iXBRLViewer.py,sha256=2beDs9kf0wRZFw9NM-dYm4j1zlxRybFj7f1JpwUTttQ,33756
190
190
  tests/unit_tests/iXBRLViewerPlugin/test_xhtmlserialize.py,sha256=kdrg4i-YXnYAGl9TLWEACPQF0V69OAMXdXLYJwefsH0,12521
191
- ixbrl_viewer-1.4.53.dist-info/LICENSE,sha256=TZJhu77S_2-WQcPAkuIAlQiuuiNqVcuHBjd7z3Y5S08,16645
192
- ixbrl_viewer-1.4.53.dist-info/METADATA,sha256=Tv31u7aFMhYEnyidX3EMRliH1gC2ZQI4-Hv-ELEIwnk,15797
193
- ixbrl_viewer-1.4.53.dist-info/NOTICE,sha256=-SHDY0OY7s4gm4Rdk5AB3nbnUsrdHEHPdJuGFR_vuM4,566
194
- ixbrl_viewer-1.4.53.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
195
- ixbrl_viewer-1.4.53.dist-info/entry_points.txt,sha256=2XUzP20WGwxdvnugdBybUBwAB3xf_zvrOR5W_smFz_4,65
196
- ixbrl_viewer-1.4.53.dist-info/top_level.txt,sha256=h8MkrMhC_t2-KbfS1oxJVnFAbn5NZJH8END_BL40mv8,24
197
- ixbrl_viewer-1.4.53.dist-info/RECORD,,
191
+ ixbrl_viewer-1.4.55.dist-info/LICENSE,sha256=TZJhu77S_2-WQcPAkuIAlQiuuiNqVcuHBjd7z3Y5S08,16645
192
+ ixbrl_viewer-1.4.55.dist-info/METADATA,sha256=Me04zEy5cW4fO-lCEB39vfHoKe06fLtrzT9EY-vNbM8,15797
193
+ ixbrl_viewer-1.4.55.dist-info/NOTICE,sha256=-SHDY0OY7s4gm4Rdk5AB3nbnUsrdHEHPdJuGFR_vuM4,566
194
+ ixbrl_viewer-1.4.55.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
195
+ ixbrl_viewer-1.4.55.dist-info/entry_points.txt,sha256=2XUzP20WGwxdvnugdBybUBwAB3xf_zvrOR5W_smFz_4,65
196
+ ixbrl_viewer-1.4.55.dist-info/top_level.txt,sha256=h8MkrMhC_t2-KbfS1oxJVnFAbn5NZJH8END_BL40mv8,24
197
+ ixbrl_viewer-1.4.55.dist-info/RECORD,,