@pod-os/elements 0.7.1-7512967.0 → 0.7.1-7d05bdd.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/cjs/elements.cjs.js +1 -1
  2. package/dist/cjs/{ion-app_47.cjs.entry.js → ion-app_48.cjs.entry.js} +65 -5
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/collection/apps/pos-app-pdf-viewer/pos-app-pdf-viewer.js +1 -1
  5. package/dist/collection/collection-manifest.json +1 -0
  6. package/dist/collection/components/{pos-image/BrokenImage.js → broken-file/BrokenFile.js} +1 -1
  7. package/dist/collection/components/pos-image/pos-image.js +2 -2
  8. package/dist/collection/components/pos-pdf/pos-pdf.css +58 -0
  9. package/dist/collection/components/pos-pdf/pos-pdf.js +138 -0
  10. package/dist/components/BrokenFile.js +24 -0
  11. package/dist/components/index.d.ts +1 -0
  12. package/dist/components/index.js +1 -0
  13. package/dist/components/pos-app-browser.js +80 -74
  14. package/dist/components/pos-app-pdf-viewer2.js +47 -35
  15. package/dist/components/pos-image2.js +3 -23
  16. package/dist/components/pos-pdf.d.ts +11 -0
  17. package/dist/components/pos-pdf.js +6 -0
  18. package/dist/components/pos-pdf2.js +99 -0
  19. package/dist/components/pos-router2.js +62 -56
  20. package/dist/components/pos-type-router2.js +58 -52
  21. package/dist/elements/elements.esm.js +1 -1
  22. package/dist/elements/{p-db565935.entry.js → p-4b1d1a80.entry.js} +1 -1
  23. package/dist/esm/elements.js +1 -1
  24. package/dist/esm/{ion-app_47.entry.js → ion-app_48.entry.js} +65 -6
  25. package/dist/esm/loader.js +1 -1
  26. package/dist/types/components/broken-file/BrokenFile.d.ts +6 -0
  27. package/dist/types/components/pos-pdf/pos-pdf.d.ts +16 -0
  28. package/dist/types/components.d.ts +22 -0
  29. package/package.json +1 -1
  30. package/dist/types/components/pos-image/BrokenImage.d.ts +0 -6
@@ -0,0 +1,138 @@
1
+ import { h } from '@stencil/core';
2
+ import session from '../../store/session';
3
+ import { BrokenFile } from '../broken-file/BrokenFile';
4
+ export class PosPdf {
5
+ constructor() {
6
+ this.setOs = async (os) => {
7
+ this.os = os;
8
+ };
9
+ this.src = undefined;
10
+ this.alt = undefined;
11
+ this.os = undefined;
12
+ this.dataUri = undefined;
13
+ this.brokenFile = undefined;
14
+ this.error = undefined;
15
+ this.loading = true;
16
+ }
17
+ componentWillLoad() {
18
+ session.onChange('isLoggedIn', () => this.fetchBlob());
19
+ this.initializeOsEmitter.emit(this.setOs);
20
+ }
21
+ async fetchBlob() {
22
+ try {
23
+ this.loading = true;
24
+ const file = await this.os.fetchFile(this.src);
25
+ if (file.blob()) {
26
+ this.dataUri = URL.createObjectURL(file.blob());
27
+ this.error = null;
28
+ }
29
+ else {
30
+ this.brokenFile = file;
31
+ }
32
+ }
33
+ catch (err) {
34
+ this.error = err;
35
+ }
36
+ finally {
37
+ this.loading = false;
38
+ }
39
+ }
40
+ render() {
41
+ if (this.loading) {
42
+ return h("ion-skeleton-text", { animated: true });
43
+ }
44
+ if (this.error) {
45
+ return h("div", { class: "error" }, this.error.message);
46
+ }
47
+ if (this.brokenFile) {
48
+ return h(BrokenFile, { file: this.brokenFile });
49
+ }
50
+ return h("iframe", { src: this.dataUri });
51
+ }
52
+ static get is() { return "pos-pdf"; }
53
+ static get encapsulation() { return "shadow"; }
54
+ static get originalStyleUrls() {
55
+ return {
56
+ "$": ["pos-pdf.css"]
57
+ };
58
+ }
59
+ static get styleUrls() {
60
+ return {
61
+ "$": ["pos-pdf.css"]
62
+ };
63
+ }
64
+ static get properties() {
65
+ return {
66
+ "src": {
67
+ "type": "string",
68
+ "mutable": false,
69
+ "complexType": {
70
+ "original": "string",
71
+ "resolved": "string",
72
+ "references": {}
73
+ },
74
+ "required": false,
75
+ "optional": false,
76
+ "docs": {
77
+ "tags": [],
78
+ "text": ""
79
+ },
80
+ "attribute": "src",
81
+ "reflect": false
82
+ },
83
+ "alt": {
84
+ "type": "string",
85
+ "mutable": false,
86
+ "complexType": {
87
+ "original": "string",
88
+ "resolved": "string",
89
+ "references": {}
90
+ },
91
+ "required": false,
92
+ "optional": false,
93
+ "docs": {
94
+ "tags": [],
95
+ "text": ""
96
+ },
97
+ "attribute": "alt",
98
+ "reflect": false
99
+ }
100
+ };
101
+ }
102
+ static get states() {
103
+ return {
104
+ "os": {},
105
+ "dataUri": {},
106
+ "brokenFile": {},
107
+ "error": {},
108
+ "loading": {}
109
+ };
110
+ }
111
+ static get events() {
112
+ return [{
113
+ "method": "initializeOsEmitter",
114
+ "name": "pod-os:init",
115
+ "bubbles": true,
116
+ "cancelable": true,
117
+ "composed": true,
118
+ "docs": {
119
+ "tags": [],
120
+ "text": ""
121
+ },
122
+ "complexType": {
123
+ "original": "any",
124
+ "resolved": "any",
125
+ "references": {}
126
+ }
127
+ }];
128
+ }
129
+ static get watchers() {
130
+ return [{
131
+ "propName": "os",
132
+ "methodName": "fetchBlob"
133
+ }, {
134
+ "propName": "src",
135
+ "methodName": "fetchBlob"
136
+ }];
137
+ }
138
+ }
@@ -0,0 +1,24 @@
1
+ import { h } from '@stencil/core/internal/client';
2
+
3
+ const BrokenFile = ({ file }) => {
4
+ const iconName = iconForStatus(file.status);
5
+ return (h("div", null,
6
+ h("a", { class: "error", href: file.url },
7
+ h("div", null,
8
+ h("ion-icon", { name: iconName })),
9
+ h("div", { class: "code" }, file.status.code),
10
+ h("div", { class: "text" }, file.status.text))));
11
+ };
12
+ function iconForStatus(status) {
13
+ switch (status.code) {
14
+ case 401:
15
+ case 403:
16
+ return 'lock-closed-outline';
17
+ case 404:
18
+ return 'help-circle-outline';
19
+ default:
20
+ return 'alert-circle-outline';
21
+ }
22
+ }
23
+
24
+ export { BrokenFile as B };
@@ -11,6 +11,7 @@ export { PosLabel as PosLabel } from '../types/components/pos-label/pos-label';
11
11
  export { PosLiterals as PosLiterals } from '../types/components/pos-literals/pos-literals';
12
12
  export { PosLogin as PosLogin } from '../types/components/pos-login/pos-login';
13
13
  export { PosNavigationBar as PosNavigationBar } from '../types/components/pos-navigation-bar/pos-navigation-bar';
14
+ export { PosPdf as PosPdf } from '../types/components/pos-pdf/pos-pdf';
14
15
  export { PosPicture as PosPicture } from '../types/components/pos-picture/pos-picture';
15
16
  export { PosRelations as PosRelations } from '../types/components/pos-relations/pos-relations';
16
17
  export { PosResource as PosResource } from '../types/components/pos-resource/pos-resource';
@@ -107,6 +107,7 @@ export { PosLabel, defineCustomElement as defineCustomElementPosLabel } from './
107
107
  export { PosLiterals, defineCustomElement as defineCustomElementPosLiterals } from './pos-literals.js';
108
108
  export { PosLogin, defineCustomElement as defineCustomElementPosLogin } from './pos-login.js';
109
109
  export { PosNavigationBar, defineCustomElement as defineCustomElementPosNavigationBar } from './pos-navigation-bar.js';
110
+ export { PosPdf, defineCustomElement as defineCustomElementPosPdf } from './pos-pdf.js';
110
111
  export { PosPicture, defineCustomElement as defineCustomElementPosPicture } from './pos-picture.js';
111
112
  export { PosRelations, defineCustomElement as defineCustomElementPosRelations } from './pos-relations.js';
112
113
  export { PosResource, defineCustomElement as defineCustomElementPosResource } from './pos-resource.js';
@@ -1,41 +1,42 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
- import { d as defineCustomElement$L } from './app.js';
3
- import { d as defineCustomElement$K } from './badge.js';
4
- import { d as defineCustomElement$J } from './button.js';
5
- import { d as defineCustomElement$I } from './card.js';
6
- import { d as defineCustomElement$H } from './card-content.js';
7
- import { d as defineCustomElement$G } from './card-header.js';
8
- import { d as defineCustomElement$F } from './card-title.js';
9
- import { d as defineCustomElement$E } from './col.js';
10
- import { d as defineCustomElement$D } from './content.js';
11
- import { d as defineCustomElement$C } from './footer.js';
12
- import { d as defineCustomElement$B } from './grid.js';
13
- import { d as defineCustomElement$A } from './header.js';
14
- import { d as defineCustomElement$z } from './icon.js';
15
- import { d as defineCustomElement$y } from './item.js';
16
- import { d as defineCustomElement$x } from './item-divider.js';
17
- import { d as defineCustomElement$w } from './item-group.js';
18
- import { d as defineCustomElement$v } from './label.js';
19
- import { d as defineCustomElement$u } from './list.js';
20
- import { d as defineCustomElement$t } from './note.js';
21
- import { d as defineCustomElement$s } from './progress-bar.js';
22
- import { d as defineCustomElement$r } from './ripple-effect.js';
23
- import { d as defineCustomElement$q } from './row.js';
24
- import { d as defineCustomElement$p } from './searchbar.js';
25
- import { d as defineCustomElement$o } from './skeleton-text.js';
26
- import { d as defineCustomElement$n } from './title.js';
27
- import { d as defineCustomElement$m } from './toolbar.js';
28
- import { d as defineCustomElement$l } from './pos-app2.js';
29
- import { d as defineCustomElement$k } from './pos-app-generic2.js';
30
- import { d as defineCustomElement$j } from './pos-app-image-viewer2.js';
31
- import { d as defineCustomElement$i } from './pos-app-pdf-viewer2.js';
32
- import { d as defineCustomElement$h } from './pos-app-rdf-document2.js';
33
- import { d as defineCustomElement$g } from './pos-description2.js';
34
- import { d as defineCustomElement$f } from './pos-image2.js';
35
- import { d as defineCustomElement$e } from './pos-label2.js';
36
- import { d as defineCustomElement$d } from './pos-literals2.js';
37
- import { d as defineCustomElement$c } from './pos-login2.js';
38
- import { d as defineCustomElement$b } from './pos-navigation-bar2.js';
2
+ import { d as defineCustomElement$M } from './app.js';
3
+ import { d as defineCustomElement$L } from './badge.js';
4
+ import { d as defineCustomElement$K } from './button.js';
5
+ import { d as defineCustomElement$J } from './card.js';
6
+ import { d as defineCustomElement$I } from './card-content.js';
7
+ import { d as defineCustomElement$H } from './card-header.js';
8
+ import { d as defineCustomElement$G } from './card-title.js';
9
+ import { d as defineCustomElement$F } from './col.js';
10
+ import { d as defineCustomElement$E } from './content.js';
11
+ import { d as defineCustomElement$D } from './footer.js';
12
+ import { d as defineCustomElement$C } from './grid.js';
13
+ import { d as defineCustomElement$B } from './header.js';
14
+ import { d as defineCustomElement$A } from './icon.js';
15
+ import { d as defineCustomElement$z } from './item.js';
16
+ import { d as defineCustomElement$y } from './item-divider.js';
17
+ import { d as defineCustomElement$x } from './item-group.js';
18
+ import { d as defineCustomElement$w } from './label.js';
19
+ import { d as defineCustomElement$v } from './list.js';
20
+ import { d as defineCustomElement$u } from './note.js';
21
+ import { d as defineCustomElement$t } from './progress-bar.js';
22
+ import { d as defineCustomElement$s } from './ripple-effect.js';
23
+ import { d as defineCustomElement$r } from './row.js';
24
+ import { d as defineCustomElement$q } from './searchbar.js';
25
+ import { d as defineCustomElement$p } from './skeleton-text.js';
26
+ import { d as defineCustomElement$o } from './title.js';
27
+ import { d as defineCustomElement$n } from './toolbar.js';
28
+ import { d as defineCustomElement$m } from './pos-app2.js';
29
+ import { d as defineCustomElement$l } from './pos-app-generic2.js';
30
+ import { d as defineCustomElement$k } from './pos-app-image-viewer2.js';
31
+ import { d as defineCustomElement$j } from './pos-app-pdf-viewer2.js';
32
+ import { d as defineCustomElement$i } from './pos-app-rdf-document2.js';
33
+ import { d as defineCustomElement$h } from './pos-description2.js';
34
+ import { d as defineCustomElement$g } from './pos-image2.js';
35
+ import { d as defineCustomElement$f } from './pos-label2.js';
36
+ import { d as defineCustomElement$e } from './pos-literals2.js';
37
+ import { d as defineCustomElement$d } from './pos-login2.js';
38
+ import { d as defineCustomElement$c } from './pos-navigation-bar2.js';
39
+ import { d as defineCustomElement$b } from './pos-pdf2.js';
39
40
  import { d as defineCustomElement$a } from './pos-picture2.js';
40
41
  import { d as defineCustomElement$9 } from './pos-relations2.js';
41
42
  import { d as defineCustomElement$8 } from './pos-resource2.js';
@@ -59,7 +60,7 @@ function defineCustomElement$1() {
59
60
  if (typeof customElements === "undefined") {
60
61
  return;
61
62
  }
62
- const components = ["pos-app-browser", "ion-app", "ion-badge", "ion-button", "ion-card", "ion-card-content", "ion-card-header", "ion-card-title", "ion-col", "ion-content", "ion-footer", "ion-grid", "ion-header", "ion-icon", "ion-item", "ion-item-divider", "ion-item-group", "ion-label", "ion-list", "ion-note", "ion-progress-bar", "ion-ripple-effect", "ion-row", "ion-searchbar", "ion-skeleton-text", "ion-title", "ion-toolbar", "pos-app", "pos-app-generic", "pos-app-image-viewer", "pos-app-pdf-viewer", "pos-app-rdf-document", "pos-description", "pos-image", "pos-label", "pos-literals", "pos-login", "pos-navigation-bar", "pos-picture", "pos-relations", "pos-resource", "pos-reverse-relations", "pos-rich-link", "pos-router", "pos-subjects", "pos-type-badges", "pos-type-router"];
63
+ const components = ["pos-app-browser", "ion-app", "ion-badge", "ion-button", "ion-card", "ion-card-content", "ion-card-header", "ion-card-title", "ion-col", "ion-content", "ion-footer", "ion-grid", "ion-header", "ion-icon", "ion-item", "ion-item-divider", "ion-item-group", "ion-label", "ion-list", "ion-note", "ion-progress-bar", "ion-ripple-effect", "ion-row", "ion-searchbar", "ion-skeleton-text", "ion-title", "ion-toolbar", "pos-app", "pos-app-generic", "pos-app-image-viewer", "pos-app-pdf-viewer", "pos-app-rdf-document", "pos-description", "pos-image", "pos-label", "pos-literals", "pos-login", "pos-navigation-bar", "pos-pdf", "pos-picture", "pos-relations", "pos-resource", "pos-reverse-relations", "pos-rich-link", "pos-router", "pos-subjects", "pos-type-badges", "pos-type-router"];
63
64
  components.forEach(tagName => { switch (tagName) {
64
65
  case "pos-app-browser":
65
66
  if (!customElements.get(tagName)) {
@@ -68,185 +69,190 @@ function defineCustomElement$1() {
68
69
  break;
69
70
  case "ion-app":
70
71
  if (!customElements.get(tagName)) {
71
- defineCustomElement$L();
72
+ defineCustomElement$M();
72
73
  }
73
74
  break;
74
75
  case "ion-badge":
75
76
  if (!customElements.get(tagName)) {
76
- defineCustomElement$K();
77
+ defineCustomElement$L();
77
78
  }
78
79
  break;
79
80
  case "ion-button":
80
81
  if (!customElements.get(tagName)) {
81
- defineCustomElement$J();
82
+ defineCustomElement$K();
82
83
  }
83
84
  break;
84
85
  case "ion-card":
85
86
  if (!customElements.get(tagName)) {
86
- defineCustomElement$I();
87
+ defineCustomElement$J();
87
88
  }
88
89
  break;
89
90
  case "ion-card-content":
90
91
  if (!customElements.get(tagName)) {
91
- defineCustomElement$H();
92
+ defineCustomElement$I();
92
93
  }
93
94
  break;
94
95
  case "ion-card-header":
95
96
  if (!customElements.get(tagName)) {
96
- defineCustomElement$G();
97
+ defineCustomElement$H();
97
98
  }
98
99
  break;
99
100
  case "ion-card-title":
100
101
  if (!customElements.get(tagName)) {
101
- defineCustomElement$F();
102
+ defineCustomElement$G();
102
103
  }
103
104
  break;
104
105
  case "ion-col":
105
106
  if (!customElements.get(tagName)) {
106
- defineCustomElement$E();
107
+ defineCustomElement$F();
107
108
  }
108
109
  break;
109
110
  case "ion-content":
110
111
  if (!customElements.get(tagName)) {
111
- defineCustomElement$D();
112
+ defineCustomElement$E();
112
113
  }
113
114
  break;
114
115
  case "ion-footer":
115
116
  if (!customElements.get(tagName)) {
116
- defineCustomElement$C();
117
+ defineCustomElement$D();
117
118
  }
118
119
  break;
119
120
  case "ion-grid":
120
121
  if (!customElements.get(tagName)) {
121
- defineCustomElement$B();
122
+ defineCustomElement$C();
122
123
  }
123
124
  break;
124
125
  case "ion-header":
125
126
  if (!customElements.get(tagName)) {
126
- defineCustomElement$A();
127
+ defineCustomElement$B();
127
128
  }
128
129
  break;
129
130
  case "ion-icon":
130
131
  if (!customElements.get(tagName)) {
131
- defineCustomElement$z();
132
+ defineCustomElement$A();
132
133
  }
133
134
  break;
134
135
  case "ion-item":
135
136
  if (!customElements.get(tagName)) {
136
- defineCustomElement$y();
137
+ defineCustomElement$z();
137
138
  }
138
139
  break;
139
140
  case "ion-item-divider":
140
141
  if (!customElements.get(tagName)) {
141
- defineCustomElement$x();
142
+ defineCustomElement$y();
142
143
  }
143
144
  break;
144
145
  case "ion-item-group":
145
146
  if (!customElements.get(tagName)) {
146
- defineCustomElement$w();
147
+ defineCustomElement$x();
147
148
  }
148
149
  break;
149
150
  case "ion-label":
150
151
  if (!customElements.get(tagName)) {
151
- defineCustomElement$v();
152
+ defineCustomElement$w();
152
153
  }
153
154
  break;
154
155
  case "ion-list":
155
156
  if (!customElements.get(tagName)) {
156
- defineCustomElement$u();
157
+ defineCustomElement$v();
157
158
  }
158
159
  break;
159
160
  case "ion-note":
160
161
  if (!customElements.get(tagName)) {
161
- defineCustomElement$t();
162
+ defineCustomElement$u();
162
163
  }
163
164
  break;
164
165
  case "ion-progress-bar":
165
166
  if (!customElements.get(tagName)) {
166
- defineCustomElement$s();
167
+ defineCustomElement$t();
167
168
  }
168
169
  break;
169
170
  case "ion-ripple-effect":
170
171
  if (!customElements.get(tagName)) {
171
- defineCustomElement$r();
172
+ defineCustomElement$s();
172
173
  }
173
174
  break;
174
175
  case "ion-row":
175
176
  if (!customElements.get(tagName)) {
176
- defineCustomElement$q();
177
+ defineCustomElement$r();
177
178
  }
178
179
  break;
179
180
  case "ion-searchbar":
180
181
  if (!customElements.get(tagName)) {
181
- defineCustomElement$p();
182
+ defineCustomElement$q();
182
183
  }
183
184
  break;
184
185
  case "ion-skeleton-text":
185
186
  if (!customElements.get(tagName)) {
186
- defineCustomElement$o();
187
+ defineCustomElement$p();
187
188
  }
188
189
  break;
189
190
  case "ion-title":
190
191
  if (!customElements.get(tagName)) {
191
- defineCustomElement$n();
192
+ defineCustomElement$o();
192
193
  }
193
194
  break;
194
195
  case "ion-toolbar":
195
196
  if (!customElements.get(tagName)) {
196
- defineCustomElement$m();
197
+ defineCustomElement$n();
197
198
  }
198
199
  break;
199
200
  case "pos-app":
200
201
  if (!customElements.get(tagName)) {
201
- defineCustomElement$l();
202
+ defineCustomElement$m();
202
203
  }
203
204
  break;
204
205
  case "pos-app-generic":
205
206
  if (!customElements.get(tagName)) {
206
- defineCustomElement$k();
207
+ defineCustomElement$l();
207
208
  }
208
209
  break;
209
210
  case "pos-app-image-viewer":
210
211
  if (!customElements.get(tagName)) {
211
- defineCustomElement$j();
212
+ defineCustomElement$k();
212
213
  }
213
214
  break;
214
215
  case "pos-app-pdf-viewer":
215
216
  if (!customElements.get(tagName)) {
216
- defineCustomElement$i();
217
+ defineCustomElement$j();
217
218
  }
218
219
  break;
219
220
  case "pos-app-rdf-document":
220
221
  if (!customElements.get(tagName)) {
221
- defineCustomElement$h();
222
+ defineCustomElement$i();
222
223
  }
223
224
  break;
224
225
  case "pos-description":
225
226
  if (!customElements.get(tagName)) {
226
- defineCustomElement$g();
227
+ defineCustomElement$h();
227
228
  }
228
229
  break;
229
230
  case "pos-image":
230
231
  if (!customElements.get(tagName)) {
231
- defineCustomElement$f();
232
+ defineCustomElement$g();
232
233
  }
233
234
  break;
234
235
  case "pos-label":
235
236
  if (!customElements.get(tagName)) {
236
- defineCustomElement$e();
237
+ defineCustomElement$f();
237
238
  }
238
239
  break;
239
240
  case "pos-literals":
240
241
  if (!customElements.get(tagName)) {
241
- defineCustomElement$d();
242
+ defineCustomElement$e();
242
243
  }
243
244
  break;
244
245
  case "pos-login":
245
246
  if (!customElements.get(tagName)) {
246
- defineCustomElement$c();
247
+ defineCustomElement$d();
247
248
  }
248
249
  break;
249
250
  case "pos-navigation-bar":
251
+ if (!customElements.get(tagName)) {
252
+ defineCustomElement$c();
253
+ }
254
+ break;
255
+ case "pos-pdf":
250
256
  if (!customElements.get(tagName)) {
251
257
  defineCustomElement$b();
252
258
  }