@teipublisher/pb-components 2.26.0-next-3.12 → 2.26.0-next-3.14

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 (136) hide show
  1. package/.github/workflows/main.yml +3 -3
  2. package/.github/workflows/node.js.yml +3 -3
  3. package/.github/workflows/release.js.yml +3 -3
  4. package/CHANGELOG.md +43 -0
  5. package/Dockerfile +78 -70
  6. package/css/components.css +5 -5
  7. package/dist/demo/pb-drawer2.html +1 -1
  8. package/dist/demo/pb-grid.html +19 -6
  9. package/dist/demo/pb-leaflet-map.html +1 -1
  10. package/dist/demo/pb-progress.html +2 -2
  11. package/dist/demo/pb-repeat.html +1 -3
  12. package/dist/demo/pb-view3.html +1 -1
  13. package/dist/{iron-form-277f9d42.js → iron-form-78b43d38.js} +1 -1
  14. package/dist/{paper-checkbox-4f410b1f.js → paper-checkbox-d16f23be.js} +44 -44
  15. package/dist/{paper-icon-button-0fb125c4.js → paper-icon-button-2cd9e0b4.js} +3 -3
  16. package/dist/{paper-listbox-c2468542.js → paper-listbox-2ad5c882.js} +7 -7
  17. package/dist/pb-code-editor.js +25 -20
  18. package/dist/pb-component-docs.js +58 -54
  19. package/dist/pb-components-bundle.js +2057 -2351
  20. package/dist/pb-edit-app.js +167 -107
  21. package/dist/pb-elements.json +45 -45
  22. package/dist/{pb-i18n-0611135a.js → pb-i18n-4cc00bfe.js} +1 -1
  23. package/dist/pb-leaflet-map.js +23 -23
  24. package/dist/pb-mei.js +56 -41
  25. package/dist/{pb-mixin-b1caa22e.js → pb-mixin-886ece32.js} +1 -1
  26. package/dist/pb-odd-editor.js +923 -756
  27. package/dist/pb-tify.js +2 -2
  28. package/dist/{vaadin-element-mixin-49ab4037.js → vaadin-element-mixin-c200b196.js} +179 -164
  29. package/gh-pages.js +5 -3
  30. package/i18n/common/pl.json +2 -2
  31. package/lib/openseadragon.min.js +1 -1
  32. package/package.json +2 -2
  33. package/pb-elements.json +45 -45
  34. package/src/assets/components.css +5 -5
  35. package/src/authority/airtable.js +20 -21
  36. package/src/authority/anton.js +129 -129
  37. package/src/authority/custom.js +23 -21
  38. package/src/authority/geonames.js +38 -32
  39. package/src/authority/gnd.js +47 -42
  40. package/src/authority/kbga.js +137 -134
  41. package/src/authority/metagrid.js +44 -46
  42. package/src/authority/reconciliation.js +66 -67
  43. package/src/authority/registry.js +4 -4
  44. package/src/docs/pb-component-docs.js +2 -2
  45. package/src/docs/pb-component-view.js +5 -5
  46. package/src/docs/pb-components-list.js +2 -2
  47. package/src/docs/pb-demo-snippet.js +2 -2
  48. package/src/dts-client.js +299 -297
  49. package/src/dts-select-endpoint.js +90 -82
  50. package/src/parse-date-service.js +184 -135
  51. package/src/pb-ajax.js +150 -146
  52. package/src/pb-authority-lookup.js +183 -146
  53. package/src/pb-autocomplete.js +292 -280
  54. package/src/pb-blacklab-highlight.js +264 -259
  55. package/src/pb-blacklab-results.js +236 -221
  56. package/src/pb-browse-docs.js +540 -475
  57. package/src/pb-browse.js +68 -65
  58. package/src/pb-clipboard.js +79 -76
  59. package/src/pb-code-editor.js +110 -102
  60. package/src/pb-code-highlight.js +209 -204
  61. package/src/pb-codepen.js +79 -72
  62. package/src/pb-collapse.js +212 -207
  63. package/src/pb-combo-box.js +190 -190
  64. package/src/pb-components-bundle.js +1 -1
  65. package/src/pb-custom-form.js +151 -149
  66. package/src/pb-dialog.js +94 -85
  67. package/src/pb-document.js +89 -90
  68. package/src/pb-download.js +210 -198
  69. package/src/pb-drawer.js +145 -148
  70. package/src/pb-edit-app.js +301 -229
  71. package/src/pb-edit-xml.js +98 -96
  72. package/src/pb-events.js +114 -107
  73. package/src/pb-facs-link.js +104 -102
  74. package/src/pb-facsimile.js +419 -414
  75. package/src/pb-formula.js +151 -153
  76. package/src/pb-geolocation.js +129 -131
  77. package/src/pb-grid-action.js +53 -56
  78. package/src/pb-grid.js +231 -228
  79. package/src/pb-highlight.js +140 -140
  80. package/src/pb-hotkeys.js +40 -42
  81. package/src/pb-i18n.js +101 -104
  82. package/src/pb-image-strip.js +84 -78
  83. package/src/pb-lang.js +132 -128
  84. package/src/pb-leaflet-map.js +488 -485
  85. package/src/pb-link.js +126 -124
  86. package/src/pb-load.js +431 -426
  87. package/src/pb-login.js +291 -248
  88. package/src/pb-manage-odds.js +364 -318
  89. package/src/pb-map-icon.js +89 -89
  90. package/src/pb-map-layer.js +85 -85
  91. package/src/pb-markdown.js +90 -99
  92. package/src/pb-media-query.js +74 -72
  93. package/src/pb-mei.js +306 -295
  94. package/src/pb-message.js +144 -144
  95. package/src/pb-mixin.js +269 -264
  96. package/src/pb-navigation.js +80 -82
  97. package/src/pb-observable.js +38 -38
  98. package/src/pb-odd-editor.js +1053 -955
  99. package/src/pb-odd-elementspec-editor.js +348 -297
  100. package/src/pb-odd-model-editor.js +1061 -901
  101. package/src/pb-odd-parameter-editor.js +200 -178
  102. package/src/pb-odd-rendition-editor.js +136 -124
  103. package/src/pb-page.js +431 -421
  104. package/src/pb-paginate.js +202 -190
  105. package/src/pb-panel.js +198 -182
  106. package/src/pb-popover-themes.js +7 -5
  107. package/src/pb-popover.js +296 -287
  108. package/src/pb-print-preview.js +127 -127
  109. package/src/pb-progress.js +51 -51
  110. package/src/pb-repeat.js +105 -104
  111. package/src/pb-restricted.js +84 -77
  112. package/src/pb-search.js +252 -241
  113. package/src/pb-select-feature.js +127 -120
  114. package/src/pb-select-odd.js +132 -124
  115. package/src/pb-select-template.js +89 -78
  116. package/src/pb-select.js +251 -227
  117. package/src/pb-split-list.js +179 -174
  118. package/src/pb-svg.js +80 -79
  119. package/src/pb-table-column.js +54 -54
  120. package/src/pb-table-grid.js +221 -203
  121. package/src/pb-tabs.js +61 -63
  122. package/src/pb-tify.js +154 -154
  123. package/src/pb-timeline.js +271 -229
  124. package/src/pb-toggle-feature.js +182 -175
  125. package/src/pb-upload.js +184 -174
  126. package/src/pb-version.js +30 -30
  127. package/src/pb-view-annotate.js +132 -98
  128. package/src/pb-view.js +1290 -1270
  129. package/src/pb-zoom.js +75 -59
  130. package/src/polymer-hack.js +1 -1
  131. package/src/search-result-service.js +256 -223
  132. package/src/seed-element.js +13 -20
  133. package/src/settings.js +4 -4
  134. package/src/theming.js +96 -96
  135. package/src/urls.js +289 -289
  136. package/src/utils.js +53 -51
package/src/pb-message.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { LitElement, html, css } from 'lit-element';
2
2
  import '@polymer/paper-button/paper-button';
3
3
  import { unsafeHTML } from 'lit-html/directives/unsafe-html.js';
4
- import { translate } from "./pb-i18n.js";
4
+ import { translate } from './pb-i18n.js';
5
5
  import './pb-dialog.js';
6
6
  import { themableMixin } from './theming.js';
7
7
 
@@ -9,155 +9,155 @@ import { themableMixin } from './theming.js';
9
9
  * Show a dialog with buttons. Used by ODD editor.
10
10
  */
11
11
  export class PbMessage extends themableMixin(LitElement) {
12
-
13
- static get styles() {
14
- return css`
15
- :host {
16
- display: block;
17
- }
18
- `;
19
- }
20
-
21
- static get properties() {
22
- return {
23
- /**
24
- * the dialog box title
25
- */
26
- title: {
27
- type: String,
28
- reflect: true
29
- },
30
- /**
31
- * type of message. Can be either 'message' or 'confirm'. In case of confirm the buttons 'yes' and 'no'
32
- * will be shown and the dialog becomes modal.
33
- */
34
- type: {
35
- type: String
36
- },
37
- /**
38
- * main message text to be shown on dialog.
39
- */
40
- message: {
41
- type: String,
42
- reflect: true
43
- },
44
- open: {
45
- type: Boolean,
46
- reflect: true
47
- }
48
- };
49
- }
50
-
51
- constructor() {
52
- super();
53
- this.title = '';
54
- this.message = '';
55
- this.type = 'message'; // defaults to 'message'
56
- this.open = false;
57
- }
58
-
59
- render() {
60
- return html`
61
- <pb-dialog>
62
- <h2 id="title" slot="title">${unsafeHTML(this.title)}</h2>
63
- <div id="message" class="message" tabindex="0">
64
- ${ this.message ? unsafeHTML(this.message) : html`<slot></slot>` }
65
- </div>
66
-
67
- <div class="buttons" slot="footer">
68
- ${ this.isMessage() ? html`<button class="close" autofocus="autofocus">${translate('dialogs.close')}</button>` : html`
12
+ static get styles() {
13
+ return css`
14
+ :host {
15
+ display: block;
16
+ }
17
+ `;
18
+ }
19
+
20
+ static get properties() {
21
+ return {
22
+ /**
23
+ * the dialog box title
24
+ */
25
+ title: {
26
+ type: String,
27
+ reflect: true,
28
+ },
29
+ /**
30
+ * type of message. Can be either 'message' or 'confirm'. In case of confirm the buttons 'yes' and 'no'
31
+ * will be shown and the dialog becomes modal.
32
+ */
33
+ type: {
34
+ type: String,
35
+ },
36
+ /**
37
+ * main message text to be shown on dialog.
38
+ */
39
+ message: {
40
+ type: String,
41
+ reflect: true,
42
+ },
43
+ open: {
44
+ type: Boolean,
45
+ reflect: true,
46
+ },
47
+ };
48
+ }
49
+
50
+ constructor() {
51
+ super();
52
+ this.title = '';
53
+ this.message = '';
54
+ this.type = 'message'; // defaults to 'message'
55
+ this.open = false;
56
+ }
57
+
58
+ render() {
59
+ return html`
60
+ <pb-dialog>
61
+ <h2 id="title" slot="title">${unsafeHTML(this.title)}</h2>
62
+ <div id="message" class="message" tabindex="0">
63
+ ${this.message ? unsafeHTML(this.message) : html`<slot></slot>`}
64
+ </div>
65
+
66
+ <div class="buttons" slot="footer">
67
+ ${this.isMessage()
68
+ ? html`<button class="close" autofocus="autofocus">
69
+ ${translate('dialogs.close')}
70
+ </button>`
71
+ : html`
69
72
  <button class="confirm" autofocus="autofocus">${translate('dialogs.yes')}</button>
70
73
  <button class="reject" autofocus="autofocus">${translate('dialogs.no')}</button>
71
- `}
72
- </div>
73
- </pb-dialog>
74
- `;
75
- }
76
-
77
- firstUpdated() {
78
- // this.shadowRoot.getElementById('modal').open();
79
- this.modal = this.renderRoot.querySelector('pb-dialog');
80
-
81
- }
82
-
83
- /**
84
- * Open a modal dialog to display a message to the user.
85
- *
86
- * @param {string} title The title of the dialog
87
- * @param {string} message The message to display in the dialog body
88
- */
89
- show(title, message) {
90
- this.type = 'message';
91
- this.set(title, message);
92
- this.open = true;
93
- this.modal.openDialog();
94
-
95
- return new Promise((resolve, reject) => {
96
- // Wait for the next render cycle to ensure elements are available
97
- requestAnimationFrame(() => {
98
- const close = this.renderRoot.querySelector('.close');
99
- close.addEventListener('click', () => {
100
- this.open = false;
101
- this.modal.closeDialog();
102
- resolve({ once: true });
103
- });
104
- });
74
+ `}
75
+ </div>
76
+ </pb-dialog>
77
+ `;
78
+ }
79
+
80
+ firstUpdated() {
81
+ // this.shadowRoot.getElementById('modal').open();
82
+ this.modal = this.renderRoot.querySelector('pb-dialog');
83
+ }
84
+
85
+ /**
86
+ * Open a modal dialog to display a message to the user.
87
+ *
88
+ * @param {string} title The title of the dialog
89
+ * @param {string} message The message to display in the dialog body
90
+ */
91
+ show(title, message) {
92
+ this.type = 'message';
93
+ this.set(title, message);
94
+ this.open = true;
95
+ this.modal.openDialog();
96
+
97
+ return new Promise((resolve, reject) => {
98
+ // Wait for the next render cycle to ensure elements are available
99
+ requestAnimationFrame(() => {
100
+ const close = this.renderRoot.querySelector('.close');
101
+ close.addEventListener('click', () => {
102
+ this.open = false;
103
+ this.modal.closeDialog();
104
+ resolve({ once: true });
105
105
  });
106
- }
107
-
108
- /**
109
- * Open a modal dialog to prompt the user for confirmation.
110
- * Returns a promise which will be resolved upon confirmation
111
- * and rejected otherwise.
112
- *
113
- * @param {string} title The title of the dialog
114
- * @param {string} message The message to display in the dialog body
115
- * @returns {Promise} promise which will be resolved upon confirmation and rejected otherwise
116
- */
117
- confirm(title, message) {
118
- this.type = 'confirm';
119
- this.set(title, message);
120
- this.open = true;
121
- this.modal.openDialog();
122
-
123
- return new Promise((resolve, reject) => {
124
- // Wait for the next render cycle to ensure elements are available
125
- requestAnimationFrame(() => {
126
- const confirm = this.renderRoot.querySelector('.confirm');
127
- const cancel = this.renderRoot.querySelector('.reject');
128
- confirm.addEventListener('click', () => {
129
- this.open = false;
130
- this.modal.closeDialog();
131
- resolve({ once: true });
132
- });
133
- cancel.addEventListener('click', () => {
134
- this.open = false;
135
- this.modal.closeDialog();
136
- reject({ once: true });
137
- });
138
- });
106
+ });
107
+ });
108
+ }
109
+
110
+ /**
111
+ * Open a modal dialog to prompt the user for confirmation.
112
+ * Returns a promise which will be resolved upon confirmation
113
+ * and rejected otherwise.
114
+ *
115
+ * @param {string} title The title of the dialog
116
+ * @param {string} message The message to display in the dialog body
117
+ * @returns {Promise} promise which will be resolved upon confirmation and rejected otherwise
118
+ */
119
+ confirm(title, message) {
120
+ this.type = 'confirm';
121
+ this.set(title, message);
122
+ this.open = true;
123
+ this.modal.openDialog();
124
+
125
+ return new Promise((resolve, reject) => {
126
+ // Wait for the next render cycle to ensure elements are available
127
+ requestAnimationFrame(() => {
128
+ const confirm = this.renderRoot.querySelector('.confirm');
129
+ const cancel = this.renderRoot.querySelector('.reject');
130
+ confirm.addEventListener('click', () => {
131
+ this.open = false;
132
+ this.modal.closeDialog();
133
+ resolve({ once: true });
139
134
  });
135
+ cancel.addEventListener('click', () => {
136
+ this.open = false;
137
+ this.modal.closeDialog();
138
+ reject({ once: true });
139
+ });
140
+ });
141
+ });
142
+ }
143
+
144
+ set(title, message) {
145
+ if (title || message) {
146
+ if (title) {
147
+ this.title = title;
148
+ }
149
+ if (message) {
150
+ this.message = message;
151
+ }
140
152
  }
153
+ }
141
154
 
142
- set(title, message) {
143
- if (title || message) {
144
- if (title) {
145
- this.title = title;
146
- }
147
- if (message) {
148
- this.message = message;
149
- }
150
- }
151
- }
152
-
153
- isMessage() {
154
- return this.type === 'message'
155
- }
156
-
157
- isConfirm() {
158
- return this.type === 'confirm'
159
- }
160
-
155
+ isMessage() {
156
+ return this.type === 'message';
157
+ }
161
158
 
159
+ isConfirm() {
160
+ return this.type === 'confirm';
161
+ }
162
162
  }
163
163
  customElements.define('pb-message', PbMessage);