@internetarchive/collection-browser 0.0.1-alpha.1

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 (203) hide show
  1. package/.editorconfig +29 -0
  2. package/.github/workflows/ci.yml +26 -0
  3. package/.husky/pre-commit +4 -0
  4. package/LICENSE +661 -0
  5. package/README.md +68 -0
  6. package/demo/app-root.ts +414 -0
  7. package/demo/index.html +26 -0
  8. package/dist/demo/app-root.d.ts +43 -0
  9. package/dist/demo/app-root.js +385 -0
  10. package/dist/demo/app-root.js.map +1 -0
  11. package/dist/index.d.ts +3 -0
  12. package/dist/index.js +3 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/src/assets/img/icons/audio.d.ts +1 -0
  15. package/dist/src/assets/img/icons/audio.js +9 -0
  16. package/dist/src/assets/img/icons/audio.js.map +1 -0
  17. package/dist/src/assets/img/icons/collection.d.ts +1 -0
  18. package/dist/src/assets/img/icons/collection.js +9 -0
  19. package/dist/src/assets/img/icons/collection.js.map +1 -0
  20. package/dist/src/assets/img/icons/etree.d.ts +1 -0
  21. package/dist/src/assets/img/icons/etree.js +9 -0
  22. package/dist/src/assets/img/icons/etree.js.map +1 -0
  23. package/dist/src/assets/img/icons/images.d.ts +1 -0
  24. package/dist/src/assets/img/icons/images.js +10 -0
  25. package/dist/src/assets/img/icons/images.js.map +1 -0
  26. package/dist/src/assets/img/icons/mediatype/account.d.ts +2 -0
  27. package/dist/src/assets/img/icons/mediatype/account.js +12 -0
  28. package/dist/src/assets/img/icons/mediatype/account.js.map +1 -0
  29. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -0
  30. package/dist/src/assets/img/icons/mediatype/audio.js +11 -0
  31. package/dist/src/assets/img/icons/mediatype/audio.js.map +1 -0
  32. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -0
  33. package/dist/src/assets/img/icons/mediatype/collection.js +9 -0
  34. package/dist/src/assets/img/icons/mediatype/collection.js.map +1 -0
  35. package/dist/src/assets/img/icons/mediatype/etree copy.d.ts +1 -0
  36. package/dist/src/assets/img/icons/mediatype/etree copy.js +9 -0
  37. package/dist/src/assets/img/icons/mediatype/etree copy.js.map +1 -0
  38. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -0
  39. package/dist/src/assets/img/icons/mediatype/etree.js +9 -0
  40. package/dist/src/assets/img/icons/mediatype/etree.js.map +1 -0
  41. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -0
  42. package/dist/src/assets/img/icons/mediatype/film.js +13 -0
  43. package/dist/src/assets/img/icons/mediatype/film.js.map +1 -0
  44. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -0
  45. package/dist/src/assets/img/icons/mediatype/images.js +10 -0
  46. package/dist/src/assets/img/icons/mediatype/images.js.map +1 -0
  47. package/dist/src/assets/img/icons/mediatype/livemusic.d.ts +1 -0
  48. package/dist/src/assets/img/icons/mediatype/livemusic.js +7 -0
  49. package/dist/src/assets/img/icons/mediatype/livemusic.js.map +1 -0
  50. package/dist/src/assets/img/icons/mediatype/photos.d.ts +1 -0
  51. package/dist/src/assets/img/icons/mediatype/photos.js +7 -0
  52. package/dist/src/assets/img/icons/mediatype/photos.js.map +1 -0
  53. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -0
  54. package/dist/src/assets/img/icons/mediatype/software.js +10 -0
  55. package/dist/src/assets/img/icons/mediatype/software.js.map +1 -0
  56. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -0
  57. package/dist/src/assets/img/icons/mediatype/texts.js +10 -0
  58. package/dist/src/assets/img/icons/mediatype/texts.js.map +1 -0
  59. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -0
  60. package/dist/src/assets/img/icons/mediatype/tv.js +9 -0
  61. package/dist/src/assets/img/icons/mediatype/tv.js.map +1 -0
  62. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -0
  63. package/dist/src/assets/img/icons/mediatype/video.js +10 -0
  64. package/dist/src/assets/img/icons/mediatype/video.js.map +1 -0
  65. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -0
  66. package/dist/src/assets/img/icons/mediatype/web.js +10 -0
  67. package/dist/src/assets/img/icons/mediatype/web.js.map +1 -0
  68. package/dist/src/assets/img/icons/software.d.ts +1 -0
  69. package/dist/src/assets/img/icons/software.js +10 -0
  70. package/dist/src/assets/img/icons/software.js.map +1 -0
  71. package/dist/src/assets/img/icons/texts.d.ts +1 -0
  72. package/dist/src/assets/img/icons/texts.js +10 -0
  73. package/dist/src/assets/img/icons/texts.js.map +1 -0
  74. package/dist/src/assets/img/icons/tv.d.ts +1 -0
  75. package/dist/src/assets/img/icons/tv.js +9 -0
  76. package/dist/src/assets/img/icons/tv.js.map +1 -0
  77. package/dist/src/assets/img/icons/video.d.ts +1 -0
  78. package/dist/src/assets/img/icons/video.js +10 -0
  79. package/dist/src/assets/img/icons/video.js.map +1 -0
  80. package/dist/src/assets/img/icons/web.d.ts +1 -0
  81. package/dist/src/assets/img/icons/web.js +10 -0
  82. package/dist/src/assets/img/icons/web.js.map +1 -0
  83. package/dist/src/circular-activity-indicator.d.ts +5 -0
  84. package/dist/src/circular-activity-indicator.js +66 -0
  85. package/dist/src/circular-activity-indicator.js.map +1 -0
  86. package/dist/src/collection-browser.d.ts +151 -0
  87. package/dist/src/collection-browser.js +697 -0
  88. package/dist/src/collection-browser.js.map +1 -0
  89. package/dist/src/collection-facets.d.ts +34 -0
  90. package/dist/src/collection-facets.js +245 -0
  91. package/dist/src/collection-facets.js.map +1 -0
  92. package/dist/src/mediatype-icon.d.ts +9 -0
  93. package/dist/src/mediatype-icon.js +89 -0
  94. package/dist/src/mediatype-icon.js.map +1 -0
  95. package/dist/src/models.d.ts +23 -0
  96. package/dist/src/models.js +2 -0
  97. package/dist/src/models.js.map +1 -0
  98. package/dist/src/sort-filter-bar/alpha-bar.d.ts +10 -0
  99. package/dist/src/sort-filter-bar/alpha-bar.js +88 -0
  100. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -0
  101. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +24 -0
  102. package/dist/src/sort-filter-bar/sort-filter-bar.js +257 -0
  103. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -0
  104. package/dist/src/tiles/grid/account-tile.d.ts +7 -0
  105. package/dist/src/tiles/grid/account-tile.js +144 -0
  106. package/dist/src/tiles/grid/account-tile.js.map +1 -0
  107. package/dist/src/tiles/grid/collection-tile.d.ts +7 -0
  108. package/dist/src/tiles/grid/collection-tile.js +160 -0
  109. package/dist/src/tiles/grid/collection-tile.js.map +1 -0
  110. package/dist/src/tiles/grid/icons/account.d.ts +1 -0
  111. package/dist/src/tiles/grid/icons/account.js +12 -0
  112. package/dist/src/tiles/grid/icons/account.js.map +1 -0
  113. package/dist/src/tiles/grid/icons/favorite-filled.d.ts +1 -0
  114. package/dist/src/tiles/grid/icons/favorite-filled.js +11 -0
  115. package/dist/src/tiles/grid/icons/favorite-filled.js.map +1 -0
  116. package/dist/src/tiles/grid/icons/reviews.d.ts +1 -0
  117. package/dist/src/tiles/grid/icons/reviews.js +11 -0
  118. package/dist/src/tiles/grid/icons/reviews.js.map +1 -0
  119. package/dist/src/tiles/grid/icons/upload.d.ts +1 -0
  120. package/dist/src/tiles/grid/icons/upload.js +12 -0
  121. package/dist/src/tiles/grid/icons/upload.js.map +1 -0
  122. package/dist/src/tiles/grid/icons/views.d.ts +2 -0
  123. package/dist/src/tiles/grid/icons/views.js +11 -0
  124. package/dist/src/tiles/grid/icons/views.js.map +1 -0
  125. package/dist/src/tiles/grid/item-tile.d.ts +9 -0
  126. package/dist/src/tiles/grid/item-tile.js +240 -0
  127. package/dist/src/tiles/grid/item-tile.js.map +1 -0
  128. package/dist/src/tiles/list/tile-list-compact.d.ts +16 -0
  129. package/dist/src/tiles/list/tile-list-compact.js +125 -0
  130. package/dist/src/tiles/list/tile-list-compact.js.map +1 -0
  131. package/dist/src/tiles/list/tile-list-detail.d.ts +17 -0
  132. package/dist/src/tiles/list/tile-list-detail.js +181 -0
  133. package/dist/src/tiles/list/tile-list-detail.js.map +1 -0
  134. package/dist/src/tiles/list/tile-list.d.ts +21 -0
  135. package/dist/src/tiles/list/tile-list.js +229 -0
  136. package/dist/src/tiles/list/tile-list.js.map +1 -0
  137. package/dist/src/tiles/loading-tile.d.ts +5 -0
  138. package/dist/src/tiles/loading-tile.js +73 -0
  139. package/dist/src/tiles/loading-tile.js.map +1 -0
  140. package/dist/src/tiles/tile-dispatcher.d.ts +27 -0
  141. package/dist/src/tiles/tile-dispatcher.js +160 -0
  142. package/dist/src/tiles/tile-dispatcher.js.map +1 -0
  143. package/dist/src/utils/format-count.d.ts +7 -0
  144. package/dist/src/utils/format-count.js +76 -0
  145. package/dist/src/utils/format-count.js.map +1 -0
  146. package/dist/src/utils/format-date.d.ts +2 -0
  147. package/dist/src/utils/format-date.js +24 -0
  148. package/dist/src/utils/format-date.js.map +1 -0
  149. package/dist/src/utils/format-string.d.ts +2 -0
  150. package/dist/src/utils/format-string.js +7 -0
  151. package/dist/src/utils/format-string.js.map +1 -0
  152. package/dist/test/collection-browser.test.d.ts +0 -0
  153. package/dist/test/collection-browser.test.js +3 -0
  154. package/dist/test/collection-browser.test.js.map +1 -0
  155. package/dist/test/utils/format-count.test.d.ts +1 -0
  156. package/dist/test/utils/format-count.test.js +24 -0
  157. package/dist/test/utils/format-count.test.js.map +1 -0
  158. package/dist/test/utils/format-date.test.d.ts +1 -0
  159. package/dist/test/utils/format-date.test.js +18 -0
  160. package/dist/test/utils/format-date.test.js.map +1 -0
  161. package/dist/test/utils/format-string.test.d.ts +1 -0
  162. package/dist/test/utils/format-string.test.js +17 -0
  163. package/dist/test/utils/format-string.test.js.map +1 -0
  164. package/index.ts +3 -0
  165. package/package.json +95 -0
  166. package/src/assets/img/icons/mediatype/account.ts +12 -0
  167. package/src/assets/img/icons/mediatype/audio.ts +11 -0
  168. package/src/assets/img/icons/mediatype/collection.ts +9 -0
  169. package/src/assets/img/icons/mediatype/etree.ts +9 -0
  170. package/src/assets/img/icons/mediatype/film.ts +13 -0
  171. package/src/assets/img/icons/mediatype/foo.svg +5 -0
  172. package/src/assets/img/icons/mediatype/images.ts +10 -0
  173. package/src/assets/img/icons/mediatype/software.ts +10 -0
  174. package/src/assets/img/icons/mediatype/texts.ts +10 -0
  175. package/src/assets/img/icons/mediatype/tv.ts +9 -0
  176. package/src/assets/img/icons/mediatype/video.ts +10 -0
  177. package/src/assets/img/icons/mediatype/web.ts +10 -0
  178. package/src/circular-activity-indicator.ts +64 -0
  179. package/src/collection-browser.ts +756 -0
  180. package/src/collection-facets.ts +285 -0
  181. package/src/mediatype-icon.ts +83 -0
  182. package/src/models.ts +25 -0
  183. package/src/sort-filter-bar/alpha-bar.ts +86 -0
  184. package/src/sort-filter-bar/sort-filter-bar.ts +256 -0
  185. package/src/tiles/grid/account-tile.ts +141 -0
  186. package/src/tiles/grid/collection-tile.ts +157 -0
  187. package/src/tiles/grid/icons/account.ts +12 -0
  188. package/src/tiles/grid/icons/favorite-filled.ts +11 -0
  189. package/src/tiles/grid/icons/reviews.ts +11 -0
  190. package/src/tiles/grid/icons/upload.ts +12 -0
  191. package/src/tiles/grid/icons/views.ts +11 -0
  192. package/src/tiles/grid/item-tile.ts +254 -0
  193. package/src/tiles/list/tile-list.ts +227 -0
  194. package/src/tiles/loading-tile.ts +70 -0
  195. package/src/tiles/tile-dispatcher.ts +160 -0
  196. package/src/utils/format-count.ts +95 -0
  197. package/src/utils/format-date.ts +36 -0
  198. package/test/collection-browser.test.ts +1 -0
  199. package/test/utils/format-count.test.ts +32 -0
  200. package/test/utils/format-date.test.ts +22 -0
  201. package/tsconfig.json +20 -0
  202. package/web-dev-server.config.mjs +28 -0
  203. package/web-test-runner.config.mjs +41 -0
@@ -0,0 +1,10 @@
1
+ import { svg } from 'lit';
2
+
3
+ export const softwareIcon = svg`
4
+ <svg viewBox="0 0 300 300"
5
+ xmlns="http://www.w3.org/2000/svg">
6
+ <path d="m266.443951 20c8.716971 0 13.539477 4.8435881 13.556049 13.5985084v116.3828466 116.072094c0 9.214834-4.702358 13.946551-13.854348 13.946551h-232.4332033c-8.9489808 0-13.6969123-4.793868-13.6969123-13.768386-.0207152-77.476694-.0207152-154.961674 0-232.4590845 0-8.9662316 4.7479315-13.7725295 13.672054-13.7725295zm-197.7807608 138.512534c-2.3822518 0-5.1000904 1.052413-7.0887528 2.444582-4.1223314 2.871349-5.2575262 7.383468-5.2575262 12.227056l.0000647 20.524783c.0000093.952732.0000199 1.902825.0000319 2.850655l.0008306 25.31649c.0000546.937648.0001123 1.876427.0001735 2.816715l.0009089 11.379992c.0000914.958389.0001869 1.919795.0002867 2.884595l.0006526 5.832546c.0003539 2.939654.0007502 5.916643.0011941 8.941148 0 1.052413.0952901 2.092397.1574358 3.298115h183.648829l.28587-1.143568c.016572-29.633312.111862-55.119121-.033144-84.760721-.041431-7.391754-5.522681-12.703542-12.350422-12.703542-53.113858-.008287-106.236002-.045577-159.3664328.091154zm146.0755388-113.992128h-129.8596542l-.2444397 1.1601409c-.0082861 22.2001243-.0662888 44.3961053.0331443 66.6003731.0207153 5.676403 4.0228983 9.264553 9.7485888 9.264553 36.5333858.008287 73.0460558.008287 109.5835838.008287 7.391195 0 10.734634-3.372695 10.738777-10.876321zm-20.434335 9.1887301v53.7103789h-32.709353v-53.7103789z" fill="black" fill-rule="evenodd"/>
7
+
8
+
9
+ </svg>
10
+ `;
@@ -0,0 +1,10 @@
1
+ import { svg } from 'lit';
2
+
3
+ export const textsIcon = svg`
4
+ <svg viewBox="0 0 300 300"
5
+ xmlns="http://www.w3.org/2000/svg">
6
+ <path d="m30.7264159 91.3202111 1.6974686 166.4298289s93.0569425-.896348 99.7147175 6.469589c4.752251 5.262329 29.15749 5.35494 31.185205 2.06061 5.607591-9.099099 85.824537-7.696693 102.729871-8.530199l1.905524-164.9480418 12.040798 4.2865984v175.2610164s-105.576598-1.796006-108.707338 4.190679c-.369876.714433-11.030243 3.459708-17.354469 3.459708l-.365424-.000017-.751764-.000432c-7.778071-.009122-19.543206-.203741-22.971013-4.355608-5.663733-6.863188-109.849992-4.187372-109.849992-4.187372v-175.5388508zm222.4119701-5.3202111v146.683693s-1.32429 4.845576-4.61685 8.004297c-2.777376 2.665893-8.834102 2.768428-8.834102 2.768428h-59.100966s-15.366384 3.883076-18.041383 8.146521l-7.21259-.046306v-156.044089c4.785276-5.1035658 12.024286-9.512544 22.929035-9.512544zm-132.891971 0c10.736323 0 17.929098 4.2766757 22.714375 9.2909375v156.2656955l-7.001233.046306c-5.165059-5.067182-18.044684-8.146521-18.044684-8.146521l-61.8453708-.000141c-.1987476-.00456-4.8027407-.135182-7.8201913-2.503683-2.7517631-2.168142-2.8740636-6.281222-2.8794992-6.642546l-.0002528-148.310048z" fill="black" fill-rule="evenodd"/>
7
+
8
+
9
+ </svg>
10
+ `;
@@ -0,0 +1,9 @@
1
+ import { svg } from 'lit';
2
+
3
+ export const tvIcon = svg`
4
+ <svg viewBox="0 0 300 300"
5
+ xmlns="http://www.w3.org/2000/svg">
6
+ <path d="m237.917039 64.413845c0-9.2252653-7.280839-16.7597371-16.145202-16.7597371h-143.5076619c-8.8913162 0-16.1755245 7.5344718-16.1755245 16.7597371v90.110532c0 9.218529 7.2842083 16.756369 16.1755245 16.756369h143.5076619c8.864363 0 16.145202-7.53784 16.145202-16.756369zm26.070862 112.508493c.347027 17.780275-6.761982 22.667409-22.50288 21.923056-19.861428-.943072-39.773394-.2324-59.668515-.2324h-3.584827c0 .121252.067384.222296.067384.343548 0 5.530444-3.416368 10.161601-8.163569 11.970278l34.729703 56.607899c2.368547 3.859859 1.165743 8.905294-2.712205 11.246134-3.867841 2.37452-8.894686 1.175471-11.243017-2.684388l-39.436475-64.283831h-7.280839l-37.556461 61.255897c-2.378655 3.856491-7.3987611 5.055539-11.2666016 2.687755-3.8577329-2.35768-5.0639061-7.403116-2.708836-11.259607l34.0558636-55.503156c-2.951418-2.344208-5.003261-5.884096-5.003261-10.036981 0-.134725.064015-.242504.064015-.370493-26.0169545-.07073-45.1472665-.740985-64.1124877.296394-16.711227.879078-21.9402239-6.069342-21.653842-22.839183.8153462-44.310913.7917618-88.6218257.033692-132.9327384-.2931203-16.5138648 4.4945115-23.3275602 21.3775677-23.1052646 61.993262.7544576 124.003369.6332055 186.023585.0505217 15.302902-.1481971 20.723943 5.6011742 20.477991 21.3572132-.636778 45.1563095-.808608 90.3564041.064015 135.5093461z" fill="black" fill-rule="evenodd" transform="matrix(1 0 0 -1 0 300)"/>
7
+
8
+ </svg>
9
+ `;
@@ -0,0 +1,10 @@
1
+ import { svg } from 'lit';
2
+
3
+ export const videoIcon = svg`
4
+ <svg viewBox="0 0 300 300"
5
+ xmlns="http://www.w3.org/2000/svg">
6
+ <path d="m272 280h-9.268431c.276116-.74734.440961-1.53597.440961-2.365889v-6.775607c0-3.831666-3.082608-6.920121-6.882294-6.920121h-12.701336c-3.795565 0-6.882294 3.100842-6.882294 6.920121v6.775607c0 .829919.164845 1.626807.432719 2.365889h-172.3623223c.2678738-.74734.4368403-1.53597.4368403-2.365889v-6.775607c0-3.831666-3.0826085-6.920121-6.8864155-6.920121h-12.6930937c-3.803807 0-6.8905366 3.100842-6.8905366 6.920121v6.775607c0 .829919.1689665 1.626807.4368402 2.365889h-11.1806374v-260h11.1806374c-.2678737.74734-.4368402 1.5359695-.4368402 2.3700175v6.7673495c0 3.8399238 3.0826085 6.9242496 6.8905366 6.9242496h12.6930937c3.7955647 0 6.8864155-3.0967127 6.8864155-6.9242496v-6.7673495c0-.8381769-.1689665-1.6309354-.4368403-2.3700175h172.3664433c-.271995.74734-.43684 1.5359695-.43684 2.3700175v6.7673495c0 3.8399238 3.078487 6.9242496 6.882294 6.9242496h12.701336c3.795565 0 6.882294-3.0967127 6.882294-6.9242496v-6.7673495c0-.8381769-.164845-1.6309354-.43684-2.3700175h9.26431zm-206.786157-222.1333969c0-3.8357948-3.0826085-6.9242496-6.8864155-6.9242496h-12.6930937c-3.803807 0-6.8905366 3.1008417-6.8905366 6.9242496v6.7714785c0 3.8399238 3.0826085 6.9283786 6.8905366 6.9283786h12.6930937c3.7955647 0 6.8864155-3.1008417 6.8864155-6.9283786zm0 35.5007147c0-3.8357949-3.0826085-6.9242497-6.8864155-6.9242497h-12.6930937c-3.803807 0-6.8905366 3.1008417-6.8905366 6.9242497v6.7714782c0 3.835795 3.0826085 6.920121 6.8905366 6.920121h12.6930937c3.7955647 0 6.8864155-3.096713 6.8864155-6.920121zm0 35.4965852c0-3.839923-3.0826085-6.924249-6.8864155-6.924249h-12.6930937c-3.803807 0-6.8905366 3.100841-6.8905366 6.924249v6.771479c0 3.839924 3.0826085 6.92425 6.8905366 6.92425h12.6930937c3.7955647 0 6.8864155-3.100842 6.8864155-6.92425zm0 35.500715c0-3.839924-3.0826085-6.92425-6.8864155-6.92425h-12.6930937c-3.803807 0-6.8905366 3.096713-6.8905366 6.92425v6.771479c0 3.839923 3.0826085 6.928378 6.8905366 6.928378h12.6930937c3.7955647 0 6.8864155-3.10497 6.8864155-6.928378zm0 35.496586c0-3.827537-3.0826085-6.92425-6.8864155-6.92425h-12.6930937c-3.803807 0-6.8905366 3.104971-6.8905366 6.92425v6.771478c0 3.839924 3.0826085 6.928379 6.8905366 6.928379h12.6930937c3.7955647 0 6.8864155-3.104971 6.8864155-6.928379zm0 35.500714c0-3.835794-3.0826085-6.924249-6.8864155-6.924249h-12.6930937c-3.803807 0-6.8905366 3.10497-6.8905366 6.924249v6.771479c0 3.835795 3.0826085 6.928378 6.8905366 6.928378h12.6930937c3.7955647 0 6.8864155-3.10497 6.8864155-6.928378zm155.247251-186.2734632c0-5.8672383-4.805242-10.6692075-10.673738-10.6692075h-119.5788334c-5.8684952 0-10.6737379 4.8019692-10.6737379 10.6692075v74.7009692c0 5.867238 4.8052427 10.665078 10.6737379 10.665078h119.5788334c5.868496 0 10.673738-4.79784 10.673738-10.665078zm.366781 121.3663652c0-5.90027-4.83409-10.727013-10.731434-10.727013h-120.1970034c-5.8973433 0-10.7273127 4.826743-10.7273127 10.727013v75.084961c0 5.896141 4.8299694 10.718755 10.7273127 10.718755h120.1970034c5.897344 0 10.731434-4.822614 10.731434-10.718755zm42.344655-112.5882169c0-3.8357948-3.082608-6.9242496-6.882294-6.9242496h-12.701336c-3.795565 0-6.882294 3.1008417-6.882294 6.9242496v6.7714785c0 3.8399238 3.078487 6.9283786 6.882294 6.9283786h12.701336c3.795565 0 6.882294-3.1008417 6.882294-6.9283786zm0 35.5007147c0-3.8357949-3.082608-6.9242497-6.882294-6.9242497h-12.701336c-3.795565 0-6.882294 3.1008417-6.882294 6.9242497v6.7714782c0 3.835795 3.078487 6.920121 6.882294 6.920121h12.701336c3.795565 0 6.882294-3.096713 6.882294-6.920121zm0 35.4965852c0-3.839923-3.082608-6.924249-6.882294-6.924249h-12.701336c-3.795565 0-6.882294 3.100841-6.882294 6.924249v6.771479c0 3.839924 3.078487 6.92425 6.882294 6.92425h12.701336c3.795565 0 6.882294-3.100842 6.882294-6.92425zm0 35.500715c0-3.839924-3.082608-6.92425-6.882294-6.92425h-12.701336c-3.795565 0-6.882294 3.096713-6.882294 6.92425v6.771479c0 3.839923 3.078487 6.928378 6.882294 6.928378h12.701336c3.795565 0 6.882294-3.10497 6.882294-6.928378zm0 35.496586c0-3.827537-3.082608-6.92425-6.882294-6.92425h-12.701336c-3.795565 0-6.882294 3.104971-6.882294 6.92425v6.771478c0 3.839924 3.078487 6.928379 6.882294 6.928379h12.701336c3.795565 0 6.882294-3.104971 6.882294-6.928379zm0 35.500714c0-3.835794-3.082608-6.924249-6.882294-6.924249h-12.701336c-3.795565 0-6.882294 3.10497-6.882294 6.924249v6.771479c0 3.835795 3.078487 6.928378 6.882294 6.928378h12.701336c3.795565 0 6.882294-3.10497 6.882294-6.928378z" fill="black" fill-rule="evenodd" transform="matrix(1 0 0 -1 0 300)"/>
7
+
8
+
9
+ </svg>
10
+ `;
@@ -0,0 +1,10 @@
1
+ import { svg } from 'lit';
2
+
3
+ export const webIcon = svg`
4
+ <svg viewBox="0 0 300 300"
5
+ xmlns="http://www.w3.org/2000/svg">
6
+ <path d="m261.437982 261.890554h-28.778763v-28.083112h28.778763zm-42.442013 0h-28.793735v-28.083112h28.793735zm40.645399-150.356298v75.703472 19.821613h-219.2617757v-19.821613-75.703472zm-84.228262 150.356298h-134.608315v-27.499419h134.608315zm-155.413106-169.890554v87.643734 100.356266h260v-100.356266-87.643734z" fill="black" transform="matrix(1 0 0 -1 0 372)"/>
7
+
8
+
9
+ </svg>
10
+ `;
@@ -0,0 +1,64 @@
1
+ import { css, CSSResultGroup, html, LitElement } from 'lit';
2
+ import { customElement } from 'lit/decorators.js';
3
+
4
+ @customElement('circular-activity-indicator')
5
+ export class CircularActivityIndicator extends LitElement {
6
+ render() {
7
+ return html`
8
+ <div class="lds-ring">
9
+ <div></div>
10
+ <div></div>
11
+ <div></div>
12
+ <div></div>
13
+ </div>
14
+ `;
15
+ }
16
+
17
+ static get styles(): CSSResultGroup {
18
+ const color = css`var(--circularActivityIndicatorColor, dodgerblue)`;
19
+ const thickness = css`var(--circularActivityIndicatorThickness, 4px)`;
20
+
21
+ return css`
22
+ :host {
23
+ display: block;
24
+ }
25
+
26
+ .lds-ring {
27
+ display: inline-block;
28
+ position: relative;
29
+ width: 100%;
30
+ height: 100%;
31
+ }
32
+ .lds-ring div {
33
+ box-sizing: border-box;
34
+ display: block;
35
+ position: absolute;
36
+ width: 80%;
37
+ height: 80%;
38
+ margin: ${thickness};
39
+ border-width: ${thickness};
40
+ border-style: solid;
41
+ border-radius: 50%;
42
+ animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
43
+ border-color: ${color} transparent transparent transparent;
44
+ }
45
+ .lds-ring div:nth-child(1) {
46
+ animation-delay: -0.45s;
47
+ }
48
+ .lds-ring div:nth-child(2) {
49
+ animation-delay: -0.3s;
50
+ }
51
+ .lds-ring div:nth-child(3) {
52
+ animation-delay: -0.15s;
53
+ }
54
+ @keyframes lds-ring {
55
+ 0% {
56
+ transform: rotate(0deg);
57
+ }
58
+ 100% {
59
+ transform: rotate(360deg);
60
+ }
61
+ }
62
+ `;
63
+ }
64
+ }