@internetarchive/collection-browser 2.7.6-alpha.0 → 2.7.6-alpha2
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.
- package/.editorconfig +29 -29
- package/.husky/pre-commit +4 -4
- package/LICENSE +661 -661
- package/README.md +83 -83
- package/dist/index.d.ts +13 -15
- package/dist/index.js +13 -15
- package/dist/index.js.map +1 -1
- package/dist/src/app-root.d.ts +99 -95
- package/dist/src/app-root.js +528 -494
- package/dist/src/app-root.js.map +1 -1
- package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
- package/dist/src/assets/img/icons/arrow-left.js +2 -2
- package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
- package/dist/src/assets/img/icons/arrow-right.js +2 -2
- package/dist/src/assets/img/icons/chevron.d.ts +2 -2
- package/dist/src/assets/img/icons/chevron.js +2 -2
- package/dist/src/assets/img/icons/contract.d.ts +2 -2
- package/dist/src/assets/img/icons/contract.js +2 -2
- package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
- package/dist/src/assets/img/icons/empty-query.js +2 -2
- package/dist/src/assets/img/icons/expand.d.ts +2 -2
- package/dist/src/assets/img/icons/expand.js +2 -2
- package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
- package/dist/src/assets/img/icons/eye-closed.js +2 -2
- package/dist/src/assets/img/icons/eye.d.ts +2 -2
- package/dist/src/assets/img/icons/eye.js +2 -2
- package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
- package/dist/src/assets/img/icons/favorite-filled.js +2 -2
- package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
- package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
- package/dist/src/assets/img/icons/filter.d.ts +2 -2
- package/dist/src/assets/img/icons/filter.js +2 -2
- package/dist/src/assets/img/icons/login-required.d.ts +1 -1
- package/dist/src/assets/img/icons/login-required.js +2 -2
- package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/account.js +2 -2
- package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
- package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
- package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/data.js +2 -2
- package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
- package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/film.js +2 -2
- package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/images.js +2 -2
- package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
- package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/search.js +2 -2
- package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/software.js +2 -2
- package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
- package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
- package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/video.js +2 -2
- package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/web.js +2 -2
- package/dist/src/assets/img/icons/null-result.d.ts +2 -2
- package/dist/src/assets/img/icons/null-result.js +2 -2
- package/dist/src/assets/img/icons/restricted.d.ts +1 -1
- package/dist/src/assets/img/icons/restricted.js +2 -2
- package/dist/src/assets/img/icons/reviews.d.ts +1 -1
- package/dist/src/assets/img/icons/reviews.js +2 -2
- package/dist/src/assets/img/icons/upload.d.ts +1 -1
- package/dist/src/assets/img/icons/upload.js +2 -2
- package/dist/src/assets/img/icons/views.d.ts +1 -1
- package/dist/src/assets/img/icons/views.js +2 -2
- package/dist/src/circular-activity-indicator.d.ts +5 -5
- package/dist/src/circular-activity-indicator.js +17 -17
- package/dist/src/collection-browser.d.ts +584 -578
- package/dist/src/collection-browser.js +1640 -1614
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets/facet-row.d.ts +30 -30
- package/dist/src/collection-facets/facet-row.js +118 -118
- package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
- package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
- package/dist/src/collection-facets/facets-template.d.ts +13 -13
- package/dist/src/collection-facets/facets-template.js +44 -44
- package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
- package/dist/src/collection-facets/more-facets-content.js +407 -407
- package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
- package/dist/src/collection-facets/more-facets-pagination.js +196 -196
- package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
- package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
- package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
- package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
- package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
- package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
- package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
- package/dist/src/collection-facets/smart-facets/models.js +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +240 -240
- package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
- package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
- package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
- package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
- package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
- package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
- package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
- package/dist/src/collection-facets/toggle-switch.js +94 -94
- package/dist/src/collection-facets.d.ts +103 -103
- package/dist/src/collection-facets.js +522 -522
- package/dist/src/data-source/collection-browser-data-source-interface.d.ts +241 -241
- package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
- package/dist/src/data-source/collection-browser-data-source.d.ts +373 -373
- package/dist/src/data-source/collection-browser-data-source.js +982 -982
- package/dist/src/data-source/collection-browser-query-state.d.ts +43 -43
- package/dist/src/data-source/collection-browser-query-state.js +1 -1
- package/dist/src/data-source/models.d.ts +28 -28
- package/dist/src/data-source/models.js +8 -8
- package/dist/src/empty-placeholder.d.ts +23 -23
- package/dist/src/empty-placeholder.js +79 -79
- package/dist/src/expanded-date-picker.d.ts +43 -43
- package/dist/src/expanded-date-picker.js +109 -109
- package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
- package/dist/src/language-code-handler/language-code-handler.js +26 -26
- package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
- package/dist/src/language-code-handler/language-code-mapping.js +562 -562
- package/dist/src/manage/manage-bar.d.ts +71 -30
- package/dist/src/manage/manage-bar.js +209 -83
- package/dist/src/manage/manage-bar.js.map +1 -1
- package/dist/src/manage/remove-items-modal-content.d.ts +13 -0
- package/dist/src/manage/remove-items-modal-content.js +104 -0
- package/dist/src/manage/remove-items-modal-content.js.map +1 -0
- package/dist/src/mediatype/mediatype-config.d.ts +3 -3
- package/dist/src/mediatype/mediatype-config.js +91 -91
- package/dist/src/models.d.ts +219 -219
- package/dist/src/models.js +401 -401
- package/dist/src/models.js.map +1 -1
- package/dist/src/restoration-state-handler.d.ts +70 -70
- package/dist/src/restoration-state-handler.js +363 -363
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
- package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
- package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/compact.js +2 -2
- package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/list.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
- package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/tile.js +2 -2
- package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
- package/dist/src/sort-filter-bar/sort-filter-bar.js +697 -697
- package/dist/src/styles/ia-button.d.ts +2 -2
- package/dist/src/styles/ia-button.js +51 -19
- package/dist/src/styles/ia-button.js.map +1 -1
- package/dist/src/styles/item-image-styles.d.ts +8 -8
- package/dist/src/styles/item-image-styles.js +9 -9
- package/dist/src/styles/sr-only.d.ts +1 -1
- package/dist/src/styles/sr-only.js +2 -2
- package/dist/src/tiles/base-tile-component.d.ts +19 -19
- package/dist/src/tiles/base-tile-component.js +64 -64
- package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
- package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
- package/dist/src/tiles/grid/account-tile.d.ts +18 -18
- package/dist/src/tiles/grid/account-tile.js +72 -72
- package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
- package/dist/src/tiles/grid/collection-tile.js +80 -80
- package/dist/src/tiles/grid/item-tile.d.ts +34 -34
- package/dist/src/tiles/grid/item-tile.js +158 -158
- package/dist/src/tiles/grid/search-tile.d.ts +10 -10
- package/dist/src/tiles/grid/search-tile.js +51 -51
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
- package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
- package/dist/src/tiles/grid/tile-stats.js +53 -53
- package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
- package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
- package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
- package/dist/src/tiles/hover/tile-hover-pane.js +69 -69
- package/dist/src/tiles/image-block.d.ts +18 -18
- package/dist/src/tiles/image-block.js +89 -89
- package/dist/src/tiles/item-image.d.ts +39 -39
- package/dist/src/tiles/item-image.js +154 -154
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
- package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
- package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
- package/dist/src/tiles/list/tile-list-compact.js +122 -122
- package/dist/src/tiles/list/tile-list.d.ts +54 -54
- package/dist/src/tiles/list/tile-list.js +323 -323
- package/dist/src/tiles/mediatype-icon.d.ts +9 -9
- package/dist/src/tiles/mediatype-icon.js +47 -47
- package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
- package/dist/src/tiles/overlay/icon-overlay.js +25 -25
- package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
- package/dist/src/tiles/overlay/text-overlay.js +31 -31
- package/dist/src/tiles/review-block.d.ts +12 -12
- package/dist/src/tiles/review-block.js +56 -56
- package/dist/src/tiles/text-snippet-block.d.ts +27 -27
- package/dist/src/tiles/text-snippet-block.js +73 -73
- package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
- package/dist/src/tiles/tile-dispatcher.js +230 -230
- package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
- package/dist/src/tiles/tile-display-value-provider.js +94 -94
- package/dist/src/utils/analytics-events.d.ts +28 -28
- package/dist/src/utils/analytics-events.js +30 -30
- package/dist/src/utils/array-equals.d.ts +4 -4
- package/dist/src/utils/array-equals.js +10 -10
- package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
- package/dist/src/utils/collapse-repeated-quotes.js +13 -13
- package/dist/src/utils/facet-utils.d.ts +83 -83
- package/dist/src/utils/facet-utils.js +145 -145
- package/dist/src/utils/format-count.d.ts +7 -7
- package/dist/src/utils/format-count.js +76 -76
- package/dist/src/utils/format-date.d.ts +2 -2
- package/dist/src/utils/format-date.js +25 -25
- package/dist/src/utils/format-unit-size.d.ts +2 -2
- package/dist/src/utils/format-unit-size.js +33 -33
- package/dist/src/utils/local-date-from-utc.d.ts +9 -9
- package/dist/src/utils/local-date-from-utc.js +15 -15
- package/dist/src/utils/log.d.ts +7 -7
- package/dist/src/utils/log.js +15 -15
- package/dist/src/utils/resolve-mediatype.d.ts +8 -8
- package/dist/src/utils/resolve-mediatype.js +23 -23
- package/dist/src/utils/sha1.d.ts +2 -2
- package/dist/src/utils/sha1.js +8 -8
- package/dist/test/collection-browser.test.d.ts +1 -1
- package/dist/test/collection-browser.test.js +1293 -1293
- package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
- package/dist/test/collection-facets/facet-row.test.js +227 -227
- package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
- package/dist/test/collection-facets/facets-template.test.js +91 -91
- package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-content.test.js +141 -141
- package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
- package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
- package/dist/test/collection-facets/toggle-switch.test.js +73 -73
- package/dist/test/collection-facets.test.d.ts +2 -2
- package/dist/test/collection-facets.test.js +690 -690
- package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
- package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
- package/dist/test/empty-placeholder.test.d.ts +1 -1
- package/dist/test/empty-placeholder.test.js +63 -63
- package/dist/test/expanded-date-picker.test.d.ts +1 -1
- package/dist/test/expanded-date-picker.test.js +95 -95
- package/dist/test/icon-overlay.test.d.ts +1 -1
- package/dist/test/icon-overlay.test.js +24 -24
- package/dist/test/image-block.test.d.ts +1 -1
- package/dist/test/image-block.test.js +107 -107
- package/dist/test/item-image.test.d.ts +1 -1
- package/dist/test/item-image.test.js +85 -85
- package/dist/test/manage/manage-bar.test.d.ts +1 -1
- package/dist/test/manage/manage-bar.test.js +91 -81
- package/dist/test/manage/manage-bar.test.js.map +1 -1
- package/dist/test/mediatype-config.test.d.ts +1 -1
- package/dist/test/mediatype-config.test.js +16 -16
- package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
- package/dist/test/mocks/mock-analytics-handler.js +15 -15
- package/dist/test/mocks/mock-search-responses.d.ts +25 -25
- package/dist/test/mocks/mock-search-responses.js +942 -942
- package/dist/test/mocks/mock-search-service.d.ts +15 -15
- package/dist/test/mocks/mock-search-service.js +54 -54
- package/dist/test/restoration-state-handler.test.d.ts +1 -1
- package/dist/test/restoration-state-handler.test.js +270 -270
- package/dist/test/review-block.test.d.ts +1 -1
- package/dist/test/review-block.test.js +44 -44
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
- package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
- package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
- package/dist/test/text-overlay.test.d.ts +1 -1
- package/dist/test/text-overlay.test.js +38 -38
- package/dist/test/text-snippet-block.test.d.ts +1 -1
- package/dist/test/text-snippet-block.test.js +57 -57
- package/dist/test/tile-stats.test.d.ts +1 -1
- package/dist/test/tile-stats.test.js +81 -81
- package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/account-tile.test.js +76 -76
- package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/collection-tile.test.js +73 -73
- package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +312 -312
- package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/search-tile.test.js +51 -51
- package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
- package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
- package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
- package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
- package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list.test.js +297 -297
- package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
- package/dist/test/tiles/tile-dispatcher.test.js +100 -100
- package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
- package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
- package/dist/test/utils/array-equals.test.d.ts +1 -1
- package/dist/test/utils/array-equals.test.js +26 -26
- package/dist/test/utils/format-count.test.d.ts +1 -1
- package/dist/test/utils/format-count.test.js +23 -23
- package/dist/test/utils/format-date.test.d.ts +1 -1
- package/dist/test/utils/format-date.test.js +17 -17
- package/dist/test/utils/format-unit-size.test.d.ts +1 -1
- package/dist/test/utils/format-unit-size.test.js +17 -17
- package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
- package/dist/test/utils/local-date-from-utc.test.js +26 -26
- package/index.ts +0 -2
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +1 -1
- package/renovate.json +6 -6
- package/src/app-root.ts +36 -0
- package/src/collection-browser.ts +29 -5
- package/src/manage/manage-bar.ts +168 -24
- package/src/manage/remove-items-modal-content.ts +107 -0
- package/src/models.ts +2 -2
- package/src/styles/ia-button.ts +37 -5
- package/test/manage/manage-bar.test.ts +12 -0
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
package/src/manage/manage-bar.ts
CHANGED
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
import { msg } from '@lit/localize';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
LitElement,
|
|
4
|
+
html,
|
|
5
|
+
css,
|
|
6
|
+
TemplateResult,
|
|
7
|
+
CSSResultGroup,
|
|
8
|
+
PropertyValues,
|
|
9
|
+
} from 'lit';
|
|
3
10
|
import { customElement, property } from 'lit/decorators.js';
|
|
4
11
|
import { when } from 'lit/directives/when.js';
|
|
12
|
+
import {
|
|
13
|
+
ModalConfig,
|
|
14
|
+
type ModalManagerInterface,
|
|
15
|
+
} from '@internetarchive/modal-manager';
|
|
5
16
|
import iaButtonStyle from '../styles/ia-button';
|
|
17
|
+
import './remove-items-modal-content';
|
|
6
18
|
|
|
7
19
|
export interface ManageableItem {
|
|
8
20
|
identifier: string;
|
|
@@ -17,6 +29,21 @@ export class ManageBar extends LitElement {
|
|
|
17
29
|
*/
|
|
18
30
|
@property({ type: String }) label = msg('Select items to remove');
|
|
19
31
|
|
|
32
|
+
/**
|
|
33
|
+
* Specifies the context in which the collection browser is being used
|
|
34
|
+
*/
|
|
35
|
+
@property({ type: String }) activeTabId?: string;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* The shared modal manager component for displaying modal dialogs on this page
|
|
39
|
+
*/
|
|
40
|
+
@property({ type: Object }) modalManager?: ModalManagerInterface;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Array of items that have been selected for management
|
|
44
|
+
*/
|
|
45
|
+
@property({ type: Object }) selectedItems: Array<ManageableItem> = [];
|
|
46
|
+
|
|
20
47
|
/**
|
|
21
48
|
* Whether to show the "Select All" button (default false)
|
|
22
49
|
*/
|
|
@@ -27,11 +54,33 @@ export class ManageBar extends LitElement {
|
|
|
27
54
|
*/
|
|
28
55
|
@property({ type: Boolean }) showUnselectAll = false;
|
|
29
56
|
|
|
57
|
+
/**
|
|
58
|
+
* Item removal failure message, if any
|
|
59
|
+
*/
|
|
60
|
+
@property({ type: Boolean }) isItemDeleted = true;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Whether to show "Item Manager the items" button (default false)
|
|
64
|
+
*/
|
|
65
|
+
@property({ type: Boolean }) showManageButton = false;
|
|
66
|
+
|
|
30
67
|
/**
|
|
31
68
|
* Whether to active delete button for selectable items
|
|
32
69
|
*/
|
|
33
70
|
@property({ type: Boolean }) removeAllowed = false;
|
|
34
71
|
|
|
72
|
+
updated(changed: PropertyValues): void {
|
|
73
|
+
if (changed.has('isItemDeleted')) {
|
|
74
|
+
console.log(this.isItemDeleted)
|
|
75
|
+
if (this.isItemDeleted === false) {
|
|
76
|
+
this.showRemoveItemsErrorModal();
|
|
77
|
+
} else {
|
|
78
|
+
this.modalManager?.closeModal();
|
|
79
|
+
this.modalManager?.classList.remove('remove-items');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
35
84
|
render(): TemplateResult {
|
|
36
85
|
return html`
|
|
37
86
|
<div class="manage-container">
|
|
@@ -43,15 +92,25 @@ export class ManageBar extends LitElement {
|
|
|
43
92
|
<button
|
|
44
93
|
class="ia-button danger"
|
|
45
94
|
?disabled=${!this.removeAllowed}
|
|
46
|
-
@click=${this.
|
|
95
|
+
@click=${this.showRemoveItemsModal}
|
|
47
96
|
>
|
|
48
97
|
${msg('Remove selected items')}
|
|
49
98
|
</button>
|
|
99
|
+
${when(
|
|
100
|
+
this.showManageButton,
|
|
101
|
+
() => html` <button
|
|
102
|
+
class="ia-button warning"
|
|
103
|
+
?disabled=${!this.removeAllowed}
|
|
104
|
+
@click=${this.manageItemsClicked}
|
|
105
|
+
>
|
|
106
|
+
${msg('Item Manager the items')}
|
|
107
|
+
</button>`
|
|
108
|
+
)}
|
|
50
109
|
<div class="selection-buttons">
|
|
51
110
|
${when(
|
|
52
111
|
this.showSelectAll,
|
|
53
112
|
() => html` <button
|
|
54
|
-
class="
|
|
113
|
+
class="ia-button link select-all-btn"
|
|
55
114
|
@click=${this.selectAllClicked}
|
|
56
115
|
>
|
|
57
116
|
${msg('Select all')}
|
|
@@ -60,7 +119,7 @@ export class ManageBar extends LitElement {
|
|
|
60
119
|
${when(
|
|
61
120
|
this.showUnselectAll,
|
|
62
121
|
() => html` <button
|
|
63
|
-
class="
|
|
122
|
+
class="ia-button link unselect-all-btn"
|
|
64
123
|
@click=${this.unselectAllClicked}
|
|
65
124
|
>
|
|
66
125
|
${msg('Unselect all')}
|
|
@@ -76,10 +135,19 @@ export class ManageBar extends LitElement {
|
|
|
76
135
|
this.dispatchEvent(new CustomEvent('cancel'));
|
|
77
136
|
}
|
|
78
137
|
|
|
79
|
-
|
|
138
|
+
/**
|
|
139
|
+
* Shows a modal dialog confirming the list of items to be removed
|
|
140
|
+
* @param items Which items to list in the modal
|
|
141
|
+
*/
|
|
142
|
+
private removeItemsClicked(): void {
|
|
143
|
+
this.showRemoveItemsProcessingModal();
|
|
80
144
|
this.dispatchEvent(new CustomEvent('removeItems'));
|
|
81
145
|
}
|
|
82
146
|
|
|
147
|
+
private manageItemsClicked(): void {
|
|
148
|
+
this.dispatchEvent(new CustomEvent('manageItems'));
|
|
149
|
+
}
|
|
150
|
+
|
|
83
151
|
private selectAllClicked(): void {
|
|
84
152
|
this.dispatchEvent(new CustomEvent('selectAll'));
|
|
85
153
|
}
|
|
@@ -88,6 +156,95 @@ export class ManageBar extends LitElement {
|
|
|
88
156
|
this.dispatchEvent(new CustomEvent('unselectAll'));
|
|
89
157
|
}
|
|
90
158
|
|
|
159
|
+
/**
|
|
160
|
+
* Shows a modal dialog confirming the list of items to be removed
|
|
161
|
+
* @param items Which items to list in the modal
|
|
162
|
+
*/
|
|
163
|
+
private showRemoveItemsModal(): void {
|
|
164
|
+
const delayMessage =
|
|
165
|
+
this.activeTabId === 'uploads'
|
|
166
|
+
? msg(
|
|
167
|
+
'Note: it may take a few minutes for these items to stop appearing in your uploads list.'
|
|
168
|
+
)
|
|
169
|
+
: undefined;
|
|
170
|
+
|
|
171
|
+
const customModalContent = html`
|
|
172
|
+
<remove-items-modal-content
|
|
173
|
+
.items=${this.selectedItems}
|
|
174
|
+
.message=${delayMessage}
|
|
175
|
+
@confirm=${() => this.removeItemsClicked()}
|
|
176
|
+
></remove-items-modal-content>
|
|
177
|
+
`;
|
|
178
|
+
|
|
179
|
+
const config = new ModalConfig({
|
|
180
|
+
showProcessingIndicator: false,
|
|
181
|
+
processingImageMode: 'processing',
|
|
182
|
+
bodyColor: '#fff',
|
|
183
|
+
headerColor: '#194880',
|
|
184
|
+
showHeaderLogo: false,
|
|
185
|
+
closeOnBackdropClick: true,
|
|
186
|
+
title: html`${msg('Are you sure you want to remove these items?')}`,
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
this.modalManager?.classList.add('remove-items');
|
|
190
|
+
this.modalManager?.showModal({
|
|
191
|
+
config,
|
|
192
|
+
customModalContent,
|
|
193
|
+
userClosedModalCallback: () => {
|
|
194
|
+
this.modalManager?.classList.remove('remove-items');
|
|
195
|
+
},
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Shows a modal dialog indicating that item removal is being processed
|
|
201
|
+
*/
|
|
202
|
+
private showRemoveItemsProcessingModal(): void {
|
|
203
|
+
const config = new ModalConfig({
|
|
204
|
+
showProcessingIndicator: true,
|
|
205
|
+
processingImageMode: 'processing',
|
|
206
|
+
bodyColor: '#fff',
|
|
207
|
+
headerColor: '#194880',
|
|
208
|
+
showHeaderLogo: false,
|
|
209
|
+
closeOnBackdropClick: true,
|
|
210
|
+
title: html`${msg('Removing selected items...')}`,
|
|
211
|
+
});
|
|
212
|
+
|
|
213
|
+
this.modalManager?.classList.add('remove-items');
|
|
214
|
+
this.modalManager?.showModal({
|
|
215
|
+
config,
|
|
216
|
+
userClosedModalCallback: () => {
|
|
217
|
+
this.modalManager?.classList.remove('remove-items');
|
|
218
|
+
},
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Shows a modal dialog indicating that an error occurred while removing items
|
|
224
|
+
*/
|
|
225
|
+
private showRemoveItemsErrorModal(): void {
|
|
226
|
+
const config = new ModalConfig({
|
|
227
|
+
showProcessingIndicator: false,
|
|
228
|
+
processingImageMode: 'processing',
|
|
229
|
+
bodyColor: '#fff',
|
|
230
|
+
headerColor: '#691916',
|
|
231
|
+
showHeaderLogo: false,
|
|
232
|
+
closeOnBackdropClick: true,
|
|
233
|
+
title: html`${msg('Error: unable to remove items')}`,
|
|
234
|
+
message: html`${msg(
|
|
235
|
+
'An error occurred while removing items. Please try again in a few minutes.',
|
|
236
|
+
)}`,
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
this.modalManager?.classList.add('remove-items');
|
|
240
|
+
this.modalManager?.showModal({
|
|
241
|
+
config,
|
|
242
|
+
userClosedModalCallback: () => {
|
|
243
|
+
this.modalManager?.classList.remove('remove-items');
|
|
244
|
+
},
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
|
|
91
248
|
static get styles(): CSSResultGroup {
|
|
92
249
|
return css`
|
|
93
250
|
${iaButtonStyle}
|
|
@@ -108,33 +265,20 @@ export class ManageBar extends LitElement {
|
|
|
108
265
|
|
|
109
266
|
.manage-buttons {
|
|
110
267
|
display: flex;
|
|
268
|
+
flex-wrap: wrap;
|
|
111
269
|
align-items: center;
|
|
112
270
|
column-gap: 5px;
|
|
113
271
|
}
|
|
114
272
|
|
|
273
|
+
.selection-buttons {
|
|
274
|
+
display: inherit;
|
|
275
|
+
}
|
|
276
|
+
|
|
115
277
|
.ia-button,
|
|
116
278
|
button {
|
|
117
279
|
padding: 6px 12px;
|
|
118
280
|
font-size: 1.4rem;
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
.ia-button.danger:disabled {
|
|
122
|
-
opacity: 0.5;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
button.link-styled {
|
|
126
|
-
margin: 0;
|
|
127
|
-
padding: 6px;
|
|
128
|
-
border: 0;
|
|
129
|
-
appearance: none;
|
|
130
|
-
background: none;
|
|
131
|
-
color: var(--ia-theme-link-color, #4b64ff);
|
|
132
|
-
font: inherit;
|
|
133
|
-
text-decoration: none;
|
|
134
|
-
cursor: pointer;
|
|
135
|
-
}
|
|
136
|
-
button.link-styled:hover {
|
|
137
|
-
text-decoration: underline;
|
|
281
|
+
margin: 3px 0;
|
|
138
282
|
}
|
|
139
283
|
`;
|
|
140
284
|
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { LitElement, html, css, nothing, TemplateResult, CSSResult } from 'lit';
|
|
2
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
3
|
+
import { msg } from '@lit/localize';
|
|
4
|
+
import { map } from 'lit/directives/map.js';
|
|
5
|
+
|
|
6
|
+
export interface ManageableItem {
|
|
7
|
+
identifier: string;
|
|
8
|
+
title?: string;
|
|
9
|
+
date?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@customElement('remove-items-modal-content')
|
|
13
|
+
export class RemoveItemsModalContent extends LitElement {
|
|
14
|
+
@property({ type: Object }) items: ManageableItem[] = [];
|
|
15
|
+
|
|
16
|
+
@property({ type: String }) message?: string;
|
|
17
|
+
|
|
18
|
+
render(): TemplateResult {
|
|
19
|
+
return html`
|
|
20
|
+
<ul>
|
|
21
|
+
${map(
|
|
22
|
+
this.items,
|
|
23
|
+
({ title, date }) => html`
|
|
24
|
+
<li>
|
|
25
|
+
<span class="item-title">${title ?? '[untitled]'}</span>
|
|
26
|
+
<span class="item-date">${date ?? ''}</span>
|
|
27
|
+
</li>
|
|
28
|
+
`
|
|
29
|
+
)}
|
|
30
|
+
</ul>
|
|
31
|
+
${this.message ? html`<p class="message">${this.message}</p>` : nothing}
|
|
32
|
+
<div class="button-bar">
|
|
33
|
+
<button class="remove-items-btn" @click=${this.removeItemsBtnClicked}>
|
|
34
|
+
${msg('Remove items')}
|
|
35
|
+
</button>
|
|
36
|
+
</div>
|
|
37
|
+
`;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
private removeItemsBtnClicked(): void {
|
|
41
|
+
this.dispatchEvent(
|
|
42
|
+
new CustomEvent<{ items: ManageableItem[] }>('confirm', {
|
|
43
|
+
detail: {
|
|
44
|
+
items: this.items,
|
|
45
|
+
},
|
|
46
|
+
})
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
static get styles(): CSSResult {
|
|
51
|
+
return css`
|
|
52
|
+
ul {
|
|
53
|
+
margin: 0;
|
|
54
|
+
padding: 0 10px;
|
|
55
|
+
font-size: 1.4rem;
|
|
56
|
+
list-style-type: none;
|
|
57
|
+
max-height: min(400px, 40vh);
|
|
58
|
+
overflow-y: auto;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
li {
|
|
62
|
+
display: flex;
|
|
63
|
+
justify-content: space-between;
|
|
64
|
+
padding: 2px 0;
|
|
65
|
+
}
|
|
66
|
+
li:not(:last-of-type) {
|
|
67
|
+
border-bottom: 1px solid rgb(232, 232, 232);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.item-title {
|
|
71
|
+
word-break: break-word;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.item-date {
|
|
75
|
+
white-space: nowrap;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.message {
|
|
79
|
+
font-size: 1.4rem;
|
|
80
|
+
padding: 5px 10px;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.button-bar {
|
|
84
|
+
display: flex;
|
|
85
|
+
justify-content: center;
|
|
86
|
+
margin: 10px 5px;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.remove-items-btn {
|
|
90
|
+
margin-bottom: 10px;
|
|
91
|
+
padding: 10px;
|
|
92
|
+
border: 1px solid var(--primaryErrorCTABorder, #d43f3a);
|
|
93
|
+
border-radius: 4px;
|
|
94
|
+
color: white;
|
|
95
|
+
background: var(--primaryErrorCTAFill, #d9534f);
|
|
96
|
+
appearance: none;
|
|
97
|
+
cursor: pointer;
|
|
98
|
+
}
|
|
99
|
+
.remove-items-btn:hover {
|
|
100
|
+
background: rgba(var(--primaryErrorCTAFillRGB, 229, 28, 38), 0.9);
|
|
101
|
+
}
|
|
102
|
+
.remove-items-btn:active {
|
|
103
|
+
background: rgba(var(--primaryErrorCTAFillRGB, 229, 28, 38), 0.7);
|
|
104
|
+
}
|
|
105
|
+
`;
|
|
106
|
+
}
|
|
107
|
+
}
|
package/src/models.ts
CHANGED
|
@@ -236,9 +236,9 @@ export type TileDisplayMode =
|
|
|
236
236
|
/**
|
|
237
237
|
* This is mainly used to set the cookies for the collection display mode.
|
|
238
238
|
*
|
|
239
|
-
* It allows the user to set different modes for different contexts (collection page, search page, etc).
|
|
239
|
+
* It allows the user to set different modes for different contexts (collection page, search page, profile page etc).
|
|
240
240
|
*/
|
|
241
|
-
export type CollectionBrowserContext = 'collection' | 'search';
|
|
241
|
+
export type CollectionBrowserContext = 'collection' | 'search' | 'profile';
|
|
242
242
|
|
|
243
243
|
/**
|
|
244
244
|
* The sort fields shown in the sort filter bar
|
package/src/styles/ia-button.ts
CHANGED
|
@@ -16,8 +16,9 @@ const darkButtonFillColor = css`var(--secondaryCTAFill, #333)`;
|
|
|
16
16
|
const darkButtonFillColorRGB = css`var(--secondaryCTAFillRGB, 51, 51, 51)`; // RBG format of --secondaryCTAFill
|
|
17
17
|
const darkButtonBorderColor = css`var(--primaryCTABorder, #979797)`;
|
|
18
18
|
|
|
19
|
-
const
|
|
20
|
-
const
|
|
19
|
+
const warningButtonFillColor = css`var(---primaryWarningFill, #ee8950)`;
|
|
20
|
+
const warningButtonFillColorRGB = css`var(--primaryWarningFillRGB, 238, 137, 80)`; // RBG format of --primaryWarningFill
|
|
21
|
+
const warningButtonBorderColor = css`var(--primaryWarningBorder, #ec7939)`;
|
|
21
22
|
|
|
22
23
|
export default css`
|
|
23
24
|
.ia-button {
|
|
@@ -58,9 +59,12 @@ export default css`
|
|
|
58
59
|
.ia-button.transparent {
|
|
59
60
|
background-color: transparent;
|
|
60
61
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
|
|
63
|
+
.ia-button.primary:disabled,
|
|
64
|
+
.ia-button.danger:disabled,
|
|
65
|
+
.ia-button.warning:disabled,
|
|
66
|
+
.ia-button.dark:disabled {
|
|
67
|
+
opacity: 0.5;
|
|
64
68
|
}
|
|
65
69
|
|
|
66
70
|
.ia-button.primary {
|
|
@@ -91,6 +95,20 @@ export default css`
|
|
|
91
95
|
background-color: rgba(${dangerButtonFillColorRGB}, 0.7);
|
|
92
96
|
}
|
|
93
97
|
|
|
98
|
+
.ia-button.warning {
|
|
99
|
+
background-color: ${warningButtonFillColor};
|
|
100
|
+
border-color: ${warningButtonBorderColor};
|
|
101
|
+
}
|
|
102
|
+
.ia-button.warning:hover {
|
|
103
|
+
background-color: rgba(${warningButtonFillColorRGB}, 0.9);
|
|
104
|
+
}
|
|
105
|
+
.ia-button.warning:focus-visible {
|
|
106
|
+
background-color: rgba(${warningButtonFillColorRGB}, 0.8);
|
|
107
|
+
}
|
|
108
|
+
.ia-button.warning:active {
|
|
109
|
+
background-color: rgba(${warningButtonFillColorRGB}, 0.7);
|
|
110
|
+
}
|
|
111
|
+
|
|
94
112
|
.ia-button.dark {
|
|
95
113
|
background-color: ${darkButtonFillColor};
|
|
96
114
|
border-color: ${darkButtonBorderColor};
|
|
@@ -104,4 +122,18 @@ export default css`
|
|
|
104
122
|
.ia-button.dark:active {
|
|
105
123
|
background-color: rgba(${darkButtonFillColorRGB}, 0.7);
|
|
106
124
|
}
|
|
125
|
+
|
|
126
|
+
.ia-button.link {
|
|
127
|
+
margin: 0;
|
|
128
|
+
padding: 6px;
|
|
129
|
+
border: 0;
|
|
130
|
+
appearance: none;
|
|
131
|
+
background: none;
|
|
132
|
+
color: var(--ia-theme-link-color, #4b64ff);
|
|
133
|
+
text-decoration: none;
|
|
134
|
+
cursor: pointer;
|
|
135
|
+
}
|
|
136
|
+
.ia-button.link:hover {
|
|
137
|
+
text-decoration: underline;
|
|
138
|
+
}
|
|
107
139
|
`;
|
|
@@ -31,6 +31,18 @@ describe('Manage bar', () => {
|
|
|
31
31
|
expect(el.shadowRoot?.querySelector('.unselect-all-btn')).not.to.exist;
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
+
it('does not render item manager button except /search/ page', async () => {
|
|
35
|
+
const el = await fixture<ManageBar>(html`<manage-bar></manage-bar>`);
|
|
36
|
+
expect(el.shadowRoot?.querySelector('.ia-button.warning')).not.to.exist;
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it('render item manager button for /search/ page', async () => {
|
|
40
|
+
const el = await fixture<ManageBar>(
|
|
41
|
+
html`<manage-bar .pageContext=${'search'}></manage-bar>`
|
|
42
|
+
);
|
|
43
|
+
expect(el.shadowRoot?.querySelector('.ia-button.warning')).to.exist;
|
|
44
|
+
});
|
|
45
|
+
|
|
34
46
|
it('includes Select All button when requested', async () => {
|
|
35
47
|
const el = await fixture<ManageBar>(
|
|
36
48
|
html`<manage-bar showSelectAll></manage-bar>`
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
// import { hmrPlugin, presets } from '@open-wc/dev-server-hmr';
|
|
2
|
-
|
|
3
|
-
/** Use Hot Module replacement by adding --hmr to the start command */
|
|
4
|
-
const hmr = process.argv.includes('--hmr');
|
|
5
|
-
|
|
6
|
-
export default /** @type {import('@web/dev-server').DevServerConfig} */ ({
|
|
7
|
-
nodeResolve: true,
|
|
8
|
-
open: '/',
|
|
9
|
-
watch: !hmr,
|
|
10
|
-
|
|
11
|
-
/** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
|
|
12
|
-
// esbuildTarget: 'auto'
|
|
13
|
-
|
|
14
|
-
/** Set appIndex to enable SPA routing */
|
|
15
|
-
// appIndex: 'demo/index.html',
|
|
16
|
-
|
|
17
|
-
/** Confgure bare import resolve plugin */
|
|
18
|
-
// nodeResolve: {
|
|
19
|
-
// exportConditions: ['browser', 'development']
|
|
20
|
-
// },
|
|
21
|
-
|
|
22
|
-
plugins: [
|
|
23
|
-
/** Use Hot Module Replacement by uncommenting. Requires @open-wc/dev-server-hmr plugin */
|
|
24
|
-
// hmr && hmrPlugin({ exclude: ['**/*/node_modules/**/*'], presets: [presets.litElement] }),
|
|
25
|
-
],
|
|
26
|
-
|
|
27
|
-
http2: true,
|
|
28
|
-
sslCert: './local.archive.org.cert',
|
|
29
|
-
sslKey: './local.archive.org.key',
|
|
30
|
-
});
|
|
1
|
+
// import { hmrPlugin, presets } from '@open-wc/dev-server-hmr';
|
|
2
|
+
|
|
3
|
+
/** Use Hot Module replacement by adding --hmr to the start command */
|
|
4
|
+
const hmr = process.argv.includes('--hmr');
|
|
5
|
+
|
|
6
|
+
export default /** @type {import('@web/dev-server').DevServerConfig} */ ({
|
|
7
|
+
nodeResolve: true,
|
|
8
|
+
open: '/',
|
|
9
|
+
watch: !hmr,
|
|
10
|
+
|
|
11
|
+
/** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
|
|
12
|
+
// esbuildTarget: 'auto'
|
|
13
|
+
|
|
14
|
+
/** Set appIndex to enable SPA routing */
|
|
15
|
+
// appIndex: 'demo/index.html',
|
|
16
|
+
|
|
17
|
+
/** Confgure bare import resolve plugin */
|
|
18
|
+
// nodeResolve: {
|
|
19
|
+
// exportConditions: ['browser', 'development']
|
|
20
|
+
// },
|
|
21
|
+
|
|
22
|
+
plugins: [
|
|
23
|
+
/** Use Hot Module Replacement by uncommenting. Requires @open-wc/dev-server-hmr plugin */
|
|
24
|
+
// hmr && hmrPlugin({ exclude: ['**/*/node_modules/**/*'], presets: [presets.litElement] }),
|
|
25
|
+
],
|
|
26
|
+
|
|
27
|
+
http2: true,
|
|
28
|
+
sslCert: './local.archive.org.cert',
|
|
29
|
+
sslKey: './local.archive.org.key',
|
|
30
|
+
});
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
// import { playwrightLauncher } from '@web/test-runner-playwright';
|
|
2
|
-
|
|
3
|
-
const filteredLogs = ['Running in dev mode', 'lit-html is in dev mode'];
|
|
4
|
-
|
|
5
|
-
export default /** @type {import("@web/test-runner").TestRunnerConfig} */ ({
|
|
6
|
-
/** Test files to run */
|
|
7
|
-
files: 'dist/test/**/*.test.js',
|
|
8
|
-
|
|
9
|
-
/** Resolve bare module imports */
|
|
10
|
-
nodeResolve: {
|
|
11
|
-
exportConditions: ['browser', 'development'],
|
|
12
|
-
},
|
|
13
|
-
|
|
14
|
-
/** Filter out lit dev mode logs */
|
|
15
|
-
filterBrowserLogs(log) {
|
|
16
|
-
for (const arg of log.args) {
|
|
17
|
-
if (typeof arg === 'string' && filteredLogs.some(l => arg.includes(l))) {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return true;
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
/** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
|
|
25
|
-
// esbuildTarget: 'auto',
|
|
26
|
-
|
|
27
|
-
/** Amount of browsers to run concurrently */
|
|
28
|
-
// concurrentBrowsers: 2,
|
|
29
|
-
|
|
30
|
-
/** Amount of test files per browser to test concurrently */
|
|
31
|
-
// concurrency: 1,
|
|
32
|
-
|
|
33
|
-
/** Browsers to run tests on */
|
|
34
|
-
// browsers: [
|
|
35
|
-
// playwrightLauncher({ product: 'chromium' }),
|
|
36
|
-
// playwrightLauncher({ product: 'firefox' }),
|
|
37
|
-
// playwrightLauncher({ product: 'webkit' }),
|
|
38
|
-
// ],
|
|
39
|
-
|
|
40
|
-
// See documentation for all available options
|
|
41
|
-
});
|
|
1
|
+
// import { playwrightLauncher } from '@web/test-runner-playwright';
|
|
2
|
+
|
|
3
|
+
const filteredLogs = ['Running in dev mode', 'lit-html is in dev mode'];
|
|
4
|
+
|
|
5
|
+
export default /** @type {import("@web/test-runner").TestRunnerConfig} */ ({
|
|
6
|
+
/** Test files to run */
|
|
7
|
+
files: 'dist/test/**/*.test.js',
|
|
8
|
+
|
|
9
|
+
/** Resolve bare module imports */
|
|
10
|
+
nodeResolve: {
|
|
11
|
+
exportConditions: ['browser', 'development'],
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
/** Filter out lit dev mode logs */
|
|
15
|
+
filterBrowserLogs(log) {
|
|
16
|
+
for (const arg of log.args) {
|
|
17
|
+
if (typeof arg === 'string' && filteredLogs.some(l => arg.includes(l))) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return true;
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
/** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
|
|
25
|
+
// esbuildTarget: 'auto',
|
|
26
|
+
|
|
27
|
+
/** Amount of browsers to run concurrently */
|
|
28
|
+
// concurrentBrowsers: 2,
|
|
29
|
+
|
|
30
|
+
/** Amount of test files per browser to test concurrently */
|
|
31
|
+
// concurrency: 1,
|
|
32
|
+
|
|
33
|
+
/** Browsers to run tests on */
|
|
34
|
+
// browsers: [
|
|
35
|
+
// playwrightLauncher({ product: 'chromium' }),
|
|
36
|
+
// playwrightLauncher({ product: 'firefox' }),
|
|
37
|
+
// playwrightLauncher({ product: 'webkit' }),
|
|
38
|
+
// ],
|
|
39
|
+
|
|
40
|
+
// See documentation for all available options
|
|
41
|
+
});
|