@pod-os/elements 0.42.0-rc.57acbc2.0 → 0.42.0-rc.5e6c109.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.
@@ -7,9 +7,13 @@ vi.mock('../pod-os', () => ({
7
7
  createPodOS: vi.fn(),
8
8
  }));
9
9
  vi.mock('../authentication', () => ({
10
- BrowserSession: vi.fn().mockReturnValue({
11
- onSessionRestore: () => { },
12
- handleIncomingRedirect: vi.fn(),
10
+ BrowserSession: vi.fn().mockImplementation(
11
+ // @ts-ignore
12
+ class {
13
+ constructor() {
14
+ this.onSessionRestore = () => { };
15
+ this.handleIncomingRedirect = vi.fn();
16
+ }
13
17
  }),
14
18
  }));
15
19
  vi.mock('../components/events/usePodOS');
@@ -37,11 +41,13 @@ export function mockPodOS() {
37
41
  login: vi.fn().mockImplementation(() => {
38
42
  sessionInfo$.next({ isLoggedIn: true, webId: alice.webId });
39
43
  }),
44
+ logout: vi.fn(),
40
45
  proposeUriForNewThing: vi.fn(),
41
46
  addNewThing: vi.fn().mockResolvedValue(undefined),
42
47
  fetchProfile: vi.fn(),
43
48
  buildSearchIndex: vi.fn(),
44
49
  proposeAppsFor: vi.fn().mockReturnValue([]),
50
+ addPropertyValue: vi.fn(),
45
51
  addRelation: vi.fn(),
46
52
  };
47
53
  const observedLabel$ = new ReplaySubject();
@@ -59,4 +65,13 @@ export function mockPodOS() {
59
65
  usePodOS.mockResolvedValue(os);
60
66
  return os;
61
67
  }
68
+ /**
69
+ * Respond to pod-os:init event with the given os instance
70
+ * @param os
71
+ */
72
+ export function mockOsProvider(os) {
73
+ document.addEventListener('pod-os:init', (event) => {
74
+ event.detail(os);
75
+ }, { once: true });
76
+ }
62
77
  //# sourceMappingURL=mockPodOS.vitest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mockPodOS.vitest.js","sourceRoot":"","sources":["../../../src/test/mockPodOS.vitest.ts"],"names":[],"mappings":"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","sourcesContent":["import { Mock, vi } from 'vitest';\nimport { PodOS } from '@pod-os/core';\nimport { when } from 'vitest-when';\nimport { BehaviorSubject, ReplaySubject } from 'rxjs';\nimport { createPodOS } from '../pod-os';\nimport { usePodOS } from '../components/events/usePodOS';\n\nvi.mock('../pod-os', () => ({\n createPodOS: vi.fn(),\n}));\n\nvi.mock('../authentication', () => ({\n BrowserSession: vi.fn().mockReturnValue({\n onSessionRestore: () => {},\n handleIncomingRedirect: vi.fn(),\n }),\n}));\n\nvi.mock('../components/events/usePodOS');\n\nconst alice = {\n webId: 'https://pod.example/alice#me',\n name: 'Alice',\n picture: 'https://pod.example/alice/me.jpg',\n};\n\nexport function mockPodOS(): PodOS {\n const sessionInfo$ = new BehaviorSubject({ isLoggedIn: false, webId: '' });\n const fileFetcher = {\n fetchFile: vi.fn(),\n putFile: vi.fn(),\n createNewFile: vi.fn().mockResolvedValue(undefined),\n createNewFolder: vi.fn().mockResolvedValue(undefined),\n };\n const os = {\n fetch: vi.fn(),\n files: () => fileFetcher,\n store: {\n get: vi.fn(),\n observeFindMembers: vi.fn(),\n },\n observeSession: () => sessionInfo$,\n login: vi.fn().mockImplementation(() => {\n sessionInfo$.next({ isLoggedIn: true, webId: alice.webId });\n }),\n proposeUriForNewThing: vi.fn(),\n addNewThing: vi.fn().mockResolvedValue(undefined),\n fetchProfile: vi.fn(),\n buildSearchIndex: vi.fn(),\n proposeAppsFor: vi.fn().mockReturnValue([]),\n addRelation: vi.fn(),\n };\n const observedLabel$ = new ReplaySubject<string>();\n observedLabel$.next(alice.name);\n when(os.store.get)\n .calledWith(alice.webId)\n .thenReturn({\n label: () => alice.name,\n observeLabel: () => observedLabel$,\n picture: () => ({\n url: alice.picture,\n }),\n });\n (createPodOS as Mock).mockReturnValue(os);\n (usePodOS as Mock).mockResolvedValue(os);\n\n return os as unknown as PodOS;\n}\n"]}
1
+ {"version":3,"file":"mockPodOS.vitest.js","sourceRoot":"","sources":["../../../src/test/mockPodOS.vitest.ts"],"names":[],"mappings":"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","sourcesContent":["import { Mock, vi } from 'vitest';\nimport { PodOS } from '@pod-os/core';\nimport { when } from 'vitest-when';\nimport { BehaviorSubject, ReplaySubject } from 'rxjs';\nimport { createPodOS } from '../pod-os';\nimport { usePodOS } from '../components/events/usePodOS';\n\nvi.mock('../pod-os', () => ({\n createPodOS: vi.fn(),\n}));\n\nvi.mock('../authentication', () => ({\n BrowserSession: vi.fn().mockImplementation(\n // @ts-ignore\n class {\n onSessionRestore = () => {};\n handleIncomingRedirect = vi.fn();\n },\n ),\n}));\n\nvi.mock('../components/events/usePodOS');\n\nconst alice = {\n webId: 'https://pod.example/alice#me',\n name: 'Alice',\n picture: 'https://pod.example/alice/me.jpg',\n};\n\nexport function mockPodOS(): PodOS {\n const sessionInfo$ = new BehaviorSubject({ isLoggedIn: false, webId: '' });\n const fileFetcher = {\n fetchFile: vi.fn(),\n putFile: vi.fn(),\n createNewFile: vi.fn().mockResolvedValue(undefined),\n createNewFolder: vi.fn().mockResolvedValue(undefined),\n };\n const os = {\n fetch: vi.fn(),\n files: () => fileFetcher,\n store: {\n get: vi.fn(),\n observeFindMembers: vi.fn(),\n },\n observeSession: () => sessionInfo$,\n login: vi.fn().mockImplementation(() => {\n sessionInfo$.next({ isLoggedIn: true, webId: alice.webId });\n }),\n logout: vi.fn(),\n proposeUriForNewThing: vi.fn(),\n addNewThing: vi.fn().mockResolvedValue(undefined),\n fetchProfile: vi.fn(),\n buildSearchIndex: vi.fn(),\n proposeAppsFor: vi.fn().mockReturnValue([]),\n addPropertyValue: vi.fn(),\n addRelation: vi.fn(),\n };\n const observedLabel$ = new ReplaySubject<string>();\n observedLabel$.next(alice.name);\n when(os.store.get)\n .calledWith(alice.webId)\n .thenReturn({\n label: () => alice.name,\n observeLabel: () => observedLabel$,\n picture: () => ({\n url: alice.picture,\n }),\n });\n (createPodOS as Mock).mockReturnValue(os);\n (usePodOS as Mock).mockResolvedValue(os);\n\n return os as unknown as PodOS;\n}\n\n/**\n * Respond to pod-os:init event with the given os instance\n * @param os\n */\nexport function mockOsProvider(os: Partial<PodOS>) {\n document.addEventListener(\n 'pod-os:init',\n (event: any) => {\n event.detail(os);\n },\n { once: true }, // only once to prevent test pollution\n );\n}\n"]}
@@ -1,6 +1,31 @@
1
+ import { Subject, tap } from "rxjs";
2
+ /**
3
+ * Respond with the given resource to a pod-os:resource event
4
+ *
5
+ * This will only provide one resource, once. If you need to change the resource over time,
6
+ * use mockResources() instead.
7
+ *
8
+ * @param resource The resource to receive in the requesting component
9
+ */
1
10
  export function mockResource(resource) {
2
11
  document.addEventListener('pod-os:resource', (event) => {
3
12
  event.detail(resource);
4
- });
13
+ }, { once: true });
14
+ }
15
+ /**
16
+ * Provide resources to components that requested a resource
17
+ * via pod-os:resource event.
18
+ * @returns A subject that can be used to emit resources, that will be received by the requesting component.
19
+ */
20
+ export function mockResources() {
21
+ const subject = new Subject();
22
+ document.addEventListener('pod-os:resource', (event) => {
23
+ subject
24
+ .pipe(tap(resource => {
25
+ event.detail(resource);
26
+ }))
27
+ .subscribe();
28
+ }, { once: true });
29
+ return subject;
5
30
  }
6
31
  //# sourceMappingURL=mockResource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mockResource.js","sourceRoot":"","sources":["../../../src/test/mockResource.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,QAAe;IAC1C,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,KAAU,EAAE,EAAE;QAC1D,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { Thing } from '@pod-os/core';\n\nexport function mockResource(resource: Thing) {\n document.addEventListener('pod-os:resource', (event: any) => {\n event.detail(resource);\n });\n}\n"]}
1
+ {"version":3,"file":"mockResource.js","sourceRoot":"","sources":["../../../src/test/mockResource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEpC;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,QAAwB;IACnD,QAAQ,CAAC,gBAAgB,CACvB,iBAAiB,EACjB,CAAC,KAAU,EAAE,EAAE;QACb,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAkB,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,CACvB,iBAAiB,EACjB,CAAC,KAAU,EAAE,EAAE;QACb,OAAO;aACJ,IAAI,CACH,GAAG,CAAC,QAAQ,CAAC,EAAE;YACb,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC,CAAC,CACH;aACA,SAAS,EAAE,CAAC;IACjB,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import { Thing } from '@pod-os/core';\nimport { Subject, tap } from 'rxjs';\n\n/**\n * Respond with the given resource to a pod-os:resource event\n *\n * This will only provide one resource, once. If you need to change the resource over time,\n * use mockResources() instead.\n *\n * @param resource The resource to receive in the requesting component\n */\nexport function mockResource(resource: Partial<Thing>) {\n document.addEventListener(\n 'pod-os:resource',\n (event: any) => {\n event.detail(resource);\n },\n { once: true }, // only once to prevent test pollution\n );\n}\n\n/**\n * Provide resources to components that requested a resource\n * via pod-os:resource event.\n * @returns A subject that can be used to emit resources, that will be received by the requesting component.\n */\nexport function mockResources() {\n const subject = new Subject<Partial<Thing>>();\n document.addEventListener(\n 'pod-os:resource',\n (event: any) => {\n subject\n .pipe(\n tap(resource => {\n event.detail(resource);\n }),\n )\n .subscribe();\n },\n { once: true }, // only once to prevent test pollution\n );\n return subject;\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import { setupServer } from "msw/node";
2
+ import { http, HttpResponse } from "msw";
3
+ export const server = setupServer();
4
+ export function turtleFile(url, content, { delayedUntil = Promise.resolve() } = {}) {
5
+ return http.get(url, async () => {
6
+ const response = HttpResponse.text(content);
7
+ response.headers.set('Content-Type', 'text/turtle');
8
+ await delayedUntil;
9
+ return response;
10
+ });
11
+ }
12
+ export function notFound(url) {
13
+ return http.get(url, async () => {
14
+ return HttpResponse.text('Not found', {
15
+ status: 404,
16
+ });
17
+ });
18
+ }
19
+ //# sourceMappingURL=msw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msw.js","sourceRoot":"","sources":["../../../src/test/msw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;AAMpC,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,OAAe,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,KAAc,EAAE;IACzG,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QACpD,MAAM,YAAY,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;QAC9B,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE;YACpC,MAAM,EAAE,GAAG;SACZ,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { setupServer } from 'msw/node';\nimport { http, HttpResponse } from 'msw';\n\nexport const server = setupServer();\n\ninterface Options {\n delayedUntil?: Promise<void>;\n}\n\nexport function turtleFile(url: string, content: string, { delayedUntil = Promise.resolve() }: Options = {}) {\n return http.get(url, async () => {\n const response = HttpResponse.text(content);\n response.headers.set('Content-Type', 'text/turtle');\n await delayedUntil;\n return response;\n });\n}\n\nexport function notFound(url: string) {\n return http.get(url, async () => {\n return HttpResponse.text('Not found', {\n status: 404,\n });\n });\n}\n"]}
@@ -0,0 +1,6 @@
1
+ export async function pressKey(page, key, options = {}) {
2
+ const keyEvent = new KeyboardEvent('keydown', Object.assign({ key }, options));
3
+ page.root.dispatchEvent(keyEvent);
4
+ await page.waitForChanges();
5
+ }
6
+ //# sourceMappingURL=pressKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pressKey.js","sourceRoot":"","sources":["../../../src/test/pressKey.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAI,EAAE,GAAW,EAAE,UAA6B,EAAE;IAC/E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,SAAS,kBAC1C,GAAG,IACA,OAAO,EACV,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;AAC9B,CAAC","sourcesContent":["export async function pressKey(page, key: string, options: KeyboardEventInit = {}) {\n const keyEvent = new KeyboardEvent('keydown', {\n key,\n ...options,\n });\n page.root.dispatchEvent(keyEvent);\n await page.waitForChanges();\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import { expect } from "@stencil/vitest";
2
+ import { within } from "@testing-library/dom";
3
+ export function withinShadow(page) {
4
+ expect(page.root.shadowRoot).toBeDefined();
5
+ const shadowRoot = page.root.shadowRoot;
6
+ return within(shadowRoot);
7
+ }
8
+ //# sourceMappingURL=withinShadow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withinShadow.js","sourceRoot":"","sources":["../../../src/test/withinShadow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,UAAU,YAAY,CAAC,IAAkB;IAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAoC,CAAC;IAClE,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5B,CAAC","sourcesContent":["import { expect, RenderResult } from '@stencil/vitest';\nimport { within } from '@testing-library/dom';\n\nexport function withinShadow(page: RenderResult) {\n expect(page.root.shadowRoot).toBeDefined();\n const shadowRoot = page.root.shadowRoot as unknown as HTMLElement;\n return within(shadowRoot);\n}\n"]}
@@ -1,2 +1,7 @@
1
1
  import { PodOS } from '@pod-os/core';
2
2
  export declare function mockPodOS(): PodOS;
3
+ /**
4
+ * Respond to pod-os:init event with the given os instance
5
+ * @param os
6
+ */
7
+ export declare function mockOsProvider(os: Partial<PodOS>): void;
@@ -1,2 +1,17 @@
1
1
  import { Thing } from '@pod-os/core';
2
- export declare function mockResource(resource: Thing): void;
2
+ import { Subject } from 'rxjs';
3
+ /**
4
+ * Respond with the given resource to a pod-os:resource event
5
+ *
6
+ * This will only provide one resource, once. If you need to change the resource over time,
7
+ * use mockResources() instead.
8
+ *
9
+ * @param resource The resource to receive in the requesting component
10
+ */
11
+ export declare function mockResource(resource: Partial<Thing>): void;
12
+ /**
13
+ * Provide resources to components that requested a resource
14
+ * via pod-os:resource event.
15
+ * @returns A subject that can be used to emit resources, that will be received by the requesting component.
16
+ */
17
+ export declare function mockResources(): Subject<Partial<Thing>>;
@@ -0,0 +1,7 @@
1
+ export declare const server: import("msw/node").SetupServer;
2
+ interface Options {
3
+ delayedUntil?: Promise<void>;
4
+ }
5
+ export declare function turtleFile(url: string, content: string, { delayedUntil }?: Options): import("msw").HttpHandler;
6
+ export declare function notFound(url: string): import("msw").HttpHandler;
7
+ export {};
@@ -0,0 +1 @@
1
+ export declare function pressKey(page: any, key: string, options?: KeyboardEventInit): Promise<void>;
@@ -0,0 +1,100 @@
1
+ import { RenderResult } from '@stencil/vitest';
2
+ export declare function withinShadow(page: RenderResult): {
3
+ getByLabelText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions): ReturnType<import("@testing-library/dom").GetByText<T>>;
4
+ getAllByLabelText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions): ReturnType<import("@testing-library/dom").AllByText<T>>;
5
+ queryByLabelText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions): ReturnType<import("@testing-library/dom").QueryByText<T>>;
6
+ queryAllByLabelText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions): ReturnType<import("@testing-library/dom").AllByText<T>>;
7
+ findByLabelText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions): ReturnType<import("@testing-library/dom").FindByText<T>>;
8
+ findAllByLabelText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions): ReturnType<import("@testing-library/dom").FindAllByText<T>>;
9
+ getByPlaceholderText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").GetByBoundAttribute<T>>;
10
+ getAllByPlaceholderText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").AllByBoundAttribute<T>>;
11
+ queryByPlaceholderText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").QueryByBoundAttribute<T>>;
12
+ queryAllByPlaceholderText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").AllByBoundAttribute<T>>;
13
+ findByPlaceholderText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions): ReturnType<import("@testing-library/dom").FindByBoundAttribute<T>>;
14
+ findAllByPlaceholderText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions): ReturnType<import("@testing-library/dom").FindAllByBoundAttribute<T>>;
15
+ getByText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions): ReturnType<import("@testing-library/dom").GetByText<T>>;
16
+ getAllByText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions): ReturnType<import("@testing-library/dom").AllByText<T>>;
17
+ queryByText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions): ReturnType<import("@testing-library/dom").QueryByText<T>>;
18
+ queryAllByText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions): ReturnType<import("@testing-library/dom").AllByText<T>>;
19
+ findByText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions): ReturnType<import("@testing-library/dom").FindByText<T>>;
20
+ findAllByText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions): ReturnType<import("@testing-library/dom").FindAllByText<T>>;
21
+ getByAltText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").GetByBoundAttribute<T>>;
22
+ getAllByAltText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").AllByBoundAttribute<T>>;
23
+ queryByAltText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").QueryByBoundAttribute<T>>;
24
+ queryAllByAltText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").AllByBoundAttribute<T>>;
25
+ findByAltText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions): ReturnType<import("@testing-library/dom").FindByBoundAttribute<T>>;
26
+ findAllByAltText<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions): ReturnType<import("@testing-library/dom").FindAllByBoundAttribute<T>>;
27
+ getByTitle<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").GetByBoundAttribute<T>>;
28
+ getAllByTitle<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").AllByBoundAttribute<T>>;
29
+ queryByTitle<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").QueryByBoundAttribute<T>>;
30
+ queryAllByTitle<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").AllByBoundAttribute<T>>;
31
+ findByTitle<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions): ReturnType<import("@testing-library/dom").FindByBoundAttribute<T>>;
32
+ findAllByTitle<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions): ReturnType<import("@testing-library/dom").FindAllByBoundAttribute<T>>;
33
+ getByDisplayValue<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").GetByBoundAttribute<T>>;
34
+ getAllByDisplayValue<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").AllByBoundAttribute<T>>;
35
+ queryByDisplayValue<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").QueryByBoundAttribute<T>>;
36
+ queryAllByDisplayValue<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").AllByBoundAttribute<T>>;
37
+ findByDisplayValue<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions): ReturnType<import("@testing-library/dom").FindByBoundAttribute<T>>;
38
+ findAllByDisplayValue<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions): ReturnType<import("@testing-library/dom").FindAllByBoundAttribute<T>>;
39
+ getByRole<T extends HTMLElement = HTMLElement>(role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions): ReturnType<import("@testing-library/dom").GetByRole<T>>;
40
+ getAllByRole<T extends HTMLElement = HTMLElement>(role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions): ReturnType<import("@testing-library/dom").AllByRole<T>>;
41
+ queryByRole<T extends HTMLElement = HTMLElement>(role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions): ReturnType<import("@testing-library/dom").QueryByRole<T>>;
42
+ queryAllByRole<T extends HTMLElement = HTMLElement>(role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions): ReturnType<import("@testing-library/dom").AllByRole<T>>;
43
+ findByRole<T extends HTMLElement = HTMLElement>(role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions): ReturnType<import("@testing-library/dom").FindByRole<T>>;
44
+ findAllByRole<T extends HTMLElement = HTMLElement>(role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions): ReturnType<import("@testing-library/dom").FindAllByRole<T>>;
45
+ getByTestId<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").GetByBoundAttribute<T>>;
46
+ getAllByTestId<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").AllByBoundAttribute<T>>;
47
+ queryByTestId<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").QueryByBoundAttribute<T>>;
48
+ queryAllByTestId<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions): ReturnType<import("@testing-library/dom").AllByBoundAttribute<T>>;
49
+ findByTestId<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions): ReturnType<import("@testing-library/dom").FindByBoundAttribute<T>>;
50
+ findAllByTestId<T extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions): ReturnType<import("@testing-library/dom").FindAllByBoundAttribute<T>>;
51
+ } & {
52
+ getByLabelText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions) => HTMLElement;
53
+ getAllByLabelText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions) => HTMLElement[];
54
+ queryByLabelText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions) => HTMLElement;
55
+ queryAllByLabelText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions) => HTMLElement[];
56
+ findByLabelText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions) => Promise<HTMLElement>;
57
+ findAllByLabelText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions) => Promise<HTMLElement[]>;
58
+ getByPlaceholderText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement;
59
+ getAllByPlaceholderText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement[];
60
+ queryByPlaceholderText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement;
61
+ queryAllByPlaceholderText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement[];
62
+ findByPlaceholderText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions) => Promise<HTMLElement>;
63
+ findAllByPlaceholderText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions) => Promise<HTMLElement[]>;
64
+ getByText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions) => HTMLElement;
65
+ getAllByText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions) => HTMLElement[];
66
+ queryByText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions) => HTMLElement;
67
+ queryAllByText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions) => HTMLElement[];
68
+ findByText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions) => Promise<HTMLElement>;
69
+ findAllByText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions) => Promise<HTMLElement[]>;
70
+ getByAltText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement;
71
+ getAllByAltText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement[];
72
+ queryByAltText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement;
73
+ queryAllByAltText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement[];
74
+ findByAltText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions) => Promise<HTMLElement>;
75
+ findAllByAltText: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions) => Promise<HTMLElement[]>;
76
+ getByTitle: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement;
77
+ getAllByTitle: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement[];
78
+ queryByTitle: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement;
79
+ queryAllByTitle: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement[];
80
+ findByTitle: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions) => Promise<HTMLElement>;
81
+ findAllByTitle: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions) => Promise<HTMLElement[]>;
82
+ getByDisplayValue: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement;
83
+ getAllByDisplayValue: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement[];
84
+ queryByDisplayValue: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement;
85
+ queryAllByDisplayValue: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement[];
86
+ findByDisplayValue: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions) => Promise<HTMLElement>;
87
+ findAllByDisplayValue: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions) => Promise<HTMLElement[]>;
88
+ getByRole: (role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions) => HTMLElement;
89
+ getAllByRole: (role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions) => HTMLElement[];
90
+ queryByRole: (role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions) => HTMLElement;
91
+ queryAllByRole: (role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions) => HTMLElement[];
92
+ findByRole: (role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions) => Promise<HTMLElement>;
93
+ findAllByRole: (role: import("@testing-library/dom").ByRoleMatcher, options?: import("@testing-library/dom").ByRoleOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions) => Promise<HTMLElement[]>;
94
+ getByTestId: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement;
95
+ getAllByTestId: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement[];
96
+ queryByTestId: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement;
97
+ queryAllByTestId: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions) => HTMLElement[];
98
+ findByTestId: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions) => Promise<HTMLElement>;
99
+ findAllByTestId: (id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").MatcherOptions, waitForElementOptions?: import("@testing-library/dom").waitForOptions) => Promise<HTMLElement[]>;
100
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pod-os/elements",
3
- "version": "0.42.0-rc.57acbc2.0",
3
+ "version": "0.42.0-rc.5e6c109.0",
4
4
  "description": "Custom elements for usage with Solid Pods",
5
5
  "main": "dist/index.cjs.js",
6
6
  "type": "module",
@@ -19,14 +19,16 @@
19
19
  "scripts": {
20
20
  "build": "stencil build --docs",
21
21
  "start": "stencil build --dev --watch --serve",
22
- "test": "npm run jest && npm run vitest",
22
+ "test": "npm run jest && npm run vitest:unit && npm run vitest:integration",
23
23
  "jest": "jest ./src",
24
24
  "vitest": "vitest run",
25
+ "vitest:unit": "vitest run --project unit-dom --project unit",
26
+ "vitest:integration": "stencil-test --prod --project integration-dom",
25
27
  "vitest:watch": "vitest",
26
28
  "generate": "stencil generate"
27
29
  },
28
30
  "dependencies": {
29
- "@pod-os/core": "v0.31.0-rc.57acbc2.0",
31
+ "@pod-os/core": "v0.31.0-rc.5e6c109.0",
30
32
  "@shoelace-style/shoelace": "^2.20.1",
31
33
  "@stencil/core": "^4.43.2",
32
34
  "@stencil/store": "^2.2.2",
@@ -58,6 +60,7 @@
58
60
  "jest": "^30.3.0",
59
61
  "jest-cli": "^30.3.0",
60
62
  "jest-when": "^3.7.0",
63
+ "msw": "^2.14.6",
61
64
  "prettier": "^3.5.3",
62
65
  "url-template": "^3.1.1",
63
66
  "vitest": "^4.1.8",