ontologyviewer 0.1.0

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 (43) hide show
  1. package/LICENSE +21 -0
  2. package/README.ja.md +166 -0
  3. package/README.md +169 -0
  4. package/THIRD_PARTY_NOTICES.md +49 -0
  5. package/dist/index.d.ts +14 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/locale.d.ts +34 -0
  8. package/dist/locale.d.ts.map +1 -0
  9. package/dist/meta.json +7246 -0
  10. package/dist/ontologyviewer.css +211 -0
  11. package/dist/ontologyviewer.esm.min.mjs +221 -0
  12. package/dist/ontologyviewer.esm.min.mjs.LEGAL.txt +31 -0
  13. package/dist/ontologyviewer.esm.min.mjs.map +7 -0
  14. package/dist/ontologyviewer.esm.mjs +47748 -0
  15. package/dist/ontologyviewer.esm.mjs.LEGAL.txt +31 -0
  16. package/dist/ontologyviewer.esm.mjs.map +7 -0
  17. package/dist/persistence.d.ts +18 -0
  18. package/dist/persistence.d.ts.map +1 -0
  19. package/dist/rdf/appearance.d.ts +23 -0
  20. package/dist/rdf/appearance.d.ts.map +1 -0
  21. package/dist/rdf/graphModel.d.ts +25 -0
  22. package/dist/rdf/graphModel.d.ts.map +1 -0
  23. package/dist/rdf/opExtensions.d.ts +9 -0
  24. package/dist/rdf/opExtensions.d.ts.map +1 -0
  25. package/dist/rdf/parser.d.ts +22 -0
  26. package/dist/rdf/parser.d.ts.map +1 -0
  27. package/dist/rdf/rdfList.d.ts +6 -0
  28. package/dist/rdf/rdfList.d.ts.map +1 -0
  29. package/dist/rdf/schemaModel.d.ts +63 -0
  30. package/dist/rdf/schemaModel.d.ts.map +1 -0
  31. package/dist/rdf/vocabulary.d.ts +82 -0
  32. package/dist/rdf/vocabulary.d.ts.map +1 -0
  33. package/dist/search.d.ts +11 -0
  34. package/dist/search.d.ts.map +1 -0
  35. package/dist/theme.d.ts +6 -0
  36. package/dist/theme.d.ts.map +1 -0
  37. package/dist/types.d.ts +64 -0
  38. package/dist/types.d.ts.map +1 -0
  39. package/dist/viewer.d.ts +3 -0
  40. package/dist/viewer.d.ts.map +1 -0
  41. package/dist/viewport.d.ts +8 -0
  42. package/dist/viewport.d.ts.map +1 -0
  43. package/package.json +91 -0
@@ -0,0 +1,211 @@
1
+ /* ontologyviewer.css — all selectors are scoped to the generated root. */
2
+ .ontologyviewer-root {
3
+ --ov-bg: #fff;
4
+ --ov-fg: #1f2937;
5
+ --ov-muted: #64748b;
6
+ --ov-border: #d7dde5;
7
+ --ov-toolbar-bg: #f8fafc;
8
+ --ov-input-bg: #fff;
9
+ --ov-hover: #eef2f7;
10
+ position: relative;
11
+ display: flex;
12
+ flex-direction: column;
13
+ width: 100%;
14
+ height: 600px;
15
+ min-height: 320px;
16
+ overflow: hidden;
17
+ border: 1px solid var(--ov-border);
18
+ border-radius: 10px;
19
+ color: var(--ov-fg);
20
+ background: var(--ov-bg);
21
+ font: 14px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
22
+ container-type: inline-size;
23
+ box-sizing: border-box;
24
+ }
25
+ .ontologyviewer-root *, .ontologyviewer-root *::before, .ontologyviewer-root *::after { box-sizing: border-box; }
26
+ .ontologyviewer-root [hidden] { display: none !important; }
27
+ .ontologyviewer-root.ov-dark {
28
+ --ov-bg: #1e1e1e;
29
+ --ov-fg: #d4d4d4;
30
+ --ov-muted: #a8a8a8;
31
+ --ov-border: #454545;
32
+ --ov-toolbar-bg: #252526;
33
+ --ov-input-bg: #313131;
34
+ --ov-hover: #2a2d2e;
35
+ }
36
+ .ontologyviewer-root button,
37
+ .ontologyviewer-root input,
38
+ .ontologyviewer-root select { font: inherit; }
39
+ .ontologyviewer-root button:focus-visible,
40
+ .ontologyviewer-root input:focus-visible,
41
+ .ontologyviewer-root select:focus-visible,
42
+ .ontologyviewer-root summary:focus-visible { outline: 2px solid #1685d1; outline-offset: 2px; }
43
+ .ontologyviewer-root .ov-toolbar {
44
+ z-index: 5;
45
+ display: flex;
46
+ flex: 0 0 auto;
47
+ align-items: center;
48
+ gap: 8px;
49
+ padding: 8px 10px;
50
+ border-bottom: 1px solid var(--ov-border);
51
+ background: var(--ov-toolbar-bg);
52
+ }
53
+ .ontologyviewer-root .ov-view-toggle,
54
+ .ontologyviewer-root .ov-controls { display: flex; align-items: center; gap: 4px; }
55
+ .ontologyviewer-root .ov-view-toggle button,
56
+ .ontologyviewer-root .ov-controls button,
57
+ .ontologyviewer-root .ov-layout-select,
58
+ .ontologyviewer-root .ov-inspector-close {
59
+ min-height: 32px;
60
+ padding: 4px 9px;
61
+ border: 1px solid var(--ov-border);
62
+ border-radius: 6px;
63
+ color: var(--ov-fg);
64
+ background: var(--ov-bg);
65
+ cursor: pointer;
66
+ }
67
+ .ontologyviewer-root button:hover,
68
+ .ontologyviewer-root .ov-layout-select:hover { background: var(--ov-hover); }
69
+ .ontologyviewer-root .ov-view-toggle button.active {
70
+ border-color: #0878bd;
71
+ color: #fff;
72
+ background: #0878bd;
73
+ }
74
+ .ontologyviewer-root .ov-search {
75
+ flex: 1 1 250px;
76
+ min-width: 130px;
77
+ height: 34px;
78
+ padding: 5px 9px;
79
+ border: 1px solid var(--ov-border);
80
+ border-radius: 7px;
81
+ color: var(--ov-fg);
82
+ background: var(--ov-input-bg);
83
+ }
84
+ .ontologyviewer-root .ov-layout-select { height: 34px; }
85
+ .ontologyviewer-root .ov-body { display: flex; flex: 1 1 auto; min-height: 0; }
86
+ .ontologyviewer-root .ov-stage { position: relative; flex: 1 1 auto; min-width: 0; min-height: 260px; }
87
+ /* Cytoscape forces its container to position: relative; explicit dimensions prevent a zero-height graph. */
88
+ .ontologyviewer-root .ov-graph { position: absolute; inset: 0; width: 100%; height: 100%; }
89
+ .ontologyviewer-root .ov-message {
90
+ position: absolute;
91
+ inset: 0;
92
+ display: grid;
93
+ place-items: center;
94
+ padding: 24px;
95
+ text-align: center;
96
+ }
97
+ .ontologyviewer-root .ov-error { color: #b42318; background: #fff5f4; }
98
+ .ontologyviewer-root.ov-dark .ov-error { color: #ff8a80; background: #2e1b1a; }
99
+ .ontologyviewer-root .ov-inspector {
100
+ position: relative;
101
+ flex: 0 0 300px;
102
+ width: 300px;
103
+ overflow: auto;
104
+ padding: 14px;
105
+ border-left: 1px solid var(--ov-border);
106
+ background: var(--ov-bg);
107
+ }
108
+ .ontologyviewer-root .ov-inspector-close {
109
+ position: absolute;
110
+ top: 6px;
111
+ right: 6px;
112
+ display: none;
113
+ min-width: 30px;
114
+ padding: 2px 7px;
115
+ font-size: 20px;
116
+ }
117
+ .ontologyviewer-root .ov-inspector h3 { margin: 0 30px 8px 0; font-size: 16px; }
118
+ .ontologyviewer-root .ov-inspector h4 { margin: 14px 0 5px; font-size: 13px; }
119
+ .ontologyviewer-root .ov-inspector p { overflow-wrap: anywhere; }
120
+ .ontologyviewer-root .ov-inspector dl {
121
+ display: grid;
122
+ grid-template-columns: max-content minmax(0, 1fr);
123
+ gap: 4px 10px;
124
+ margin: 10px 0;
125
+ }
126
+ .ontologyviewer-root .ov-inspector dt { font-weight: 600; }
127
+ .ontologyviewer-root .ov-inspector dd { margin: 0; overflow-wrap: anywhere; }
128
+ .ontologyviewer-root .ov-inspector ul { margin: 5px 0; padding-left: 20px; }
129
+ .ontologyviewer-root .ov-inspector-empty { color: var(--ov-muted); text-align: center; }
130
+ .ontologyviewer-root .ov-inspector-desc { color: var(--ov-muted); }
131
+ .ontologyviewer-root .ov-prop-list { list-style: none; padding: 0 !important; }
132
+ .ontologyviewer-root .ov-prop-list li { padding: 3px 0; border-bottom: 1px solid var(--ov-border); }
133
+ .ontologyviewer-root .ov-footer {
134
+ display: flex;
135
+ flex: 0 0 auto;
136
+ align-items: center;
137
+ justify-content: space-between;
138
+ gap: 12px;
139
+ padding: 5px 10px;
140
+ border-top: 1px solid var(--ov-border);
141
+ color: var(--ov-muted);
142
+ font-size: 12px;
143
+ }
144
+ .ontologyviewer-root .ov-legend summary { cursor: pointer; }
145
+ .ontologyviewer-root .ov-legend-content { display: flex; gap: 12px; padding-top: 5px; }
146
+ .ontologyviewer-root .ov-legend-item::before {
147
+ display: inline-block;
148
+ width: 18px;
149
+ margin-right: 5px;
150
+ border-top: 3px solid #64748b;
151
+ content: "";
152
+ vertical-align: middle;
153
+ }
154
+ .ontologyviewer-root .ov-subclass::before { border-color: #b180d7; }
155
+ .ontologyviewer-root .ov-broader::before { border-color: #16875c; }
156
+ .ontologyviewer-root .ov-inferred::before { border-top-style: dashed; }
157
+ .ontologyviewer-root .ov-search-dropdown {
158
+ position: absolute;
159
+ z-index: 20;
160
+ top: 51px;
161
+ left: 120px;
162
+ width: min(520px, calc(100% - 240px));
163
+ max-height: 260px;
164
+ overflow: auto;
165
+ padding: 5px;
166
+ border: 1px solid var(--ov-border);
167
+ border-radius: 8px;
168
+ background: var(--ov-bg);
169
+ box-shadow: 0 10px 30px rgb(0 0 0 / 20%);
170
+ }
171
+ .ontologyviewer-root .ov-search-item {
172
+ display: flex;
173
+ justify-content: space-between;
174
+ gap: 12px;
175
+ width: 100%;
176
+ padding: 8px;
177
+ border: 0;
178
+ border-radius: 5px;
179
+ color: var(--ov-fg);
180
+ background: transparent;
181
+ text-align: left;
182
+ cursor: pointer;
183
+ }
184
+ .ontologyviewer-root .ov-search-meta { color: var(--ov-muted); font-size: 11px; }
185
+ .ontologyviewer-root .ov-search-empty { margin: 0; padding: 10px; color: var(--ov-muted); }
186
+
187
+ @container (max-width: 759px) {
188
+ .ontologyviewer-root .ov-toolbar { flex-wrap: wrap; }
189
+ .ontologyviewer-root .ov-search { order: 3; flex-basis: 100%; }
190
+ .ontologyviewer-root .ov-body { display: block; position: relative; }
191
+ .ontologyviewer-root .ov-stage { height: 100%; }
192
+ .ontologyviewer-root .ov-inspector {
193
+ position: absolute;
194
+ z-index: 10;
195
+ right: 0;
196
+ bottom: 0;
197
+ left: 0;
198
+ width: auto;
199
+ max-height: 52%;
200
+ border-top: 1px solid var(--ov-border);
201
+ border-left: 0;
202
+ box-shadow: 0 -8px 24px rgb(0 0 0 / 22%);
203
+ }
204
+ .ontologyviewer-root .ov-inspector-close { display: block; }
205
+ .ontologyviewer-root .ov-search-dropdown { top: 92px; left: 10px; width: calc(100% - 20px); }
206
+ .ontologyviewer-root .ov-footer { align-items: flex-start; }
207
+ }
208
+
209
+ /* Cytoscape normally injects this fixed rule as an inline style. Keeping it in
210
+ the external bundle lets strict-CSP users avoid that injection. */
211
+ .ontologyviewer-root .__________cytoscape_container { position: relative; }