@pod-os/elements 0.37.0-rc.c8b54d1.0 → 0.37.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 (144) hide show
  1. package/dist/cjs/{chunk.URTPIBTY-DdK9pL5v.js → chunk.URTPIBTY-DcQsb_nW.js} +2 -2
  2. package/dist/cjs/{chunk.XQ2OKYYA-DEkhm1i7.js → chunk.XQ2OKYYA-D224sdKt.js} +3 -3
  3. package/dist/cjs/{chunk.ZGGPD2XJ-uKZZdqOH.js → chunk.ZGGPD2XJ-Cj6xUx2M.js} +1 -1
  4. package/dist/cjs/{class-map-DAZXfKKA.js → class-map-Nx8L8ElN.js} +1 -1
  5. package/dist/cjs/elements.cjs.js +3 -3
  6. package/dist/cjs/{index-DCpu_nnH.js → index-Be_lnf0w.js} +547 -2001
  7. package/dist/cjs/{index-FUnpyb19.js → index-OR1wNkjG.js} +1052 -489
  8. package/dist/cjs/{jsonld-V2RB47OZ-BerQ9IRa.js → jsonld-V2RB47OZ-B82QNsYZ.js} +1 -1
  9. package/dist/cjs/loader.cjs.js +2 -2
  10. package/dist/cjs/pos-add-literal-value_3.cjs.entry.js +6 -6
  11. package/dist/cjs/{pos-add-new-thing_31.cjs.entry.js → pos-add-new-thing_32.cjs.entry.js} +411 -227
  12. package/dist/cjs/pos-app-document-viewer.cjs.entry.js +1 -1
  13. package/dist/cjs/pos-app-generic.cjs.entry.js +1 -1
  14. package/dist/cjs/pos-app-image-viewer.cjs.entry.js +1 -1
  15. package/dist/cjs/pos-app-ldp-container.cjs.entry.js +1 -1
  16. package/dist/cjs/pos-app-rdf-document.cjs.entry.js +1 -1
  17. package/dist/cjs/pos-attachments.cjs.entry.js +2 -2
  18. package/dist/cjs/pos-case.cjs.entry.js +24 -0
  19. package/dist/cjs/pos-container-contents.cjs.entry.js +13 -4
  20. package/dist/cjs/pos-container-item_3.cjs.entry.js +4 -4
  21. package/dist/cjs/pos-document.cjs.entry.js +4 -4
  22. package/dist/cjs/pos-list.cjs.entry.js +1 -1
  23. package/dist/cjs/pos-markdown-document.cjs.entry.js +442 -2327
  24. package/dist/cjs/pos-relations_2.cjs.entry.js +1 -1
  25. package/dist/cjs/pos-subjects.cjs.entry.js +2 -2
  26. package/dist/cjs/pos-switch.cjs.entry.js +64 -0
  27. package/dist/cjs/pos-tool-attachments.cjs.entry.js +2 -2
  28. package/dist/cjs/pos-value.cjs.entry.js +1 -1
  29. package/dist/collection/collection-manifest.json +5 -1
  30. package/dist/collection/components/pos-app/pos-app.js +2 -1
  31. package/dist/collection/components/pos-attachments/pos-attachments.js +2 -1
  32. package/dist/collection/components/pos-container-contents/pos-container-contents.js +10 -1
  33. package/dist/collection/components/pos-container-contents/pos-create-new-container-item/pos-create-new-container-item.js +4 -2
  34. package/dist/collection/components/pos-markdown-document/pos-markdown-document.js +2 -1
  35. package/dist/collection/components/pos-navigation/bar/pos-navigation-bar.css +42 -22
  36. package/dist/collection/components/pos-navigation/bar/pos-navigation-bar.js +3 -2
  37. package/dist/collection/components/pos-new-thing-form/pos-new-thing-form.js +1 -1
  38. package/dist/collection/components/pos-router/pos-router.js +1 -1
  39. package/dist/collection/components/pos-select-term/pos-select-term.js +1 -1
  40. package/dist/collection/components/pos-share/openNewTab.js +3 -0
  41. package/dist/collection/components/pos-share/pos-share.css +36 -0
  42. package/dist/collection/components/pos-share/pos-share.js +111 -0
  43. package/dist/collection/components/pos-switch/pos-case/pos-case.js +88 -0
  44. package/dist/collection/components/pos-switch/pos-switch.js +89 -0
  45. package/dist/collection/components/pos-tool-select/pos-tool-select.js +6 -3
  46. package/dist/collection/components/pos-upload/pos-upload.js +7 -4
  47. package/dist/collection/components/pos-user-menu/pos-user-menu.js +1 -1
  48. package/dist/collection/tools/pos-tool-attachments/pos-tool-attachments.js +1 -1
  49. package/dist/components/chunk.IVVHNXMC.js +20 -0
  50. package/dist/components/index.js +1 -1
  51. package/dist/components/index2.js +2 -2
  52. package/dist/components/pos-add-literal-value2.js +1 -1
  53. package/dist/components/pos-app-browser.js +1 -1
  54. package/dist/components/pos-attachments2.js +1 -1
  55. package/dist/components/pos-case.d.ts +11 -0
  56. package/dist/components/pos-case.js +1 -0
  57. package/dist/components/pos-container-contents2.js +1 -1
  58. package/dist/components/pos-make-findable2.js +1 -1
  59. package/dist/components/pos-markdown-document2.js +1 -1
  60. package/dist/components/pos-navigation-bar2.js +1 -1
  61. package/dist/components/pos-navigation2.js +1 -1
  62. package/dist/components/pos-new-thing-form2.js +1 -1
  63. package/dist/components/pos-router2.js +1 -1
  64. package/dist/components/pos-select-term2.js +1 -1
  65. package/dist/components/pos-share.d.ts +11 -0
  66. package/dist/components/pos-share.js +1 -0
  67. package/dist/components/pos-share2.js +1 -0
  68. package/dist/components/pos-switch.d.ts +11 -0
  69. package/dist/components/pos-switch.js +1 -0
  70. package/dist/components/pos-tool-attachments.js +1 -1
  71. package/dist/components/pos-tool-select2.js +1 -1
  72. package/dist/components/pos-type-index-entries2.js +1 -1
  73. package/dist/components/pos-upload2.js +12 -3
  74. package/dist/components/pos-user-menu2.js +6 -25
  75. package/dist/elements/elements.esm.js +1 -1
  76. package/dist/elements/{p-6561f1b7.entry.js → p-03464a71.entry.js} +1 -1
  77. package/dist/elements/{p-52a612ed.entry.js → p-272209e3.entry.js} +1 -1
  78. package/dist/elements/{p-a9a18aa8.entry.js → p-38aa17bc.entry.js} +1 -1
  79. package/dist/elements/p-3a890f5f.entry.js +1 -0
  80. package/dist/elements/{p-9ad80b52.entry.js → p-4cd2f9da.entry.js} +1 -1
  81. package/dist/elements/{p-0e7413e6.entry.js → p-5126fb6e.entry.js} +1 -1
  82. package/dist/elements/p-53610ccd.entry.js +1 -0
  83. package/dist/elements/{p-b5d64c6f.entry.js → p-631976a8.entry.js} +1 -1
  84. package/dist/elements/{p-fe628201.entry.js → p-6d628d74.entry.js} +1 -1
  85. package/dist/elements/{p-b363349c.entry.js → p-7c3785d8.entry.js} +1 -1
  86. package/dist/elements/p-8934c5ea.entry.js +1 -0
  87. package/dist/elements/p-8e76e9dc.entry.js +1 -0
  88. package/dist/elements/{p-3e18b5dd.entry.js → p-9bf6c310.entry.js} +1 -1
  89. package/dist/elements/{p-Doy_38_j.js → p-BLUiM5OK.js} +1 -1
  90. package/dist/elements/{p-BkAnMOpW.js → p-CSTMd_cW.js} +2 -2
  91. package/dist/elements/{p-CrxYqX8r.js → p-CVwgVrbO.js} +7 -7
  92. package/dist/elements/{p-8ggjG2YF.js → p-CnIOZlf7.js} +1 -1
  93. package/dist/elements/p-DHl0QGLf.js +67 -0
  94. package/dist/elements/p-DzbCx-pP.js +2 -0
  95. package/dist/elements/{p-c8ee910c.entry.js → p-a1dd6b42.entry.js} +1 -1
  96. package/dist/elements/p-ab4eba43.entry.js +859 -0
  97. package/dist/elements/{p-dff14248.entry.js → p-c7032012.entry.js} +1 -1
  98. package/dist/elements/{p-a20b72d8.entry.js → p-d396cc56.entry.js} +1 -1
  99. package/dist/elements/p-dc4c38c8.entry.js +1 -0
  100. package/dist/elements/{p-0a087865.entry.js → p-e0660718.entry.js} +1 -1
  101. package/dist/elements/{p-8q-RA2Uq.js → p-mIPOXLnA.js} +3 -3
  102. package/dist/esm/{chunk.URTPIBTY-CNA3-SLq.js → chunk.URTPIBTY-yxgfEQ1K.js} +2 -2
  103. package/dist/esm/{chunk.XQ2OKYYA-CXNlpYUG.js → chunk.XQ2OKYYA-Cr3bMzqn.js} +3 -3
  104. package/dist/esm/{chunk.ZGGPD2XJ-BjT6fS1o.js → chunk.ZGGPD2XJ-SJISSXOc.js} +1 -1
  105. package/dist/esm/{class-map-CUYFUkXU.js → class-map-DEweE_Cr.js} +1 -1
  106. package/dist/esm/elements.js +4 -4
  107. package/dist/esm/{index-DFqG64hG.js → index-CXK32bJz.js} +1052 -489
  108. package/dist/esm/{index-VMHzF3uY.js → index-DzbCx-pP.js} +547 -2001
  109. package/dist/esm/{jsonld-V2RB47OZ-CaIJ08AA.js → jsonld-V2RB47OZ-BbN7F0s8.js} +1 -1
  110. package/dist/esm/loader.js +3 -3
  111. package/dist/esm/pos-add-literal-value_3.entry.js +6 -6
  112. package/dist/esm/{pos-add-new-thing_31.entry.js → pos-add-new-thing_32.entry.js} +411 -228
  113. package/dist/esm/pos-app-document-viewer.entry.js +1 -1
  114. package/dist/esm/pos-app-generic.entry.js +1 -1
  115. package/dist/esm/pos-app-image-viewer.entry.js +1 -1
  116. package/dist/esm/pos-app-ldp-container.entry.js +1 -1
  117. package/dist/esm/pos-app-rdf-document.entry.js +1 -1
  118. package/dist/esm/pos-attachments.entry.js +2 -2
  119. package/dist/esm/pos-case.entry.js +22 -0
  120. package/dist/esm/pos-container-contents.entry.js +12 -3
  121. package/dist/esm/pos-container-item_3.entry.js +4 -4
  122. package/dist/esm/pos-document.entry.js +4 -4
  123. package/dist/esm/pos-list.entry.js +1 -1
  124. package/dist/esm/pos-markdown-document.entry.js +442 -2327
  125. package/dist/esm/pos-relations_2.entry.js +1 -1
  126. package/dist/esm/pos-subjects.entry.js +2 -2
  127. package/dist/esm/pos-switch.entry.js +62 -0
  128. package/dist/esm/pos-tool-attachments.entry.js +2 -2
  129. package/dist/esm/pos-value.entry.js +1 -1
  130. package/dist/jest-setup.js +4 -0
  131. package/dist/types/components/pos-container-contents/pos-container-contents.d.ts +2 -0
  132. package/dist/types/components/pos-share/openNewTab.d.ts +1 -0
  133. package/dist/types/components/pos-share/pos-share.d.ts +28 -0
  134. package/dist/types/components/pos-switch/pos-case/pos-case.d.ts +22 -0
  135. package/dist/types/components/pos-switch/pos-switch.d.ts +19 -0
  136. package/dist/types/components.d.ts +300 -74
  137. package/dist/types/stencil-public-runtime.d.ts +52 -2
  138. package/package.json +13 -12
  139. package/dist/elements/p-637a38d9.entry.js +0 -1
  140. package/dist/elements/p-701f2c84.entry.js +0 -850
  141. package/dist/elements/p-9b74c400.entry.js +0 -1
  142. package/dist/elements/p-LoCE14bN.js +0 -67
  143. package/dist/elements/p-VMHzF3uY.js +0 -2
  144. package/dist/elements/p-ac17ed6a.entry.js +0 -1
@@ -58,6 +58,24 @@ export namespace Components {
58
58
  */
59
59
  "addToList": (attachment: Attachment) => Promise<void>;
60
60
  }
61
+ /**
62
+ * Defines a template to use if the specified condition is met - to be used with [pos-switch](https://pod-os.org/reference/elements/components/pos-switch/).
63
+ * See [storybook](https://pod-os.github.io/PodOS/storybook/?path=/story/basics--pos-switch) for an example.
64
+ */
65
+ interface PosCase {
66
+ /**
67
+ * The test only evaluates to true if tests for preceding cases have failed
68
+ */
69
+ "else"?: boolean;
70
+ /**
71
+ * Test if the resource is of the specified type
72
+ */
73
+ "ifTypeof"?: string;
74
+ /**
75
+ * Negates the result of the test
76
+ */
77
+ "not"?: boolean;
78
+ }
61
79
  interface PosContainerContents {
62
80
  }
63
81
  interface PosContainerItem {
@@ -251,8 +269,24 @@ export namespace Components {
251
269
  }
252
270
  interface PosSettingOfflineCache {
253
271
  }
272
+ /**
273
+ * Allows sharing a resource with other apps, people, etc.
274
+ */
275
+ interface PosShare {
276
+ /**
277
+ * URI of the resource to share.
278
+ */
279
+ "uri": string;
280
+ }
254
281
  interface PosSubjects {
255
282
  }
283
+ /**
284
+ * Selects a child template to render based on properties of the subject resource, usually defined by an ancestor `pos-resource` element.
285
+ * See [storybook](https://pod-os.github.io/PodOS/storybook/?path=/story/basics--pos-switch) for an example.
286
+ * See [pos-case](https://pod-os.org/reference/elements/components/pos-switch/pos-case/) for available filter conditions.
287
+ */
288
+ interface PosSwitch {
289
+ }
256
290
  /**
257
291
  * A tool to manage attachments of a thing.
258
292
  */
@@ -424,6 +458,10 @@ export interface PosSubjectsCustomEvent<T> extends CustomEvent<T> {
424
458
  detail: T;
425
459
  target: HTMLPosSubjectsElement;
426
460
  }
461
+ export interface PosSwitchCustomEvent<T> extends CustomEvent<T> {
462
+ detail: T;
463
+ target: HTMLPosSwitchElement;
464
+ }
427
465
  export interface PosToolSelectCustomEvent<T> extends CustomEvent<T> {
428
466
  detail: T;
429
467
  target: HTMLPosToolSelectElement;
@@ -571,6 +609,16 @@ declare global {
571
609
  prototype: HTMLPosAttachmentsElement;
572
610
  new (): HTMLPosAttachmentsElement;
573
611
  };
612
+ /**
613
+ * Defines a template to use if the specified condition is met - to be used with [pos-switch](https://pod-os.org/reference/elements/components/pos-switch/).
614
+ * See [storybook](https://pod-os.github.io/PodOS/storybook/?path=/story/basics--pos-switch) for an example.
615
+ */
616
+ interface HTMLPosCaseElement extends Components.PosCase, HTMLStencilElement {
617
+ }
618
+ var HTMLPosCaseElement: {
619
+ prototype: HTMLPosCaseElement;
620
+ new (): HTMLPosCaseElement;
621
+ };
574
622
  interface HTMLPosContainerContentsElementEventMap {
575
623
  "pod-os:resource": any;
576
624
  }
@@ -1070,6 +1118,15 @@ declare global {
1070
1118
  prototype: HTMLPosSettingOfflineCacheElement;
1071
1119
  new (): HTMLPosSettingOfflineCacheElement;
1072
1120
  };
1121
+ /**
1122
+ * Allows sharing a resource with other apps, people, etc.
1123
+ */
1124
+ interface HTMLPosShareElement extends Components.PosShare, HTMLStencilElement {
1125
+ }
1126
+ var HTMLPosShareElement: {
1127
+ prototype: HTMLPosShareElement;
1128
+ new (): HTMLPosShareElement;
1129
+ };
1073
1130
  interface HTMLPosSubjectsElementEventMap {
1074
1131
  "pod-os:resource": any;
1075
1132
  }
@@ -1087,6 +1144,28 @@ declare global {
1087
1144
  prototype: HTMLPosSubjectsElement;
1088
1145
  new (): HTMLPosSubjectsElement;
1089
1146
  };
1147
+ interface HTMLPosSwitchElementEventMap {
1148
+ "pod-os:resource": any;
1149
+ }
1150
+ /**
1151
+ * Selects a child template to render based on properties of the subject resource, usually defined by an ancestor `pos-resource` element.
1152
+ * See [storybook](https://pod-os.github.io/PodOS/storybook/?path=/story/basics--pos-switch) for an example.
1153
+ * See [pos-case](https://pod-os.org/reference/elements/components/pos-switch/pos-case/) for available filter conditions.
1154
+ */
1155
+ interface HTMLPosSwitchElement extends Components.PosSwitch, HTMLStencilElement {
1156
+ addEventListener<K extends keyof HTMLPosSwitchElementEventMap>(type: K, listener: (this: HTMLPosSwitchElement, ev: PosSwitchCustomEvent<HTMLPosSwitchElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1157
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1158
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1159
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1160
+ removeEventListener<K extends keyof HTMLPosSwitchElementEventMap>(type: K, listener: (this: HTMLPosSwitchElement, ev: PosSwitchCustomEvent<HTMLPosSwitchElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1161
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1162
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1163
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1164
+ }
1165
+ var HTMLPosSwitchElement: {
1166
+ prototype: HTMLPosSwitchElement;
1167
+ new (): HTMLPosSwitchElement;
1168
+ };
1090
1169
  /**
1091
1170
  * A tool to manage attachments of a thing.
1092
1171
  */
@@ -1217,6 +1296,7 @@ declare global {
1217
1296
  "pos-app-rdf-document": HTMLPosAppRdfDocumentElement;
1218
1297
  "pos-app-settings": HTMLPosAppSettingsElement;
1219
1298
  "pos-attachments": HTMLPosAttachmentsElement;
1299
+ "pos-case": HTMLPosCaseElement;
1220
1300
  "pos-container-contents": HTMLPosContainerContentsElement;
1221
1301
  "pos-container-item": HTMLPosContainerItemElement;
1222
1302
  "pos-container-toolbar": HTMLPosContainerToolbarElement;
@@ -1248,7 +1328,9 @@ declare global {
1248
1328
  "pos-router": HTMLPosRouterElement;
1249
1329
  "pos-select-term": HTMLPosSelectTermElement;
1250
1330
  "pos-setting-offline-cache": HTMLPosSettingOfflineCacheElement;
1331
+ "pos-share": HTMLPosShareElement;
1251
1332
  "pos-subjects": HTMLPosSubjectsElement;
1333
+ "pos-switch": HTMLPosSwitchElement;
1252
1334
  "pos-tool-attachments": HTMLPosToolAttachmentsElement;
1253
1335
  "pos-tool-select": HTMLPosToolSelectElement;
1254
1336
  "pos-type-badges": HTMLPosTypeBadgesElement;
@@ -1260,6 +1342,8 @@ declare global {
1260
1342
  }
1261
1343
  }
1262
1344
  declare namespace LocalJSX {
1345
+ type OneOf<K extends string, PropT, AttrT = PropT> = { [P in K]: PropT } & { [P in `attr:${K}` | `prop:${K}`]?: never } | { [P in `attr:${K}`]: AttrT } & { [P in K | `prop:${K}`]?: never } | { [P in `prop:${K}`]: PropT } & { [P in K | `attr:${K}`]?: never };
1346
+
1263
1347
  interface PosAddLiteralValue {
1264
1348
  /**
1265
1349
  * The entered literal value has been added to the resource and successfully stored to the Pod.
@@ -1324,6 +1408,24 @@ declare namespace LocalJSX {
1324
1408
  */
1325
1409
  interface PosAttachments {
1326
1410
  }
1411
+ /**
1412
+ * Defines a template to use if the specified condition is met - to be used with [pos-switch](https://pod-os.org/reference/elements/components/pos-switch/).
1413
+ * See [storybook](https://pod-os.github.io/PodOS/storybook/?path=/story/basics--pos-switch) for an example.
1414
+ */
1415
+ interface PosCase {
1416
+ /**
1417
+ * The test only evaluates to true if tests for preceding cases have failed
1418
+ */
1419
+ "else"?: boolean;
1420
+ /**
1421
+ * Test if the resource is of the specified type
1422
+ */
1423
+ "ifTypeof"?: string;
1424
+ /**
1425
+ * Negates the result of the test
1426
+ */
1427
+ "not"?: boolean;
1428
+ }
1327
1429
  interface PosContainerContents {
1328
1430
  "onPod-os:resource"?: (event: PosContainerContentsCustomEvent<any>) => void;
1329
1431
  }
@@ -1572,9 +1674,26 @@ declare namespace LocalJSX {
1572
1674
  }
1573
1675
  interface PosSettingOfflineCache {
1574
1676
  }
1677
+ /**
1678
+ * Allows sharing a resource with other apps, people, etc.
1679
+ */
1680
+ interface PosShare {
1681
+ /**
1682
+ * URI of the resource to share.
1683
+ */
1684
+ "uri": string;
1685
+ }
1575
1686
  interface PosSubjects {
1576
1687
  "onPod-os:resource"?: (event: PosSubjectsCustomEvent<any>) => void;
1577
1688
  }
1689
+ /**
1690
+ * Selects a child template to render based on properties of the subject resource, usually defined by an ancestor `pos-resource` element.
1691
+ * See [storybook](https://pod-os.github.io/PodOS/storybook/?path=/story/basics--pos-switch) for an example.
1692
+ * See [pos-case](https://pod-os.org/reference/elements/components/pos-switch/pos-case/) for available filter conditions.
1693
+ */
1694
+ interface PosSwitch {
1695
+ "onPod-os:resource"?: (event: PosSwitchCustomEvent<any>) => void;
1696
+ }
1578
1697
  /**
1579
1698
  * A tool to manage attachments of a thing.
1580
1699
  */
@@ -1631,11 +1750,100 @@ declare namespace LocalJSX {
1631
1750
  */
1632
1751
  "predicate"?: string;
1633
1752
  }
1753
+
1754
+ interface PosAddNewThingAttributes {
1755
+ "referenceUri": string;
1756
+ }
1757
+ interface PosAppAttributes {
1758
+ "restorePreviousSession": boolean;
1759
+ }
1760
+ interface PosAppBrowserAttributes {
1761
+ "restorePreviousSession": boolean;
1762
+ "mode": 'standalone' | 'pod';
1763
+ }
1764
+ interface PosCaseAttributes {
1765
+ "ifTypeof": string;
1766
+ "not": boolean;
1767
+ "else": boolean;
1768
+ }
1769
+ interface PosCreateNewContainerItemAttributes {
1770
+ "type": 'file' | 'folder';
1771
+ }
1772
+ interface PosDocumentAttributes {
1773
+ "src": string;
1774
+ "alt": string;
1775
+ }
1776
+ interface PosImageAttributes {
1777
+ "src": string;
1778
+ "alt": string;
1779
+ "blurredBackground": boolean;
1780
+ }
1781
+ interface PosInternalRouterAttributes {
1782
+ "uri": string;
1783
+ }
1784
+ interface PosListAttributes {
1785
+ "rel": string;
1786
+ "ifTypeof": string;
1787
+ "fetch": boolean;
1788
+ }
1789
+ interface PosMakeFindableAttributes {
1790
+ "uri": string;
1791
+ }
1792
+ interface PosMarkdownDocumentAttributes {
1793
+ "saveStatus": 'idle' | 'saving' | 'failed';
1794
+ "editable": boolean;
1795
+ }
1796
+ interface PosNavigationAttributes {
1797
+ "uri": string;
1798
+ }
1799
+ interface PosNavigationBarAttributes {
1800
+ "searchIndexReady": boolean;
1801
+ }
1802
+ interface PosNewThingFormAttributes {
1803
+ "referenceUri": string;
1804
+ }
1805
+ interface PosPictureAttributes {
1806
+ "blurredBackground": boolean;
1807
+ "noUpload": boolean;
1808
+ }
1809
+ interface PosPredicateAttributes {
1810
+ "uri": string;
1811
+ "label": string;
1812
+ }
1813
+ interface PosResourceAttributes {
1814
+ "uri": string;
1815
+ "lazy": boolean;
1816
+ }
1817
+ interface PosRichLinkAttributes {
1818
+ "uri": string;
1819
+ "rel": string;
1820
+ "rev": string;
1821
+ }
1822
+ interface PosRouterAttributes {
1823
+ "mode": 'standalone' | 'pod';
1824
+ }
1825
+ interface PosSelectTermAttributes {
1826
+ "placeholder": string;
1827
+ "value": string;
1828
+ }
1829
+ interface PosShareAttributes {
1830
+ "uri": string;
1831
+ }
1832
+ interface PosTypeIndexEntriesAttributes {
1833
+ "uri": string;
1834
+ }
1835
+ interface PosUserMenuAttributes {
1836
+ "webId": string;
1837
+ }
1838
+ interface PosValueAttributes {
1839
+ "predicate": string;
1840
+ }
1841
+
1634
1842
  interface IntrinsicElements {
1635
1843
  "pos-add-literal-value": PosAddLiteralValue;
1636
- "pos-add-new-thing": PosAddNewThing;
1637
- "pos-app": PosApp;
1638
- "pos-app-browser": PosAppBrowser;
1844
+ "pos-add-new-thing": Omit<PosAddNewThing, keyof PosAddNewThingAttributes> & { [K in keyof PosAddNewThing & keyof PosAddNewThingAttributes]?: PosAddNewThing[K] } & { [K in keyof PosAddNewThing & keyof PosAddNewThingAttributes as `attr:${K}`]?: PosAddNewThingAttributes[K] } & { [K in keyof PosAddNewThing & keyof PosAddNewThingAttributes as `prop:${K}`]?: PosAddNewThing[K] } & OneOf<"referenceUri", PosAddNewThing["referenceUri"], PosAddNewThingAttributes["referenceUri"]>;
1845
+ "pos-app": Omit<PosApp, keyof PosAppAttributes> & { [K in keyof PosApp & keyof PosAppAttributes]?: PosApp[K] } & { [K in keyof PosApp & keyof PosAppAttributes as `attr:${K}`]?: PosAppAttributes[K] } & { [K in keyof PosApp & keyof PosAppAttributes as `prop:${K}`]?: PosApp[K] };
1846
+ "pos-app-browser": Omit<PosAppBrowser, keyof PosAppBrowserAttributes> & { [K in keyof PosAppBrowser & keyof PosAppBrowserAttributes]?: PosAppBrowser[K] } & { [K in keyof PosAppBrowser & keyof PosAppBrowserAttributes as `attr:${K}`]?: PosAppBrowserAttributes[K] } & { [K in keyof PosAppBrowser & keyof PosAppBrowserAttributes as `prop:${K}`]?: PosAppBrowser[K] };
1639
1847
  "pos-app-dashboard": PosAppDashboard;
1640
1848
  "pos-app-document-viewer": PosAppDocumentViewer;
1641
1849
  "pos-app-generic": PosAppGeneric;
@@ -1644,141 +1852,159 @@ declare namespace LocalJSX {
1644
1852
  "pos-app-rdf-document": PosAppRdfDocument;
1645
1853
  "pos-app-settings": PosAppSettings;
1646
1854
  "pos-attachments": PosAttachments;
1855
+ "pos-case": Omit<PosCase, keyof PosCaseAttributes> & { [K in keyof PosCase & keyof PosCaseAttributes]?: PosCase[K] } & { [K in keyof PosCase & keyof PosCaseAttributes as `attr:${K}`]?: PosCaseAttributes[K] } & { [K in keyof PosCase & keyof PosCaseAttributes as `prop:${K}`]?: PosCase[K] };
1647
1856
  "pos-container-contents": PosContainerContents;
1648
1857
  "pos-container-item": PosContainerItem;
1649
1858
  "pos-container-toolbar": PosContainerToolbar;
1650
- "pos-create-new-container-item": PosCreateNewContainerItem;
1859
+ "pos-create-new-container-item": Omit<PosCreateNewContainerItem, keyof PosCreateNewContainerItemAttributes> & { [K in keyof PosCreateNewContainerItem & keyof PosCreateNewContainerItemAttributes]?: PosCreateNewContainerItem[K] } & { [K in keyof PosCreateNewContainerItem & keyof PosCreateNewContainerItemAttributes as `attr:${K}`]?: PosCreateNewContainerItemAttributes[K] } & { [K in keyof PosCreateNewContainerItem & keyof PosCreateNewContainerItemAttributes as `prop:${K}`]?: PosCreateNewContainerItem[K] } & OneOf<"type", PosCreateNewContainerItem["type"], PosCreateNewContainerItemAttributes["type"]>;
1651
1860
  "pos-description": PosDescription;
1652
1861
  "pos-dialog": PosDialog;
1653
- "pos-document": PosDocument;
1862
+ "pos-document": Omit<PosDocument, keyof PosDocumentAttributes> & { [K in keyof PosDocument & keyof PosDocumentAttributes]?: PosDocument[K] } & { [K in keyof PosDocument & keyof PosDocumentAttributes as `attr:${K}`]?: PosDocumentAttributes[K] } & { [K in keyof PosDocument & keyof PosDocumentAttributes as `prop:${K}`]?: PosDocument[K] };
1654
1863
  "pos-error-toast": PosErrorToast;
1655
1864
  "pos-example-resources": PosExampleResources;
1656
1865
  "pos-getting-started": PosGettingStarted;
1657
- "pos-image": PosImage;
1658
- "pos-internal-router": PosInternalRouter;
1866
+ "pos-image": Omit<PosImage, keyof PosImageAttributes> & { [K in keyof PosImage & keyof PosImageAttributes]?: PosImage[K] } & { [K in keyof PosImage & keyof PosImageAttributes as `attr:${K}`]?: PosImageAttributes[K] } & { [K in keyof PosImage & keyof PosImageAttributes as `prop:${K}`]?: PosImage[K] };
1867
+ "pos-internal-router": Omit<PosInternalRouter, keyof PosInternalRouterAttributes> & { [K in keyof PosInternalRouter & keyof PosInternalRouterAttributes]?: PosInternalRouter[K] } & { [K in keyof PosInternalRouter & keyof PosInternalRouterAttributes as `attr:${K}`]?: PosInternalRouterAttributes[K] } & { [K in keyof PosInternalRouter & keyof PosInternalRouterAttributes as `prop:${K}`]?: PosInternalRouter[K] };
1659
1868
  "pos-label": PosLabel;
1660
- "pos-list": PosList;
1869
+ "pos-list": Omit<PosList, keyof PosListAttributes> & { [K in keyof PosList & keyof PosListAttributes]?: PosList[K] } & { [K in keyof PosList & keyof PosListAttributes as `attr:${K}`]?: PosListAttributes[K] } & { [K in keyof PosList & keyof PosListAttributes as `prop:${K}`]?: PosList[K] };
1661
1870
  "pos-literals": PosLiterals;
1662
1871
  "pos-login": PosLogin;
1663
1872
  "pos-login-form": PosLoginForm;
1664
- "pos-make-findable": PosMakeFindable;
1665
- "pos-markdown-document": PosMarkdownDocument;
1666
- "pos-navigation": PosNavigation;
1667
- "pos-navigation-bar": PosNavigationBar;
1668
- "pos-new-thing-form": PosNewThingForm;
1669
- "pos-picture": PosPicture;
1670
- "pos-predicate": PosPredicate;
1873
+ "pos-make-findable": Omit<PosMakeFindable, keyof PosMakeFindableAttributes> & { [K in keyof PosMakeFindable & keyof PosMakeFindableAttributes]?: PosMakeFindable[K] } & { [K in keyof PosMakeFindable & keyof PosMakeFindableAttributes as `attr:${K}`]?: PosMakeFindableAttributes[K] } & { [K in keyof PosMakeFindable & keyof PosMakeFindableAttributes as `prop:${K}`]?: PosMakeFindable[K] } & OneOf<"uri", PosMakeFindable["uri"], PosMakeFindableAttributes["uri"]>;
1874
+ "pos-markdown-document": Omit<PosMarkdownDocument, keyof PosMarkdownDocumentAttributes> & { [K in keyof PosMarkdownDocument & keyof PosMarkdownDocumentAttributes]?: PosMarkdownDocument[K] } & { [K in keyof PosMarkdownDocument & keyof PosMarkdownDocumentAttributes as `attr:${K}`]?: PosMarkdownDocumentAttributes[K] } & { [K in keyof PosMarkdownDocument & keyof PosMarkdownDocumentAttributes as `prop:${K}`]?: PosMarkdownDocument[K] };
1875
+ "pos-navigation": Omit<PosNavigation, keyof PosNavigationAttributes> & { [K in keyof PosNavigation & keyof PosNavigationAttributes]?: PosNavigation[K] } & { [K in keyof PosNavigation & keyof PosNavigationAttributes as `attr:${K}`]?: PosNavigationAttributes[K] } & { [K in keyof PosNavigation & keyof PosNavigationAttributes as `prop:${K}`]?: PosNavigation[K] };
1876
+ "pos-navigation-bar": Omit<PosNavigationBar, keyof PosNavigationBarAttributes> & { [K in keyof PosNavigationBar & keyof PosNavigationBarAttributes]?: PosNavigationBar[K] } & { [K in keyof PosNavigationBar & keyof PosNavigationBarAttributes as `attr:${K}`]?: PosNavigationBarAttributes[K] } & { [K in keyof PosNavigationBar & keyof PosNavigationBarAttributes as `prop:${K}`]?: PosNavigationBar[K] };
1877
+ "pos-new-thing-form": Omit<PosNewThingForm, keyof PosNewThingFormAttributes> & { [K in keyof PosNewThingForm & keyof PosNewThingFormAttributes]?: PosNewThingForm[K] } & { [K in keyof PosNewThingForm & keyof PosNewThingFormAttributes as `attr:${K}`]?: PosNewThingFormAttributes[K] } & { [K in keyof PosNewThingForm & keyof PosNewThingFormAttributes as `prop:${K}`]?: PosNewThingForm[K] } & OneOf<"referenceUri", PosNewThingForm["referenceUri"], PosNewThingFormAttributes["referenceUri"]>;
1878
+ "pos-picture": Omit<PosPicture, keyof PosPictureAttributes> & { [K in keyof PosPicture & keyof PosPictureAttributes]?: PosPicture[K] } & { [K in keyof PosPicture & keyof PosPictureAttributes as `attr:${K}`]?: PosPictureAttributes[K] } & { [K in keyof PosPicture & keyof PosPictureAttributes as `prop:${K}`]?: PosPicture[K] };
1879
+ "pos-predicate": Omit<PosPredicate, keyof PosPredicateAttributes> & { [K in keyof PosPredicate & keyof PosPredicateAttributes]?: PosPredicate[K] } & { [K in keyof PosPredicate & keyof PosPredicateAttributes as `attr:${K}`]?: PosPredicateAttributes[K] } & { [K in keyof PosPredicate & keyof PosPredicateAttributes as `prop:${K}`]?: PosPredicate[K] };
1671
1880
  "pos-relations": PosRelations;
1672
- "pos-resource": PosResource;
1881
+ "pos-resource": Omit<PosResource, keyof PosResourceAttributes> & { [K in keyof PosResource & keyof PosResourceAttributes]?: PosResource[K] } & { [K in keyof PosResource & keyof PosResourceAttributes as `attr:${K}`]?: PosResourceAttributes[K] } & { [K in keyof PosResource & keyof PosResourceAttributes as `prop:${K}`]?: PosResource[K] };
1673
1882
  "pos-reverse-relations": PosReverseRelations;
1674
- "pos-rich-link": PosRichLink;
1675
- "pos-router": PosRouter;
1676
- "pos-select-term": PosSelectTerm;
1883
+ "pos-rich-link": Omit<PosRichLink, keyof PosRichLinkAttributes> & { [K in keyof PosRichLink & keyof PosRichLinkAttributes]?: PosRichLink[K] } & { [K in keyof PosRichLink & keyof PosRichLinkAttributes as `attr:${K}`]?: PosRichLinkAttributes[K] } & { [K in keyof PosRichLink & keyof PosRichLinkAttributes as `prop:${K}`]?: PosRichLink[K] };
1884
+ "pos-router": Omit<PosRouter, keyof PosRouterAttributes> & { [K in keyof PosRouter & keyof PosRouterAttributes]?: PosRouter[K] } & { [K in keyof PosRouter & keyof PosRouterAttributes as `attr:${K}`]?: PosRouterAttributes[K] } & { [K in keyof PosRouter & keyof PosRouterAttributes as `prop:${K}`]?: PosRouter[K] };
1885
+ "pos-select-term": Omit<PosSelectTerm, keyof PosSelectTermAttributes> & { [K in keyof PosSelectTerm & keyof PosSelectTermAttributes]?: PosSelectTerm[K] } & { [K in keyof PosSelectTerm & keyof PosSelectTermAttributes as `attr:${K}`]?: PosSelectTermAttributes[K] } & { [K in keyof PosSelectTerm & keyof PosSelectTermAttributes as `prop:${K}`]?: PosSelectTerm[K] };
1677
1886
  "pos-setting-offline-cache": PosSettingOfflineCache;
1887
+ "pos-share": Omit<PosShare, keyof PosShareAttributes> & { [K in keyof PosShare & keyof PosShareAttributes]?: PosShare[K] } & { [K in keyof PosShare & keyof PosShareAttributes as `attr:${K}`]?: PosShareAttributes[K] } & { [K in keyof PosShare & keyof PosShareAttributes as `prop:${K}`]?: PosShare[K] } & OneOf<"uri", PosShare["uri"], PosShareAttributes["uri"]>;
1678
1888
  "pos-subjects": PosSubjects;
1889
+ "pos-switch": PosSwitch;
1679
1890
  "pos-tool-attachments": PosToolAttachments;
1680
1891
  "pos-tool-select": PosToolSelect;
1681
1892
  "pos-type-badges": PosTypeBadges;
1682
- "pos-type-index-entries": PosTypeIndexEntries;
1893
+ "pos-type-index-entries": Omit<PosTypeIndexEntries, keyof PosTypeIndexEntriesAttributes> & { [K in keyof PosTypeIndexEntries & keyof PosTypeIndexEntriesAttributes]?: PosTypeIndexEntries[K] } & { [K in keyof PosTypeIndexEntries & keyof PosTypeIndexEntriesAttributes as `attr:${K}`]?: PosTypeIndexEntriesAttributes[K] } & { [K in keyof PosTypeIndexEntries & keyof PosTypeIndexEntriesAttributes as `prop:${K}`]?: PosTypeIndexEntries[K] };
1683
1894
  "pos-type-router": PosTypeRouter;
1684
1895
  "pos-upload": PosUpload;
1685
- "pos-user-menu": PosUserMenu;
1686
- "pos-value": PosValue;
1896
+ "pos-user-menu": Omit<PosUserMenu, keyof PosUserMenuAttributes> & { [K in keyof PosUserMenu & keyof PosUserMenuAttributes]?: PosUserMenu[K] } & { [K in keyof PosUserMenu & keyof PosUserMenuAttributes as `attr:${K}`]?: PosUserMenuAttributes[K] } & { [K in keyof PosUserMenu & keyof PosUserMenuAttributes as `prop:${K}`]?: PosUserMenu[K] } & OneOf<"webId", PosUserMenu["webId"], PosUserMenuAttributes["webId"]>;
1897
+ "pos-value": Omit<PosValue, keyof PosValueAttributes> & { [K in keyof PosValue & keyof PosValueAttributes]?: PosValue[K] } & { [K in keyof PosValue & keyof PosValueAttributes as `attr:${K}`]?: PosValueAttributes[K] } & { [K in keyof PosValue & keyof PosValueAttributes as `prop:${K}`]?: PosValue[K] };
1687
1898
  }
1688
1899
  }
1689
1900
  export { LocalJSX as JSX };
1690
1901
  declare module "@stencil/core" {
1691
1902
  export namespace JSX {
1692
1903
  interface IntrinsicElements {
1693
- "pos-add-literal-value": LocalJSX.PosAddLiteralValue & JSXBase.HTMLAttributes<HTMLPosAddLiteralValueElement>;
1694
- "pos-add-new-thing": LocalJSX.PosAddNewThing & JSXBase.HTMLAttributes<HTMLPosAddNewThingElement>;
1695
- "pos-app": LocalJSX.PosApp & JSXBase.HTMLAttributes<HTMLPosAppElement>;
1696
- "pos-app-browser": LocalJSX.PosAppBrowser & JSXBase.HTMLAttributes<HTMLPosAppBrowserElement>;
1697
- "pos-app-dashboard": LocalJSX.PosAppDashboard & JSXBase.HTMLAttributes<HTMLPosAppDashboardElement>;
1698
- "pos-app-document-viewer": LocalJSX.PosAppDocumentViewer & JSXBase.HTMLAttributes<HTMLPosAppDocumentViewerElement>;
1699
- "pos-app-generic": LocalJSX.PosAppGeneric & JSXBase.HTMLAttributes<HTMLPosAppGenericElement>;
1700
- "pos-app-image-viewer": LocalJSX.PosAppImageViewer & JSXBase.HTMLAttributes<HTMLPosAppImageViewerElement>;
1701
- "pos-app-ldp-container": LocalJSX.PosAppLdpContainer & JSXBase.HTMLAttributes<HTMLPosAppLdpContainerElement>;
1702
- "pos-app-rdf-document": LocalJSX.PosAppRdfDocument & JSXBase.HTMLAttributes<HTMLPosAppRdfDocumentElement>;
1703
- "pos-app-settings": LocalJSX.PosAppSettings & JSXBase.HTMLAttributes<HTMLPosAppSettingsElement>;
1904
+ "pos-add-literal-value": LocalJSX.IntrinsicElements["pos-add-literal-value"] & JSXBase.HTMLAttributes<HTMLPosAddLiteralValueElement>;
1905
+ "pos-add-new-thing": LocalJSX.IntrinsicElements["pos-add-new-thing"] & JSXBase.HTMLAttributes<HTMLPosAddNewThingElement>;
1906
+ "pos-app": LocalJSX.IntrinsicElements["pos-app"] & JSXBase.HTMLAttributes<HTMLPosAppElement>;
1907
+ "pos-app-browser": LocalJSX.IntrinsicElements["pos-app-browser"] & JSXBase.HTMLAttributes<HTMLPosAppBrowserElement>;
1908
+ "pos-app-dashboard": LocalJSX.IntrinsicElements["pos-app-dashboard"] & JSXBase.HTMLAttributes<HTMLPosAppDashboardElement>;
1909
+ "pos-app-document-viewer": LocalJSX.IntrinsicElements["pos-app-document-viewer"] & JSXBase.HTMLAttributes<HTMLPosAppDocumentViewerElement>;
1910
+ "pos-app-generic": LocalJSX.IntrinsicElements["pos-app-generic"] & JSXBase.HTMLAttributes<HTMLPosAppGenericElement>;
1911
+ "pos-app-image-viewer": LocalJSX.IntrinsicElements["pos-app-image-viewer"] & JSXBase.HTMLAttributes<HTMLPosAppImageViewerElement>;
1912
+ "pos-app-ldp-container": LocalJSX.IntrinsicElements["pos-app-ldp-container"] & JSXBase.HTMLAttributes<HTMLPosAppLdpContainerElement>;
1913
+ "pos-app-rdf-document": LocalJSX.IntrinsicElements["pos-app-rdf-document"] & JSXBase.HTMLAttributes<HTMLPosAppRdfDocumentElement>;
1914
+ "pos-app-settings": LocalJSX.IntrinsicElements["pos-app-settings"] & JSXBase.HTMLAttributes<HTMLPosAppSettingsElement>;
1704
1915
  /**
1705
1916
  * Lists whatever is attached to the current thing
1706
1917
  */
1707
- "pos-attachments": LocalJSX.PosAttachments & JSXBase.HTMLAttributes<HTMLPosAttachmentsElement>;
1708
- "pos-container-contents": LocalJSX.PosContainerContents & JSXBase.HTMLAttributes<HTMLPosContainerContentsElement>;
1709
- "pos-container-item": LocalJSX.PosContainerItem & JSXBase.HTMLAttributes<HTMLPosContainerItemElement>;
1710
- "pos-container-toolbar": LocalJSX.PosContainerToolbar & JSXBase.HTMLAttributes<HTMLPosContainerToolbarElement>;
1711
- "pos-create-new-container-item": LocalJSX.PosCreateNewContainerItem & JSXBase.HTMLAttributes<HTMLPosCreateNewContainerItemElement>;
1712
- "pos-description": LocalJSX.PosDescription & JSXBase.HTMLAttributes<HTMLPosDescriptionElement>;
1918
+ "pos-attachments": LocalJSX.IntrinsicElements["pos-attachments"] & JSXBase.HTMLAttributes<HTMLPosAttachmentsElement>;
1919
+ /**
1920
+ * Defines a template to use if the specified condition is met - to be used with [pos-switch](https://pod-os.org/reference/elements/components/pos-switch/).
1921
+ * See [storybook](https://pod-os.github.io/PodOS/storybook/?path=/story/basics--pos-switch) for an example.
1922
+ */
1923
+ "pos-case": LocalJSX.IntrinsicElements["pos-case"] & JSXBase.HTMLAttributes<HTMLPosCaseElement>;
1924
+ "pos-container-contents": LocalJSX.IntrinsicElements["pos-container-contents"] & JSXBase.HTMLAttributes<HTMLPosContainerContentsElement>;
1925
+ "pos-container-item": LocalJSX.IntrinsicElements["pos-container-item"] & JSXBase.HTMLAttributes<HTMLPosContainerItemElement>;
1926
+ "pos-container-toolbar": LocalJSX.IntrinsicElements["pos-container-toolbar"] & JSXBase.HTMLAttributes<HTMLPosContainerToolbarElement>;
1927
+ "pos-create-new-container-item": LocalJSX.IntrinsicElements["pos-create-new-container-item"] & JSXBase.HTMLAttributes<HTMLPosCreateNewContainerItemElement>;
1928
+ "pos-description": LocalJSX.IntrinsicElements["pos-description"] & JSXBase.HTMLAttributes<HTMLPosDescriptionElement>;
1713
1929
  /**
1714
1930
  * Styled wrapper around native dialog element, with slots `title` and `content`
1715
1931
  */
1716
- "pos-dialog": LocalJSX.PosDialog & JSXBase.HTMLAttributes<HTMLPosDialogElement>;
1717
- "pos-document": LocalJSX.PosDocument & JSXBase.HTMLAttributes<HTMLPosDocumentElement>;
1718
- "pos-error-toast": LocalJSX.PosErrorToast & JSXBase.HTMLAttributes<HTMLPosErrorToastElement>;
1719
- "pos-example-resources": LocalJSX.PosExampleResources & JSXBase.HTMLAttributes<HTMLPosExampleResourcesElement>;
1720
- "pos-getting-started": LocalJSX.PosGettingStarted & JSXBase.HTMLAttributes<HTMLPosGettingStartedElement>;
1932
+ "pos-dialog": LocalJSX.IntrinsicElements["pos-dialog"] & JSXBase.HTMLAttributes<HTMLPosDialogElement>;
1933
+ "pos-document": LocalJSX.IntrinsicElements["pos-document"] & JSXBase.HTMLAttributes<HTMLPosDocumentElement>;
1934
+ "pos-error-toast": LocalJSX.IntrinsicElements["pos-error-toast"] & JSXBase.HTMLAttributes<HTMLPosErrorToastElement>;
1935
+ "pos-example-resources": LocalJSX.IntrinsicElements["pos-example-resources"] & JSXBase.HTMLAttributes<HTMLPosExampleResourcesElement>;
1936
+ "pos-getting-started": LocalJSX.IntrinsicElements["pos-getting-started"] & JSXBase.HTMLAttributes<HTMLPosGettingStartedElement>;
1721
1937
  /**
1722
1938
  * Tries fetch an image with the solid authentication, and can visualize http errors like 403 or 404 if this fails.
1723
1939
  * Falls back to classic `<img src="...">` on network errors like CORS.
1724
1940
  * Renders a normal link if even this fails.
1725
1941
  */
1726
- "pos-image": LocalJSX.PosImage & JSXBase.HTMLAttributes<HTMLPosImageElement>;
1727
- "pos-internal-router": LocalJSX.PosInternalRouter & JSXBase.HTMLAttributes<HTMLPosInternalRouterElement>;
1942
+ "pos-image": LocalJSX.IntrinsicElements["pos-image"] & JSXBase.HTMLAttributes<HTMLPosImageElement>;
1943
+ "pos-internal-router": LocalJSX.IntrinsicElements["pos-internal-router"] & JSXBase.HTMLAttributes<HTMLPosInternalRouterElement>;
1728
1944
  /**
1729
1945
  * Displays a human-readable label of the resource, provided by [Thing.label()](https://pod-os.org/reference/core/classes/thing/#label)
1730
1946
  */
1731
- "pos-label": LocalJSX.PosLabel & JSXBase.HTMLAttributes<HTMLPosLabelElement>;
1732
- "pos-list": LocalJSX.PosList & JSXBase.HTMLAttributes<HTMLPosListElement>;
1733
- "pos-literals": LocalJSX.PosLiterals & JSXBase.HTMLAttributes<HTMLPosLiteralsElement>;
1734
- "pos-login": LocalJSX.PosLogin & JSXBase.HTMLAttributes<HTMLPosLoginElement>;
1735
- "pos-login-form": LocalJSX.PosLoginForm & JSXBase.HTMLAttributes<HTMLPosLoginFormElement>;
1736
- "pos-make-findable": LocalJSX.PosMakeFindable & JSXBase.HTMLAttributes<HTMLPosMakeFindableElement>;
1737
- "pos-markdown-document": LocalJSX.PosMarkdownDocument & JSXBase.HTMLAttributes<HTMLPosMarkdownDocumentElement>;
1738
- "pos-navigation": LocalJSX.PosNavigation & JSXBase.HTMLAttributes<HTMLPosNavigationElement>;
1739
- "pos-navigation-bar": LocalJSX.PosNavigationBar & JSXBase.HTMLAttributes<HTMLPosNavigationBarElement>;
1740
- "pos-new-thing-form": LocalJSX.PosNewThingForm & JSXBase.HTMLAttributes<HTMLPosNewThingFormElement>;
1741
- "pos-picture": LocalJSX.PosPicture & JSXBase.HTMLAttributes<HTMLPosPictureElement>;
1947
+ "pos-label": LocalJSX.IntrinsicElements["pos-label"] & JSXBase.HTMLAttributes<HTMLPosLabelElement>;
1948
+ "pos-list": LocalJSX.IntrinsicElements["pos-list"] & JSXBase.HTMLAttributes<HTMLPosListElement>;
1949
+ "pos-literals": LocalJSX.IntrinsicElements["pos-literals"] & JSXBase.HTMLAttributes<HTMLPosLiteralsElement>;
1950
+ "pos-login": LocalJSX.IntrinsicElements["pos-login"] & JSXBase.HTMLAttributes<HTMLPosLoginElement>;
1951
+ "pos-login-form": LocalJSX.IntrinsicElements["pos-login-form"] & JSXBase.HTMLAttributes<HTMLPosLoginFormElement>;
1952
+ "pos-make-findable": LocalJSX.IntrinsicElements["pos-make-findable"] & JSXBase.HTMLAttributes<HTMLPosMakeFindableElement>;
1953
+ "pos-markdown-document": LocalJSX.IntrinsicElements["pos-markdown-document"] & JSXBase.HTMLAttributes<HTMLPosMarkdownDocumentElement>;
1954
+ "pos-navigation": LocalJSX.IntrinsicElements["pos-navigation"] & JSXBase.HTMLAttributes<HTMLPosNavigationElement>;
1955
+ "pos-navigation-bar": LocalJSX.IntrinsicElements["pos-navigation-bar"] & JSXBase.HTMLAttributes<HTMLPosNavigationBarElement>;
1956
+ "pos-new-thing-form": LocalJSX.IntrinsicElements["pos-new-thing-form"] & JSXBase.HTMLAttributes<HTMLPosNewThingFormElement>;
1957
+ "pos-picture": LocalJSX.IntrinsicElements["pos-picture"] & JSXBase.HTMLAttributes<HTMLPosPictureElement>;
1742
1958
  /**
1743
1959
  * Displays an RDF term (predicate) in a human-friendly way, using a provided label. The user can still expand the label
1744
1960
  * to the full URI to see the actual predicate.
1745
1961
  * This will only show the predicate itself, not any value. If you want to display a value, use [pos-value](../pos-value) instead.
1746
1962
  */
1747
- "pos-predicate": LocalJSX.PosPredicate & JSXBase.HTMLAttributes<HTMLPosPredicateElement>;
1748
- "pos-relations": LocalJSX.PosRelations & JSXBase.HTMLAttributes<HTMLPosRelationsElement>;
1749
- "pos-resource": LocalJSX.PosResource & JSXBase.HTMLAttributes<HTMLPosResourceElement>;
1750
- "pos-reverse-relations": LocalJSX.PosReverseRelations & JSXBase.HTMLAttributes<HTMLPosReverseRelationsElement>;
1751
- "pos-rich-link": LocalJSX.PosRichLink & JSXBase.HTMLAttributes<HTMLPosRichLinkElement>;
1963
+ "pos-predicate": LocalJSX.IntrinsicElements["pos-predicate"] & JSXBase.HTMLAttributes<HTMLPosPredicateElement>;
1964
+ "pos-relations": LocalJSX.IntrinsicElements["pos-relations"] & JSXBase.HTMLAttributes<HTMLPosRelationsElement>;
1965
+ "pos-resource": LocalJSX.IntrinsicElements["pos-resource"] & JSXBase.HTMLAttributes<HTMLPosResourceElement>;
1966
+ "pos-reverse-relations": LocalJSX.IntrinsicElements["pos-reverse-relations"] & JSXBase.HTMLAttributes<HTMLPosReverseRelationsElement>;
1967
+ "pos-rich-link": LocalJSX.IntrinsicElements["pos-rich-link"] & JSXBase.HTMLAttributes<HTMLPosRichLinkElement>;
1752
1968
  /**
1753
1969
  * The responsibility of pos-router is to handle the `uri` query param, that specifies the URI of the resource that is currently opened.
1754
1970
  * It reads this query param and informs other components about changes via the `pod-os:route-changed` event.
1755
1971
  * It also intercepts the URLs from `pod-os:link` events and pushes them as a new `uri` parameter.
1756
1972
  */
1757
- "pos-router": LocalJSX.PosRouter & JSXBase.HTMLAttributes<HTMLPosRouterElement>;
1758
- "pos-select-term": LocalJSX.PosSelectTerm & JSXBase.HTMLAttributes<HTMLPosSelectTermElement>;
1759
- "pos-setting-offline-cache": LocalJSX.PosSettingOfflineCache & JSXBase.HTMLAttributes<HTMLPosSettingOfflineCacheElement>;
1760
- "pos-subjects": LocalJSX.PosSubjects & JSXBase.HTMLAttributes<HTMLPosSubjectsElement>;
1973
+ "pos-router": LocalJSX.IntrinsicElements["pos-router"] & JSXBase.HTMLAttributes<HTMLPosRouterElement>;
1974
+ "pos-select-term": LocalJSX.IntrinsicElements["pos-select-term"] & JSXBase.HTMLAttributes<HTMLPosSelectTermElement>;
1975
+ "pos-setting-offline-cache": LocalJSX.IntrinsicElements["pos-setting-offline-cache"] & JSXBase.HTMLAttributes<HTMLPosSettingOfflineCacheElement>;
1976
+ /**
1977
+ * Allows sharing a resource with other apps, people, etc.
1978
+ */
1979
+ "pos-share": LocalJSX.IntrinsicElements["pos-share"] & JSXBase.HTMLAttributes<HTMLPosShareElement>;
1980
+ "pos-subjects": LocalJSX.IntrinsicElements["pos-subjects"] & JSXBase.HTMLAttributes<HTMLPosSubjectsElement>;
1981
+ /**
1982
+ * Selects a child template to render based on properties of the subject resource, usually defined by an ancestor `pos-resource` element.
1983
+ * See [storybook](https://pod-os.github.io/PodOS/storybook/?path=/story/basics--pos-switch) for an example.
1984
+ * See [pos-case](https://pod-os.org/reference/elements/components/pos-switch/pos-case/) for available filter conditions.
1985
+ */
1986
+ "pos-switch": LocalJSX.IntrinsicElements["pos-switch"] & JSXBase.HTMLAttributes<HTMLPosSwitchElement>;
1761
1987
  /**
1762
1988
  * A tool to manage attachments of a thing.
1763
1989
  */
1764
- "pos-tool-attachments": LocalJSX.PosToolAttachments & JSXBase.HTMLAttributes<HTMLPosToolAttachmentsElement>;
1990
+ "pos-tool-attachments": LocalJSX.IntrinsicElements["pos-tool-attachments"] & JSXBase.HTMLAttributes<HTMLPosToolAttachmentsElement>;
1765
1991
  /**
1766
1992
  * Allows selecting a tool from within a set of available tools
1767
1993
  */
1768
- "pos-tool-select": LocalJSX.PosToolSelect & JSXBase.HTMLAttributes<HTMLPosToolSelectElement>;
1769
- "pos-type-badges": LocalJSX.PosTypeBadges & JSXBase.HTMLAttributes<HTMLPosTypeBadgesElement>;
1770
- "pos-type-index-entries": LocalJSX.PosTypeIndexEntries & JSXBase.HTMLAttributes<HTMLPosTypeIndexEntriesElement>;
1994
+ "pos-tool-select": LocalJSX.IntrinsicElements["pos-tool-select"] & JSXBase.HTMLAttributes<HTMLPosToolSelectElement>;
1995
+ "pos-type-badges": LocalJSX.IntrinsicElements["pos-type-badges"] & JSXBase.HTMLAttributes<HTMLPosTypeBadgesElement>;
1996
+ "pos-type-index-entries": LocalJSX.IntrinsicElements["pos-type-index-entries"] & JSXBase.HTMLAttributes<HTMLPosTypeIndexEntriesElement>;
1771
1997
  /**
1772
1998
  * This component is responsible for rendering tools that are useful to interact with the current resource.
1773
1999
  */
1774
- "pos-type-router": LocalJSX.PosTypeRouter & JSXBase.HTMLAttributes<HTMLPosTypeRouterElement>;
1775
- "pos-upload": LocalJSX.PosUpload & JSXBase.HTMLAttributes<HTMLPosUploadElement>;
1776
- "pos-user-menu": LocalJSX.PosUserMenu & JSXBase.HTMLAttributes<HTMLPosUserMenuElement>;
2000
+ "pos-type-router": LocalJSX.IntrinsicElements["pos-type-router"] & JSXBase.HTMLAttributes<HTMLPosTypeRouterElement>;
2001
+ "pos-upload": LocalJSX.IntrinsicElements["pos-upload"] & JSXBase.HTMLAttributes<HTMLPosUploadElement>;
2002
+ "pos-user-menu": LocalJSX.IntrinsicElements["pos-user-menu"] & JSXBase.HTMLAttributes<HTMLPosUserMenuElement>;
1777
2003
  /**
1778
2004
  * Shows a single value linked to the resource using the given predicate.
1779
2005
  * The value is determined by [Thing.anyValue()](https://pod-os.org/reference/core/classes/thing/#anyvalue)
1780
2006
  */
1781
- "pos-value": LocalJSX.PosValue & JSXBase.HTMLAttributes<HTMLPosValueElement>;
2007
+ "pos-value": LocalJSX.IntrinsicElements["pos-value"] & JSXBase.HTMLAttributes<HTMLPosValueElement>;
1782
2008
  }
1783
2009
  }
1784
2010
  }
@@ -125,8 +125,27 @@ export interface EventOptions {
125
125
  */
126
126
  composed?: boolean;
127
127
  }
128
+ export interface AttachInternalsOptions {
129
+ /**
130
+ * Initial custom states to set on the ElementInternals.states CustomStateSet.
131
+ * Each key is the state name and the value is the initial boolean state.
132
+ *
133
+ * These states can be targeted with the CSS `:state()` pseudo-class.
134
+ *
135
+ * @example
136
+ * ```tsx
137
+ * @AttachInternals({ states: { open: true, active: false } })
138
+ * internals: ElementInternals;
139
+ * ```
140
+ *
141
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/CustomStateSet
142
+ */
143
+ states?: {
144
+ [stateName: string]: boolean;
145
+ };
146
+ }
128
147
  export interface AttachInternalsDecorator {
129
- (): PropertyDecorator;
148
+ (opts?: AttachInternalsOptions): PropertyDecorator;
130
149
  }
131
150
  export interface ListenDecorator {
132
151
  (eventName: string, opts?: ListenOptions): CustomMethodDecorator<any>;
@@ -618,7 +637,7 @@ export interface FunctionalUtilities {
618
637
  map: (children: VNode[], cb: (vnode: ChildNode, index: number, array: ChildNode[]) => ChildNode) => VNode[];
619
638
  }
620
639
  export interface FunctionalComponent<T = {}> {
621
- (props: T, children: VNode[], utils: FunctionalUtilities): VNode | VNode[];
640
+ (props: T, children: VNode[], utils: FunctionalUtilities): VNode | VNode[] | null;
622
641
  }
623
642
  /**
624
643
  * A Child VDOM node
@@ -660,6 +679,7 @@ export declare namespace h {
660
679
  function h(sel: any, data: VNodeData | null, text: string): VNode;
661
680
  function h(sel: any, data: VNodeData | null, children: Array<VNode | undefined | null>): VNode;
662
681
  function h(sel: any, data: VNodeData | null, children: VNode): VNode;
682
+ function h(sel: any, data: VNodeData | null, ...children: (VNode | string | number)[]): VNode;
663
683
  namespace JSX {
664
684
  interface IntrinsicElements extends LocalJSX.IntrinsicElements, JSXBase.IntrinsicElements {
665
685
  [tagName: string]: any;
@@ -674,6 +694,36 @@ export declare function h(sel: any, children: Array<VNode | undefined | null>):
674
694
  export declare function h(sel: any, data: VNodeData | null, text: string): VNode;
675
695
  export declare function h(sel: any, data: VNodeData | null, children: Array<VNode | undefined | null>): VNode;
676
696
  export declare function h(sel: any, data: VNodeData | null, children: VNode): VNode;
697
+ export declare function h(sel: any, data: VNodeData | null, ...children: (VNode | string | number)[]): VNode;
698
+ /**
699
+ * Automatic JSX runtime functions for TypeScript's react-jsx mode.
700
+ * These functions are called automatically by TypeScript when using "jsx": "react-jsx".
701
+ * @param type type of node
702
+ * @param props properties of node
703
+ * @param key optional key for the node
704
+ * @returns a jsx vnode
705
+ */
706
+ export declare function jsx(type: any, props: any, key?: string): VNode;
707
+ /**
708
+ * Automatic JSX runtime functions for TypeScript's react-jsxmode with multiple children.
709
+ * @param type type of node
710
+ * @param props properties of node
711
+ * @param key optional key for the node
712
+ * @returns a jsx vnode
713
+ */
714
+ export declare function jsxs(type: any, props: any, key?: string): VNode;
715
+ /**
716
+ * Automatic JSX runtime functions for TypeScript's react-jsxdev mode.
717
+ * These functions are called automatically by TypeScript when using "jsx": "react-jsxdev".
718
+ * @param type type of node
719
+ * @param props properties of node
720
+ * @param key optional key for the node
721
+ * @param isStaticChildren indicates if the children are static
722
+ * @param source source information
723
+ * @param self reference to the component instance
724
+ * @returns a jsx vnode
725
+ */
726
+ export declare function jsxDEV(type: any, props: any, key?: string | number, isStaticChildren?: boolean, source?: any, self?: any): VNode;
677
727
  /**
678
728
  * A virtual DOM node
679
729
  */