ixbrl-viewer 1.4.21__py3-none-any.whl → 1.4.50__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.
- iXBRLViewerPlugin/__init__.py +77 -49
- iXBRLViewerPlugin/_version.py +2 -2
- iXBRLViewerPlugin/constants.py +86 -1
- iXBRLViewerPlugin/featureConfig.py +4 -1
- iXBRLViewerPlugin/iXBRLViewer.py +210 -137
- iXBRLViewerPlugin/plugin.py +7 -0
- iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js +1 -1
- iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js.LICENSE.txt +9 -2
- iXBRLViewerPlugin/viewer/i18next-parser.config.js +1 -1
- iXBRLViewerPlugin/viewer/src/data/utr.json +1 -0
- iXBRLViewerPlugin/viewer/src/html/fact-details.html +69 -38
- iXBRLViewerPlugin/viewer/src/html/footer-logo.html +4 -0
- iXBRLViewerPlugin/viewer/src/html/footnote-details.html +1 -1
- iXBRLViewerPlugin/viewer/src/html/inspector.html +324 -211
- iXBRLViewerPlugin/viewer/src/i18n/cy/balancetypes.json +1 -0
- iXBRLViewerPlugin/viewer/src/i18n/cy/currencies.json +13 -0
- iXBRLViewerPlugin/viewer/src/i18n/cy/datatypes.json +9 -0
- iXBRLViewerPlugin/viewer/src/i18n/cy/labelroles.json +24 -0
- iXBRLViewerPlugin/viewer/src/i18n/cy/referenceparts.json +10 -0
- iXBRLViewerPlugin/viewer/src/i18n/cy/scale.json +16 -0
- iXBRLViewerPlugin/viewer/src/i18n/cy/tooltips.json +17 -0
- iXBRLViewerPlugin/viewer/src/i18n/cy/translation.json +179 -0
- iXBRLViewerPlugin/viewer/src/i18n/en/balancetypes.json +4 -0
- iXBRLViewerPlugin/viewer/src/i18n/en/datatypes.json +10 -0
- iXBRLViewerPlugin/viewer/src/i18n/en/labelroles.json +4 -0
- iXBRLViewerPlugin/viewer/src/i18n/en/scale.json +16 -0
- iXBRLViewerPlugin/viewer/src/i18n/en/tooltips.json +17 -0
- iXBRLViewerPlugin/viewer/src/i18n/en/translation.json +56 -24
- iXBRLViewerPlugin/viewer/src/i18n/es/balancetypes.json +4 -0
- iXBRLViewerPlugin/viewer/src/i18n/es/datatypes.json +10 -0
- iXBRLViewerPlugin/viewer/src/i18n/es/labelroles.json +24 -0
- iXBRLViewerPlugin/viewer/src/i18n/es/scale.json +16 -0
- iXBRLViewerPlugin/viewer/src/i18n/es/tooltips.json +17 -0
- iXBRLViewerPlugin/viewer/src/i18n/es/translation.json +70 -37
- iXBRLViewerPlugin/viewer/src/icons/dark-mode.svg +4 -0
- iXBRLViewerPlugin/viewer/src/img/arelle-dark.svg +179 -0
- iXBRLViewerPlugin/viewer/src/img/inline-viewer-dark.svg +59 -0
- iXBRLViewerPlugin/viewer/src/js/accordian.js +3 -2
- iXBRLViewerPlugin/viewer/src/js/aspect.js +18 -10
- iXBRLViewerPlugin/viewer/src/js/aspect.test.js +2 -2
- iXBRLViewerPlugin/viewer/src/js/balance.js +14 -0
- iXBRLViewerPlugin/viewer/src/js/calculation.js +45 -34
- iXBRLViewerPlugin/viewer/src/js/calculationInspector.js +4 -7
- iXBRLViewerPlugin/viewer/src/js/chart.js +23 -21
- iXBRLViewerPlugin/viewer/src/js/concept.js +30 -3
- iXBRLViewerPlugin/viewer/src/js/concept.test.js +23 -2
- iXBRLViewerPlugin/viewer/src/js/datatype.js +20 -0
- iXBRLViewerPlugin/viewer/src/js/datatype.test.js +62 -0
- iXBRLViewerPlugin/viewer/src/js/dialog.js +6 -4
- iXBRLViewerPlugin/viewer/src/js/fact.js +40 -7
- iXBRLViewerPlugin/viewer/src/js/fact.test.js +3 -0
- iXBRLViewerPlugin/viewer/src/js/index.js +11 -3
- iXBRLViewerPlugin/viewer/src/js/inspector.js +560 -160
- iXBRLViewerPlugin/viewer/src/js/inspector.test.js +1 -2
- iXBRLViewerPlugin/viewer/src/js/ixbrlviewer.js +129 -31
- iXBRLViewerPlugin/viewer/src/js/ixbrlviewer.test.js +133 -20
- iXBRLViewerPlugin/viewer/src/js/ixnode.js +1 -1
- iXBRLViewerPlugin/viewer/src/js/menu.js +25 -7
- iXBRLViewerPlugin/viewer/src/js/number-matcher.js +2 -2
- iXBRLViewerPlugin/viewer/src/js/outline.js +2 -4
- iXBRLViewerPlugin/viewer/src/js/period.js +0 -1
- iXBRLViewerPlugin/viewer/src/js/report.js +68 -13
- iXBRLViewerPlugin/viewer/src/js/report.test.js +77 -6
- iXBRLViewerPlugin/viewer/src/js/reportset.js +33 -3
- iXBRLViewerPlugin/viewer/src/js/reportset.test.js +32 -6
- iXBRLViewerPlugin/viewer/src/js/search.js +61 -35
- iXBRLViewerPlugin/viewer/src/js/search.test.js +8 -5
- iXBRLViewerPlugin/viewer/src/js/summary.js +28 -2
- iXBRLViewerPlugin/viewer/src/js/summary.test.js +52 -14
- iXBRLViewerPlugin/viewer/src/js/tableExport.js +3 -3
- iXBRLViewerPlugin/viewer/src/js/taxonomynamer.js +34 -0
- iXBRLViewerPlugin/viewer/src/js/taxonomynamer.test.js +32 -0
- iXBRLViewerPlugin/viewer/src/js/theme.js +49 -0
- iXBRLViewerPlugin/viewer/src/js/unit.js +73 -2
- iXBRLViewerPlugin/viewer/src/js/unit.test.js +14 -3
- iXBRLViewerPlugin/viewer/src/js/util.js +21 -18
- iXBRLViewerPlugin/viewer/src/js/util.test.js +1 -0
- iXBRLViewerPlugin/viewer/src/js/utr.js +27 -0
- iXBRLViewerPlugin/viewer/src/js/viewer.js +40 -29
- iXBRLViewerPlugin/viewer/src/js/viewerOptions.js +0 -2
- iXBRLViewerPlugin/viewer/src/less/accordian.less +8 -4
- iXBRLViewerPlugin/viewer/src/less/block-list.less +12 -6
- iXBRLViewerPlugin/viewer/src/less/calculation-inspector.less +2 -2
- iXBRLViewerPlugin/viewer/src/less/chart.less +8 -5
- iXBRLViewerPlugin/viewer/src/less/colours-dark-mode.less +40 -0
- iXBRLViewerPlugin/viewer/src/less/colours.less +28 -21
- iXBRLViewerPlugin/viewer/src/less/common.less +1 -1
- iXBRLViewerPlugin/viewer/src/less/components.less +3 -3
- iXBRLViewerPlugin/viewer/src/less/core.less +2 -0
- iXBRLViewerPlugin/viewer/src/less/dialog.less +13 -10
- iXBRLViewerPlugin/viewer/src/less/form-controls.less +33 -11
- iXBRLViewerPlugin/viewer/src/less/inspector.less +556 -300
- iXBRLViewerPlugin/viewer/src/less/loader.less +2 -2
- iXBRLViewerPlugin/viewer/src/less/menu.less +33 -15
- iXBRLViewerPlugin/viewer/src/less/summary.less +16 -6
- iXBRLViewerPlugin/viewer/src/less/tabs.less +5 -5
- iXBRLViewerPlugin/viewer/src/less/text-mixins.less +2 -1
- iXBRLViewerPlugin/viewer/src/less/validation-report.less +1 -1
- iXBRLViewerPlugin/viewer/src/less/viewer.less +30 -18
- iXBRLViewerPlugin/viewer/webpack.common.js +19 -9
- {ixbrl_viewer-1.4.21.dist-info → ixbrl_viewer-1.4.50.dist-info}/METADATA +41 -14
- ixbrl_viewer-1.4.50.dist-info/RECORD +197 -0
- {ixbrl_viewer-1.4.21.dist-info → ixbrl_viewer-1.4.50.dist-info}/WHEEL +1 -1
- tests/puppeteer/framework/page_objects/doc_frame.js +3 -3
- tests/puppeteer/framework/page_objects/fact_details_panel.js +29 -1
- tests/puppeteer/puppeteer_test_run_via_intellij.jpg +0 -0
- tests/puppeteer/tests/fact_properties.test.js +10 -4
- tests/unit_tests/iXBRLViewerPlugin/test_iXBRLViewer.py +117 -51
- iXBRLViewerPlugin/viewer/src/js/interact.min.js +0 -6
- ixbrl_viewer-1.4.21.dist-info/RECORD +0 -166
- {ixbrl_viewer-1.4.21.dist-info → ixbrl_viewer-1.4.50.dist-info}/LICENSE +0 -0
- {ixbrl_viewer-1.4.21.dist-info → ixbrl_viewer-1.4.50.dist-info}/NOTICE +0 -0
- {ixbrl_viewer-1.4.21.dist-info → ixbrl_viewer-1.4.50.dist-info}/entry_points.txt +0 -0
- {ixbrl_viewer-1.4.21.dist-info → ixbrl_viewer-1.4.50.dist-info}/top_level.txt +0 -0
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
top: 50%;
|
|
18
18
|
left: 50%;
|
|
19
19
|
transform: translateX(-50%) translateY(-50%);
|
|
20
|
-
color:
|
|
20
|
+
color: var(--colour-loader);
|
|
21
21
|
font-size: large;
|
|
22
22
|
font-family: sans-serif;
|
|
23
23
|
}
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
animation: loader 4s steps(64);
|
|
47
47
|
-webkit-animation-iteration-count: infinite;
|
|
48
48
|
animation-iteration-count: infinite;
|
|
49
|
-
border-color:
|
|
49
|
+
border-color: var(--colour-loader) transparent transparent;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
@keyframes loader {
|
|
@@ -2,25 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
@import url("form-controls.less");
|
|
4
4
|
|
|
5
|
-
#ixv
|
|
5
|
+
#ixv {
|
|
6
6
|
.menu {
|
|
7
|
-
|
|
8
|
-
right: 0;
|
|
9
|
-
top: 0;
|
|
10
|
-
line-height: @top-bar-height;
|
|
11
|
-
cursor: pointer;
|
|
7
|
+
line-height: var(--top-bar-height);
|
|
12
8
|
|
|
13
9
|
.menu-title {
|
|
14
|
-
|
|
10
|
+
line-height: var(--top-bar-height);
|
|
11
|
+
padding: 0 2.4rem 0 0.3rem;
|
|
15
12
|
position: relative;
|
|
13
|
+
border: none;
|
|
16
14
|
}
|
|
17
15
|
|
|
18
16
|
.menu-title::after {
|
|
19
17
|
.icon-chevron-down();
|
|
20
18
|
|
|
19
|
+
cursor: pointer;
|
|
21
20
|
font-size: 1.8rem;
|
|
22
21
|
position: absolute;
|
|
23
|
-
right:
|
|
22
|
+
right: 0.2rem;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.menu-title::before {
|
|
26
|
+
cursor: pointer;
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
.content-container {
|
|
@@ -28,7 +31,7 @@
|
|
|
28
31
|
// remaining page space, but this means we need to calculate the top
|
|
29
32
|
// position manually.
|
|
30
33
|
position: fixed;
|
|
31
|
-
top: (
|
|
34
|
+
top: calc(var(--top-bar-height));
|
|
32
35
|
right: 0;
|
|
33
36
|
bottom: 0;
|
|
34
37
|
display: none;
|
|
@@ -36,14 +39,13 @@
|
|
|
36
39
|
|
|
37
40
|
.content {
|
|
38
41
|
line-height: initial;
|
|
39
|
-
background:
|
|
40
|
-
border: solid 1px
|
|
42
|
+
background: var(--colour-bg);
|
|
43
|
+
border: solid 1px var(--colour-border-grey);
|
|
41
44
|
max-height: 100%;
|
|
42
45
|
overflow-y: auto;
|
|
43
46
|
|
|
44
47
|
.group {
|
|
45
|
-
|
|
46
|
-
border-top: solid 1px @border-grey;
|
|
48
|
+
margin-bottom: 1rem;
|
|
47
49
|
}
|
|
48
50
|
|
|
49
51
|
.item {
|
|
@@ -53,7 +55,12 @@
|
|
|
53
55
|
text-align: left;
|
|
54
56
|
|
|
55
57
|
&:hover {
|
|
56
|
-
background:
|
|
58
|
+
background: var(--colour-row-hover);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
&:focus-within {
|
|
62
|
+
outline: solid 2px var(--colour-foreground);
|
|
63
|
+
outline-offset: -2px;
|
|
57
64
|
}
|
|
58
65
|
|
|
59
66
|
&.menu-checkbox {
|
|
@@ -83,12 +90,23 @@
|
|
|
83
90
|
|
|
84
91
|
a.item {
|
|
85
92
|
display: block;
|
|
86
|
-
color:
|
|
93
|
+
color: var(--colour-text);
|
|
87
94
|
|
|
88
95
|
&:hover {
|
|
89
96
|
text-decoration: none;
|
|
90
97
|
}
|
|
91
98
|
}
|
|
99
|
+
|
|
100
|
+
.label {
|
|
101
|
+
text-transform: uppercase;
|
|
102
|
+
font-weight: bold;
|
|
103
|
+
font-size: 1.2rem;
|
|
104
|
+
text-align: left;
|
|
105
|
+
padding-top: 1rem;
|
|
106
|
+
color: var(--colour-border-grey);
|
|
107
|
+
border-bottom: solid 1px var(--colour-border-grey);
|
|
108
|
+
padding-left:1rem;
|
|
109
|
+
}
|
|
92
110
|
}
|
|
93
111
|
}
|
|
94
112
|
}
|
|
@@ -2,9 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
#inspector .summary {
|
|
4
4
|
.body {
|
|
5
|
-
.total-facts-
|
|
6
|
-
.
|
|
7
|
-
|
|
5
|
+
.total-facts-value,
|
|
6
|
+
.mandatory-facts-value {
|
|
7
|
+
.inline-button();
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.hidden-facts-value {
|
|
11
|
+
.inline-button();
|
|
8
12
|
}
|
|
9
13
|
|
|
10
14
|
.file-summary-container {
|
|
@@ -34,7 +38,7 @@
|
|
|
34
38
|
text-align: left;
|
|
35
39
|
}
|
|
36
40
|
|
|
37
|
-
thead {
|
|
41
|
+
thead tr {
|
|
38
42
|
th {
|
|
39
43
|
white-space: nowrap;
|
|
40
44
|
position: relative;
|
|
@@ -55,11 +59,17 @@
|
|
|
55
59
|
width: 200px;
|
|
56
60
|
right: 0;
|
|
57
61
|
bottom: 0;
|
|
62
|
+
|
|
63
|
+
&.has-tooltip {
|
|
64
|
+
bottom: -0.8rem;
|
|
65
|
+
}
|
|
58
66
|
}
|
|
59
67
|
}
|
|
68
|
+
|
|
60
69
|
}
|
|
61
70
|
}
|
|
62
71
|
|
|
72
|
+
|
|
63
73
|
tbody th {
|
|
64
74
|
font-weight: normal;
|
|
65
75
|
}
|
|
@@ -70,11 +80,11 @@
|
|
|
70
80
|
transition: background-color 0.25s ease;
|
|
71
81
|
|
|
72
82
|
&:nth-child(odd) {
|
|
73
|
-
background-color:
|
|
83
|
+
background-color: var(--colour-row-odd);
|
|
74
84
|
}
|
|
75
85
|
|
|
76
86
|
&:hover {
|
|
77
|
-
background-color:
|
|
87
|
+
background-color: var(--colour-row-hover);
|
|
78
88
|
}
|
|
79
89
|
|
|
80
90
|
td.figure {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
background-color: #e3e3e3;
|
|
9
9
|
width: 100%;
|
|
10
10
|
box-sizing: border-box;
|
|
11
|
-
border-bottom:
|
|
11
|
+
border-bottom: solid 0.1rem var(--colour-border-grey);
|
|
12
12
|
display: flex;
|
|
13
13
|
|
|
14
14
|
.tab {
|
|
@@ -17,19 +17,19 @@
|
|
|
17
17
|
cursor: pointer;
|
|
18
18
|
color: #444;
|
|
19
19
|
border: solid 0.1rem #cbcbcb;
|
|
20
|
-
border-
|
|
21
|
-
border-top-right-radius: 0.6rem;
|
|
20
|
+
border-radius: 0.6rem 0.6rem 0 0;
|
|
22
21
|
margin-bottom: -0.1rem;
|
|
23
22
|
flex-shrink: 1;
|
|
24
23
|
text-overflow: ellipsis;
|
|
25
24
|
overflow: hidden;
|
|
26
25
|
white-space: nowrap;
|
|
27
26
|
width: 20em;
|
|
27
|
+
text-align: left;
|
|
28
28
|
|
|
29
29
|
&.active {
|
|
30
30
|
padding: 1.2rem;
|
|
31
|
-
border-bottom-color:
|
|
32
|
-
background-color:
|
|
31
|
+
border-bottom-color: var(--colour-bg);
|
|
32
|
+
background-color: var(--colour-bg);
|
|
33
33
|
border-top: solid 0.4rem #0085e6;
|
|
34
34
|
}
|
|
35
35
|
|
|
@@ -4,40 +4,52 @@
|
|
|
4
4
|
@import url("colours.less");
|
|
5
5
|
@import url("common.less");
|
|
6
6
|
|
|
7
|
+
:root {
|
|
8
|
+
--colour-bg: @colour-bg;
|
|
9
|
+
--colour-highlight-1: @colour-highlight-1;
|
|
10
|
+
--colour-highlight-2: @colour-highlight-2;
|
|
11
|
+
--colour-highlight-default: @colour-highlight-default;
|
|
12
|
+
--colour-linked-fact: @colour-linked-fact;
|
|
13
|
+
--colour-primary-focus: @colour-primary-focus;
|
|
14
|
+
--colour-primary: @colour-primary;
|
|
15
|
+
--colour-secondary: @colour-secondary;
|
|
16
|
+
--colour-related-fact: @colour-related-fact;
|
|
17
|
+
}
|
|
18
|
+
|
|
7
19
|
.ixbrl-highlight:not(.ixbrl-no-highlight) {
|
|
8
20
|
// To ensure highlighting takes place, !important is used to override inline styles.
|
|
9
21
|
// For example: overrides highlighting applied inline to alternate table rows.
|
|
10
|
-
background-color:
|
|
22
|
+
background-color: var(--colour-highlight-default) !important; // Override inline styles
|
|
11
23
|
|
|
12
24
|
&.ixbrl-highlight-1 {
|
|
13
|
-
background-color:
|
|
25
|
+
background-color: var(--colour-highlight-1) !important; // Override inline styles
|
|
14
26
|
}
|
|
15
27
|
|
|
16
28
|
&.ixbrl-highlight-2 {
|
|
17
|
-
background-color:
|
|
29
|
+
background-color: var(--colour-highlight-2) !important; // Override inline styles
|
|
18
30
|
}
|
|
19
31
|
}
|
|
20
32
|
|
|
21
33
|
.review.review-highlight-untagged-numbers .review-untagged-number {
|
|
22
|
-
background-color:
|
|
34
|
+
background-color: var(--colour-highlight-1);
|
|
23
35
|
}
|
|
24
36
|
|
|
25
37
|
.review.review-highlight-untagged-dates .review-untagged-date {
|
|
26
|
-
background-color:
|
|
38
|
+
background-color: var(--colour-highlight-2);
|
|
27
39
|
}
|
|
28
40
|
|
|
29
41
|
.review .ixbrl-highlight:not(.ixbrl-no-highlight) {
|
|
30
42
|
// Review mode disables namespace-specific highlighting in favor of all tagged
|
|
31
43
|
// elements sharing the same default highlight color, other colors are used for
|
|
32
44
|
// untagged highlighting defined above.
|
|
33
|
-
background-color:
|
|
45
|
+
background-color: var(--colour-highlight-default) !important; // Override inline styles
|
|
34
46
|
|
|
35
47
|
&.ixbrl-highlight-1 {
|
|
36
|
-
background-color:
|
|
48
|
+
background-color: var(--colour-highlight-default) !important; // Override inline styles
|
|
37
49
|
}
|
|
38
50
|
|
|
39
51
|
&.ixbrl-highlight-2 {
|
|
40
|
-
background-color:
|
|
52
|
+
background-color: var(--colour-highlight-default) !important; // Override inline styles
|
|
41
53
|
}
|
|
42
54
|
}
|
|
43
55
|
|
|
@@ -45,14 +57,14 @@ div,
|
|
|
45
57
|
span {
|
|
46
58
|
&:not(.ixbrl-no-highlight) {
|
|
47
59
|
&.ixbrl-selected {
|
|
48
|
-
outline: solid 0.125em
|
|
60
|
+
outline: solid 0.125em var(--colour-primary-focus);
|
|
49
61
|
outline-offset: 0.0625em;
|
|
50
62
|
}
|
|
51
63
|
|
|
52
64
|
&.ixbrl-element,
|
|
53
65
|
&.ixbrl-sub-element {
|
|
54
66
|
&:hover:not(.ixbrl-selected) {
|
|
55
|
-
outline: dashed 0.125em
|
|
67
|
+
outline: dashed 0.125em var(--colour-primary-focus);
|
|
56
68
|
outline-offset: 0.0625em;
|
|
57
69
|
}
|
|
58
70
|
}
|
|
@@ -65,7 +77,7 @@ span {
|
|
|
65
77
|
cursor: pointer;
|
|
66
78
|
|
|
67
79
|
&.ixbrl-related {
|
|
68
|
-
outline: dashed 0.125em
|
|
80
|
+
outline: dashed 0.125em var(--colour-related-fact);
|
|
69
81
|
|
|
70
82
|
&:not(td, th) {
|
|
71
83
|
outline-offset: 0.0625em;
|
|
@@ -78,13 +90,13 @@ td,
|
|
|
78
90
|
th {
|
|
79
91
|
&:not(.ixbrl-no-highlight) {
|
|
80
92
|
&.ixbrl-selected {
|
|
81
|
-
outline: solid 0.125em
|
|
93
|
+
outline: solid 0.125em var(--colour-primary-focus) !important;
|
|
82
94
|
outline-offset: -0.0625em !important;
|
|
83
95
|
}
|
|
84
96
|
|
|
85
97
|
&.ixbrl-element:hover:not(.ixbrl-selected),
|
|
86
98
|
&.ixbrl-sub-element:hover:not(.ixbrl-selected) {
|
|
87
|
-
outline: dashed 0.125em
|
|
99
|
+
outline: dashed 0.125em var(--colour-primary-focus) !important;
|
|
88
100
|
outline-offset: -0.0625em !important;
|
|
89
101
|
}
|
|
90
102
|
}
|
|
@@ -115,7 +127,7 @@ div.ixbrl-table-handle {
|
|
|
115
127
|
width: 0;
|
|
116
128
|
height: 0;
|
|
117
129
|
border: @export-handle-size solid transparent;
|
|
118
|
-
border-bottom-color:
|
|
130
|
+
border-bottom-color: var(--colour-secondary);
|
|
119
131
|
top: -2 * @export-handle-size;
|
|
120
132
|
|
|
121
133
|
&::after {
|
|
@@ -126,7 +138,7 @@ div.ixbrl-table-handle {
|
|
|
126
138
|
width: 0;
|
|
127
139
|
height: 0;
|
|
128
140
|
border: @export-handle-size solid transparent;
|
|
129
|
-
border-top-color:
|
|
141
|
+
border-top-color: var(--colour-secondary);
|
|
130
142
|
}
|
|
131
143
|
|
|
132
144
|
& > span {
|
|
@@ -140,7 +152,7 @@ div.ixbrl-table-handle {
|
|
|
140
152
|
}
|
|
141
153
|
|
|
142
154
|
border: none;
|
|
143
|
-
color:
|
|
155
|
+
color: var(--colour-bg);
|
|
144
156
|
transition: width 0.3s;
|
|
145
157
|
width: 9rem;
|
|
146
158
|
height: initial;
|
|
@@ -157,11 +169,11 @@ div.ixbrl-table-handle {
|
|
|
157
169
|
font-size: 1.2rem;
|
|
158
170
|
}
|
|
159
171
|
|
|
160
|
-
border: solid 0.1rem
|
|
172
|
+
border: solid 0.1rem var(--colour-bg);
|
|
161
173
|
font-family: sans-serif;
|
|
162
174
|
display: block;
|
|
163
175
|
padding: 0.7rem 1.5rem 0.7rem 2.5rem;
|
|
164
|
-
background-color:
|
|
176
|
+
background-color: var(--colour-secondary);
|
|
165
177
|
}
|
|
166
178
|
}
|
|
167
179
|
}
|
|
@@ -17,22 +17,32 @@ module.exports = {
|
|
|
17
17
|
use: [ {
|
|
18
18
|
loader: "html-loader",
|
|
19
19
|
options: {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
esModule: false,
|
|
21
|
+
minimize: {
|
|
22
|
+
removeAttributeQuotes: false,
|
|
23
|
+
keepClosingSlash: true
|
|
24
|
+
}
|
|
23
25
|
}
|
|
24
26
|
}]
|
|
25
27
|
},
|
|
26
28
|
{
|
|
27
29
|
test: /\.less$/,
|
|
28
|
-
use: [
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
use: [
|
|
31
|
+
{
|
|
32
|
+
loader: "css-loader",
|
|
33
|
+
options: {
|
|
34
|
+
esModule: false
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
loader: "less-loader",
|
|
39
|
+
options: {
|
|
40
|
+
lessOptions: {
|
|
41
|
+
math: "parens-division"
|
|
42
|
+
}
|
|
33
43
|
}
|
|
34
44
|
}
|
|
35
|
-
|
|
45
|
+
]
|
|
36
46
|
}
|
|
37
47
|
]
|
|
38
48
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: ixbrl-viewer
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.50
|
|
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
|
|
@@ -19,26 +19,25 @@ Classifier: Intended Audience :: Developers
|
|
|
19
19
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
20
20
|
Classifier: Natural Language :: English
|
|
21
21
|
Classifier: Programming Language :: Python :: 3
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.9
|
|
24
23
|
Classifier: Programming Language :: Python :: 3.10
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.11
|
|
26
25
|
Classifier: Programming Language :: Python :: 3.12
|
|
27
26
|
Classifier: Operating System :: OS Independent
|
|
28
27
|
Classifier: Topic :: Text Processing :: Markup :: XML
|
|
29
|
-
Requires-Python: >=3.
|
|
28
|
+
Requires-Python: >=3.9
|
|
30
29
|
Description-Content-Type: text/markdown
|
|
31
30
|
License-File: LICENSE
|
|
32
31
|
License-File: NOTICE
|
|
33
|
-
Requires-Dist: lxml
|
|
32
|
+
Requires-Dist: lxml<6,>=4
|
|
34
33
|
Provides-Extra: arelle
|
|
35
|
-
Requires-Dist:
|
|
34
|
+
Requires-Dist: arelle_release==2.*; extra == "arelle"
|
|
36
35
|
Provides-Extra: dev
|
|
37
|
-
Requires-Dist: flake8
|
|
38
|
-
Requires-Dist: lxml-stubs
|
|
39
|
-
Requires-Dist: mypy
|
|
40
|
-
Requires-Dist: pytest
|
|
41
|
-
Requires-Dist: typing-extensions
|
|
36
|
+
Requires-Dist: flake8==7.1.1; extra == "dev"
|
|
37
|
+
Requires-Dist: lxml-stubs==0.5.1; extra == "dev"
|
|
38
|
+
Requires-Dist: mypy==1.14.1; extra == "dev"
|
|
39
|
+
Requires-Dist: pytest==8.3.4; extra == "dev"
|
|
40
|
+
Requires-Dist: typing-extensions==4.12.2; extra == "dev"
|
|
42
41
|
|
|
43
42
|
# Arelle iXBRL Viewer
|
|
44
43
|
|
|
@@ -297,6 +296,34 @@ This mode replaces the namespace-based highlighting with optional highlighting b
|
|
|
297
296
|
|---------------------------|----------------|
|
|
298
297
|
| `--viewer-feature-review` | `?review=true` |
|
|
299
298
|
|
|
299
|
+
# Runtime config
|
|
300
|
+
|
|
301
|
+
When launched, the viewer will check for the existence of
|
|
302
|
+
`ixbrlviewer.config.json` in the same directory as `ixbrlviewer.js`. If found,
|
|
303
|
+
this will be loaded and used to configure the viewer.
|
|
304
|
+
|
|
305
|
+
The file supports the following keys:
|
|
306
|
+
|
|
307
|
+
* `features` - a JSON object containing defaults for features. These will be
|
|
308
|
+
overridden by features defined at generation time, and then by query
|
|
309
|
+
parameters, as defined above.
|
|
310
|
+
|
|
311
|
+
* `skin` - a JSON object supporting the following keys:
|
|
312
|
+
|
|
313
|
+
* `stylesheetUrl` - a URL to additional CSS definitions.
|
|
314
|
+
* `faviconUrl` - a URL to an icon file to be used as the favicon for the viewer.
|
|
315
|
+
* `footerLogoHtml` - a fragment of HTML that will be included in place of the standard footer logo.
|
|
316
|
+
|
|
317
|
+
* `taxonomyNames` - a JSON object where:
|
|
318
|
+
|
|
319
|
+
* Keys are strings that will be treated as a regular expression to match
|
|
320
|
+
against a namespace.
|
|
321
|
+
* Values are an array of (prefix, name) where "prefix" is the preferred
|
|
322
|
+
namespace prefix for the namespace, and "name" is a short descriptive
|
|
323
|
+
name for the taxonomy.
|
|
324
|
+
|
|
325
|
+
Relative URLs defined in the config file are resolved relative to the config file.
|
|
326
|
+
|
|
300
327
|
# Disable viewer loading
|
|
301
328
|
|
|
302
329
|
Loading of the viewer can be disabled by specifying `?disable-viewer` as a
|
|
@@ -304,9 +331,9 @@ query parameter. This will leave the iXBRL document loaded in the browser, but
|
|
|
304
331
|
without any viewer functionality. In the case of an iXBRL document set, or
|
|
305
332
|
multi-document viewer, the first document will be shown.
|
|
306
333
|
|
|
307
|
-
|
|
334
|
+
# Running tests
|
|
308
335
|
|
|
309
|
-
|
|
336
|
+
## Running unit tests
|
|
310
337
|
|
|
311
338
|
In order to run the javascript unit tests make sure that you have installed all of the npm requirements.
|
|
312
339
|
|
|
@@ -316,7 +343,7 @@ In order to run the python unit tests make sure that you have pip installed requ
|
|
|
316
343
|
|
|
317
344
|
Run the following command to run python unit tests: `pytest tests/unit_tests`
|
|
318
345
|
|
|
319
|
-
|
|
346
|
+
## Running Puppeteer tests
|
|
320
347
|
|
|
321
348
|
All commands should be run from repository root
|
|
322
349
|
|