ogm-viewer 0.3.0 → 0.4.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 (197) hide show
  1. package/dist/cjs/{index-CVTUnaNg.js → index-mu9UK_Fb.js} +66 -3
  2. package/dist/cjs/{lerc-TQEssgMv.js → lerc-CT61sKYw.js} +7 -7
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/{ogm-image.ogm-map.ogm-menubar.ogm-metadata.ogm-settings.ogm-sidebar.ogm-viewer-ifPxRNEo.js → ogm-attributes.ogm-image.ogm-map.ogm-menubar.ogm-metadata.ogm-previews.ogm-settings.ogm-sidebar.ogm-viewer-DKxSOrMP.js} +13640 -7139
  5. package/dist/cjs/ogm-attributes_9.cjs.entry.js +16 -0
  6. package/dist/cjs/ogm-viewer.cjs.js +2 -2
  7. package/dist/collection/assets/webawesome/styles/color/palettes/base.css +44 -0
  8. package/dist/collection/assets/webawesome/styles/color/palettes/bright.css +145 -0
  9. package/dist/collection/assets/webawesome/styles/color/palettes/default.css +146 -0
  10. package/dist/collection/assets/webawesome/styles/color/palettes/shoelace.css +146 -0
  11. package/dist/collection/assets/webawesome/styles/color/variants/brand.css +162 -0
  12. package/dist/collection/assets/webawesome/styles/color/variants/danger.css +162 -0
  13. package/dist/collection/assets/webawesome/styles/color/variants/neutral.css +162 -0
  14. package/dist/collection/assets/webawesome/styles/color/variants/success.css +162 -0
  15. package/dist/collection/assets/webawesome/styles/color/variants/warning.css +162 -0
  16. package/dist/collection/assets/webawesome/styles/color/variants.css +5 -0
  17. package/dist/collection/assets/webawesome/styles/component/form-control.styles.d.ts +2 -0
  18. package/dist/collection/assets/webawesome/styles/component/form-control.styles.ts +43 -0
  19. package/dist/collection/assets/webawesome/styles/component/host.styles.d.ts +2 -0
  20. package/dist/collection/assets/webawesome/styles/component/host.styles.ts +18 -0
  21. package/dist/collection/assets/webawesome/styles/component/segmented-field.styles.d.ts +19 -0
  22. package/dist/collection/assets/webawesome/styles/component/segmented-field.styles.ts +92 -0
  23. package/dist/collection/assets/webawesome/styles/component/size.styles.d.ts +2 -0
  24. package/dist/collection/assets/webawesome/styles/component/size.styles.ts +26 -0
  25. package/dist/collection/assets/webawesome/styles/component/variants.styles.d.ts +2 -0
  26. package/dist/collection/assets/webawesome/styles/component/variants.styles.ts +69 -0
  27. package/dist/collection/assets/webawesome/styles/component/visually-hidden.styles.d.ts +2 -0
  28. package/dist/collection/assets/webawesome/styles/component/visually-hidden.styles.ts +19 -0
  29. package/dist/collection/assets/webawesome/styles/layers.css +21 -0
  30. package/dist/collection/assets/webawesome/styles/native.css +1439 -0
  31. package/dist/collection/assets/webawesome/styles/themes/awesome.css +614 -0
  32. package/dist/collection/assets/webawesome/styles/themes/default.css +373 -0
  33. package/dist/collection/assets/webawesome/styles/themes/shoelace.css +648 -0
  34. package/dist/collection/assets/webawesome/styles/utilities/align-items.css +44 -0
  35. package/dist/collection/assets/webawesome/styles/utilities/border-radius.css +20 -0
  36. package/dist/collection/assets/webawesome/styles/utilities/flex-wrap.css +16 -0
  37. package/dist/collection/assets/webawesome/styles/utilities/fouce.css +17 -0
  38. package/dist/collection/assets/webawesome/styles/utilities/gap.css +56 -0
  39. package/dist/collection/assets/webawesome/styles/utilities/justify-content.css +32 -0
  40. package/dist/collection/assets/webawesome/styles/utilities/layout.css +159 -0
  41. package/dist/collection/assets/webawesome/styles/utilities/placeholder.css +9 -0
  42. package/dist/collection/assets/webawesome/styles/utilities/prose.css +161 -0
  43. package/dist/collection/assets/webawesome/styles/utilities/scroll-lock.css +20 -0
  44. package/dist/collection/assets/webawesome/styles/utilities/size.css +21 -0
  45. package/dist/collection/assets/webawesome/styles/utilities/text.css +262 -0
  46. package/dist/collection/assets/webawesome/styles/utilities/variants.css +62 -0
  47. package/dist/collection/assets/webawesome/styles/utilities/visually-hidden.css +17 -0
  48. package/dist/collection/assets/webawesome/styles/utilities.css +17 -0
  49. package/dist/collection/assets/webawesome/styles/webawesome.css +11 -0
  50. package/dist/collection/collection-manifest.json +2 -0
  51. package/dist/collection/components/ogm-attributes/ogm-attributes.css +68 -0
  52. package/dist/collection/components/ogm-attributes/ogm-attributes.js +112 -0
  53. package/dist/collection/components/ogm-image/ogm-image.css +1 -1
  54. package/dist/collection/components/ogm-image/ogm-image.js +16 -18
  55. package/dist/collection/components/ogm-map/ogm-map.css +10 -5
  56. package/dist/collection/components/ogm-map/ogm-map.js +170 -86
  57. package/dist/collection/components/ogm-menubar/ogm-menubar.css +16 -14
  58. package/dist/collection/components/ogm-menubar/ogm-menubar.js +3 -5
  59. package/dist/collection/components/ogm-menubar/ogm-menubar.test.js +7 -3
  60. package/dist/collection/components/ogm-metadata/ogm-metadata.css +6 -492
  61. package/dist/collection/components/ogm-metadata/ogm-metadata.js +3 -5
  62. package/dist/collection/components/ogm-metadata/ogm-metadata.test.js +1 -1
  63. package/dist/collection/components/ogm-previews/ogm-previews.css +44 -0
  64. package/dist/collection/components/ogm-previews/ogm-previews.js +172 -0
  65. package/dist/collection/components/ogm-settings/ogm-settings.js +7 -9
  66. package/dist/collection/components/ogm-sidebar/ogm-sidebar.css +50 -503
  67. package/dist/collection/components/ogm-sidebar/ogm-sidebar.js +8 -12
  68. package/dist/collection/components/ogm-viewer/ogm-viewer.css +4 -974
  69. package/dist/collection/components/ogm-viewer/ogm-viewer.js +41 -25
  70. package/dist/collection/lib/previewers/cog-deck.js +14 -9
  71. package/dist/collection/lib/previewers/cog.js +3 -3
  72. package/dist/collection/lib/previewers/geojson.js +3 -2
  73. package/dist/collection/lib/previewers/maplibre.js +9 -15
  74. package/dist/collection/lib/previewers/pmtiles-raster.js +1 -1
  75. package/dist/collection/lib/previewers/pmtiles-vector.js +7 -1
  76. package/dist/collection/lib/previewers/raster.js +1 -1
  77. package/dist/collection/lib/previewers/vector.js +65 -30
  78. package/dist/collection/lib/previewers/wms.js +1 -1
  79. package/dist/collection/lib/record.js +1 -1
  80. package/dist/collection/lib/record.test.js +1 -1
  81. package/dist/collection/lib/references.js +0 -65
  82. package/dist/collection/lib/references.test.js +0 -150
  83. package/dist/collection/lib/sources/cog.js +5 -2
  84. package/dist/collection/lib/sources/geojson.js +7 -1
  85. package/dist/collection/lib/sources/iiif-manifest.js +55 -0
  86. package/dist/collection/lib/sources/iiif-manifest.test.js +110 -0
  87. package/dist/collection/lib/sources/iiif.js +11 -0
  88. package/dist/collection/lib/sources/maplibre.js +8 -0
  89. package/dist/collection/lib/sources/openindexmap.js +3 -0
  90. package/dist/collection/lib/sources/pmtiles.js +10 -4
  91. package/dist/collection/lib/sources/raster.js +3 -3
  92. package/dist/collection/lib/sources/source.js +26 -7
  93. package/dist/collection/lib/sources/tilejson.js +7 -1
  94. package/dist/collection/lib/sources/tms.js +3 -0
  95. package/dist/collection/lib/sources/vector.js +3 -3
  96. package/dist/collection/lib/sources/wms.js +6 -11
  97. package/dist/collection/lib/sources/xyz.js +3 -0
  98. package/dist/collection/lib/themes/maplibre.js +46 -0
  99. package/dist/collection/lib/themes/theme.js +23 -0
  100. package/dist/esm/{index-BdFT_kJa.js → index-DTLAlWKQ.js} +66 -3
  101. package/dist/esm/{lerc-DFDScDrO.js → lerc-Bz409klg.js} +2 -2
  102. package/dist/esm/loader.js +3 -3
  103. package/dist/esm/{ogm-image.ogm-map.ogm-menubar.ogm-metadata.ogm-settings.ogm-sidebar.ogm-viewer-r5w_49n3.js → ogm-attributes.ogm-image.ogm-map.ogm-menubar.ogm-metadata.ogm-previews.ogm-settings.ogm-sidebar.ogm-viewer-C9zV3wMe.js} +13639 -7140
  104. package/dist/esm/ogm-attributes_9.entry.js +2 -0
  105. package/dist/esm/ogm-viewer.js +3 -3
  106. package/dist/ogm-viewer/assets/webawesome/styles/color/palettes/base.css +44 -0
  107. package/dist/ogm-viewer/assets/webawesome/styles/color/palettes/bright.css +145 -0
  108. package/dist/ogm-viewer/assets/webawesome/styles/color/palettes/default.css +146 -0
  109. package/dist/ogm-viewer/assets/webawesome/styles/color/palettes/shoelace.css +146 -0
  110. package/dist/ogm-viewer/assets/webawesome/styles/color/variants/brand.css +162 -0
  111. package/dist/ogm-viewer/assets/webawesome/styles/color/variants/danger.css +162 -0
  112. package/dist/ogm-viewer/assets/webawesome/styles/color/variants/neutral.css +162 -0
  113. package/dist/ogm-viewer/assets/webawesome/styles/color/variants/success.css +162 -0
  114. package/dist/ogm-viewer/assets/webawesome/styles/color/variants/warning.css +162 -0
  115. package/dist/ogm-viewer/assets/webawesome/styles/color/variants.css +5 -0
  116. package/dist/ogm-viewer/assets/webawesome/styles/component/form-control.styles.d.ts +2 -0
  117. package/dist/ogm-viewer/assets/webawesome/styles/component/form-control.styles.ts +43 -0
  118. package/dist/ogm-viewer/assets/webawesome/styles/component/host.styles.d.ts +2 -0
  119. package/dist/ogm-viewer/assets/webawesome/styles/component/host.styles.ts +18 -0
  120. package/dist/ogm-viewer/assets/webawesome/styles/component/segmented-field.styles.d.ts +19 -0
  121. package/dist/ogm-viewer/assets/webawesome/styles/component/segmented-field.styles.ts +92 -0
  122. package/dist/ogm-viewer/assets/webawesome/styles/component/size.styles.d.ts +2 -0
  123. package/dist/ogm-viewer/assets/webawesome/styles/component/size.styles.ts +26 -0
  124. package/dist/ogm-viewer/assets/webawesome/styles/component/variants.styles.d.ts +2 -0
  125. package/dist/ogm-viewer/assets/webawesome/styles/component/variants.styles.ts +69 -0
  126. package/dist/ogm-viewer/assets/webawesome/styles/component/visually-hidden.styles.d.ts +2 -0
  127. package/dist/ogm-viewer/assets/webawesome/styles/component/visually-hidden.styles.ts +19 -0
  128. package/dist/ogm-viewer/assets/webawesome/styles/layers.css +21 -0
  129. package/dist/ogm-viewer/assets/webawesome/styles/native.css +1439 -0
  130. package/dist/ogm-viewer/assets/webawesome/styles/themes/awesome.css +614 -0
  131. package/dist/ogm-viewer/assets/webawesome/styles/themes/default.css +373 -0
  132. package/dist/ogm-viewer/assets/webawesome/styles/themes/shoelace.css +648 -0
  133. package/dist/ogm-viewer/assets/webawesome/styles/utilities/align-items.css +44 -0
  134. package/dist/ogm-viewer/assets/webawesome/styles/utilities/border-radius.css +20 -0
  135. package/dist/ogm-viewer/assets/webawesome/styles/utilities/flex-wrap.css +16 -0
  136. package/dist/ogm-viewer/assets/webawesome/styles/utilities/fouce.css +17 -0
  137. package/dist/ogm-viewer/assets/webawesome/styles/utilities/gap.css +56 -0
  138. package/dist/ogm-viewer/assets/webawesome/styles/utilities/justify-content.css +32 -0
  139. package/dist/ogm-viewer/assets/webawesome/styles/utilities/layout.css +159 -0
  140. package/dist/ogm-viewer/assets/webawesome/styles/utilities/placeholder.css +9 -0
  141. package/dist/ogm-viewer/assets/webawesome/styles/utilities/prose.css +161 -0
  142. package/dist/ogm-viewer/assets/webawesome/styles/utilities/scroll-lock.css +20 -0
  143. package/dist/ogm-viewer/assets/webawesome/styles/utilities/size.css +21 -0
  144. package/dist/ogm-viewer/assets/webawesome/styles/utilities/text.css +262 -0
  145. package/dist/ogm-viewer/assets/webawesome/styles/utilities/variants.css +62 -0
  146. package/dist/ogm-viewer/assets/webawesome/styles/utilities/visually-hidden.css +17 -0
  147. package/dist/ogm-viewer/assets/webawesome/styles/utilities.css +17 -0
  148. package/dist/ogm-viewer/assets/webawesome/styles/webawesome.css +11 -0
  149. package/dist/ogm-viewer/ogm-viewer.esm.js +1 -1
  150. package/dist/ogm-viewer/p-86b8fafc.entry.js +1 -0
  151. package/dist/ogm-viewer/{p-BeA3REDA.js → p-BrovdLv6.js} +1 -1
  152. package/dist/ogm-viewer/p-CpCT3zlD.js +2750 -0
  153. package/dist/ogm-viewer/p-DTLAlWKQ.js +2 -0
  154. package/dist/types/components/ogm-attributes/ogm-attributes.d.ts +10 -0
  155. package/dist/types/components/ogm-image/ogm-image.d.ts +3 -3
  156. package/dist/types/components/ogm-map/ogm-map.d.ts +32 -14
  157. package/dist/types/components/ogm-menubar/ogm-menubar.d.ts +1 -1
  158. package/dist/types/components/ogm-metadata/ogm-metadata.d.ts +1 -1
  159. package/dist/types/components/ogm-previews/ogm-previews.d.ts +16 -0
  160. package/dist/types/components/ogm-settings/ogm-settings.d.ts +2 -2
  161. package/dist/types/components/ogm-sidebar/ogm-sidebar.d.ts +1 -1
  162. package/dist/types/components/ogm-viewer/ogm-viewer.d.ts +10 -12
  163. package/dist/types/components.d.ts +70 -18
  164. package/dist/types/lib/previewers/cog-deck.d.ts +7 -3
  165. package/dist/types/lib/previewers/cog.d.ts +2 -2
  166. package/dist/types/lib/previewers/maplibre.d.ts +7 -9
  167. package/dist/types/lib/previewers/pmtiles-vector.d.ts +1 -0
  168. package/dist/types/lib/previewers/vector.d.ts +3 -15
  169. package/dist/types/lib/record.d.ts +1 -1
  170. package/dist/types/lib/references.d.ts +0 -8
  171. package/dist/types/lib/sources/cog.d.ts +3 -2
  172. package/dist/types/lib/sources/geojson.d.ts +3 -2
  173. package/dist/types/lib/sources/iiif-manifest.d.ts +12 -0
  174. package/dist/types/lib/sources/iiif-manifest.test.d.ts +1 -0
  175. package/dist/types/lib/sources/iiif.d.ts +5 -0
  176. package/dist/types/lib/sources/maplibre.d.ts +7 -0
  177. package/dist/types/lib/sources/openindexmap.d.ts +1 -0
  178. package/dist/types/lib/sources/pmtiles.d.ts +6 -4
  179. package/dist/types/lib/sources/raster.d.ts +3 -3
  180. package/dist/types/lib/sources/source.d.ts +6 -6
  181. package/dist/types/lib/sources/tilejson.d.ts +3 -2
  182. package/dist/types/lib/sources/tms.d.ts +1 -0
  183. package/dist/types/lib/sources/vector.d.ts +4 -5
  184. package/dist/types/lib/sources/wms.d.ts +4 -3
  185. package/dist/types/lib/sources/xyz.d.ts +1 -0
  186. package/dist/types/lib/themes/maplibre.d.ts +27 -0
  187. package/dist/types/lib/themes/theme.d.ts +7 -0
  188. package/package.json +3 -2
  189. package/dist/cjs/ogm-image_7.cjs.entry.js +0 -14
  190. package/dist/collection/lib/previewers/index.js +0 -36
  191. package/dist/collection/lib/sources/index.js +0 -29
  192. package/dist/esm/ogm-image_7.entry.js +0 -2
  193. package/dist/ogm-viewer/p-0b81e024.entry.js +0 -1
  194. package/dist/ogm-viewer/p-33R3d9fV.js +0 -1950
  195. package/dist/ogm-viewer/p-BdFT_kJa.js +0 -2
  196. package/dist/types/lib/previewers/index.d.ts +0 -3
  197. package/dist/types/lib/sources/index.d.ts +0 -3
@@ -0,0 +1,262 @@
1
+ @layer wa-utilities {
2
+ /* #region General ~~~~~ */
3
+ [class*='wa-body'] {
4
+ font-family: var(--wa-font-family-body);
5
+ font-weight: var(--wa-font-weight-body);
6
+ line-height: var(--wa-line-height-normal);
7
+ }
8
+
9
+ [class*='wa-heading'] {
10
+ font-family: var(--wa-font-family-heading);
11
+ font-weight: var(--wa-font-weight-heading);
12
+ line-height: var(--wa-line-height-condensed);
13
+ text-wrap: balance;
14
+ }
15
+
16
+ [class*='wa-caption'] {
17
+ color: var(--wa-color-text-quiet);
18
+ font-family: var(--wa-font-family-body);
19
+ font-weight: var(--wa-font-weight-body);
20
+ line-height: var(--wa-line-height-condensed);
21
+ }
22
+
23
+ [class*='wa-longform'] {
24
+ font-family: var(--wa-font-family-longform);
25
+ font-weight: var(--wa-font-weight-longform);
26
+ line-height: var(--wa-line-height-normal);
27
+ }
28
+
29
+ .wa-font-size-3xs,
30
+ .wa-body-3xs,
31
+ .wa-heading-3xs,
32
+ .wa-caption-3xs,
33
+ .wa-longform-3xs {
34
+ font-size: var(--wa-font-size-3xs);
35
+ }
36
+
37
+ .wa-font-size-2xs,
38
+ .wa-body-2xs,
39
+ .wa-heading-2xs,
40
+ .wa-caption-2xs,
41
+ .wa-longform-2xs {
42
+ font-size: var(--wa-font-size-2xs);
43
+ }
44
+
45
+ .wa-font-size-xs,
46
+ .wa-body-xs,
47
+ .wa-heading-xs,
48
+ .wa-caption-xs,
49
+ .wa-longform-xs {
50
+ font-size: var(--wa-font-size-xs);
51
+ }
52
+
53
+ .wa-font-size-s,
54
+ .wa-body-s,
55
+ .wa-heading-s,
56
+ .wa-caption-s,
57
+ .wa-longform-s {
58
+ font-size: var(--wa-font-size-s);
59
+ }
60
+
61
+ .wa-font-size-m,
62
+ .wa-body-m,
63
+ .wa-heading-m,
64
+ .wa-caption-m,
65
+ .wa-longform-m {
66
+ font-size: var(--wa-font-size-m);
67
+ }
68
+
69
+ .wa-font-size-l,
70
+ .wa-body-l,
71
+ .wa-heading-l,
72
+ .wa-caption-l,
73
+ .wa-longform-l {
74
+ font-size: var(--wa-font-size-l);
75
+ }
76
+
77
+ .wa-font-size-xl,
78
+ .wa-body-xl,
79
+ .wa-heading-xl,
80
+ .wa-caption-xl,
81
+ .wa-longform-xl {
82
+ font-size: var(--wa-font-size-xl);
83
+ }
84
+
85
+ .wa-font-size-2xl,
86
+ .wa-body-2xl,
87
+ .wa-heading-2xl,
88
+ .wa-caption-2xl,
89
+ .wa-longform-2xl {
90
+ font-size: var(--wa-font-size-2xl);
91
+ }
92
+
93
+ .wa-font-size-3xl,
94
+ .wa-body-3xl,
95
+ .wa-heading-3xl,
96
+ .wa-caption-3xl,
97
+ .wa-longform-3xl {
98
+ font-size: var(--wa-font-size-3xl);
99
+ }
100
+
101
+ .wa-font-size-4xl,
102
+ .wa-body-4xl,
103
+ .wa-heading-4xl,
104
+ .wa-caption-4xl,
105
+ .wa-longform-4xl {
106
+ font-size: var(--wa-font-size-4xl);
107
+ }
108
+
109
+ .wa-font-size-5xl,
110
+ .wa-body-5xl,
111
+ .wa-heading-5xl,
112
+ .wa-caption-5xl,
113
+ .wa-longform-5xl {
114
+ font-size: var(--wa-font-size-5xl);
115
+ }
116
+
117
+ .wa-font-weight-light {
118
+ font-weight: var(--wa-font-weight-light);
119
+ }
120
+
121
+ .wa-font-weight-normal {
122
+ font-weight: var(--wa-font-weight-normal);
123
+ }
124
+
125
+ .wa-font-weight-semibold {
126
+ font-weight: var(--wa-font-weight-semibold);
127
+ }
128
+
129
+ .wa-font-weight-bold {
130
+ font-weight: var(--wa-font-weight-bold);
131
+ }
132
+
133
+ .wa-color-text-normal {
134
+ color: var(--wa-color-text-normal);
135
+ }
136
+
137
+ .wa-color-text-quiet {
138
+ color: var(--wa-color-text-quiet);
139
+ }
140
+
141
+ .wa-color-text-link {
142
+ color: var(--wa-color-text-link);
143
+ }
144
+
145
+ .wa-text-truncate {
146
+ overflow: hidden;
147
+ text-overflow: ellipsis;
148
+ white-space: nowrap;
149
+ }
150
+
151
+ .wa-text-nowrap,
152
+ .wa-text-wrap-nowrap {
153
+ text-wrap: nowrap;
154
+ }
155
+
156
+ .wa-text-balance,
157
+ .wa-text-wrap-balance {
158
+ text-wrap: balance;
159
+ }
160
+
161
+ @supports (text-wrap: pretty) {
162
+ .wa-text-pretty,
163
+ .wa-text-wrap-pretty {
164
+ text-wrap: pretty;
165
+ }
166
+ }
167
+
168
+ .wa-text-uppercase {
169
+ text-transform: uppercase;
170
+ }
171
+
172
+ .wa-text-lowercase {
173
+ text-transform: lowercase;
174
+ }
175
+
176
+ .wa-text-capitalize {
177
+ text-transform: capitalize;
178
+ }
179
+
180
+ .wa-text-start {
181
+ text-align: start;
182
+ }
183
+
184
+ .wa-text-center {
185
+ text-align: center;
186
+ }
187
+
188
+ .wa-text-end {
189
+ text-align: end;
190
+ }
191
+
192
+ .wa-text-justify {
193
+ text-align: justify;
194
+ }
195
+ /* #endregion */
196
+
197
+ /* #region Links ~~~~~~~ */
198
+ .wa-link {
199
+ color: var(--wa-color-text-link);
200
+ text-decoration: var(--wa-link-decoration-default);
201
+ -webkit-text-decoration: var(--wa-link-decoration-default);
202
+
203
+ @media (hover: hover) {
204
+ &:hover {
205
+ color: color-mix(in oklab, var(--wa-color-text-link) 100%, var(--wa-color-mix-hover));
206
+ text-decoration: var(--wa-link-decoration-hover);
207
+ -webkit-text-decoration: var(--wa-link-decoration-hover);
208
+ }
209
+ }
210
+ }
211
+
212
+ .wa-link-plain {
213
+ color: var(--wa-color-text-normal);
214
+ text-decoration: none;
215
+
216
+ @media (hover: hover) {
217
+ &:hover {
218
+ color: color-mix(in oklab, currentColor, var(--wa-color-mix-hover));
219
+ text-decoration: none;
220
+ }
221
+ }
222
+ }
223
+ /* #endregion */
224
+
225
+ /* #region Lists ~~~~~~~ */
226
+ .wa-list-plain:is(ol, ul) {
227
+ list-style: none;
228
+ padding-inline-start: 0;
229
+
230
+ > li {
231
+ margin-inline-start: 0;
232
+ }
233
+ }
234
+ /* #endregion */
235
+
236
+ /* #region Form Controls */
237
+ .wa-form-control-label {
238
+ color: var(--wa-form-control-label-color);
239
+ font-weight: var(--wa-form-control-label-font-weight);
240
+ line-height: var(--wa-form-control-label-line-height);
241
+ }
242
+
243
+ .wa-form-control-value {
244
+ color: var(--wa-form-control-value-color);
245
+ font-weight: var(--wa-form-control-value-font-weight);
246
+ line-height: var(--wa-form-control-value-line-height);
247
+ }
248
+
249
+ .wa-form-control-placeholder {
250
+ color: var(--wa-form-control-placeholder-color);
251
+ font-weight: var(--wa-form-control-value-font-weight);
252
+ line-height: var(--wa-form-control-value-line-height);
253
+ }
254
+
255
+ .wa-form-control-hint {
256
+ color: var(--wa-form-control-hint-color);
257
+ font-weight: var(--wa-form-control-hint-font-weight);
258
+ font-size: var(--wa-font-size-smaller);
259
+ line-height: var(--wa-form-control-hint-line-height);
260
+ }
261
+ /* #endregion */
262
+ }
@@ -0,0 +1,62 @@
1
+ @layer wa-utilities {
2
+ :where(:root),
3
+ .wa-neutral {
4
+ --wa-color-fill-loud: var(--wa-color-neutral-fill-loud);
5
+ --wa-color-fill-normal: var(--wa-color-neutral-fill-normal);
6
+ --wa-color-fill-quiet: var(--wa-color-neutral-fill-quiet);
7
+ --wa-color-border-loud: var(--wa-color-neutral-border-loud);
8
+ --wa-color-border-normal: var(--wa-color-neutral-border-normal);
9
+ --wa-color-border-quiet: var(--wa-color-neutral-border-quiet);
10
+ --wa-color-on-loud: var(--wa-color-neutral-on-loud);
11
+ --wa-color-on-normal: var(--wa-color-neutral-on-normal);
12
+ --wa-color-on-quiet: var(--wa-color-neutral-on-quiet);
13
+ }
14
+
15
+ .wa-brand {
16
+ --wa-color-fill-loud: var(--wa-color-brand-fill-loud);
17
+ --wa-color-fill-normal: var(--wa-color-brand-fill-normal);
18
+ --wa-color-fill-quiet: var(--wa-color-brand-fill-quiet);
19
+ --wa-color-border-loud: var(--wa-color-brand-border-loud);
20
+ --wa-color-border-normal: var(--wa-color-brand-border-normal);
21
+ --wa-color-border-quiet: var(--wa-color-brand-border-quiet);
22
+ --wa-color-on-loud: var(--wa-color-brand-on-loud);
23
+ --wa-color-on-normal: var(--wa-color-brand-on-normal);
24
+ --wa-color-on-quiet: var(--wa-color-brand-on-quiet);
25
+ }
26
+
27
+ .wa-success {
28
+ --wa-color-fill-loud: var(--wa-color-success-fill-loud);
29
+ --wa-color-fill-normal: var(--wa-color-success-fill-normal);
30
+ --wa-color-fill-quiet: var(--wa-color-success-fill-quiet);
31
+ --wa-color-border-loud: var(--wa-color-success-border-loud);
32
+ --wa-color-border-normal: var(--wa-color-success-border-normal);
33
+ --wa-color-border-quiet: var(--wa-color-success-border-quiet);
34
+ --wa-color-on-loud: var(--wa-color-success-on-loud);
35
+ --wa-color-on-normal: var(--wa-color-success-on-normal);
36
+ --wa-color-on-quiet: var(--wa-color-success-on-quiet);
37
+ }
38
+
39
+ .wa-warning {
40
+ --wa-color-fill-loud: var(--wa-color-warning-fill-loud);
41
+ --wa-color-fill-normal: var(--wa-color-warning-fill-normal);
42
+ --wa-color-fill-quiet: var(--wa-color-warning-fill-quiet);
43
+ --wa-color-border-loud: var(--wa-color-warning-border-loud);
44
+ --wa-color-border-normal: var(--wa-color-warning-border-normal);
45
+ --wa-color-border-quiet: var(--wa-color-warning-border-quiet);
46
+ --wa-color-on-loud: var(--wa-color-warning-on-loud);
47
+ --wa-color-on-normal: var(--wa-color-warning-on-normal);
48
+ --wa-color-on-quiet: var(--wa-color-warning-on-quiet);
49
+ }
50
+
51
+ .wa-danger {
52
+ --wa-color-fill-loud: var(--wa-color-danger-fill-loud);
53
+ --wa-color-fill-normal: var(--wa-color-danger-fill-normal);
54
+ --wa-color-fill-quiet: var(--wa-color-danger-fill-quiet);
55
+ --wa-color-border-loud: var(--wa-color-danger-border-loud);
56
+ --wa-color-border-normal: var(--wa-color-danger-border-normal);
57
+ --wa-color-border-quiet: var(--wa-color-danger-border-quiet);
58
+ --wa-color-on-loud: var(--wa-color-danger-on-loud);
59
+ --wa-color-on-normal: var(--wa-color-danger-on-normal);
60
+ --wa-color-on-quiet: var(--wa-color-danger-on-quiet);
61
+ }
62
+ }
@@ -0,0 +1,17 @@
1
+ @layer wa-utilities {
2
+ .wa-visually-hidden:not(:focus-within),
3
+ .wa-visually-hidden-force,
4
+ .wa-visually-hidden-hint::part(hint),
5
+ .wa-visually-hidden-label::part(label),
6
+ .wa-visually-hidden-label::part(form-control-label) {
7
+ position: absolute !important;
8
+ width: 1px !important;
9
+ height: 1px !important;
10
+ clip: rect(0 0 0 0) !important;
11
+ clip-path: inset(50%) !important;
12
+ border: none !important;
13
+ overflow: hidden !important;
14
+ white-space: nowrap !important;
15
+ padding: 0 !important;
16
+ }
17
+ }
@@ -0,0 +1,17 @@
1
+ @import url('layers.css');
2
+
3
+ @import url('utilities/fouce.css');
4
+ @import url('utilities/visually-hidden.css');
5
+ @import url('utilities/scroll-lock.css');
6
+ @import url('utilities/placeholder.css');
7
+ @import url('utilities/align-items.css');
8
+ @import url('utilities/justify-content.css');
9
+ @import url('utilities/flex-wrap.css');
10
+ @import url('utilities/border-radius.css');
11
+ @import url('utilities/gap.css');
12
+ @import url('utilities/text.css');
13
+ @import url('utilities/layout.css');
14
+ @import url('utilities/prose.css');
15
+
16
+ @import url('utilities/size.css');
17
+ @import url('utilities/variants.css');
@@ -0,0 +1,11 @@
1
+ /* Cascade layers */
2
+ @import url('layers.css');
3
+
4
+ /* Native styles */
5
+ @import url('native.css');
6
+
7
+ /* CSS utilities */
8
+ @import url('utilities.css');
9
+
10
+ /* Theme */
11
+ @import url('themes/default.css');
@@ -1,9 +1,11 @@
1
1
  {
2
2
  "entries": [
3
+ "components/ogm-attributes/ogm-attributes.js",
3
4
  "components/ogm-image/ogm-image.js",
4
5
  "components/ogm-map/ogm-map.js",
5
6
  "components/ogm-menubar/ogm-menubar.js",
6
7
  "components/ogm-metadata/ogm-metadata.js",
8
+ "components/ogm-previews/ogm-previews.js",
7
9
  "components/ogm-settings/ogm-settings.js",
8
10
  "components/ogm-sidebar/ogm-sidebar.js",
9
11
  "components/ogm-viewer/ogm-viewer.js"
@@ -0,0 +1,68 @@
1
+ wa-scroller {
2
+ max-height: 200px;
3
+ overscroll-behavior: none;
4
+ }
5
+
6
+ .attribute-table {
7
+ font-family: var(--wa-font-family-code);
8
+ font-size: var(--wa-font-size-xs);
9
+ line-height: var(--wa-line-height-condensed);
10
+ word-wrap: break-word;
11
+ border-collapse: collapse;
12
+ border-style: hidden;
13
+ overflow: hidden;
14
+
15
+ th,
16
+ td {
17
+ border: var(--wa-panel-border-width) solid var(--wa-color-surface-border);
18
+ padding: 0.2em 0.5em;
19
+ }
20
+
21
+ .key {
22
+ max-width: 50%;
23
+ vertical-align: top;
24
+ }
25
+
26
+ .header,
27
+ .value {
28
+ word-wrap: anywhere;
29
+ }
30
+ }
31
+
32
+ .pagination {
33
+ display: flex;
34
+ align-items: center;
35
+ justify-content: space-between;
36
+ gap: 1em;
37
+
38
+ .count {
39
+ flex-shrink: 0;
40
+ }
41
+ }
42
+
43
+ .label {
44
+ font-size: var(--wa-font-size-s);
45
+ font-weight: var(--wa-font-weight-bold);
46
+ overflow: hidden;
47
+ min-width: 0;
48
+ max-width: 40ch;
49
+ width: 100%;
50
+ padding: 0.2em 0.5em;
51
+ display: flex;
52
+ justify-content: center;
53
+
54
+ div {
55
+ overflow: hidden;
56
+ text-overflow: ellipsis;
57
+ white-space: nowrap;
58
+ }
59
+ }
60
+
61
+ wa-button + .label {
62
+ max-width: 30ch;
63
+ padding: 0;
64
+ }
65
+
66
+ .count {
67
+ flex-shrink: 0;
68
+ }
@@ -0,0 +1,112 @@
1
+ import { h } from "@stencil/core";
2
+ import Autolinker from "autolinker";
3
+ const LABEL_KEYS = ['name', 'title', 'label', 'id'];
4
+ const getFeatureLabel = (feature) => {
5
+ const originalKeys = Object.keys(feature.properties || {});
6
+ if (originalKeys.length === 0)
7
+ return;
8
+ const key = LABEL_KEYS.map(k => originalKeys.find(ok => ok.toLowerCase() === k)).find(Boolean);
9
+ if (key)
10
+ return feature.properties?.[key];
11
+ };
12
+ export class OgmAttributes {
13
+ features = [];
14
+ featureSelected;
15
+ currentIndex = 0;
16
+ onFeaturesChange() {
17
+ this.currentIndex = 0;
18
+ }
19
+ onCurrentIndexChange() {
20
+ const feature = this.features[this.currentIndex];
21
+ if (feature)
22
+ this.featureSelected.emit(feature);
23
+ }
24
+ render() {
25
+ if (this.features.length === 0)
26
+ return null;
27
+ const feature = this.features[this.currentIndex];
28
+ const multiple = this.features.length > 1;
29
+ const label = getFeatureLabel(feature);
30
+ return (h("wa-scroller", { orientation: "vertical" }, h("table", { class: "attribute-table" }, multiple && label ? (h("thead", null, h("tr", { class: "header" }, h("td", { colSpan: 2 }, h("div", { class: "pagination" }, h("wa-button", { appearance: "plain", disabled: this.currentIndex === 0, onClick: () => this.currentIndex-- }, h("wa-icon", { name: "arrow-left", label: "Previous feature", canvas: "auto" })), label && (h("div", { class: "label" }, h("div", null, label))), h("div", { class: "count" }, ' ', "(", this.currentIndex + 1, "/", this.features.length, ")"), h("wa-button", { appearance: "plain", disabled: this.currentIndex === this.features.length - 1, onClick: () => this.currentIndex++ }, h("wa-icon", { name: "arrow-right", label: "Next feature", canvas: "auto" }))))))) : (label && (h("thead", null, h("tr", { class: "header" }, h("td", { colSpan: 2 }, h("div", { class: "label" }, h("div", null, label))))))), h("tbody", null, Object.entries(feature.properties || {}).map(([key, value]) => (h("tr", { key: key }, h("td", { class: "key" }, key), h("td", { class: "value", innerHTML: Autolinker.link(value.toString(), { hashtag: false, mention: false, phone: false }) }))))))));
31
+ }
32
+ static get is() { return "ogm-attributes"; }
33
+ static get encapsulation() { return "shadow"; }
34
+ static get originalStyleUrls() {
35
+ return {
36
+ "$": ["ogm-attributes.css"]
37
+ };
38
+ }
39
+ static get styleUrls() {
40
+ return {
41
+ "$": ["ogm-attributes.css"]
42
+ };
43
+ }
44
+ static get properties() {
45
+ return {
46
+ "features": {
47
+ "type": "unknown",
48
+ "mutable": false,
49
+ "complexType": {
50
+ "original": "MapGeoJSONFeature[]",
51
+ "resolved": "MapGeoJSONFeature[]",
52
+ "references": {
53
+ "MapGeoJSONFeature": {
54
+ "location": "import",
55
+ "path": "maplibre-gl",
56
+ "id": "node_modules::MapGeoJSONFeature",
57
+ "referenceLocation": "MapGeoJSONFeature"
58
+ }
59
+ }
60
+ },
61
+ "required": false,
62
+ "optional": false,
63
+ "docs": {
64
+ "tags": [],
65
+ "text": ""
66
+ },
67
+ "getter": false,
68
+ "setter": false,
69
+ "defaultValue": "[]"
70
+ }
71
+ };
72
+ }
73
+ static get states() {
74
+ return {
75
+ "currentIndex": {}
76
+ };
77
+ }
78
+ static get events() {
79
+ return [{
80
+ "method": "featureSelected",
81
+ "name": "featureSelected",
82
+ "bubbles": true,
83
+ "cancelable": true,
84
+ "composed": true,
85
+ "docs": {
86
+ "tags": [],
87
+ "text": ""
88
+ },
89
+ "complexType": {
90
+ "original": "MapGeoJSONFeature",
91
+ "resolved": "GeoJSONFeature & { layer: (Omit<FillLayerSpecification, \"source\"> | Omit<LineLayerSpecification, \"source\"> | Omit<SymbolLayerSpecification, \"source\"> | Omit<CircleLayerSpecification, \"source\"> | Omit<HeatmapLayerSpecification, \"source\"> | Omit<FillExtrusionLayerSpecification, \"source\"> | Omit<RasterLayerSpecification, \"source\"> | Omit<HillshadeLayerSpecification, \"source\"> | Omit<ColorReliefLayerSpecification, \"source\"> | Omit<BackgroundLayerSpecification, \"source\">) & { source: string; }; source: string; sourceLayer?: string; state: { [key: string]: any; }; }",
92
+ "references": {
93
+ "MapGeoJSONFeature": {
94
+ "location": "import",
95
+ "path": "maplibre-gl",
96
+ "id": "node_modules::MapGeoJSONFeature",
97
+ "referenceLocation": "MapGeoJSONFeature"
98
+ }
99
+ }
100
+ }
101
+ }];
102
+ }
103
+ static get watchers() {
104
+ return [{
105
+ "propName": "features",
106
+ "methodName": "onFeaturesChange"
107
+ }, {
108
+ "propName": "currentIndex",
109
+ "methodName": "onCurrentIndexChange"
110
+ }];
111
+ }
112
+ }
@@ -7,7 +7,7 @@
7
7
 
8
8
  #openseadragon {
9
9
  height: 100%;
10
- background-color: var(--sl-panel-background-color);
10
+ background-color: var(--wa-color-surface-raised);
11
11
  }
12
12
 
13
13
  .controls {
@@ -3,7 +3,7 @@ import { Viewer } from "openseadragon";
3
3
  import { getElement, findElement } from "../../lib/elements";
4
4
  export class OgmImage {
5
5
  el;
6
- record;
6
+ source;
7
7
  theme;
8
8
  padding = 0;
9
9
  imageLoaded;
@@ -27,12 +27,12 @@ export class OgmImage {
27
27
  previousButton: getElement(this.el, '.prev'),
28
28
  });
29
29
  this.viewer.addHandler('open', () => this.imageLoaded.emit());
30
- if (this.record)
30
+ if (this.source)
31
31
  await this.loadImages();
32
32
  }
33
- // Update preview when record changes
34
- async onRecordChange() {
35
- if (this.record)
33
+ // Update preview when source changes
34
+ async onSourceChange() {
35
+ if (this.source)
36
36
  await this.loadImages();
37
37
  }
38
38
  async onPaddingChange() {
@@ -47,13 +47,13 @@ export class OgmImage {
47
47
  // This makes a request to fetch and cache the manifest
48
48
  async loadImages() {
49
49
  this.imageLoading.emit();
50
- const images = await this.record.references.iiifImageUrls();
50
+ const images = await this.source.getIIIFImageUrls();
51
51
  if (!images)
52
- throw new Error('No IIIF images found for record');
52
+ throw new Error('No IIIF images found for source');
53
53
  this.viewer.open(images);
54
54
  }
55
55
  render() {
56
- return (h(Host, { key: 'c28429837984f688efbd0fd7be5d2c22cb213109' }, h("div", { key: 'ab4de1759a7d962840674d248cf9a15bc5f4e2b2', id: "openseadragon" }, h("div", { key: '59be4dd45b938f81787239162295de0f3db50401', class: "controls" }, h("sl-button", { key: '14bda0b404dd75a43d146ffa835ce82fbc338655', class: "zoom-in", size: "small", circle: true }, h("sl-icon", { key: '620b15a8ecca41fe547d2aa9a85b190aedfee4bf', name: "zoom-in", label: "Zoom In" })), h("sl-button", { key: 'e12c3c58fd65e04fc2568f941aab72101d443bf8', class: "zoom-out", size: "small", circle: true }, h("sl-icon", { key: '99938bb923d76ebd30f4aa344d714deabdd16e6b', name: "zoom-out", label: "Zoom Out" })), h("sl-button", { key: '2836926f056be59df8c74034c032edea1a2b42f6', class: "home", size: "small", circle: true }, h("sl-icon", { key: 'a1e532707374c5161462483e7b0ff84d62ac28b2', name: "house", label: "Reset View" })), h("sl-button", { key: 'a328228cf8b5ca07d08d972c066ad6cba7cb76d1', class: "full-page", size: "small", circle: true }, h("sl-icon", { key: '743ba0fa2af8df3fe00e037c1e2d89db328001f1', name: "arrows-fullscreen", label: "Full Screen" })), h("sl-button", { key: '100f2e7be8b44aab83e9e99de2f04d6897a2e5a6', class: "next", size: "small", circle: true }, h("sl-icon", { key: 'f1b9f5c24913f27b41e5dfa665bd62764f597a20', name: "arrow-right", label: "Next" })), h("sl-button", { key: '0b6c31c6af12718d256703f4f3b47d1879c14d9a', class: "prev", size: "small", circle: true }, h("sl-icon", { key: '1d9dce41e3dfd2be557417a19309f3fc888a84a2', name: "arrow-left", label: "Previous" }))))));
56
+ return (h(Host, { key: '155b1ad9e24bc0148c90fa6c0d456a09437e08b6' }, h("div", { key: 'e0cf7750187e9a322f72c59a23f40e5897f31756', id: "openseadragon" }, h("div", { key: '59fadbbbe2e10fa53a0e1a3b311eef2c483d0800', class: "controls" }, h("wa-button", { key: '8c2323085fef8326b663c26aaa42dee935b09f0b', class: "zoom-in", size: "s", appearance: "filled-outlined", pill: true }, h("wa-icon", { key: '129a1e11cf602e922a977a35c9d1001cfb64dc4c', name: "zoom-in", label: "Zoom In", canvas: "auto" })), h("wa-button", { key: '944656ac675915dc589ed72b7cc76a9273a6dc5f', class: "zoom-out", size: "s", appearance: "filled-outlined", pill: true }, h("wa-icon", { key: 'b76f8cda3420937d45431e9d41a3eeac116b9fad', name: "zoom-out", label: "Zoom Out", canvas: "auto" })), h("wa-button", { key: 'c1d11fae3106ef08de6e7de68fdfdcdbe28a06a0', class: "home", size: "s", appearance: "filled-outlined", pill: true }, h("wa-icon", { key: '1a6cc9c1f3b49ef2284faa0c506afe558bfc5e73', name: "house", label: "Reset View", canvas: "auto" })), h("wa-button", { key: '55924e70820e7118745115b08b8b0fce17ffd6c0', class: "full-page", size: "s", appearance: "filled-outlined", pill: true }, h("wa-icon", { key: '0e719e259f142cfec5a8fd0276f6beee2b522e51', name: "arrows-fullscreen", label: "Full Screen", canvas: "auto" })), h("wa-button", { key: '76335703d0b4e9944bde2d077e26db7fa3aba223', class: "next", size: "s", appearance: "filled-outlined", pill: true }, h("wa-icon", { key: 'a543fa9e9822eafb31c35700a1f19df8d23225b1', name: "arrow-right", label: "Next", canvas: "auto" })), h("wa-button", { key: 'a2680c1b66ecea112a01327af560fb1b49607d09', class: "prev", size: "s", appearance: "filled-outlined", pill: true }, h("wa-icon", { key: '00d8226e18ecb42471601b005f90198b8baa14d2', name: "arrow-left", label: "Previous", canvas: "auto" }))))));
57
57
  }
58
58
  static get is() { return "ogm-image"; }
59
59
  static get encapsulation() { return "shadow"; }
@@ -69,18 +69,16 @@ export class OgmImage {
69
69
  }
70
70
  static get properties() {
71
71
  return {
72
- "record": {
72
+ "source": {
73
73
  "type": "unknown",
74
74
  "mutable": false,
75
75
  "complexType": {
76
- "original": "OgmRecord",
77
- "resolved": "OgmRecord",
76
+ "original": "IIIFSource",
77
+ "resolved": "IIIFSource",
78
78
  "references": {
79
- "OgmRecord": {
80
- "location": "import",
81
- "path": "../../lib/record",
82
- "id": "src/lib/record.ts::OgmRecord",
83
- "referenceLocation": "OgmRecord"
79
+ "IIIFSource": {
80
+ "location": "global",
81
+ "id": "global::IIIFSource"
84
82
  }
85
83
  }
86
84
  },
@@ -170,8 +168,8 @@ export class OgmImage {
170
168
  static get elementRef() { return "el"; }
171
169
  static get watchers() {
172
170
  return [{
173
- "propName": "record",
174
- "methodName": "onRecordChange"
171
+ "propName": "source",
172
+ "methodName": "onSourceChange"
175
173
  }, {
176
174
  "propName": "padding",
177
175
  "methodName": "onPaddingChange"