dotdata_widgets 0.1.2 → 0.1.4

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 (173) hide show
  1. package/README.md +27 -3
  2. package/css/colors.css +4 -0
  3. package/css/typography.css +9 -0
  4. package/css/widget.css +39 -4
  5. package/dist/index.js +74 -1
  6. package/lib/components/accordion/Accordion.js +47 -13
  7. package/lib/components/accordion/index.js +18 -1
  8. package/lib/components/input/index.js +18 -1
  9. package/lib/components/input/input.js +11 -3
  10. package/lib/extension.js +18 -1
  11. package/lib/feature/feature-details/FeatureCorrelatedFeaturesTable.js +22 -0
  12. package/lib/feature/feature-details/FeatureDistributionChart.js +218 -0
  13. package/lib/feature/feature-details/FeatureStatisticsTable.js +44 -0
  14. package/lib/feature/feature-details/index.js +20 -0
  15. package/lib/feature/feature-explanation/FeatureExplanation.js +48 -0
  16. package/lib/feature/feature-explanation/components/ColoredExplanationBlock.js +36 -0
  17. package/lib/feature/feature-explanation/components/ColumnExplanationBlock.js +12 -0
  18. package/lib/feature/feature-explanation/components/DataSlotExplanationBlock.js +12 -0
  19. package/lib/feature/feature-explanation/components/PetExplanationBlock.js +11 -0
  20. package/lib/feature/feature-explanation/components/TextExplanationBlock.js +10 -0
  21. package/lib/feature/feature-explanation/components/TextWithDataSlotContextExplanationBlock.js +10 -0
  22. package/lib/feature/feature-explanation/components/TopicExplanationBlock.js +10 -0
  23. package/lib/feature/feature-explanation/components/UnknownExplanationBlock.js +10 -0
  24. package/lib/feature/feature-likes/feature-likes.js +38 -0
  25. package/lib/feature/feature-likes/index.js +18 -0
  26. package/lib/feature-descriptor/context/fd-domains-descriptions-selection.context.js +37 -0
  27. package/lib/feature-descriptor/context/index.js +18 -0
  28. package/lib/feature-descriptor/domains-descriptors-tree/components/column-tree-item.js +16 -0
  29. package/lib/feature-descriptor/domains-descriptors-tree/components/descriptions-tree-item.js +50 -0
  30. package/lib/feature-descriptor/domains-descriptors-tree/components/index.js +18 -0
  31. package/lib/feature-descriptor/domains-descriptors-tree/components/tree-item-label.js +56 -0
  32. package/lib/feature-descriptor/domains-descriptors-tree/components/type-tree-item.js +19 -0
  33. package/lib/feature-descriptor/domains-descriptors-tree/context/domains-descriptions-tree-item-selection-context.js +56 -0
  34. package/lib/feature-descriptor/domains-descriptors-tree/context/index.js +18 -0
  35. package/lib/feature-descriptor/domains-descriptors-tree/domains-descriptions-tree.js +44 -0
  36. package/lib/feature-descriptor/domains-descriptors-tree/index.js +21 -0
  37. package/lib/feature-descriptor/domains-descriptors-tree/models/domains-descriptions-tree.model.js +37 -0
  38. package/lib/feature-descriptor/domains-descriptors-tree/models/index.js +18 -0
  39. package/lib/feature-descriptor/domains-descriptors-tree/utils/create-domain-predicate.js +16 -0
  40. package/lib/feature-descriptor/domains-descriptors-tree/utils/filter-domains-descriptions-tree.js +23 -0
  41. package/lib/feature-descriptor/domains-descriptors-tree/utils/index.js +19 -0
  42. package/lib/feature-descriptor/feature-details/FeatureCorrelatedFeaturesTable.js +21 -13
  43. package/lib/feature-descriptor/feature-details/FeatureDistributionChart.js +36 -8
  44. package/lib/feature-descriptor/feature-details/FeatureStatisticsTable.js +25 -17
  45. package/lib/feature-descriptor/feature-details/index.js +20 -3
  46. package/lib/feature-descriptor/feature-explanation/FeatureExplanation.js +40 -32
  47. package/lib/feature-descriptor/feature-explanation/components/ColoredExplanationBlock.js +17 -9
  48. package/lib/feature-descriptor/feature-explanation/components/ColumnExplanationBlock.js +12 -4
  49. package/lib/feature-descriptor/feature-explanation/components/DataSlotExplanationBlock.js +12 -4
  50. package/lib/feature-descriptor/feature-explanation/components/PetExplanationBlock.js +11 -3
  51. package/lib/feature-descriptor/feature-explanation/components/TextExplanationBlock.js +10 -2
  52. package/lib/feature-descriptor/feature-explanation/components/TextWithDataSlotContextExplanationBlock.js +10 -2
  53. package/lib/feature-descriptor/feature-explanation/components/TopicExplanationBlock.js +10 -2
  54. package/lib/feature-descriptor/feature-explanation/components/UnknownExplanationBlock.js +10 -2
  55. package/lib/feature-descriptor/feature-exploration-path/exploration-path-header.js +38 -0
  56. package/lib/feature-descriptor/feature-exploration-path/exploration-path-join-list.js +28 -0
  57. package/lib/feature-descriptor/feature-exploration-path/index.js +19 -0
  58. package/lib/feature-descriptors-domain/context/feature-domain-descriptions-selection.context.js +37 -0
  59. package/lib/feature-descriptors-domain/context/feature-domain-selection.context.js +37 -0
  60. package/lib/feature-descriptors-domain/context/index.js +19 -0
  61. package/lib/feature-descriptors-domain/exploration-path/exploration-path-header.js +15 -7
  62. package/lib/feature-descriptors-domain/exploration-path/exploration-path-join-list.js +11 -3
  63. package/lib/feature-descriptors-domain/exploration-path/index.js +19 -2
  64. package/lib/feature-descriptors-domain/fd-grouped-domain-tree.js +81 -0
  65. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions/components/column-tree-item.js +17 -0
  66. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions/components/descriptions-tree-item.js +49 -0
  67. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions/components/index.js +18 -0
  68. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions/components/selection-indicator-with-label.js +40 -0
  69. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions/components/type-tree-item.js +16 -0
  70. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions/feature-descriptor-domain-descriptions-context.js +43 -0
  71. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions/feature-descriptor-domain-descriptions-tree.js +57 -0
  72. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions/index.js +18 -0
  73. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/components/column-tree-item.js +17 -0
  74. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/components/description-tree-item.js +2 -0
  75. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/components/descriptions-tree-item.js +49 -0
  76. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/components/index.js +18 -0
  77. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/components/selection-indicator-with-label.js +19 -0
  78. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/components/tree-item-label.js +15 -0
  79. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/components/tree-level-item.js +54 -0
  80. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/components/type-tree-item.js +16 -0
  81. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/feature-descriptor-domain-descriptions-tree.js +55 -0
  82. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/feature-descriptor-domain-descriptions-tree.model.js +2 -0
  83. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/index.js +18 -0
  84. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/utils/filter-domain-descriptions.js +21 -0
  85. package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/utils/index.js +18 -0
  86. package/lib/feature-descriptors-domain/feature-descriptor-grouped-domain-tree.js +87 -0
  87. package/lib/feature-descriptors-domain/feature-domain-descriptions/components/column-tree-item.js +16 -0
  88. package/lib/feature-descriptors-domain/feature-domain-descriptions/components/descriptions-tree-item.js +50 -0
  89. package/lib/feature-descriptors-domain/feature-domain-descriptions/components/index.js +18 -0
  90. package/lib/feature-descriptors-domain/feature-domain-descriptions/components/selection-indicator-with-label.js +67 -0
  91. package/lib/feature-descriptors-domain/feature-domain-descriptions/components/type-tree-item.js +19 -0
  92. package/lib/feature-descriptors-domain/feature-domain-descriptions/feature-domain-descriptions-context.js +37 -0
  93. package/lib/feature-descriptors-domain/feature-domain-descriptions/feature-domain-descriptions-tree.js +51 -0
  94. package/lib/feature-descriptors-domain/feature-domain-descriptions/index.js +18 -0
  95. package/lib/feature-descriptors-domain/feature-exploration-path/exploration-path-header.js +38 -0
  96. package/lib/feature-descriptors-domain/feature-exploration-path/exploration-path-join-list.js +36 -0
  97. package/lib/feature-descriptors-domain/feature-exploration-path/index.js +19 -0
  98. package/lib/feature-descriptors-domain/grouped-domains-descriptions-list.js +28 -17
  99. package/lib/feature-descriptors-domain/selected-feature-domain-context.js +2 -0
  100. package/lib/feature-descriptors-domain/utils/filter-domain-descriptions.js +23 -0
  101. package/lib/feature-descriptors-domain/utils/filter-grouped-domain-descriptions.js +23 -0
  102. package/lib/feature-descriptors-domain/utils/index.js +18 -0
  103. package/lib/index.js +19 -2
  104. package/lib/models/column/column.js +3 -1
  105. package/lib/models/column/index.js +18 -1
  106. package/lib/models/feature/feature-histogram.js +8 -4
  107. package/lib/models/feature/feature-leaderboard.js +3 -1
  108. package/lib/models/feature/feature-metric.js +16 -0
  109. package/lib/models/feature/feature.js +3 -12
  110. package/lib/models/feature/index.js +20 -2
  111. package/lib/models/feature-descriptor/feature-descriptor.js +3 -0
  112. package/lib/models/feature-descriptor/feature-descriptors-domain.js +3 -0
  113. package/lib/models/feature-descriptor-domain/fd-domains-description.js +3 -0
  114. package/lib/models/feature-descriptor-domain/fd-join-description.js +3 -0
  115. package/lib/models/feature-descriptor-domain/index.js +19 -0
  116. package/lib/models/feature-descriptors-domain/fd-domain-description.js +9 -1
  117. package/lib/models/feature-descriptors-domain/fd-grouped-domain-descriptions.js +3 -1
  118. package/lib/models/feature-descriptors-domain/index.js +19 -2
  119. package/lib/models/feature-explanation/feature-explanation.model.js +6 -2
  120. package/lib/models/feature-explanation/index.js +18 -1
  121. package/lib/models/feature-leaderboard/feature-leaderboard.js +3 -1
  122. package/lib/models/feature-leaderboard/index.js +18 -1
  123. package/lib/models/feature-space/exploration-path.js +3 -0
  124. package/lib/models/feature-space/feature-space-description.js +3 -0
  125. package/lib/models/feature-space/feature-space.js +3 -1
  126. package/lib/models/feature-space/grouped-domains-descriptions.js +3 -0
  127. package/lib/models/feature-space/index.js +20 -1
  128. package/lib/models/index.js +1 -0
  129. package/lib/plugin.js +33 -7
  130. package/lib/utils/asserations.js +6 -1
  131. package/lib/utils/index.js +20 -3
  132. package/lib/utils/localize.js +8 -4
  133. package/lib/utils/model-transform-hook.js +21 -0
  134. package/lib/utils/object/extract-property.js +6 -1
  135. package/lib/utils/object/index.js +19 -2
  136. package/lib/utils/object/is-set.js +8 -2
  137. package/lib/utils/set.js +14 -0
  138. package/lib/utils/widget/index.js +19 -2
  139. package/lib/utils/widget/widget-model-context.js +36 -7
  140. package/lib/utils/widget/widget-model.js +14 -8
  141. package/lib/utils/widget-model/index.js +19 -0
  142. package/lib/utils/widget-model/widget-model-context.js +42 -0
  143. package/lib/utils/widget-model/widget-model.js +30 -0
  144. package/lib/utils/widget-theme/index.js +18 -0
  145. package/lib/utils/widget-theme/widget-theme.js +99 -0
  146. package/lib/version.js +6 -2
  147. package/lib/widgets/FeatureLeaderboardWidget.js +27 -15
  148. package/lib/widgets/FeatureSpaceWidget.js +27 -15
  149. package/lib/widgets/feature-leaderboard/FeatureLeaderboardEntries.js +17 -9
  150. package/lib/widgets/feature-leaderboard/FeatureLeaderboardOverview.js +15 -18
  151. package/lib/widgets/feature-leaderboard/FeatureLeaderboardView.js +26 -14
  152. package/lib/widgets/feature-leaderboard/components/leaderboard-feature-likes.js +50 -0
  153. package/lib/widgets/feature-leaderboard/entry-item/FeatureLeaderboardEntryDetails.js +22 -14
  154. package/lib/widgets/feature-leaderboard/entry-item/FeatureLeaderboardEntryHeader.js +35 -0
  155. package/lib/widgets/feature-leaderboard/entry-item/FeatureLeaderboardEntryItem.js +17 -15
  156. package/lib/widgets/feature-leaderboard/leaderboard-entry/FeatureLeaderboardEntry.js +22 -0
  157. package/lib/widgets/feature-leaderboard/leaderboard-entry/FeatureLeaderboardEntryDetails.js +23 -0
  158. package/lib/widgets/feature-leaderboard/leaderboard-entry/FeatureLeaderboardEntryRow.js +29 -0
  159. package/lib/widgets/feature-leaderboard/leaderboard-overview/overview-metric-slider.js +2 -0
  160. package/lib/widgets/feature-leaderboard/leaderboard-overview/overview-slider.js +62 -0
  161. package/lib/widgets/feature-space/FeatureDomainsDescriptions.js +82 -0
  162. package/lib/widgets/feature-space/FeatureExplorationPaths.js +14 -35
  163. package/lib/widgets/feature-space/FeatureSpaceDomain.js +75 -0
  164. package/lib/widgets/feature-space/FeatureSpaceDomainDescriptions.js +80 -0
  165. package/lib/widgets/feature-space/FeatureSpaceDomainsDescriptions.js +63 -28
  166. package/lib/widgets/feature-space/FeatureSpaceView.js +47 -10
  167. package/lib/widgets/index.js +20 -3
  168. package/package.json +8 -3
  169. package/LICENSE.txt +0 -27
  170. package/lib/hooks/index.js +0 -1
  171. package/lib/hooks/widget-model.js +0 -1
  172. package/lib/utils/widget/widget-context-wrapper.js +0 -9
  173. package/lib/widget.js +0 -34
package/README.md CHANGED
@@ -1,9 +1,9 @@
1
-
2
1
  # Dotdata widgets
3
2
 
4
3
  A dotdata widget
5
4
 
6
5
  ### Prerequisites
6
+
7
7
  1. nodejs >= 18
8
8
  2. yarn (npm install yarn -g)
9
9
  3. python 3
@@ -18,6 +18,7 @@ pip install dotdata_widgets
18
18
 
19
19
  If you are using Jupyter Notebook 5.2 or earlier, you may also need to enable
20
20
  the nbextension:
21
+
21
22
  ```bash
22
23
  jupyter nbextension enable --py [--sys-prefix|--user|--system] dotdata_widgets
23
24
  ```
@@ -25,11 +26,13 @@ jupyter nbextension enable --py [--sys-prefix|--user|--system] dotdata_widgets
25
26
  ## Development Installation
26
27
 
27
28
  Create a dev environment:
29
+
28
30
  ```bash
29
31
  python -m venv venv/
30
32
  ```
31
33
 
32
34
  Install the python. This will also build the TS package.
35
+
33
36
  ```bash
34
37
  pip install -e ".[test, examples]"
35
38
  ```
@@ -55,11 +58,13 @@ you might also need another flag instead of `--sys-prefix`, but we won't cover t
55
58
  of those flags here.
56
59
 
57
60
  ### Watch Mode
61
+
58
62
  ```bash
59
63
  yarn run watch
60
64
  ```
61
65
 
62
- ### Docker
66
+ ### Docker
67
+
63
68
  ```bash
64
69
  git clone ...
65
70
 
@@ -67,8 +72,11 @@ docker run -it --name dotdata_widget -v $(pwd)/dotdata_widgets:/dotdata_widgets
67
72
  ```
68
73
 
69
74
  ### How to see your changes
75
+
70
76
  #### Typescript:
71
- If you use JupyterLab to develop then you can watch the source directory and run JupyterLab at the same time in different
77
+
78
+ If you use JupyterLab to develop then you can watch the source directory and run JupyterLab at the same time in
79
+ different
72
80
  terminals to watch for changes in the extension's source and automatically rebuild the widget.
73
81
 
74
82
  ```bash
@@ -81,6 +89,7 @@ jupyter lab
81
89
  After a change wait for the build to finish and then refresh your browser and the changes should take effect.
82
90
 
83
91
  #### Python:
92
+
84
93
  If you make a change to the python code then you will need to restart the notebook kernel to have it take effect.
85
94
 
86
95
  ## Updating the version
@@ -93,3 +102,18 @@ pip install tbump
93
102
  tbump <new-version>
94
103
  ```
95
104
 
105
+ ## Build with docker
106
+
107
+ ```bash
108
+ # Only for the first run
109
+ docker build -t dotdata_widgets_builder .
110
+
111
+ # bump version before run
112
+ docker run -it --rm --env VERSION=0.1.2 -v $(pwd):/dotdata_widgets dotdata_widgets_builder
113
+ ```
114
+
115
+ ## Publish npm package
116
+
117
+ ```bash
118
+ npm publish
119
+ ```
package/css/colors.css CHANGED
@@ -117,4 +117,8 @@
117
117
  --c-grey-700: #616161;
118
118
  --c-grey-800: #424242;
119
119
  --c-grey-900: #212121;
120
+
121
+ --c-catskill-white: #f5f7fa;
122
+ --c-zircon: #EDF3FF;
123
+ --c-cornflower-blue: #5B92FB
120
124
  }
@@ -22,6 +22,15 @@ h3,
22
22
  letter-spacing: 0;
23
23
  }
24
24
 
25
+ h4,
26
+ .h4 {
27
+ font-size: 16px;
28
+ line-height: 20px;
29
+ letter-spacing: 0;
30
+ font-weight: 500;
31
+ margin-block: 12px;
32
+ }
33
+
25
34
  .label {
26
35
  font-size: 14px;
27
36
  font-weight: 400;
package/css/widget.css CHANGED
@@ -1,14 +1,16 @@
1
- @import url('~@fontsource/roboto');
2
- @import url('~@fontsource/roboto/500.css');
1
+ @import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap');
3
2
 
4
3
  @import url('colors.css');
5
4
  @import url('typography.css');
6
5
 
6
+ @import url('../src/feature-descriptor/feature-descriptors-domain.css');
7
7
  @import url('../src/components/accordion/accordion.css');
8
8
  @import url('../src/components/input/input.css');
9
+ @import url('../src/widgets/feature-space/feature-space.css');
10
+ @import url('../src/widgets/feature-leaderboard/feature-leaderboard.css');
9
11
 
10
12
  :root {
11
- --c-text: var(--c-grey-900);
13
+ --c-text: black;
12
14
 
13
15
  /* TABLE */
14
16
  --table-border-color: var(--c-grey-300);
@@ -19,8 +21,35 @@
19
21
  .dotdata-widget {
20
22
  font-family: Roboto, serif;
21
23
  font-size: 14px;
22
- line-height: 20px;
24
+ line-height: 16px;
23
25
  color: var(--c-text);
26
+ overflow-x: auto;
27
+ }
28
+
29
+ @media (prefers-color-scheme: dark) {
30
+ .dotdata-widget {
31
+ filter: invert(1) saturate(0.5) !important;
32
+ }
33
+ }
34
+
35
+ .vscode-high-contrast .dotdata-widget,
36
+ .vscode-dark .dotdata-widget,
37
+ body[data-jp-theme-light="false"] .dotdata-widget {
38
+ filter: invert(1) saturate(0.5) !important;
39
+ }
40
+
41
+ .dotdata-widget ::-webkit-scrollbar {
42
+ width: 4px;
43
+ }
44
+
45
+ .dotdata-widget ::-webkit-scrollbar-track {
46
+ background: var(--c-grey-300);
47
+ border-radius: 0;
48
+ }
49
+
50
+ .dotdata-widget ::-webkit-scrollbar-thumb {
51
+ background: var(--c-cornflower-blue);
52
+ border-radius: 4px;
24
53
  }
25
54
 
26
55
  h1,
@@ -33,6 +62,12 @@ h3 {
33
62
  color: var(--c-grey-700);
34
63
  }
35
64
 
65
+ .text-ellipsis {
66
+ text-overflow: ellipsis;
67
+ white-space: nowrap;
68
+ overflow: hidden;
69
+ }
70
+
36
71
  .table {
37
72
  border-collapse: collapse;
38
73
  border-spacing: 0;