@semiont/react-ui 0.5.10 → 0.5.11

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 (58) hide show
  1. package/README.md +1 -1
  2. package/dist/{PdfAnnotationCanvas.client-P37SXBWQ.js → PdfAnnotationCanvas.client-KWQ7XDWT.js} +4 -1
  3. package/dist/PdfAnnotationCanvas.client-KWQ7XDWT.js.map +1 -0
  4. package/dist/{chunk-5LFFAVDI.js → chunk-PFUXQPWJ.js} +96 -96
  5. package/dist/{chunk-5LFFAVDI.js.map → chunk-PFUXQPWJ.js.map} +1 -1
  6. package/dist/index.css +150 -112
  7. package/dist/index.css.map +1 -1
  8. package/dist/index.d.ts +287 -39
  9. package/dist/index.js +2525 -2284
  10. package/dist/index.js.map +1 -1
  11. package/dist/test-utils.js +7 -2
  12. package/dist/test-utils.js.map +1 -1
  13. package/package.json +6 -6
  14. package/src/components/ResourceTagsInline.tsx +94 -11
  15. package/src/components/StatusDisplay.css +36 -0
  16. package/src/components/__tests__/ResourceTagsInline.test.tsx +101 -3
  17. package/src/components/annotation/AnnotateToolbar.tsx +53 -28
  18. package/src/components/annotation/__tests__/AnnotateToolbar.display.test.tsx +76 -0
  19. package/src/components/annotation/__tests__/AnnotateToolbar.test.tsx +124 -360
  20. package/src/components/image-annotation/SvgDrawingCanvas.tsx +5 -1
  21. package/src/components/pdf-annotation/PdfAnnotationCanvas.tsx +5 -0
  22. package/src/components/pdf-annotation/__tests__/PdfAnnotationCanvas.test.tsx +6 -6
  23. package/src/components/resource/AnnotateView.tsx +59 -38
  24. package/src/components/resource/BrowseView.tsx +159 -133
  25. package/src/components/resource/ResourceViewer.tsx +119 -128
  26. package/src/components/resource/__tests__/AnnotateView.embeddable.test.tsx +55 -0
  27. package/src/components/resource/__tests__/BrowseView.embeddable.test.tsx +49 -0
  28. package/src/components/resource/__tests__/BrowseView.links.test.tsx +60 -0
  29. package/src/components/resource/__tests__/BrowseView.overlay-async.test.tsx +113 -0
  30. package/src/components/resource/__tests__/BrowseView.reference-hover.test.tsx +161 -0
  31. package/src/components/resource/__tests__/BrowseView.registry.test.tsx +43 -0
  32. package/src/components/resource/__tests__/BrowseView.test.tsx +35 -22
  33. package/src/components/resource/__tests__/ResourceViewer.embeddable.test.tsx +63 -0
  34. package/src/components/resource/__tests__/ResourceViewer.mode-switch.test.tsx +12 -7
  35. package/src/components/resource/__tests__/ResourceViewer.toolbar-opt-out.test.tsx +135 -0
  36. package/src/components/resource/__tests__/ResourceViewer.toolbar-prefs.test.tsx +200 -0
  37. package/src/components/resource/__tests__/browse-renderers.test.tsx +34 -0
  38. package/src/components/resource/__tests__/inline-embedding.test.tsx +81 -0
  39. package/src/components/resource/__tests__/media-completeness.test.tsx +88 -0
  40. package/src/components/resource/browse-renderers.tsx +63 -0
  41. package/src/components/resource/panels/AssessmentPanel.tsx +4 -0
  42. package/src/components/resource/panels/CommentsPanel.tsx +4 -0
  43. package/src/components/resource/panels/HighlightPanel.tsx +4 -0
  44. package/src/components/resource/panels/ReferencesPanel.tsx +4 -0
  45. package/src/components/resource/panels/TaggingPanel.tsx +4 -0
  46. package/src/components/resource/panels/UnifiedAnnotationsPanel.tsx +5 -2
  47. package/src/components/resource/panels/__tests__/AssessmentPanel.test.tsx +1 -0
  48. package/src/components/resource/panels/__tests__/CommentsPanel.test.tsx +1 -0
  49. package/src/components/resource/panels/__tests__/HighlightPanel.annotationProgress.test.tsx +16 -16
  50. package/src/components/resource/panels/__tests__/ReferencesPanel.observable-flow.test.tsx +1 -1
  51. package/src/components/resource/panels/__tests__/ReferencesPanel.test.tsx +1 -0
  52. package/src/components/resource/panels/__tests__/TaggingPanel.test.tsx +1 -0
  53. package/src/components/toolbar/Toolbar.css +14 -0
  54. package/src/features/resource-viewer/__tests__/ResourceViewerPage.test.tsx +7 -17
  55. package/src/features/resource-viewer/components/ResourceViewerPage.tsx +40 -17
  56. package/src/features/resource-viewer/state/resource-viewer-page-state-unit.ts +2 -14
  57. package/src/styles/features/resource-viewer.css +19 -0
  58. package/dist/PdfAnnotationCanvas.client-P37SXBWQ.js.map +0 -1
package/dist/index.css CHANGED
@@ -1,115 +1,3 @@
1
- /* src/components/Toast.css */
2
- .semiont-toast-container {
3
- position: fixed;
4
- top: 1rem;
5
- right: 1rem;
6
- z-index: 50;
7
- display: flex;
8
- flex-direction: column;
9
- gap: 0.5rem;
10
- max-width: 24rem;
11
- }
12
- .semiont-toast {
13
- display: flex;
14
- align-items: center;
15
- gap: 0.75rem;
16
- padding: 0.75rem 1rem;
17
- border-radius: var(--semiont-radius-lg);
18
- border: 1px solid;
19
- box-shadow: var(--semiont-shadow-lg);
20
- transition: all var(--semiont-duration-base) var(--semiont-ease);
21
- transform: translateX(0);
22
- animation: slideIn var(--semiont-duration-base) var(--semiont-ease);
23
- }
24
- [data-theme=dark] .semiont-toast {
25
- box-shadow: var(--semiont-shadow-lg);
26
- }
27
- @keyframes slideIn {
28
- from {
29
- transform: translateX(100%);
30
- opacity: 0;
31
- }
32
- to {
33
- transform: translateX(0);
34
- opacity: 1;
35
- }
36
- }
37
- .semiont-toast-icon-wrapper {
38
- flex-shrink: 0;
39
- display: flex;
40
- align-items: center;
41
- justify-content: center;
42
- }
43
- .semiont-toast-icon {
44
- width: 1.25rem;
45
- height: 1.25rem;
46
- }
47
- .semiont-toast-message {
48
- flex: 1;
49
- font-size: var(--semiont-text-sm);
50
- font-weight: var(--semiont-font-medium);
51
- }
52
- .semiont-toast-close {
53
- margin-left: auto;
54
- flex-shrink: 0;
55
- display: flex;
56
- align-items: center;
57
- justify-content: center;
58
- background: transparent;
59
- border: none;
60
- cursor: pointer;
61
- padding: 0.25rem;
62
- border-radius: var(--semiont-radius-base);
63
- transition: opacity var(--semiont-duration-fast) var(--semiont-ease);
64
- }
65
- .semiont-toast-close:hover {
66
- opacity: 0.7;
67
- }
68
- .semiont-toast-close-icon {
69
- width: 1rem;
70
- height: 1rem;
71
- }
72
- .semiont-toast[data-variant=success] {
73
- background-color: var(--semiont-color-green-100);
74
- border-color: var(--semiont-color-green-300);
75
- color: var(--semiont-color-green-800);
76
- }
77
- .semiont-toast[data-variant=error] {
78
- background-color: var(--semiont-color-red-100);
79
- border-color: var(--semiont-color-red-300);
80
- color: var(--semiont-color-red-800);
81
- }
82
- .semiont-toast[data-variant=warning] {
83
- background-color: var(--semiont-color-yellow-100);
84
- border-color: var(--semiont-color-yellow-300);
85
- color: var(--semiont-color-yellow-900);
86
- }
87
- .semiont-toast[data-variant=info] {
88
- background-color: var(--semiont-color-blue-100);
89
- border-color: var(--semiont-color-blue-300);
90
- color: var(--semiont-color-blue-800);
91
- }
92
- [data-theme=dark] .semiont-toast[data-variant=success] {
93
- background-color: rgba(34, 197, 94, 0.1);
94
- border-color: var(--semiont-color-green-600);
95
- color: var(--semiont-color-green-300);
96
- }
97
- [data-theme=dark] .semiont-toast[data-variant=error] {
98
- background-color: rgba(239, 68, 68, 0.1);
99
- border-color: var(--semiont-color-red-600);
100
- color: var(--semiont-color-red-300);
101
- }
102
- [data-theme=dark] .semiont-toast[data-variant=warning] {
103
- background-color: rgba(245, 158, 11, 0.1);
104
- border-color: var(--semiont-color-amber-600);
105
- color: var(--semiont-color-yellow-300);
106
- }
107
- [data-theme=dark] .semiont-toast[data-variant=info] {
108
- background-color: rgba(59, 130, 246, 0.1);
109
- border-color: var(--semiont-color-blue-600);
110
- color: var(--semiont-color-blue-300);
111
- }
112
-
113
1
  /* src/components/ProtectedErrorBoundary.css */
114
2
  .semiont-protected-error-boundary-container {
115
3
  min-height: 400px;
@@ -291,6 +179,118 @@
291
179
  outline: none;
292
180
  }
293
181
 
182
+ /* src/components/Toast.css */
183
+ .semiont-toast-container {
184
+ position: fixed;
185
+ top: 1rem;
186
+ right: 1rem;
187
+ z-index: 50;
188
+ display: flex;
189
+ flex-direction: column;
190
+ gap: 0.5rem;
191
+ max-width: 24rem;
192
+ }
193
+ .semiont-toast {
194
+ display: flex;
195
+ align-items: center;
196
+ gap: 0.75rem;
197
+ padding: 0.75rem 1rem;
198
+ border-radius: var(--semiont-radius-lg);
199
+ border: 1px solid;
200
+ box-shadow: var(--semiont-shadow-lg);
201
+ transition: all var(--semiont-duration-base) var(--semiont-ease);
202
+ transform: translateX(0);
203
+ animation: slideIn var(--semiont-duration-base) var(--semiont-ease);
204
+ }
205
+ [data-theme=dark] .semiont-toast {
206
+ box-shadow: var(--semiont-shadow-lg);
207
+ }
208
+ @keyframes slideIn {
209
+ from {
210
+ transform: translateX(100%);
211
+ opacity: 0;
212
+ }
213
+ to {
214
+ transform: translateX(0);
215
+ opacity: 1;
216
+ }
217
+ }
218
+ .semiont-toast-icon-wrapper {
219
+ flex-shrink: 0;
220
+ display: flex;
221
+ align-items: center;
222
+ justify-content: center;
223
+ }
224
+ .semiont-toast-icon {
225
+ width: 1.25rem;
226
+ height: 1.25rem;
227
+ }
228
+ .semiont-toast-message {
229
+ flex: 1;
230
+ font-size: var(--semiont-text-sm);
231
+ font-weight: var(--semiont-font-medium);
232
+ }
233
+ .semiont-toast-close {
234
+ margin-left: auto;
235
+ flex-shrink: 0;
236
+ display: flex;
237
+ align-items: center;
238
+ justify-content: center;
239
+ background: transparent;
240
+ border: none;
241
+ cursor: pointer;
242
+ padding: 0.25rem;
243
+ border-radius: var(--semiont-radius-base);
244
+ transition: opacity var(--semiont-duration-fast) var(--semiont-ease);
245
+ }
246
+ .semiont-toast-close:hover {
247
+ opacity: 0.7;
248
+ }
249
+ .semiont-toast-close-icon {
250
+ width: 1rem;
251
+ height: 1rem;
252
+ }
253
+ .semiont-toast[data-variant=success] {
254
+ background-color: var(--semiont-color-green-100);
255
+ border-color: var(--semiont-color-green-300);
256
+ color: var(--semiont-color-green-800);
257
+ }
258
+ .semiont-toast[data-variant=error] {
259
+ background-color: var(--semiont-color-red-100);
260
+ border-color: var(--semiont-color-red-300);
261
+ color: var(--semiont-color-red-800);
262
+ }
263
+ .semiont-toast[data-variant=warning] {
264
+ background-color: var(--semiont-color-yellow-100);
265
+ border-color: var(--semiont-color-yellow-300);
266
+ color: var(--semiont-color-yellow-900);
267
+ }
268
+ .semiont-toast[data-variant=info] {
269
+ background-color: var(--semiont-color-blue-100);
270
+ border-color: var(--semiont-color-blue-300);
271
+ color: var(--semiont-color-blue-800);
272
+ }
273
+ [data-theme=dark] .semiont-toast[data-variant=success] {
274
+ background-color: rgba(34, 197, 94, 0.1);
275
+ border-color: var(--semiont-color-green-600);
276
+ color: var(--semiont-color-green-300);
277
+ }
278
+ [data-theme=dark] .semiont-toast[data-variant=error] {
279
+ background-color: rgba(239, 68, 68, 0.1);
280
+ border-color: var(--semiont-color-red-600);
281
+ color: var(--semiont-color-red-300);
282
+ }
283
+ [data-theme=dark] .semiont-toast[data-variant=warning] {
284
+ background-color: rgba(245, 158, 11, 0.1);
285
+ border-color: var(--semiont-color-amber-600);
286
+ color: var(--semiont-color-yellow-300);
287
+ }
288
+ [data-theme=dark] .semiont-toast[data-variant=info] {
289
+ background-color: rgba(59, 130, 246, 0.1);
290
+ border-color: var(--semiont-color-blue-600);
291
+ color: var(--semiont-color-blue-300);
292
+ }
293
+
294
294
  /* src/components/toolbar/Toolbar.css */
295
295
  .semiont-annotate-toolbar {
296
296
  display: flex;
@@ -469,6 +469,15 @@
469
469
  .semiont-toolbar-menu-label {
470
470
  font-size: 0.875rem;
471
471
  }
472
+ .semiont-annotate-toolbar--compact {
473
+ gap: 0.375rem;
474
+ padding: 0.25rem 0;
475
+ background: transparent;
476
+ border-bottom: none;
477
+ }
478
+ .semiont-annotate-toolbar--compact .semiont-dropdown-label {
479
+ display: none;
480
+ }
472
481
 
473
482
  /* src/components/settings/SettingsPanel.css */
474
483
  .semiont-settings-panel {
@@ -4248,6 +4257,35 @@
4248
4257
  border-radius: var(--semiont-radius-base);
4249
4258
  font-size: var(--semiont-font-size-xs);
4250
4259
  }
4260
+ .semiont-resource-tag__remove {
4261
+ display: inline-flex;
4262
+ align-items: center;
4263
+ padding: 0;
4264
+ border: none;
4265
+ background: none;
4266
+ color: inherit;
4267
+ font-size: var(--semiont-font-size-xs);
4268
+ cursor: pointer;
4269
+ opacity: 0.7;
4270
+ }
4271
+ .semiont-resource-tag__remove:hover:not(:disabled) {
4272
+ opacity: 1;
4273
+ }
4274
+ .semiont-resource-tag__remove:disabled {
4275
+ cursor: default;
4276
+ opacity: 0.4;
4277
+ }
4278
+ .semiont-resource-tag--add {
4279
+ cursor: pointer;
4280
+ background: none;
4281
+ }
4282
+ .semiont-resource-tag--add:disabled {
4283
+ cursor: default;
4284
+ opacity: 0.4;
4285
+ }
4286
+ .semiont-resource-tags-inline--editing .semiont-form__entity-type-buttons {
4287
+ margin-top: var(--semiont-spacing-xs);
4288
+ }
4251
4289
  [data-theme=dark] .semiont-resource-tags-inline {
4252
4290
  border-top-color: var(--semiont-color-neutral-700);
4253
4291
  }