@pod-os/elements 0.37.0-rc.dba0210.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 (137) 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 +1 -1
  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 +1 -1
  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 +3 -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-tool-select/pos-tool-select.js +6 -3
  44. package/dist/collection/components/pos-upload/pos-upload.js +7 -4
  45. package/dist/collection/components/pos-user-menu/pos-user-menu.js +1 -1
  46. package/dist/collection/tools/pos-tool-attachments/pos-tool-attachments.js +1 -1
  47. package/dist/components/chunk.IVVHNXMC.js +20 -0
  48. package/dist/components/index.js +1 -1
  49. package/dist/components/index2.js +2 -2
  50. package/dist/components/pos-add-literal-value2.js +1 -1
  51. package/dist/components/pos-app-browser.js +1 -1
  52. package/dist/components/pos-attachments2.js +1 -1
  53. package/dist/components/pos-container-contents2.js +1 -1
  54. package/dist/components/pos-make-findable2.js +1 -1
  55. package/dist/components/pos-markdown-document2.js +1 -1
  56. package/dist/components/pos-navigation-bar2.js +1 -1
  57. package/dist/components/pos-navigation2.js +1 -1
  58. package/dist/components/pos-new-thing-form2.js +1 -1
  59. package/dist/components/pos-router2.js +1 -1
  60. package/dist/components/pos-select-term2.js +1 -1
  61. package/dist/components/pos-share.d.ts +11 -0
  62. package/dist/components/pos-share.js +1 -0
  63. package/dist/components/pos-share2.js +1 -0
  64. package/dist/components/pos-tool-attachments.js +1 -1
  65. package/dist/components/pos-tool-select2.js +1 -1
  66. package/dist/components/pos-type-index-entries2.js +1 -1
  67. package/dist/components/pos-upload2.js +12 -3
  68. package/dist/components/pos-user-menu2.js +6 -25
  69. package/dist/elements/elements.esm.js +1 -1
  70. package/dist/elements/{p-f36c0084.entry.js → p-03464a71.entry.js} +1 -1
  71. package/dist/elements/{p-91354eb8.entry.js → p-272209e3.entry.js} +1 -1
  72. package/dist/elements/{p-14b27181.entry.js → p-38aa17bc.entry.js} +1 -1
  73. package/dist/elements/p-3a890f5f.entry.js +1 -0
  74. package/dist/elements/{p-13976aa1.entry.js → p-4cd2f9da.entry.js} +1 -1
  75. package/dist/elements/{p-01cca2f2.entry.js → p-5126fb6e.entry.js} +1 -1
  76. package/dist/elements/{p-85052eb1.entry.js → p-53610ccd.entry.js} +1 -1
  77. package/dist/elements/{p-26f9dd67.entry.js → p-631976a8.entry.js} +1 -1
  78. package/dist/elements/{p-3b2dd0b0.entry.js → p-6d628d74.entry.js} +1 -1
  79. package/dist/elements/{p-4d495115.entry.js → p-7c3785d8.entry.js} +1 -1
  80. package/dist/elements/{p-1a6f9788.entry.js → p-8934c5ea.entry.js} +1 -1
  81. package/dist/elements/p-8e76e9dc.entry.js +1 -0
  82. package/dist/elements/{p-74bbaea1.entry.js → p-9bf6c310.entry.js} +1 -1
  83. package/dist/elements/{p-Doy_38_j.js → p-BLUiM5OK.js} +1 -1
  84. package/dist/elements/{p-DFjHkJRO.js → p-CSTMd_cW.js} +3 -3
  85. package/dist/elements/{p-DXbsIXSw.js → p-CVwgVrbO.js} +3 -3
  86. package/dist/elements/p-CnIOZlf7.js +11 -0
  87. package/dist/elements/p-DHl0QGLf.js +67 -0
  88. package/dist/elements/p-DzbCx-pP.js +2 -0
  89. package/dist/elements/{p-bbf585d2.entry.js → p-a1dd6b42.entry.js} +1 -1
  90. package/dist/elements/p-ab4eba43.entry.js +859 -0
  91. package/dist/elements/{p-8e44ba0d.entry.js → p-c7032012.entry.js} +1 -1
  92. package/dist/elements/{p-6d32b1b9.entry.js → p-d396cc56.entry.js} +1 -1
  93. package/dist/elements/p-dc4c38c8.entry.js +1 -0
  94. package/dist/elements/{p-aa541ea5.entry.js → p-e0660718.entry.js} +1 -1
  95. package/dist/elements/{p-Dpe4DEvs.js → p-mIPOXLnA.js} +3 -3
  96. package/dist/esm/{chunk.URTPIBTY-CU2XVqAs.js → chunk.URTPIBTY-yxgfEQ1K.js} +2 -2
  97. package/dist/esm/{chunk.XQ2OKYYA-Teif1jss.js → chunk.XQ2OKYYA-Cr3bMzqn.js} +3 -3
  98. package/dist/esm/{chunk.ZGGPD2XJ-6SSKfwli.js → chunk.ZGGPD2XJ-SJISSXOc.js} +1 -1
  99. package/dist/esm/{class-map-_-hYvl90.js → class-map-DEweE_Cr.js} +1 -1
  100. package/dist/esm/elements.js +4 -4
  101. package/dist/esm/{index-DFqG64hG.js → index-CXK32bJz.js} +1052 -489
  102. package/dist/esm/{index-DMWc6mBG.js → index-DzbCx-pP.js} +546 -2000
  103. package/dist/esm/{jsonld-V2RB47OZ-CaIJ08AA.js → jsonld-V2RB47OZ-BbN7F0s8.js} +1 -1
  104. package/dist/esm/loader.js +3 -3
  105. package/dist/esm/pos-add-literal-value_3.entry.js +6 -6
  106. package/dist/esm/{pos-add-new-thing_31.entry.js → pos-add-new-thing_32.entry.js} +411 -228
  107. package/dist/esm/pos-app-document-viewer.entry.js +1 -1
  108. package/dist/esm/pos-app-generic.entry.js +1 -1
  109. package/dist/esm/pos-app-image-viewer.entry.js +1 -1
  110. package/dist/esm/pos-app-ldp-container.entry.js +1 -1
  111. package/dist/esm/pos-app-rdf-document.entry.js +1 -1
  112. package/dist/esm/pos-attachments.entry.js +2 -2
  113. package/dist/esm/pos-case.entry.js +1 -1
  114. package/dist/esm/pos-container-contents.entry.js +12 -3
  115. package/dist/esm/pos-container-item_3.entry.js +4 -4
  116. package/dist/esm/pos-document.entry.js +4 -4
  117. package/dist/esm/pos-list.entry.js +1 -1
  118. package/dist/esm/pos-markdown-document.entry.js +442 -2327
  119. package/dist/esm/pos-relations_2.entry.js +1 -1
  120. package/dist/esm/pos-subjects.entry.js +2 -2
  121. package/dist/esm/pos-switch.entry.js +1 -1
  122. package/dist/esm/pos-tool-attachments.entry.js +2 -2
  123. package/dist/esm/pos-value.entry.js +1 -1
  124. package/dist/jest-setup.js +4 -0
  125. package/dist/types/components/pos-container-contents/pos-container-contents.d.ts +2 -0
  126. package/dist/types/components/pos-share/openNewTab.d.ts +1 -0
  127. package/dist/types/components/pos-share/pos-share.d.ts +28 -0
  128. package/dist/types/components.d.ts +201 -77
  129. package/dist/types/stencil-public-runtime.d.ts +52 -2
  130. package/package.json +13 -12
  131. package/dist/elements/p-264ddd4b.entry.js +0 -1
  132. package/dist/elements/p-61984b97.entry.js +0 -1
  133. package/dist/elements/p-930c2b34.entry.js +0 -1
  134. package/dist/elements/p-DMWc6mBG.js +0 -2
  135. package/dist/elements/p-LoCE14bN.js +0 -67
  136. package/dist/elements/p-Z7wimzYh.js +0 -11
  137. package/dist/elements/p-cd252587.entry.js +0 -850
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-DMWc6mBG.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-DzbCx-pP.js';
2
2
  import { s as subscribeResource } from './ResourceAware-BW_CkW1K.js';
3
3
 
4
4
  const posRelationsCss = () => `:host{--background-base-color:color-mix(in srgb, var(--pos-background-color), var(--color-grey-800) 10%);--background-color-even:hsl(from var(--background-base-color) h s calc(l + 7));--background-color-odd:hsl(from var(--background-base-color) h s calc(l + 10));--border-color:var(--background-base-color)}dd{padding:0;margin:0}dl{display:flex;flex-direction:column;gap:var(--size-1);padding:0;margin:0}dt{margin-bottom:var(--size-1)}.predicate-values:nth-child(odd){background-color:var(--background-color-odd)}.predicate-values:nth-child(even){background-color:var(--background-color-even)}.predicate-values{display:flex;flex-direction:column;border:var(--size-px) solid var(--border-color);padding:var(--size-2);gap:var(--size-1);.values{display:flex;flex-direction:column;gap:var(--size-3)}}pos-rich-link{--background-color:inherit}`;
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-DMWc6mBG.js';
2
- import { R as RdfDocument } from './index-DFqG64hG.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-DzbCx-pP.js';
2
+ import { R as RdfDocument } from './index-CXK32bJz.js';
3
3
  import { s as subscribeResource } from './ResourceAware-BW_CkW1K.js';
4
4
 
5
5
  const posSubjectsCss = () => `:host{--background-base-color:color-mix(in srgb, var(--pos-background-color), var(--color-grey-800) 10%);--background-color-even:hsl(from var(--background-base-color) h s calc(l + 7));--background-color-odd:hsl(from var(--background-base-color) h s calc(l + 10));--border-color:var(--background-base-color)}ul{display:flex;flex-direction:column;gap:var(--size-2);margin:0;padding:0;li{border:var(--size-px) solid var(--border-color);padding:var(--size-4);list-style-type:none;&:nth-child(even){background-color:var(--background-color-even)}&:nth-child(odd){background-color:var(--background-color-odd)}}}`;
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-DMWc6mBG.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-DzbCx-pP.js';
2
2
  import { s as subscribeResource } from './ResourceAware-BW_CkW1K.js';
3
3
 
4
4
  const PosSwitch = class {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host, a as getElement } from './index-DMWc6mBG.js';
1
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-DzbCx-pP.js';
2
2
  import { u as usePodOS } from './usePodOS-D0uCfr1-.js';
3
3
  import { u as useResource } from './useResource-yVO4JQ9P.js';
4
4
 
@@ -18,7 +18,7 @@ const PosToolAttachments = class {
18
18
  }
19
19
  render() {
20
20
  var _a;
21
- return (h(Host, { key: 'c7670fa2c000099af02d33a702a404e9889d4552' }, h("section", { key: '1b3ce82d5101ec4c0b6e6df26ede473c7287b747' }, h("article", { key: 'b9929952d801ab53a848985af7ed08c18072a662' }, h("h2", { key: 'dc39c20da1730c6ea01b32a99dc8b0680a33b6c2' }, "Attachments"), h("pos-attachments", { key: '65fd33e592be78e1a15ac9c2238321973a3f8612', ref: it => (this.attachmentsElement = it) }))), h("section", { key: '4ebe089659ed2c517440a9ff06141f332e44c56d' }, ((_a = this.resource) === null || _a === void 0 ? void 0 : _a.editable) ? (h("pos-upload", { accept: ['*/*'], uploader: file => {
21
+ return (h(Host, { key: '90a688233dde6bed413d57c11d89833629e1e2c8' }, h("section", { key: 'd47427736806216b35cb5e77bcabf12b82a03b31' }, h("article", { key: 'a77c2f9e41165effdc6e41fed79fa6b48dcc753e' }, h("h2", { key: '5e4d9a23ceb3c88075ef7785ca1b6fba201714ca' }, "Attachments"), h("pos-attachments", { key: '6a1001d633b0cad66178818b7a32c76ebbc4e46c', ref: it => (this.attachmentsElement = it) }))), h("section", { key: 'ea6c933f2a5fb67d6e63ca799c14920361eafe1f' }, ((_a = this.resource) === null || _a === void 0 ? void 0 : _a.editable) ? (h("pos-upload", { accept: ['*/*'], uploader: file => {
22
22
  const result = this.os.attachments().uploadAndAddAttachment(this.resource, file);
23
23
  result.map(it => {
24
24
  this.attachmentsElement.addToList({
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent } from './index-DMWc6mBG.js';
1
+ import { r as registerInstance, c as createEvent } from './index-DzbCx-pP.js';
2
2
  import { s as subscribeResource } from './ResourceAware-BW_CkW1K.js';
3
3
 
4
4
  const PosValue = class {
@@ -3,3 +3,7 @@ jest.mock('@shoelace-style/shoelace/dist/components/icon/icon.js', () => ({}));
3
3
  jest.mock('@shoelace-style/shoelace/dist/components/progress-bar/progress-bar.js', () => ({}));
4
4
  jest.mock('@shoelace-style/shoelace/dist/components/skeleton/skeleton.js', () => ({}));
5
5
  jest.mock('@shoelace-style/shoelace/dist/components/tooltip/tooltip.js', () => ({}));
6
+ jest.mock('@shoelace-style/shoelace/dist/components/menu/menu.js', () => ({}));
7
+ jest.mock('@shoelace-style/shoelace/dist/components/menu-item/menu-item.js', () => ({}));
8
+ jest.mock('@shoelace-style/shoelace/dist/components/divider/divider.js', () => ({}));
9
+ jest.mock('@shoelace-style/shoelace/dist/components/dropdown/dropdown.js', () => ({}));
@@ -7,10 +7,12 @@ export declare class PosContainerContents implements ResourceAware {
7
7
  loading: boolean;
8
8
  subscribeResource: EventEmitter;
9
9
  private createNewItem;
10
+ private readonly disconnected$;
10
11
  onCreateNewFile(): void;
11
12
  onCreateNewFolder(): void;
12
13
  componentWillLoad(): void;
13
14
  handleKeyDown(ev: KeyboardEvent): void;
14
15
  receiveResource: (resource: Thing) => void;
15
16
  render(): any;
17
+ disconnectedCallback(): void;
16
18
  }
@@ -0,0 +1 @@
1
+ export declare function openNewTab(url: string): void;
@@ -0,0 +1,28 @@
1
+ import '@shoelace-style/shoelace/dist/components/icon/icon.js';
2
+ import '@shoelace-style/shoelace/dist/components/menu/menu.js';
3
+ import '@shoelace-style/shoelace/dist/components/dropdown/dropdown.js';
4
+ import '@shoelace-style/shoelace/dist/components/menu-item/menu-item.js';
5
+ import '@shoelace-style/shoelace/dist/components/divider/divider.js';
6
+ import { OpenWithApp, PodOS } from '@pod-os/core';
7
+ import { PosResourceCustomEvent } from '../../components';
8
+ /**
9
+ * Allows sharing a resource with other apps, people, etc.
10
+ */
11
+ export declare class PosShare {
12
+ /**
13
+ * URI of the resource to share.
14
+ */
15
+ uri: string;
16
+ el: HTMLElement;
17
+ apps: OpenWithApp[];
18
+ os: PodOS;
19
+ resourceLoaded(e: PosResourceCustomEvent<string>): Promise<void>;
20
+ componentWillLoad(): Promise<void>;
21
+ updateApps(): Promise<void>;
22
+ onSelect(e: CustomEvent<{
23
+ item: {
24
+ value: 'copy-uri' | OpenWithApp;
25
+ };
26
+ }>): void;
27
+ render(): any;
28
+ }
@@ -269,6 +269,15 @@ export namespace Components {
269
269
  }
270
270
  interface PosSettingOfflineCache {
271
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
+ }
272
281
  interface PosSubjects {
273
282
  }
274
283
  /**
@@ -1109,6 +1118,15 @@ declare global {
1109
1118
  prototype: HTMLPosSettingOfflineCacheElement;
1110
1119
  new (): HTMLPosSettingOfflineCacheElement;
1111
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
+ };
1112
1130
  interface HTMLPosSubjectsElementEventMap {
1113
1131
  "pod-os:resource": any;
1114
1132
  }
@@ -1310,6 +1328,7 @@ declare global {
1310
1328
  "pos-router": HTMLPosRouterElement;
1311
1329
  "pos-select-term": HTMLPosSelectTermElement;
1312
1330
  "pos-setting-offline-cache": HTMLPosSettingOfflineCacheElement;
1331
+ "pos-share": HTMLPosShareElement;
1313
1332
  "pos-subjects": HTMLPosSubjectsElement;
1314
1333
  "pos-switch": HTMLPosSwitchElement;
1315
1334
  "pos-tool-attachments": HTMLPosToolAttachmentsElement;
@@ -1323,6 +1342,8 @@ declare global {
1323
1342
  }
1324
1343
  }
1325
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
+
1326
1347
  interface PosAddLiteralValue {
1327
1348
  /**
1328
1349
  * The entered literal value has been added to the resource and successfully stored to the Pod.
@@ -1653,6 +1674,15 @@ declare namespace LocalJSX {
1653
1674
  }
1654
1675
  interface PosSettingOfflineCache {
1655
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
+ }
1656
1686
  interface PosSubjects {
1657
1687
  "onPod-os:resource"?: (event: PosSubjectsCustomEvent<any>) => void;
1658
1688
  }
@@ -1720,11 +1750,100 @@ declare namespace LocalJSX {
1720
1750
  */
1721
1751
  "predicate"?: string;
1722
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
+
1723
1842
  interface IntrinsicElements {
1724
1843
  "pos-add-literal-value": PosAddLiteralValue;
1725
- "pos-add-new-thing": PosAddNewThing;
1726
- "pos-app": PosApp;
1727
- "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] };
1728
1847
  "pos-app-dashboard": PosAppDashboard;
1729
1848
  "pos-app-document-viewer": PosAppDocumentViewer;
1730
1849
  "pos-app-generic": PosAppGeneric;
@@ -1733,154 +1852,159 @@ declare namespace LocalJSX {
1733
1852
  "pos-app-rdf-document": PosAppRdfDocument;
1734
1853
  "pos-app-settings": PosAppSettings;
1735
1854
  "pos-attachments": PosAttachments;
1736
- "pos-case": PosCase;
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] };
1737
1856
  "pos-container-contents": PosContainerContents;
1738
1857
  "pos-container-item": PosContainerItem;
1739
1858
  "pos-container-toolbar": PosContainerToolbar;
1740
- "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"]>;
1741
1860
  "pos-description": PosDescription;
1742
1861
  "pos-dialog": PosDialog;
1743
- "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] };
1744
1863
  "pos-error-toast": PosErrorToast;
1745
1864
  "pos-example-resources": PosExampleResources;
1746
1865
  "pos-getting-started": PosGettingStarted;
1747
- "pos-image": PosImage;
1748
- "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] };
1749
1868
  "pos-label": PosLabel;
1750
- "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] };
1751
1870
  "pos-literals": PosLiterals;
1752
1871
  "pos-login": PosLogin;
1753
1872
  "pos-login-form": PosLoginForm;
1754
- "pos-make-findable": PosMakeFindable;
1755
- "pos-markdown-document": PosMarkdownDocument;
1756
- "pos-navigation": PosNavigation;
1757
- "pos-navigation-bar": PosNavigationBar;
1758
- "pos-new-thing-form": PosNewThingForm;
1759
- "pos-picture": PosPicture;
1760
- "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] };
1761
1880
  "pos-relations": PosRelations;
1762
- "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] };
1763
1882
  "pos-reverse-relations": PosReverseRelations;
1764
- "pos-rich-link": PosRichLink;
1765
- "pos-router": PosRouter;
1766
- "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] };
1767
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"]>;
1768
1888
  "pos-subjects": PosSubjects;
1769
1889
  "pos-switch": PosSwitch;
1770
1890
  "pos-tool-attachments": PosToolAttachments;
1771
1891
  "pos-tool-select": PosToolSelect;
1772
1892
  "pos-type-badges": PosTypeBadges;
1773
- "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] };
1774
1894
  "pos-type-router": PosTypeRouter;
1775
1895
  "pos-upload": PosUpload;
1776
- "pos-user-menu": PosUserMenu;
1777
- "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] };
1778
1898
  }
1779
1899
  }
1780
1900
  export { LocalJSX as JSX };
1781
1901
  declare module "@stencil/core" {
1782
1902
  export namespace JSX {
1783
1903
  interface IntrinsicElements {
1784
- "pos-add-literal-value": LocalJSX.PosAddLiteralValue & JSXBase.HTMLAttributes<HTMLPosAddLiteralValueElement>;
1785
- "pos-add-new-thing": LocalJSX.PosAddNewThing & JSXBase.HTMLAttributes<HTMLPosAddNewThingElement>;
1786
- "pos-app": LocalJSX.PosApp & JSXBase.HTMLAttributes<HTMLPosAppElement>;
1787
- "pos-app-browser": LocalJSX.PosAppBrowser & JSXBase.HTMLAttributes<HTMLPosAppBrowserElement>;
1788
- "pos-app-dashboard": LocalJSX.PosAppDashboard & JSXBase.HTMLAttributes<HTMLPosAppDashboardElement>;
1789
- "pos-app-document-viewer": LocalJSX.PosAppDocumentViewer & JSXBase.HTMLAttributes<HTMLPosAppDocumentViewerElement>;
1790
- "pos-app-generic": LocalJSX.PosAppGeneric & JSXBase.HTMLAttributes<HTMLPosAppGenericElement>;
1791
- "pos-app-image-viewer": LocalJSX.PosAppImageViewer & JSXBase.HTMLAttributes<HTMLPosAppImageViewerElement>;
1792
- "pos-app-ldp-container": LocalJSX.PosAppLdpContainer & JSXBase.HTMLAttributes<HTMLPosAppLdpContainerElement>;
1793
- "pos-app-rdf-document": LocalJSX.PosAppRdfDocument & JSXBase.HTMLAttributes<HTMLPosAppRdfDocumentElement>;
1794
- "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>;
1795
1915
  /**
1796
1916
  * Lists whatever is attached to the current thing
1797
1917
  */
1798
- "pos-attachments": LocalJSX.PosAttachments & JSXBase.HTMLAttributes<HTMLPosAttachmentsElement>;
1918
+ "pos-attachments": LocalJSX.IntrinsicElements["pos-attachments"] & JSXBase.HTMLAttributes<HTMLPosAttachmentsElement>;
1799
1919
  /**
1800
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/).
1801
1921
  * See [storybook](https://pod-os.github.io/PodOS/storybook/?path=/story/basics--pos-switch) for an example.
1802
1922
  */
1803
- "pos-case": LocalJSX.PosCase & JSXBase.HTMLAttributes<HTMLPosCaseElement>;
1804
- "pos-container-contents": LocalJSX.PosContainerContents & JSXBase.HTMLAttributes<HTMLPosContainerContentsElement>;
1805
- "pos-container-item": LocalJSX.PosContainerItem & JSXBase.HTMLAttributes<HTMLPosContainerItemElement>;
1806
- "pos-container-toolbar": LocalJSX.PosContainerToolbar & JSXBase.HTMLAttributes<HTMLPosContainerToolbarElement>;
1807
- "pos-create-new-container-item": LocalJSX.PosCreateNewContainerItem & JSXBase.HTMLAttributes<HTMLPosCreateNewContainerItemElement>;
1808
- "pos-description": LocalJSX.PosDescription & JSXBase.HTMLAttributes<HTMLPosDescriptionElement>;
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>;
1809
1929
  /**
1810
1930
  * Styled wrapper around native dialog element, with slots `title` and `content`
1811
1931
  */
1812
- "pos-dialog": LocalJSX.PosDialog & JSXBase.HTMLAttributes<HTMLPosDialogElement>;
1813
- "pos-document": LocalJSX.PosDocument & JSXBase.HTMLAttributes<HTMLPosDocumentElement>;
1814
- "pos-error-toast": LocalJSX.PosErrorToast & JSXBase.HTMLAttributes<HTMLPosErrorToastElement>;
1815
- "pos-example-resources": LocalJSX.PosExampleResources & JSXBase.HTMLAttributes<HTMLPosExampleResourcesElement>;
1816
- "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>;
1817
1937
  /**
1818
1938
  * Tries fetch an image with the solid authentication, and can visualize http errors like 403 or 404 if this fails.
1819
1939
  * Falls back to classic `<img src="...">` on network errors like CORS.
1820
1940
  * Renders a normal link if even this fails.
1821
1941
  */
1822
- "pos-image": LocalJSX.PosImage & JSXBase.HTMLAttributes<HTMLPosImageElement>;
1823
- "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>;
1824
1944
  /**
1825
1945
  * Displays a human-readable label of the resource, provided by [Thing.label()](https://pod-os.org/reference/core/classes/thing/#label)
1826
1946
  */
1827
- "pos-label": LocalJSX.PosLabel & JSXBase.HTMLAttributes<HTMLPosLabelElement>;
1828
- "pos-list": LocalJSX.PosList & JSXBase.HTMLAttributes<HTMLPosListElement>;
1829
- "pos-literals": LocalJSX.PosLiterals & JSXBase.HTMLAttributes<HTMLPosLiteralsElement>;
1830
- "pos-login": LocalJSX.PosLogin & JSXBase.HTMLAttributes<HTMLPosLoginElement>;
1831
- "pos-login-form": LocalJSX.PosLoginForm & JSXBase.HTMLAttributes<HTMLPosLoginFormElement>;
1832
- "pos-make-findable": LocalJSX.PosMakeFindable & JSXBase.HTMLAttributes<HTMLPosMakeFindableElement>;
1833
- "pos-markdown-document": LocalJSX.PosMarkdownDocument & JSXBase.HTMLAttributes<HTMLPosMarkdownDocumentElement>;
1834
- "pos-navigation": LocalJSX.PosNavigation & JSXBase.HTMLAttributes<HTMLPosNavigationElement>;
1835
- "pos-navigation-bar": LocalJSX.PosNavigationBar & JSXBase.HTMLAttributes<HTMLPosNavigationBarElement>;
1836
- "pos-new-thing-form": LocalJSX.PosNewThingForm & JSXBase.HTMLAttributes<HTMLPosNewThingFormElement>;
1837
- "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>;
1838
1958
  /**
1839
1959
  * Displays an RDF term (predicate) in a human-friendly way, using a provided label. The user can still expand the label
1840
1960
  * to the full URI to see the actual predicate.
1841
1961
  * This will only show the predicate itself, not any value. If you want to display a value, use [pos-value](../pos-value) instead.
1842
1962
  */
1843
- "pos-predicate": LocalJSX.PosPredicate & JSXBase.HTMLAttributes<HTMLPosPredicateElement>;
1844
- "pos-relations": LocalJSX.PosRelations & JSXBase.HTMLAttributes<HTMLPosRelationsElement>;
1845
- "pos-resource": LocalJSX.PosResource & JSXBase.HTMLAttributes<HTMLPosResourceElement>;
1846
- "pos-reverse-relations": LocalJSX.PosReverseRelations & JSXBase.HTMLAttributes<HTMLPosReverseRelationsElement>;
1847
- "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>;
1848
1968
  /**
1849
1969
  * The responsibility of pos-router is to handle the `uri` query param, that specifies the URI of the resource that is currently opened.
1850
1970
  * It reads this query param and informs other components about changes via the `pod-os:route-changed` event.
1851
1971
  * It also intercepts the URLs from `pod-os:link` events and pushes them as a new `uri` parameter.
1852
1972
  */
1853
- "pos-router": LocalJSX.PosRouter & JSXBase.HTMLAttributes<HTMLPosRouterElement>;
1854
- "pos-select-term": LocalJSX.PosSelectTerm & JSXBase.HTMLAttributes<HTMLPosSelectTermElement>;
1855
- "pos-setting-offline-cache": LocalJSX.PosSettingOfflineCache & JSXBase.HTMLAttributes<HTMLPosSettingOfflineCacheElement>;
1856
- "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>;
1857
1981
  /**
1858
1982
  * Selects a child template to render based on properties of the subject resource, usually defined by an ancestor `pos-resource` element.
1859
1983
  * See [storybook](https://pod-os.github.io/PodOS/storybook/?path=/story/basics--pos-switch) for an example.
1860
1984
  * See [pos-case](https://pod-os.org/reference/elements/components/pos-switch/pos-case/) for available filter conditions.
1861
1985
  */
1862
- "pos-switch": LocalJSX.PosSwitch & JSXBase.HTMLAttributes<HTMLPosSwitchElement>;
1986
+ "pos-switch": LocalJSX.IntrinsicElements["pos-switch"] & JSXBase.HTMLAttributes<HTMLPosSwitchElement>;
1863
1987
  /**
1864
1988
  * A tool to manage attachments of a thing.
1865
1989
  */
1866
- "pos-tool-attachments": LocalJSX.PosToolAttachments & JSXBase.HTMLAttributes<HTMLPosToolAttachmentsElement>;
1990
+ "pos-tool-attachments": LocalJSX.IntrinsicElements["pos-tool-attachments"] & JSXBase.HTMLAttributes<HTMLPosToolAttachmentsElement>;
1867
1991
  /**
1868
1992
  * Allows selecting a tool from within a set of available tools
1869
1993
  */
1870
- "pos-tool-select": LocalJSX.PosToolSelect & JSXBase.HTMLAttributes<HTMLPosToolSelectElement>;
1871
- "pos-type-badges": LocalJSX.PosTypeBadges & JSXBase.HTMLAttributes<HTMLPosTypeBadgesElement>;
1872
- "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>;
1873
1997
  /**
1874
1998
  * This component is responsible for rendering tools that are useful to interact with the current resource.
1875
1999
  */
1876
- "pos-type-router": LocalJSX.PosTypeRouter & JSXBase.HTMLAttributes<HTMLPosTypeRouterElement>;
1877
- "pos-upload": LocalJSX.PosUpload & JSXBase.HTMLAttributes<HTMLPosUploadElement>;
1878
- "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>;
1879
2003
  /**
1880
2004
  * Shows a single value linked to the resource using the given predicate.
1881
2005
  * The value is determined by [Thing.anyValue()](https://pod-os.org/reference/core/classes/thing/#anyvalue)
1882
2006
  */
1883
- "pos-value": LocalJSX.PosValue & JSXBase.HTMLAttributes<HTMLPosValueElement>;
2007
+ "pos-value": LocalJSX.IntrinsicElements["pos-value"] & JSXBase.HTMLAttributes<HTMLPosValueElement>;
1884
2008
  }
1885
2009
  }
1886
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
  */