@internetarchive/collection-browser 2.1.4-alpha.2 → 2.1.4-alpha1
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 +12 -12
- package/dist/index.js +12 -12
- package/dist/src/app-root.d.ts +84 -88
- package/dist/src/app-root.js +454 -487
- 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/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 +395 -395
- package/dist/src/collection-browser.js +1363 -1363
- 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 +114 -114
- 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 +17 -17
- package/dist/src/collection-facets/facets-template.js +114 -114
- package/dist/src/collection-facets/more-facets-content.d.ts +70 -70
- package/dist/src/collection-facets/more-facets-content.js +354 -354
- 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/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 +509 -509
- package/dist/src/data-source/collection-browser-data-source-interface.d.ts +232 -232
- package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
- package/dist/src/data-source/collection-browser-data-source.d.ts +360 -360
- package/dist/src/data-source/collection-browser-data-source.js +930 -930
- 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 +74 -74
- 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 +30 -26
- package/dist/src/manage/manage-bar.js +76 -85
- package/dist/src/manage/manage-bar.js.map +1 -1
- 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 +198 -198
- package/dist/src/models.js +381 -381
- package/dist/src/restoration-state-handler.d.ts +70 -70
- package/dist/src/restoration-state-handler.js +357 -357
- 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 +219 -221
- package/dist/src/sort-filter-bar/sort-filter-bar.js +685 -695
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- package/dist/src/styles/ia-button.d.ts +2 -0
- package/dist/src/styles/ia-button.js +102 -0
- package/dist/src/styles/ia-button.js.map +1 -0
- 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 +63 -63
- 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 +30 -30
- package/dist/src/tiles/grid/item-tile.js +149 -149
- 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 +15 -15
- package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
- package/dist/src/tiles/image-block.d.ts +17 -17
- package/dist/src/tiles/image-block.js +73 -73
- 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 +15 -15
- package/dist/src/tiles/list/tile-list-compact.js +114 -114
- package/dist/src/tiles/list/tile-list.d.ts +50 -50
- package/dist/src/tiles/list/tile-list.js +315 -315
- 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 +10 -10
- package/dist/src/tiles/overlay/icon-overlay.js +40 -40
- package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
- package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
- package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
- package/dist/src/tiles/overlay/text-overlay.js +42 -42
- 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 -233
- package/dist/src/tiles/tile-dispatcher.js.map +1 -1
- 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 +25 -25
- package/dist/src/utils/analytics-events.js +27 -27
- 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/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 +1243 -1215
- package/dist/test/collection-browser.test.js.map +1 -1
- package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
- package/dist/test/collection-facets/facet-row.test.js +203 -203
- package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
- package/dist/test/collection-facets/facets-template.test.js +105 -105
- package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-content.test.js +133 -133
- 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 +652 -652
- 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 +48 -48
- 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 +77 -72
- 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 +24 -24
- package/dist/test/mocks/mock-search-responses.js +840 -840
- package/dist/test/mocks/mock-search-service.d.ts +15 -15
- package/dist/test/mocks/mock-search-service.js +53 -53
- 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 +420 -420
- package/dist/test/text-overlay.test.d.ts +1 -1
- package/dist/test/text-overlay.test.js +48 -48
- 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 +13 -13
- 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/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 +25 -59
- package/src/collection-browser.ts +7 -6
- package/src/manage/manage-bar.ts +22 -33
- package/src/sort-filter-bar/sort-filter-bar.ts +1 -10
- package/src/styles/ia-button.ts +107 -0
- package/src/tiles/tile-dispatcher.ts +1 -3
- package/test/collection-browser.test.ts +38 -0
- package/test/manage/manage-bar.test.ts +5 -0
- package/tsconfig.json +21 -21
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
package/src/manage/manage-bar.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { msg } from '@lit/localize';
|
|
|
2
2
|
import { LitElement, html, css, TemplateResult, CSSResultGroup } from 'lit';
|
|
3
3
|
import { customElement, property } from 'lit/decorators.js';
|
|
4
4
|
import { when } from 'lit/directives/when.js';
|
|
5
|
+
import iaButtonStyle from '../styles/ia-button';
|
|
5
6
|
|
|
6
7
|
export interface ManageableItem {
|
|
7
8
|
identifier: string;
|
|
@@ -14,7 +15,7 @@ export class ManageBar extends LitElement {
|
|
|
14
15
|
/**
|
|
15
16
|
* The label displayed in front of the management buttons
|
|
16
17
|
*/
|
|
17
|
-
@property({ type: String }) label = msg('Select items to
|
|
18
|
+
@property({ type: String }) label = msg('Select items to remove');
|
|
18
19
|
|
|
19
20
|
/**
|
|
20
21
|
* Whether to show the "Select All" button (default false)
|
|
@@ -26,15 +27,24 @@ export class ManageBar extends LitElement {
|
|
|
26
27
|
*/
|
|
27
28
|
@property({ type: Boolean }) showUnselectAll = false;
|
|
28
29
|
|
|
30
|
+
/**
|
|
31
|
+
* Whether to active delete button for selectable items
|
|
32
|
+
*/
|
|
33
|
+
@property({ type: Boolean }) enableRemoveButton = false;
|
|
34
|
+
|
|
29
35
|
render(): TemplateResult {
|
|
30
36
|
return html`
|
|
31
37
|
<div class="manage-container">
|
|
32
38
|
<span class="manage-label">${this.label}</span>
|
|
33
39
|
<div class="manage-buttons">
|
|
34
|
-
<button class="
|
|
40
|
+
<button class="ia-button dark" @click=${this.cancelClicked}>
|
|
35
41
|
${msg('Cancel')}
|
|
36
42
|
</button>
|
|
37
|
-
<button
|
|
43
|
+
<button
|
|
44
|
+
class="ia-button danger"
|
|
45
|
+
?disabled=${!this.enableRemoveButton}
|
|
46
|
+
@click=${this.removeClicked}
|
|
47
|
+
>
|
|
38
48
|
${msg('Remove selected items')}
|
|
39
49
|
</button>
|
|
40
50
|
<div class="selection-buttons">
|
|
@@ -80,11 +90,12 @@ export class ManageBar extends LitElement {
|
|
|
80
90
|
|
|
81
91
|
static get styles(): CSSResultGroup {
|
|
82
92
|
return css`
|
|
93
|
+
${iaButtonStyle}
|
|
83
94
|
.manage-container {
|
|
84
95
|
display: flex;
|
|
85
96
|
align-items: center;
|
|
86
97
|
column-gap: 5px;
|
|
87
|
-
padding:
|
|
98
|
+
padding: 20px 0 20px;
|
|
88
99
|
flex-wrap: wrap;
|
|
89
100
|
}
|
|
90
101
|
|
|
@@ -101,11 +112,14 @@ export class ManageBar extends LitElement {
|
|
|
101
112
|
column-gap: 5px;
|
|
102
113
|
}
|
|
103
114
|
|
|
115
|
+
.ia-button,
|
|
104
116
|
button {
|
|
105
|
-
|
|
117
|
+
padding: 6px 12px;
|
|
106
118
|
font-size: 1.4rem;
|
|
107
|
-
|
|
108
|
-
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.ia-button.danger:disabled {
|
|
122
|
+
opacity: 0.5;
|
|
109
123
|
}
|
|
110
124
|
|
|
111
125
|
button.link-styled {
|
|
@@ -116,36 +130,11 @@ export class ManageBar extends LitElement {
|
|
|
116
130
|
background: none;
|
|
117
131
|
color: var(--ia-theme-link-color, #4b64ff);
|
|
118
132
|
text-decoration: none;
|
|
133
|
+
cursor: pointer;
|
|
119
134
|
}
|
|
120
135
|
button.link-styled:hover {
|
|
121
136
|
text-decoration: underline;
|
|
122
137
|
}
|
|
123
|
-
|
|
124
|
-
button:not(.link-styled) {
|
|
125
|
-
margin: 0;
|
|
126
|
-
padding: 6px 12px;
|
|
127
|
-
border-radius: 4px;
|
|
128
|
-
color: white;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/* Button styles derived from legacy version */
|
|
132
|
-
.cancel-btn {
|
|
133
|
-
background: #777777;
|
|
134
|
-
border: 1px solid #666666;
|
|
135
|
-
}
|
|
136
|
-
.cancel-btn:hover {
|
|
137
|
-
background: #6b6b6b;
|
|
138
|
-
border: 1px solid #505050;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
.remove-btn {
|
|
142
|
-
background: #d9534f;
|
|
143
|
-
border: 1px solid #d43f3a;
|
|
144
|
-
}
|
|
145
|
-
.remove-btn:hover {
|
|
146
|
-
background: #d2322d;
|
|
147
|
-
border: 1px solid #ac2925;
|
|
148
|
-
}
|
|
149
138
|
`;
|
|
150
139
|
}
|
|
151
140
|
}
|
|
@@ -73,10 +73,6 @@ export class SortFilterBar
|
|
|
73
73
|
@property({ type: Boolean, reflect: true }) enableSortOptionsSlot: boolean =
|
|
74
74
|
false;
|
|
75
75
|
|
|
76
|
-
/** Whether to suppress showing the three display mode options on the right of the bar (default `false`) */
|
|
77
|
-
@property({ type: Boolean, reflect: true })
|
|
78
|
-
suppressDisplayModes: boolean = false;
|
|
79
|
-
|
|
80
76
|
/** Maps of result counts for letters on the alphabet bar, for each letter filter type */
|
|
81
77
|
@property({ type: Object }) prefixFilterCountMap?: Record<
|
|
82
78
|
PrefixFilterType,
|
|
@@ -164,13 +160,8 @@ export class SortFilterBar
|
|
|
164
160
|
`
|
|
165
161
|
: html`<slot name="sort-options"></slot>`}
|
|
166
162
|
</div>
|
|
167
|
-
<slot name="sort-options-right"></slot>
|
|
168
163
|
|
|
169
|
-
|
|
170
|
-
? nothing
|
|
171
|
-
: html`<div id="display-style-selector">
|
|
172
|
-
${this.displayOptionTemplate}
|
|
173
|
-
</div>`}
|
|
164
|
+
<div id="display-style-selector">${this.displayOptionTemplate}</div>
|
|
174
165
|
</section>
|
|
175
166
|
|
|
176
167
|
${this.dropdownBackdropVisible ? this.dropdownBackdrop : nothing}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
|
|
3
|
+
const whiteColor = css`var(--white, #fff)`;
|
|
4
|
+
const disabledButtonFillColor = css`var(--primaryDisableCTAFill, #767676)`;
|
|
5
|
+
const disabledButtonBorderColor = css`var(--secondaryCTABorder, #999)`;
|
|
6
|
+
|
|
7
|
+
const primaryButtonFillColor = css`var(--primaryCTAFill, #194880)`;
|
|
8
|
+
const primaryButtonFillColorRGB = css`var(--primaryCTAFillRGB, 25, 72, 128)`; // RBG format of --primaryCTAFill
|
|
9
|
+
const primaryButtonBorderColor = css`var(--primaryCTABorder, #c5d1df)`;
|
|
10
|
+
|
|
11
|
+
const dangerButtonFillColor = css`var(--primaryErrorCTAFill, #d9534f)`;
|
|
12
|
+
const dangerButtonFillColorRGB = css`var(--primaryErrorCTAFillRGB, 229, 28, 38)`; // RBG format of --primaryErrorCTAFill
|
|
13
|
+
const dangerButtonBorderColor = css`var(--primaryErrorCTABorder, #d43f3a)`;
|
|
14
|
+
|
|
15
|
+
const darkButtonFillColor = css`var(--secondaryCTAFill, #333)`;
|
|
16
|
+
const darkButtonFillColorRGB = css`var(--secondaryCTAFillRGB, 51, 51, 51)`; // RBG format of --secondaryCTAFill
|
|
17
|
+
const darkButtonBorderColor = css`var(--primaryCTABorder, #979797)`;
|
|
18
|
+
|
|
19
|
+
const warningButtonBGColor = css`#ee8950`;
|
|
20
|
+
const warningButtonBorderColor = css`#ec7939`;
|
|
21
|
+
|
|
22
|
+
export default css`
|
|
23
|
+
.ia-button {
|
|
24
|
+
min-height: 3rem;
|
|
25
|
+
cursor: pointer;
|
|
26
|
+
color: ${whiteColor};
|
|
27
|
+
line-height: normal;
|
|
28
|
+
border-radius: 0.4rem;
|
|
29
|
+
font-size: 1.4rem;
|
|
30
|
+
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
31
|
+
border: 1px solid transparent;
|
|
32
|
+
white-space: nowrap;
|
|
33
|
+
appearance: auto;
|
|
34
|
+
box-sizing: border-box;
|
|
35
|
+
display: flex;
|
|
36
|
+
align-items: center;
|
|
37
|
+
transition: all 0.1s ease 0s;
|
|
38
|
+
vertical-align: middle;
|
|
39
|
+
padding: 0 3rem;
|
|
40
|
+
outline-color: ${whiteColor};
|
|
41
|
+
outline-offset: -4px;
|
|
42
|
+
user-select: none;
|
|
43
|
+
text-decoration: none;
|
|
44
|
+
width: fit-content;
|
|
45
|
+
-webkit-user-select: none;
|
|
46
|
+
-moz-user-select: none;
|
|
47
|
+
-ms-user-select: none;
|
|
48
|
+
-o-user-select: none;
|
|
49
|
+
}
|
|
50
|
+
.ia-button:focus-visible {
|
|
51
|
+
outline-style: double;
|
|
52
|
+
}
|
|
53
|
+
.ia-button:disabled {
|
|
54
|
+
cursor: not-allowed;
|
|
55
|
+
background-color: ${disabledButtonFillColor};
|
|
56
|
+
border: 1px solid ${disabledButtonBorderColor};
|
|
57
|
+
}
|
|
58
|
+
.ia-button.transparent {
|
|
59
|
+
background-color: transparent;
|
|
60
|
+
}
|
|
61
|
+
.ia-button.warning {
|
|
62
|
+
background-color: ${warningButtonBGColor}
|
|
63
|
+
border-color: ${warningButtonBorderColor};
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.ia-button.primary {
|
|
67
|
+
background-color: ${primaryButtonFillColor};
|
|
68
|
+
border-color: ${primaryButtonBorderColor};
|
|
69
|
+
}
|
|
70
|
+
.ia-button.primary:hover {
|
|
71
|
+
background-color: rgba(${primaryButtonFillColorRGB}, 0.9);
|
|
72
|
+
}
|
|
73
|
+
.ia-button.primary:focus-visible {
|
|
74
|
+
background-color: rgba(${primaryButtonFillColorRGB}, 0.8);
|
|
75
|
+
}
|
|
76
|
+
.ia-button.primary:active {
|
|
77
|
+
background-color: rgba(${primaryButtonFillColorRGB}, 0.7);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.ia-button.danger {
|
|
81
|
+
background-color: ${dangerButtonFillColor};
|
|
82
|
+
border-color: ${dangerButtonBorderColor};
|
|
83
|
+
}
|
|
84
|
+
.ia-button.danger:hover {
|
|
85
|
+
background-color: rgba(${dangerButtonFillColorRGB}, 0.9);
|
|
86
|
+
}
|
|
87
|
+
.ia-button.danger:focus-visible {
|
|
88
|
+
background-color: rgba(${dangerButtonFillColorRGB}, 0.8);
|
|
89
|
+
}
|
|
90
|
+
.ia-button.danger:active {
|
|
91
|
+
background-color: rgba(${dangerButtonFillColorRGB}, 0.7);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.ia-button.dark {
|
|
95
|
+
background-color: ${darkButtonFillColor};
|
|
96
|
+
border-color: ${darkButtonBorderColor};
|
|
97
|
+
}
|
|
98
|
+
.ia-button.dark:hover {
|
|
99
|
+
background-color: rgba(${darkButtonFillColorRGB}, 0.9);
|
|
100
|
+
}
|
|
101
|
+
.ia-button.dark:focus-visible {
|
|
102
|
+
background-color: rgba(${darkButtonFillColorRGB}, 0.8);
|
|
103
|
+
}
|
|
104
|
+
.ia-button.dark:active {
|
|
105
|
+
background-color: rgba(${darkButtonFillColorRGB}, 0.7);
|
|
106
|
+
}
|
|
107
|
+
`;
|
|
@@ -167,9 +167,7 @@ export class TileDispatcher
|
|
|
167
167
|
type="checkbox"
|
|
168
168
|
title=${this.manageCheckTitle}
|
|
169
169
|
.checked=${this.model?.checked}
|
|
170
|
-
@change=${
|
|
171
|
-
if (this.model) this.model.checked = !this.model.checked;
|
|
172
|
-
}}
|
|
170
|
+
@change=${this.handleLinkClicked}
|
|
173
171
|
/>
|
|
174
172
|
</div>
|
|
175
173
|
`;
|
|
@@ -1816,6 +1816,44 @@ describe('Collection Browser', () => {
|
|
|
1816
1816
|
expect(el.isManageView).to.be.false;
|
|
1817
1817
|
});
|
|
1818
1818
|
|
|
1819
|
+
it('enable/disable manage view delete button when you selectAll/unselectAll', async () => {
|
|
1820
|
+
const searchService = new MockSearchService();
|
|
1821
|
+
const el = await fixture<CollectionBrowser>(
|
|
1822
|
+
html`<collection-browser .searchService=${searchService}>
|
|
1823
|
+
</collection-browser>`
|
|
1824
|
+
);
|
|
1825
|
+
|
|
1826
|
+
el.baseQuery = 'foo';
|
|
1827
|
+
await el.updateComplete;
|
|
1828
|
+
await el.initialSearchComplete;
|
|
1829
|
+
|
|
1830
|
+
el.isManageView = true;
|
|
1831
|
+
await el.updateComplete;
|
|
1832
|
+
|
|
1833
|
+
const manageBar = el.shadowRoot?.querySelector('manage-bar');
|
|
1834
|
+
expect(manageBar).to.exist;
|
|
1835
|
+
|
|
1836
|
+
// disable button exists
|
|
1837
|
+
expect(manageBar?.shadowRoot?.querySelector('.danger:disabled')).to.be
|
|
1838
|
+
.exist;
|
|
1839
|
+
|
|
1840
|
+
// Emit remove event from manage bar
|
|
1841
|
+
manageBar!.dispatchEvent(new CustomEvent('selectAll'));
|
|
1842
|
+
await el.updateComplete;
|
|
1843
|
+
|
|
1844
|
+
// disable button does not exists
|
|
1845
|
+
expect(manageBar?.shadowRoot?.querySelector('.danger:disabled')).to.be.not
|
|
1846
|
+
.exist;
|
|
1847
|
+
|
|
1848
|
+
// Emit remove event from manage bar
|
|
1849
|
+
manageBar!.dispatchEvent(new CustomEvent('unselectAll'));
|
|
1850
|
+
await el.updateComplete;
|
|
1851
|
+
|
|
1852
|
+
// disable button exists again
|
|
1853
|
+
expect(manageBar?.shadowRoot?.querySelector('.danger:disabled')).to.be
|
|
1854
|
+
.exist;
|
|
1855
|
+
});
|
|
1856
|
+
|
|
1819
1857
|
it('applies loans tab properties to sort bar', async () => {
|
|
1820
1858
|
const searchService = new MockSearchService();
|
|
1821
1859
|
const el = await fixture<CollectionBrowser>(
|
|
@@ -45,6 +45,11 @@ describe('Manage bar', () => {
|
|
|
45
45
|
expect(el.shadowRoot?.querySelector('.unselect-all-btn')).to.exist;
|
|
46
46
|
});
|
|
47
47
|
|
|
48
|
+
it('have delete button disabled', async () => {
|
|
49
|
+
const el = await fixture<ManageBar>(html`<manage-bar></manage-bar>`);
|
|
50
|
+
expect(el.shadowRoot?.querySelector('.remove-btn:disabled')).to.exist;
|
|
51
|
+
});
|
|
52
|
+
|
|
48
53
|
it('emits event when Cancel button clicked', async () => {
|
|
49
54
|
const spy = Sinon.spy();
|
|
50
55
|
const el = await fixture<ManageBar>(
|
package/tsconfig.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "es2018",
|
|
4
|
-
"module": "esnext",
|
|
5
|
-
"moduleResolution": "node",
|
|
6
|
-
"noEmitOnError": true,
|
|
7
|
-
"lib": ["es2017", "dom"],
|
|
8
|
-
"strict": true,
|
|
9
|
-
"esModuleInterop": false,
|
|
10
|
-
"allowSyntheticDefaultImports": true,
|
|
11
|
-
"experimentalDecorators": true,
|
|
12
|
-
"importHelpers": true,
|
|
13
|
-
"outDir": "dist",
|
|
14
|
-
"sourceMap": true,
|
|
15
|
-
"inlineSources": true,
|
|
16
|
-
"rootDir": "./",
|
|
17
|
-
"declaration": true,
|
|
18
|
-
"importsNotUsedAsValues": "error"
|
|
19
|
-
},
|
|
20
|
-
"include": ["src", "test", "index.ts", "types"],
|
|
21
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "es2018",
|
|
4
|
+
"module": "esnext",
|
|
5
|
+
"moduleResolution": "node",
|
|
6
|
+
"noEmitOnError": true,
|
|
7
|
+
"lib": ["es2017", "dom"],
|
|
8
|
+
"strict": true,
|
|
9
|
+
"esModuleInterop": false,
|
|
10
|
+
"allowSyntheticDefaultImports": true,
|
|
11
|
+
"experimentalDecorators": true,
|
|
12
|
+
"importHelpers": true,
|
|
13
|
+
"outDir": "dist",
|
|
14
|
+
"sourceMap": true,
|
|
15
|
+
"inlineSources": true,
|
|
16
|
+
"rootDir": "./",
|
|
17
|
+
"declaration": true,
|
|
18
|
+
"importsNotUsedAsValues": "error"
|
|
19
|
+
},
|
|
20
|
+
"include": ["src", "test", "index.ts", "types"],
|
|
21
|
+
}
|
|
@@ -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
|
+
});
|