ixbrl-viewer 1.4.1__py3-none-any.whl → 1.4.86__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.
Files changed (190) hide show
  1. iXBRLViewerPlugin/__init__.py +231 -127
  2. iXBRLViewerPlugin/_version.py +33 -3
  3. iXBRLViewerPlugin/constants.py +96 -2
  4. iXBRLViewerPlugin/featureConfig.py +8 -1
  5. iXBRLViewerPlugin/iXBRLViewer.py +356 -214
  6. iXBRLViewerPlugin/plugin.py +12 -0
  7. iXBRLViewerPlugin/ui.py +81 -50
  8. iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js +1 -1
  9. iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js.LICENSE.txt +12 -5
  10. iXBRLViewerPlugin/viewer/i18next-parser.config.js +1 -1
  11. iXBRLViewerPlugin/viewer/src/data/utr.json +1244 -0
  12. iXBRLViewerPlugin/viewer/src/html/fact-details.html +69 -38
  13. iXBRLViewerPlugin/viewer/src/html/footer-logo.html +4 -0
  14. iXBRLViewerPlugin/viewer/src/html/footnote-details.html +2 -2
  15. iXBRLViewerPlugin/viewer/src/html/inspector.html +352 -197
  16. iXBRLViewerPlugin/viewer/src/i18n/cy/balancetypes.json +1 -0
  17. iXBRLViewerPlugin/viewer/src/i18n/cy/currencies.json +13 -0
  18. iXBRLViewerPlugin/viewer/src/i18n/cy/datatypes.json +9 -0
  19. iXBRLViewerPlugin/viewer/src/i18n/cy/labelroles.json +24 -0
  20. iXBRLViewerPlugin/viewer/src/i18n/cy/referenceparts.json +10 -0
  21. iXBRLViewerPlugin/viewer/src/i18n/cy/scale.json +16 -0
  22. iXBRLViewerPlugin/viewer/src/i18n/cy/tooltips.json +17 -0
  23. iXBRLViewerPlugin/viewer/src/i18n/cy/translation.json +179 -0
  24. iXBRLViewerPlugin/viewer/src/i18n/da/balancetypes.json +4 -0
  25. iXBRLViewerPlugin/viewer/src/i18n/da/currencies.json +13 -0
  26. iXBRLViewerPlugin/viewer/src/i18n/da/datatypes.json +9 -0
  27. iXBRLViewerPlugin/viewer/src/i18n/da/labelroles.json +24 -0
  28. iXBRLViewerPlugin/viewer/src/i18n/da/referenceparts.json +10 -0
  29. iXBRLViewerPlugin/viewer/src/i18n/da/scale.json +15 -0
  30. iXBRLViewerPlugin/viewer/src/i18n/da/tooltips.json +17 -0
  31. iXBRLViewerPlugin/viewer/src/i18n/da/translation.json +179 -0
  32. iXBRLViewerPlugin/viewer/src/i18n/de/balancetypes.json +4 -0
  33. iXBRLViewerPlugin/viewer/src/i18n/de/currencies.json +13 -0
  34. iXBRLViewerPlugin/viewer/src/i18n/de/datatypes.json +9 -0
  35. iXBRLViewerPlugin/viewer/src/i18n/de/labelroles.json +24 -0
  36. iXBRLViewerPlugin/viewer/src/i18n/de/referenceparts.json +10 -0
  37. iXBRLViewerPlugin/viewer/src/i18n/de/scale.json +15 -0
  38. iXBRLViewerPlugin/viewer/src/i18n/de/tooltips.json +17 -0
  39. iXBRLViewerPlugin/viewer/src/i18n/de/translation.json +179 -0
  40. iXBRLViewerPlugin/viewer/src/i18n/en/balancetypes.json +4 -0
  41. iXBRLViewerPlugin/viewer/src/i18n/en/datatypes.json +10 -0
  42. iXBRLViewerPlugin/viewer/src/i18n/en/labelroles.json +4 -0
  43. iXBRLViewerPlugin/viewer/src/i18n/en/scale.json +16 -0
  44. iXBRLViewerPlugin/viewer/src/i18n/en/tooltips.json +17 -0
  45. iXBRLViewerPlugin/viewer/src/i18n/en/translation.json +73 -23
  46. iXBRLViewerPlugin/viewer/src/i18n/es/balancetypes.json +4 -0
  47. iXBRLViewerPlugin/viewer/src/i18n/es/datatypes.json +10 -0
  48. iXBRLViewerPlugin/viewer/src/i18n/es/labelroles.json +24 -0
  49. iXBRLViewerPlugin/viewer/src/i18n/es/scale.json +16 -0
  50. iXBRLViewerPlugin/viewer/src/i18n/es/tooltips.json +17 -0
  51. iXBRLViewerPlugin/viewer/src/i18n/es/translation.json +87 -37
  52. iXBRLViewerPlugin/viewer/src/i18n/fr/balancetypes.json +4 -0
  53. iXBRLViewerPlugin/viewer/src/i18n/fr/currencies.json +13 -0
  54. iXBRLViewerPlugin/viewer/src/i18n/fr/datatypes.json +9 -0
  55. iXBRLViewerPlugin/viewer/src/i18n/fr/labelroles.json +24 -0
  56. iXBRLViewerPlugin/viewer/src/i18n/fr/referenceparts.json +10 -0
  57. iXBRLViewerPlugin/viewer/src/i18n/fr/scale.json +15 -0
  58. iXBRLViewerPlugin/viewer/src/i18n/fr/tooltips.json +17 -0
  59. iXBRLViewerPlugin/viewer/src/i18n/fr/translation.json +179 -0
  60. iXBRLViewerPlugin/viewer/src/i18n/nl/balancetypes.json +4 -0
  61. iXBRLViewerPlugin/viewer/src/i18n/nl/currencies.json +13 -0
  62. iXBRLViewerPlugin/viewer/src/i18n/nl/datatypes.json +9 -0
  63. iXBRLViewerPlugin/viewer/src/i18n/nl/labelroles.json +24 -0
  64. iXBRLViewerPlugin/viewer/src/i18n/nl/referenceparts.json +10 -0
  65. iXBRLViewerPlugin/viewer/src/i18n/nl/scale.json +15 -0
  66. iXBRLViewerPlugin/viewer/src/i18n/nl/tooltips.json +17 -0
  67. iXBRLViewerPlugin/viewer/src/i18n/nl/translation.json +179 -0
  68. iXBRLViewerPlugin/viewer/src/i18n/uk/balancetypes.json +4 -0
  69. iXBRLViewerPlugin/viewer/src/i18n/uk/currencies.json +13 -0
  70. iXBRLViewerPlugin/viewer/src/i18n/uk/datatypes.json +9 -0
  71. iXBRLViewerPlugin/viewer/src/i18n/uk/labelroles.json +24 -0
  72. iXBRLViewerPlugin/viewer/src/i18n/uk/referenceparts.json +10 -0
  73. iXBRLViewerPlugin/viewer/src/i18n/uk/scale.json +15 -0
  74. iXBRLViewerPlugin/viewer/src/i18n/uk/tooltips.json +17 -0
  75. iXBRLViewerPlugin/viewer/src/i18n/uk/translation.json +179 -0
  76. iXBRLViewerPlugin/viewer/src/icons/calculator.svg +13 -0
  77. iXBRLViewerPlugin/viewer/src/icons/circle-cross.svg +11 -0
  78. iXBRLViewerPlugin/viewer/src/icons/circle-tick.svg +11 -0
  79. iXBRLViewerPlugin/viewer/src/icons/dark-mode.svg +4 -0
  80. iXBRLViewerPlugin/viewer/src/icons/dimension.svg +1 -5
  81. iXBRLViewerPlugin/viewer/src/icons/member.svg +2 -5
  82. iXBRLViewerPlugin/viewer/src/icons/multi-tag.svg +10 -0
  83. iXBRLViewerPlugin/viewer/src/img/arelle-dark.svg +179 -0
  84. iXBRLViewerPlugin/viewer/src/img/inline-viewer-dark.svg +59 -0
  85. iXBRLViewerPlugin/viewer/src/js/accordian.js +5 -4
  86. iXBRLViewerPlugin/viewer/src/js/aspect.js +29 -10
  87. iXBRLViewerPlugin/viewer/src/js/aspect.test.js +40 -31
  88. iXBRLViewerPlugin/viewer/src/js/balance.js +14 -0
  89. iXBRLViewerPlugin/viewer/src/js/calculation.js +213 -0
  90. iXBRLViewerPlugin/viewer/src/js/calculation.test.js +306 -0
  91. iXBRLViewerPlugin/viewer/src/js/calculationInspector.js +187 -0
  92. iXBRLViewerPlugin/viewer/src/js/chart.js +26 -24
  93. iXBRLViewerPlugin/viewer/src/js/chart.test.js +10 -9
  94. iXBRLViewerPlugin/viewer/src/js/concept.js +37 -4
  95. iXBRLViewerPlugin/viewer/src/js/concept.test.js +30 -6
  96. iXBRLViewerPlugin/viewer/src/js/datatype.js +20 -0
  97. iXBRLViewerPlugin/viewer/src/js/datatype.test.js +62 -0
  98. iXBRLViewerPlugin/viewer/src/js/dialog.js +6 -4
  99. iXBRLViewerPlugin/viewer/src/js/docOrderIndex.js +7 -7
  100. iXBRLViewerPlugin/viewer/src/js/fact.js +156 -59
  101. iXBRLViewerPlugin/viewer/src/js/fact.test.js +160 -29
  102. iXBRLViewerPlugin/viewer/src/js/factset.js +64 -15
  103. iXBRLViewerPlugin/viewer/src/js/factset.test.js +102 -31
  104. iXBRLViewerPlugin/viewer/src/js/footnote.js +8 -2
  105. iXBRLViewerPlugin/viewer/src/js/index.js +11 -3
  106. iXBRLViewerPlugin/viewer/src/js/inspector.js +747 -221
  107. iXBRLViewerPlugin/viewer/src/js/inspector.test.js +143 -25
  108. iXBRLViewerPlugin/viewer/src/js/interval.js +70 -0
  109. iXBRLViewerPlugin/viewer/src/js/interval.test.js +153 -0
  110. iXBRLViewerPlugin/viewer/src/js/ixbrlviewer.js +391 -262
  111. iXBRLViewerPlugin/viewer/src/js/ixbrlviewer.test.js +134 -20
  112. iXBRLViewerPlugin/viewer/src/js/ixnode.js +1 -1
  113. iXBRLViewerPlugin/viewer/src/js/menu.js +25 -7
  114. iXBRLViewerPlugin/viewer/src/js/number-matcher.js +7 -3
  115. iXBRLViewerPlugin/viewer/src/js/number-matcher.test.js +4 -0
  116. iXBRLViewerPlugin/viewer/src/js/outline.js +34 -13
  117. iXBRLViewerPlugin/viewer/src/js/outline.test.js +97 -91
  118. iXBRLViewerPlugin/viewer/src/js/period.js +0 -1
  119. iXBRLViewerPlugin/viewer/src/js/report.js +260 -351
  120. iXBRLViewerPlugin/viewer/src/js/report.test.js +95 -27
  121. iXBRLViewerPlugin/viewer/src/js/reportset.js +264 -0
  122. iXBRLViewerPlugin/viewer/src/js/reportset.test.js +357 -0
  123. iXBRLViewerPlugin/viewer/src/js/search.js +72 -38
  124. iXBRLViewerPlugin/viewer/src/js/search.test.js +184 -84
  125. iXBRLViewerPlugin/viewer/src/js/summary.js +34 -8
  126. iXBRLViewerPlugin/viewer/src/js/summary.test.js +69 -25
  127. iXBRLViewerPlugin/viewer/src/js/tableExport.js +9 -9
  128. iXBRLViewerPlugin/viewer/src/js/taxonomynamer.js +34 -0
  129. iXBRLViewerPlugin/viewer/src/js/taxonomynamer.test.js +32 -0
  130. iXBRLViewerPlugin/viewer/src/js/test-utils.js +46 -0
  131. iXBRLViewerPlugin/viewer/src/js/theme.js +50 -0
  132. iXBRLViewerPlugin/viewer/src/js/unit.js +90 -32
  133. iXBRLViewerPlugin/viewer/src/js/unit.test.js +62 -25
  134. iXBRLViewerPlugin/viewer/src/js/util.js +94 -0
  135. iXBRLViewerPlugin/viewer/src/js/util.test.js +33 -1
  136. iXBRLViewerPlugin/viewer/src/js/utr.js +27 -0
  137. iXBRLViewerPlugin/viewer/src/js/viewer.js +205 -181
  138. iXBRLViewerPlugin/viewer/src/js/viewerOptions.js +0 -2
  139. iXBRLViewerPlugin/viewer/src/less/accordian.less +10 -6
  140. iXBRLViewerPlugin/viewer/src/less/block-list.less +16 -5
  141. iXBRLViewerPlugin/viewer/src/less/calculation-inspector.less +83 -0
  142. iXBRLViewerPlugin/viewer/src/less/chart.less +8 -5
  143. iXBRLViewerPlugin/viewer/src/less/colours-dark-mode.less +40 -0
  144. iXBRLViewerPlugin/viewer/src/less/colours.less +32 -20
  145. iXBRLViewerPlugin/viewer/src/less/common.less +3 -3
  146. iXBRLViewerPlugin/viewer/src/less/components.less +6 -4
  147. iXBRLViewerPlugin/viewer/src/less/core.less +2 -0
  148. iXBRLViewerPlugin/viewer/src/less/dialog.less +21 -14
  149. iXBRLViewerPlugin/viewer/src/less/form-controls.less +33 -11
  150. iXBRLViewerPlugin/viewer/src/less/inspector.less +1045 -726
  151. iXBRLViewerPlugin/viewer/src/less/loader.less +2 -2
  152. iXBRLViewerPlugin/viewer/src/less/menu.less +33 -15
  153. iXBRLViewerPlugin/viewer/src/less/summary.less +16 -6
  154. iXBRLViewerPlugin/viewer/src/less/tabs.less +9 -9
  155. iXBRLViewerPlugin/viewer/src/less/text-block-viewer.less +2 -0
  156. iXBRLViewerPlugin/viewer/src/less/text-mixins.less +2 -1
  157. iXBRLViewerPlugin/viewer/src/less/validation-report.less +2 -3
  158. iXBRLViewerPlugin/viewer/src/less/viewer.less +105 -74
  159. iXBRLViewerPlugin/viewer/webpack.common.js +19 -9
  160. iXBRLViewerPlugin/xhtmlserialize.py +59 -45
  161. {ixbrl_viewer-1.4.1.dist-info → ixbrl_viewer-1.4.86.dist-info}/METADATA +181 -50
  162. ixbrl_viewer-1.4.86.dist-info/RECORD +217 -0
  163. {ixbrl_viewer-1.4.1.dist-info → ixbrl_viewer-1.4.86.dist-info}/WHEEL +1 -1
  164. ixbrl_viewer-1.4.1.dist-info/LICENSE → ixbrl_viewer-1.4.86.dist-info/licenses/LICENSE.md +8 -14
  165. {ixbrl_viewer-1.4.1.dist-info → ixbrl_viewer-1.4.86.dist-info}/top_level.txt +0 -1
  166. iXBRLViewerPlugin/viewer/src/js/calculations.js +0 -111
  167. iXBRLViewerPlugin/viewer/src/js/interact.min.js +0 -6
  168. ixbrl_viewer-1.4.1.dist-info/RECORD +0 -155
  169. tests/__init__.py +0 -0
  170. tests/puppeteer/framework/core_elements.js +0 -117
  171. tests/puppeteer/framework/page_objects/doc_frame.js +0 -105
  172. tests/puppeteer/framework/page_objects/fact_details_panel.js +0 -80
  173. tests/puppeteer/framework/page_objects/search_panel.js +0 -76
  174. tests/puppeteer/framework/page_objects/toolbar.js +0 -18
  175. tests/puppeteer/framework/utils.js +0 -3
  176. tests/puppeteer/framework/viewer_page.js +0 -103
  177. tests/puppeteer/puppeteer_test_run_via_intellij.jpg +0 -0
  178. tests/puppeteer/test_filings/filing_documents_smoke_test.zip +0 -0
  179. tests/puppeteer/test_filings/highlights.zip +0 -0
  180. tests/puppeteer/tests/fact_properties.test.js +0 -78
  181. tests/puppeteer/tests/highlight.test.js +0 -186
  182. tests/puppeteer/tests/search.test.js +0 -86
  183. tests/puppeteer/tools/generate.sh +0 -15
  184. tests/unit_tests/__init__.py +0 -0
  185. tests/unit_tests/iXBRLViewerPlugin/__init__.py +0 -0
  186. tests/unit_tests/iXBRLViewerPlugin/mock_arelle.py +0 -39
  187. tests/unit_tests/iXBRLViewerPlugin/test_iXBRLViewer.py +0 -641
  188. tests/unit_tests/iXBRLViewerPlugin/test_xhtmlserialize.py +0 -310
  189. {ixbrl_viewer-1.4.1.dist-info → ixbrl_viewer-1.4.86.dist-info}/entry_points.txt +0 -0
  190. {ixbrl_viewer-1.4.1.dist-info → ixbrl_viewer-1.4.86.dist-info/licenses}/NOTICE +0 -0
@@ -17,7 +17,7 @@
17
17
  top: 50%;
18
18
  left: 50%;
19
19
  transform: translateX(-50%) translateY(-50%);
20
- color: #fff;
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: #fff transparent transparent;
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 #inspector {
5
+ #ixv {
6
6
  .menu {
7
- position: absolute;
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
- padding-right: 3.2rem;
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: 1rem;
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: (@top-bar-height + 3.2rem + 2 * 0.8rem);
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: #fff;
40
- border: solid 1px @border-grey;
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
- border-bottom: solid 1px @border-grey;
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: @border-grey;
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: @text;
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-title,
6
- .files-summary-title {
7
- font-weight: bold;
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: rgb(248 248 248);
83
+ background-color: var(--colour-row-odd);
74
84
  }
75
85
 
76
86
  &:hover {
77
- background-color: rgb(230 230 230);
87
+ background-color: var(--colour-row-hover);
78
88
  }
79
89
 
80
90
  td.figure {
@@ -5,32 +5,32 @@
5
5
  .tab-area {
6
6
  .clearfix();
7
7
 
8
- background-color: #e3e3e3;
8
+ background-color: var(--colour-bg-selected);
9
9
  width: 100%;
10
10
  box-sizing: border-box;
11
- border-bottom: @simple-border;
11
+ border-bottom: solid 0.1rem var(--colour-border-grey);
12
12
  display: flex;
13
13
 
14
14
  .tab {
15
15
  float: left;
16
16
  padding: 1.2rem;
17
17
  cursor: pointer;
18
- color: #444;
19
- border: solid 0.1rem #cbcbcb;
20
- border-top-left-radius: 0.6rem;
21
- border-top-right-radius: 0.6rem;
18
+ color: var(--colour-text-title);
19
+ border: solid 0.1rem var(--colour-border-grey);
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: #fff;
32
- background-color: #fff;
33
- border-top: solid 0.4rem #0085e6;
31
+ border-bottom-color: var(--colour-bg);
32
+ background-color: var(--colour-bg);
33
+ border-top: solid 0.4rem var(--colour-primary);
34
34
  }
35
35
 
36
36
  &:not(.active) {
@@ -16,6 +16,8 @@
16
16
  }
17
17
 
18
18
  iframe {
19
+ background-color:white;
20
+ color:black;
19
21
  margin: 1.4rem 0;
20
22
  border: solid 1px #ccc;
21
23
  flex-grow: 1;
@@ -2,7 +2,7 @@
2
2
 
3
3
  .default-font {
4
4
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
5
- color: @text;
5
+ color: var(--colour-text);
6
6
  }
7
7
 
8
8
  .text-sm {
@@ -11,4 +11,5 @@
11
11
 
12
12
  .text-md {
13
13
  font-size: 1.4rem;
14
+ line-height: 1.8rem;
14
15
  }
@@ -1,8 +1,7 @@
1
1
  // See COPYRIGHT.md for copyright information
2
2
 
3
3
  #ixv .dialog.validation-report {
4
- max-width: 120rem;
5
- width: 90vw;
4
+ .dialog.full-width();
6
5
 
7
6
  table {
8
7
  display: block;
@@ -14,7 +13,7 @@
14
13
  td,
15
14
  th {
16
15
  padding: 0.5rem;
17
- border: solid 0.1rem @border-grey;
16
+ border: solid 0.1rem var(--colour-border-grey);
18
17
  }
19
18
  }
20
19
  }
@@ -4,106 +4,137 @@
4
4
  @import url("colours.less");
5
5
  @import url("common.less");
6
6
 
7
- .ixbrl-highlight:not(.ixbrl-no-highlight) {
8
- // To ensure highlighting takes place, !important is used to override inline styles.
9
- // For example: overrides highlighting applied inline to alternate table rows.
10
- background-color: @highlight-default !important; // Override inline styles
7
+ :root {
8
+ --colour-bg: @colour-bg;
9
+ --colour-highlight-1: @colour-highlight-1;
10
+ --colour-highlight-2: @colour-highlight-2;
11
+ --colour-highlight-3: @colour-highlight-3;
12
+ --colour-highlight-4: @colour-highlight-4;
13
+ --colour-highlight-5: @colour-highlight-5;
14
+ --colour-highlight-default: @colour-highlight-default;
15
+ --colour-linked-fact: @colour-linked-fact;
16
+ --colour-primary-focus: @colour-primary-focus;
17
+ --colour-primary: @colour-primary;
18
+ --colour-secondary: @colour-secondary;
19
+ --colour-related-fact: @colour-related-fact;
20
+ }
21
+
22
+ // To ensure highlighting takes place, !important is used to override inline styles.
23
+ // For example: overrides highlighting applied inline to alternate table rows.
24
+
25
+ .ixbrl-highlight {
26
+ &:not(.ixbrl-no-highlight),
27
+ & .ixbrl-sub-element:not(.ixbrl-no-highlight) {
28
+ background-color: var(--colour-highlight-default) !important; // Override inline styles
29
+ }
30
+
31
+ &:not(.ixbrl-no-highlight).ixbrl-highlight-1,
32
+ &.ixbrl-highlight-1 .ixbrl-sub-element:not(.ixbrl-no-highlight) {
33
+ background-color: var(--colour-highlight-1) !important; // Override inline styles
34
+ }
35
+
36
+ &:not(.ixbrl-no-highlight).ixbrl-highlight-2,
37
+ &.ixbrl-highlight-2 .ixbrl-sub-element:not(.ixbrl-no-highlight) {
38
+ background-color: var(--colour-highlight-2) !important; // Override inline styles
39
+ }
40
+
41
+ &:not(.ixbrl-no-highlight).ixbrl-highlight-3,
42
+ &.ixbrl-highlight-3 .ixbrl-sub-element:not(.ixbrl-no-highlight) {
43
+ background-color: var(--colour-highlight-3) !important; // Override inline styles
44
+ }
11
45
 
12
- &.ixbrl-highlight-1 {
13
- background-color: @highlight-1 !important; // Override inline styles
46
+ &:not(.ixbrl-no-highlight).ixbrl-highlight-4,
47
+ &.ixbrl-highlight-4 .ixbrl-sub-element:not(.ixbrl-no-highlight) {
48
+ background-color: var(--colour-highlight-4) !important; // Override inline styles
14
49
  }
15
50
 
16
- &.ixbrl-highlight-2 {
17
- background-color: @highlight-2 !important; // Override inline styles
51
+ &:not(.ixbrl-no-highlight) .ixbrl-highlight-5,
52
+ &.ixbrl-highlight-5 .ixbrl-sub-element:not(.ixbrl-no-highlight) {
53
+ background-color: var(--colour-highlight-5) !important; // Override inline styles
18
54
  }
19
55
  }
20
56
 
21
57
  .review.review-highlight-untagged-numbers .review-untagged-number {
22
- background-color: @highlight-1;
58
+ background-color: var(--colour-highlight-1);
23
59
  }
24
60
 
25
61
  .review.review-highlight-untagged-dates .review-untagged-date {
26
- background-color: @highlight-2;
62
+ background-color: var(--colour-highlight-2);
27
63
  }
28
64
 
29
- .review .ixbrl-highlight:not(.ixbrl-no-highlight) {
30
- // Review mode disables namespace-specific highlighting in favor of all tagged
31
- // elements sharing the same default highlight color, other colors are used for
32
- // untagged highlighting defined above.
33
- background-color: @highlight-default !important; // Override inline styles
34
-
35
- &.ixbrl-highlight-1 {
36
- background-color: @highlight-default !important; // Override inline styles
65
+ .review .ixbrl-highlight {
66
+ &:not(.ixbrl-no-highlight).ixbrl-highlight-1,
67
+ &:not(.ixbrl-no-highlight).ixbrl-highlight-2,
68
+ &:not(.ixbrl-no-highlight).ixbrl-highlight-3,
69
+ &:not(.ixbrl-no-highlight).ixbrl-highlight-4,
70
+ &:not(.ixbrl-no-highlight).ixbrl-highlight-5,
71
+ &.ixbrl-highlight-1 .ixbrl-sub-element:not(.ixbrl-no-highlight),
72
+ &.ixbrl-highlight-2 .ixbrl-sub-element:not(.ixbrl-no-highlight),
73
+ &.ixbrl-highlight-3 .ixbrl-sub-element:not(.ixbrl-no-highlight),
74
+ &.ixbrl-highlight-4 .ixbrl-sub-element:not(.ixbrl-no-highlight),
75
+ &.ixbrl-highlight-5 .ixbrl-sub-element:not(.ixbrl-no-highlight) {
76
+ background-color: var(--colour-highlight-default) !important; // Override inline styles
37
77
  }
38
78
 
39
- &.ixbrl-highlight-2 {
40
- background-color: @highlight-default !important; // Override inline styles
41
- }
42
79
  }
43
80
 
44
- div,
45
- span {
46
- &:not(.ixbrl-no-highlight) {
47
- &.ixbrl-selected {
48
- outline: solid 2px @primary-focus;
49
- outline-offset: 1px;
50
- }
81
+ // Apply related fact highlighting (used for calc contributors)
82
+ .ixbrl-related {
83
+ &:not(.ixbrl-no-highlight),
84
+ .ixbrl-sub-element:not(.ixbrl-no-highlight) {
85
+ outline: solid 0.125em var(--colour-related-fact);
86
+ outline-offset: 0.0625em;
51
87
 
52
- &.ixbrl-element,
53
- &.ixbrl-sub-element {
54
- &:hover:not(.ixbrl-selected) {
55
- outline: dashed 2px @primary-focus;
56
- outline-offset: 1px;
57
- }
88
+ td&, th& {
89
+ outline-offset: -0.0625em;
58
90
  }
59
91
  }
60
92
  }
61
93
 
62
- :not(.ixbrl-no-highlight) {
63
- &.ixbrl-element,
64
- &.ixbrl-sub-element {
65
- cursor: pointer;
66
-
67
- &.ixbrl-related {
68
- outline: dashed 2px @related-fact;
94
+ // Apply linked fact highlighting (used when hovering on facts in inspector)
95
+ .ixbrl-linked-highlight {
96
+ &:not(.ixbrl-no-highlight),
97
+ .ixbrl-sub-element:not(.ixbrl-no-highlight) {
98
+ outline: dashed 0.125em var(--colour-linked-fact);
99
+ outline-offset: 0.0625em;
69
100
 
70
- &:not(td, th) {
71
- outline-offset: 1px;
72
- }
101
+ td&, th& {
102
+ outline-offset: -0.0625em;
73
103
  }
74
104
  }
75
105
  }
76
106
 
77
- td,
78
- th {
79
- &:not(.ixbrl-no-highlight) {
80
- &.ixbrl-selected {
81
- outline: solid 2px @primary-focus !important;
82
- outline-offset: -1px !important;
83
- }
107
+ // Apply dashed outline to iXBRL elements on hover
108
+ // Should override previous rule
109
+ .ixbrl-element:not(.ixbrl-no-highlight),
110
+ .ixbrl-sub-element:not(.ixbrl-no-highlight) {
111
+ &:hover {
112
+ outline: dashed 0.125em var(--colour-primary-focus);
113
+ outline-offset: 0.0625em;
114
+ cursor: pointer;
84
115
 
85
- &.ixbrl-element:hover:not(.ixbrl-selected),
86
- &.ixbrl-sub-element:hover:not(.ixbrl-selected) {
87
- outline: dashed 2px @primary-focus !important;
88
- outline-offset: -1px !important;
116
+ td&, th& {
117
+ outline-offset: -0.0625em;
89
118
  }
90
119
  }
91
-
92
- &.ixbrl-related {
93
- outline-offset: -1px;
94
- }
95
- }
96
-
97
- .ixbrl-related.ixbrl-linked-highlight:not(.ixbrl-no-highlight),
98
- .ixbrl-linked-highlight:not(.ixbrl-no-highlight) {
99
- .linked-highlight-text();
100
120
  }
101
121
 
102
- td.ixbrl-related.ixbrl-linked-highlight:not(.ixbrl-no-highlight),
103
- td.ixbrl-linked-highlight:not(.ixbrl-no-highlight) {
104
- .linked-highlight-cell();
105
-
106
- outline-offset: -1px;
122
+ // Apply solid outline to selected elements
123
+ .ixbrl-selected {
124
+ &:not(.ixbrl-no-highlight),
125
+ .ixbrl-sub-element:not(.ixbrl-no-highlight) {
126
+ // This rule needs to override the previous one so that already selected
127
+ // elements don't get a dashed line on hover
128
+ &,
129
+ &:hover {
130
+ outline: solid 0.125em var(--colour-primary-focus);
131
+ outline-offset: 0.0625em;
132
+
133
+ td&, th& {
134
+ outline-offset: -0.0625em;
135
+ }
136
+ }
137
+ }
107
138
  }
108
139
 
109
140
  div.ixbrl-table-handle {
@@ -115,7 +146,7 @@ div.ixbrl-table-handle {
115
146
  width: 0;
116
147
  height: 0;
117
148
  border: @export-handle-size solid transparent;
118
- border-bottom-color: @workiva-green;
149
+ border-bottom-color: var(--colour-secondary);
119
150
  top: -2 * @export-handle-size;
120
151
 
121
152
  &::after {
@@ -126,7 +157,7 @@ div.ixbrl-table-handle {
126
157
  width: 0;
127
158
  height: 0;
128
159
  border: @export-handle-size solid transparent;
129
- border-top-color: @workiva-green;
160
+ border-top-color: var(--colour-secondary);
130
161
  }
131
162
 
132
163
  & > span {
@@ -140,7 +171,7 @@ div.ixbrl-table-handle {
140
171
  }
141
172
 
142
173
  border: none;
143
- color: #fff;
174
+ color: var(--colour-bg);
144
175
  transition: width 0.3s;
145
176
  width: 9rem;
146
177
  height: initial;
@@ -157,11 +188,11 @@ div.ixbrl-table-handle {
157
188
  font-size: 1.2rem;
158
189
  }
159
190
 
160
- border: solid 0.1rem #fff;
191
+ border: solid 0.1rem var(--colour-bg);
161
192
  font-family: sans-serif;
162
193
  display: block;
163
194
  padding: 0.7rem 1.5rem 0.7rem 2.5rem;
164
- background-color: @workiva-green;
195
+ background-color: var(--colour-secondary);
165
196
  }
166
197
  }
167
198
  }
@@ -17,22 +17,32 @@ module.exports = {
17
17
  use: [ {
18
18
  loader: "html-loader",
19
19
  options: {
20
- minimize: true,
21
- removeAttributeQuotes: false,
22
- keepClosingSlash: true
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
- loader: "less-loader",
30
- options: {
31
- lessOptions: {
32
- math: "parens-division"
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