@gravitee/graphene-core 2.1.0 → 2.2.0-graphene-84-tests.2b47f8b

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 (46) hide show
  1. package/USAGE_GUIDE.md +130 -0
  2. package/dist/ThemeProvider-C_Ea8dI-.js +58 -0
  3. package/dist/__stories__/fixtures/file-upload.fixture.d.ts +10 -0
  4. package/dist/__stories__/fixtures/file-upload.fixture.d.ts.map +1 -0
  5. package/dist/base/Button/Button.harness.d.ts +16 -0
  6. package/dist/base/Button/Button.harness.d.ts.map +1 -0
  7. package/dist/base/Checkbox/Checkbox.harness.d.ts +17 -0
  8. package/dist/base/Checkbox/Checkbox.harness.d.ts.map +1 -0
  9. package/dist/base/FileUploadInput/FileUploadInput.d.ts +20 -0
  10. package/dist/base/FileUploadInput/FileUploadInput.d.ts.map +1 -0
  11. package/dist/base/FileUploadInput/index.d.ts +3 -0
  12. package/dist/base/FileUploadInput/index.d.ts.map +1 -0
  13. package/dist/base/Input/Input.harness.d.ts +18 -0
  14. package/dist/base/Input/Input.harness.d.ts.map +1 -0
  15. package/dist/base/Progress/Progress.d.ts +5 -0
  16. package/dist/base/Progress/Progress.d.ts.map +1 -0
  17. package/dist/base/Progress/index.d.ts +2 -0
  18. package/dist/base/Progress/index.d.ts.map +1 -0
  19. package/dist/base/RadioGroup/RadioGroup.harness.d.ts +23 -0
  20. package/dist/base/RadioGroup/RadioGroup.harness.d.ts.map +1 -0
  21. package/dist/base/Select/Select.harness.d.ts +19 -0
  22. package/dist/base/Select/Select.harness.d.ts.map +1 -0
  23. package/dist/base/Switch/Switch.harness.d.ts +17 -0
  24. package/dist/base/Switch/Switch.harness.d.ts.map +1 -0
  25. package/dist/base/Textarea/Textarea.harness.d.ts +17 -0
  26. package/dist/base/Textarea/Textarea.harness.d.ts.map +1 -0
  27. package/dist/composed/FileUpload/FileUpload.d.ts +23 -0
  28. package/dist/composed/FileUpload/FileUpload.d.ts.map +1 -0
  29. package/dist/composed/FileUpload/FileUploadItem.d.ts +17 -0
  30. package/dist/composed/FileUpload/FileUploadItem.d.ts.map +1 -0
  31. package/dist/composed/FileUpload/index.d.ts +5 -0
  32. package/dist/composed/FileUpload/index.d.ts.map +1 -0
  33. package/dist/index.d.ts +3 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +9602 -6844
  36. package/dist/lib/format.d.ts +2 -0
  37. package/dist/lib/format.d.ts.map +1 -0
  38. package/dist/styles/globals.css +1 -1
  39. package/dist/testing/harnessQuery.d.ts +10 -0
  40. package/dist/testing/harnessQuery.d.ts.map +1 -0
  41. package/dist/testing/index.d.ts +18 -0
  42. package/dist/testing/index.d.ts.map +1 -0
  43. package/dist/testing/index.js +228 -0
  44. package/dist/testing/renderWithGraphene.d.ts +13 -0
  45. package/dist/testing/renderWithGraphene.d.ts.map +1 -0
  46. package/package.json +19 -1
package/USAGE_GUIDE.md CHANGED
@@ -15,6 +15,7 @@ This project uses the Graphene design system (`@gravitee/graphene-core`). Follow
15
15
  | `@gravitee/graphene-core/icons` | Icon set used by Graphene components. Browse the catalog in Storybook (Overview / Showcase / Icons). |
16
16
  | `@gravitee/graphene-core/fonts` | Loads DM Sans via `@fontsource/dm-sans`. Import once in the app entry. |
17
17
  | `@gravitee/graphene-core/tailwind-theme` | Constrained Tailwind v4 theme: resets default palette/spacing/type and maps utilities to Graphene tokens. Use only if the app runs Tailwind for its own code. |
18
+ | `@gravitee/graphene-core/testing` | `renderWithGraphene` plus per-component harnesses (`buttonHarness`, `inputHarness`, …) for tests. See the **Testing** section below. |
18
19
  | `@gravitee/graphene-core/eslint` / `@gravitee/graphene-core/tsconfig` | Shared tooling configs |
19
20
 
20
21
  ## Dependencies (what the host needs)
@@ -281,6 +282,135 @@ function MyButton({ loading, children, ...props }: MyButtonProps) {
281
282
  }
282
283
  ```
283
284
 
285
+ ## Testing
286
+
287
+ Graphene exposes a testing toolkit at `@gravitee/graphene-core/testing` so you can write tests for components that consume Graphene without re-implementing setup or DOM queries. It is built on top of React Testing Library (RTL) — bring your own runner and DOM environment.
288
+
289
+ ### Dependencies
290
+
291
+ Install the RTL family in your app's devDependencies:
292
+
293
+ ```bash
294
+ yarn add -D @testing-library/react @testing-library/dom @testing-library/user-event
295
+ ```
296
+
297
+ Recommended (not required):
298
+
299
+ - **`happy-dom`** — DOM environment for your test runner. Implements `ResizeObserver`, `IntersectionObserver`, `matchMedia`, and `scrollIntoView` natively, all of which are needed by Radix-based primitives (Select, DropdownMenu, Dialog, …). `jsdom` works too but you will need to polyfill those APIs yourself.
300
+ - **`@testing-library/jest-dom`** — extra matchers like `toHaveFocus`, `toBeInTheDocument`. Optional; if you skip it, replace those matchers with plain attribute checks.
301
+ - **MSW** — for mocking HTTP calls. Compose with the harnesses; Graphene does not bundle a network mock.
302
+
303
+ ### Vitest setup (typical)
304
+
305
+ ```ts
306
+ // vitest.config.ts
307
+ import { defineConfig } from 'vitest/config';
308
+ import react from '@vitejs/plugin-react';
309
+
310
+ export default defineConfig({
311
+ plugins: [react()],
312
+ test: {
313
+ environment: 'happy-dom',
314
+ setupFiles: ['./vitest.setup.ts'],
315
+ },
316
+ });
317
+ ```
318
+
319
+ ```ts
320
+ // vitest.setup.ts
321
+ import '@testing-library/jest-dom/vitest';
322
+ import { cleanup } from '@testing-library/react';
323
+ import { afterEach } from 'vitest';
324
+
325
+ // happy-dom does not implement the Pointer Capture API; Radix primitives (Select, DropdownMenu, …) call into it on pointer events.
326
+ // Stub as no-ops so user.click() can drive Radix triggers in tests.
327
+ if (typeof Element !== 'undefined' && typeof Element.prototype.hasPointerCapture !== 'function') {
328
+ Element.prototype.hasPointerCapture = () => false;
329
+ Element.prototype.setPointerCapture = () => {};
330
+ Element.prototype.releasePointerCapture = () => {};
331
+ }
332
+
333
+ afterEach(() => {
334
+ cleanup();
335
+ });
336
+ ```
337
+
338
+ ### Writing tests
339
+
340
+ `renderWithGraphene` mounts your component inside a Graphene `ThemeProvider`. Each interactive primitive has a matching `xHarness({ name?, selector?, within? })` factory you attach **after** the render to interact with it.
341
+
342
+ ```tsx
343
+ import { describe, expect, it, vi } from 'vitest';
344
+ import {
345
+ renderWithGraphene,
346
+ buttonHarness,
347
+ inputHarness,
348
+ } from '@gravitee/graphene-core/testing';
349
+ import { LoginForm } from './LoginForm';
350
+
351
+ it('submits credentials', async () => {
352
+ const onSubmit = vi.fn();
353
+ renderWithGraphene(<LoginForm onSubmit={onSubmit} />);
354
+
355
+ await inputHarness({ name: /email/i }).type('me@test.com');
356
+ await inputHarness({ name: /password/i }).type('s3cret');
357
+ await buttonHarness({ name: /log in/i }).click();
358
+
359
+ expect(onSubmit).toHaveBeenCalledWith({ email: 'me@test.com', password: 's3cret' });
360
+ });
361
+ ```
362
+
363
+ ### Query rules
364
+
365
+ `xHarness({...})` accepts three filters (combined with AND):
366
+
367
+ | Filter | Use |
368
+ | ----------- | ----------------------------------------------------------------------------------------------------------------- |
369
+ | `name` | Accessible name (label, `aria-label`, etc.). **Preferred** — RTL priority #1. |
370
+ | `selector` | CSS selector escape hatch (`#id`, `[data-testid="x"]`, `.foo`). Use when accessible name is ambiguous. |
371
+ | `within` | Restrict the search to a sub-tree (e.g. an `aria-label`-ed `<form>` element). |
372
+
373
+ If zero or more than one element matches when a `selector` is provided, the harness throws a descriptive error.
374
+
375
+ ### Available harnesses
376
+
377
+ Every interactive base component exports a matching `xHarness` factory — `Button` → `buttonHarness`, `Input` → `inputHarness`, etc. The current list is whatever `@gravitee/graphene-core/testing` re-exports; IDE autocomplete on that import shows them all. Each harness has a few async actions (`click`, `type`, `select`, `toggle`, …) and synchronous getters (`getValue`, `isChecked`, `isDisabled`, …).
378
+
379
+ Two cases worth remembering:
380
+
381
+ - **`RadioGroup` exposes two harnesses** — `radioGroupHarness` (group-level: `select(value)`, `getValue`, `getOptions`) and `radioHarness` (single radio: `select`, `isSelected`, `getValue`).
382
+ - **Static primitives have no harness** — `Badge`, `Card`, `Skeleton`, `Avatar`, `Spinner`, `Separator`, `Label`, `Kbd`, `Alert`, etc. carry no behavior to drive. Query them directly with RTL's `getByRole` / `getByText`.
383
+
384
+ ### Async data — wait before attaching
385
+
386
+ Harness queries throw immediately if the element is not in the DOM yet. For components that fetch data on mount, wait first using RTL's native `findBy*` / `waitFor` and **then** attach the harness:
387
+
388
+ ```tsx
389
+ renderWithGraphene(<UserList />);
390
+
391
+ await screen.findByText('Alice'); // wait for the fetch
392
+ await buttonHarness({ name: /edit alice/i }).click(); // safe to attach now
393
+ ```
394
+
395
+ Use `findBy*`/`waitFor` for async **outside** the user's action (network, timers). Use `await user.action()` (already built into our actions) for the time it takes a click/type to propagate through React.
396
+
397
+ ### Multiple instances — pick the right filter
398
+
399
+ When several Graphene primitives sit in the same screen, use `name` (accessible label) first, then `within` to scope to a fieldset/form/section, and `selector` only as a last resort:
400
+
401
+ ```tsx
402
+ // Form group with two buttons
403
+ const submit = buttonHarness({ name: /submit/i });
404
+ const cancel = buttonHarness({ name: /cancel/i });
405
+
406
+ // Two forms with the same field labels
407
+ const editForm = screen.getByRole('form', { name: 'edit' });
408
+ inputHarness({ name: /email/i, within: editForm }).type('new@test.com');
409
+
410
+ // Disambiguate by data-testid (escape hatch)
411
+ buttonHarness({ selector: '[data-testid="row-3-delete"]' }).click();
412
+ ```
413
+
284
414
  ## Common mistakes to avoid
285
415
 
286
416
  - Importing `@gravitee/graphene-core/styles` **before** the app Tailwind entry when using Tier 2 (preflight can override Graphene base styles such as default border color).
@@ -0,0 +1,58 @@
1
+ import { createContext as e, useCallback as t, useContext as n, useEffect as r, useMemo as i, useState as a } from "react";
2
+ import { jsx as o } from "react/jsx-runtime";
3
+ //#region src/composed/ThemeProvider/ThemeProvider.tsx
4
+ var s = "graphene.theme.mode", c = e(null);
5
+ function l() {
6
+ return typeof window > "u" ? "light" : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
7
+ }
8
+ function u(e) {
9
+ document.documentElement.classList.toggle("dark", e === "dark");
10
+ }
11
+ function d() {
12
+ if (typeof window > "u") return null;
13
+ try {
14
+ let e = window.localStorage.getItem(s);
15
+ return e === "light" || e === "dark" || e === "system" ? e : null;
16
+ } catch {
17
+ return null;
18
+ }
19
+ }
20
+ function f(e) {
21
+ try {
22
+ window.localStorage.setItem(s, e);
23
+ } catch {}
24
+ }
25
+ function p({ children: e, defaultMode: n = "system" }) {
26
+ let [s, p] = a(() => d() ?? n), [m, h] = a(l);
27
+ r(() => {
28
+ if (s !== "system") return;
29
+ let e = window.matchMedia("(prefers-color-scheme: dark)"), t = (e) => h(e.matches ? "dark" : "light");
30
+ return e.addEventListener("change", t), () => e.removeEventListener("change", t);
31
+ }, [s]);
32
+ let g = s === "system" ? m : s;
33
+ r(() => {
34
+ u(g);
35
+ }, [g]);
36
+ let _ = t((e) => {
37
+ p(e), f(e);
38
+ }, []), v = i(() => ({
39
+ mode: s,
40
+ setMode: _,
41
+ resolvedTheme: g
42
+ }), [
43
+ s,
44
+ _,
45
+ g
46
+ ]);
47
+ return /* @__PURE__ */ o(c.Provider, {
48
+ value: v,
49
+ children: e
50
+ });
51
+ }
52
+ function m() {
53
+ let e = n(c);
54
+ if (!e) throw Error("useTheme must be used within a ThemeProvider.");
55
+ return e;
56
+ }
57
+ //#endregion
58
+ export { m as n, p as t };
@@ -0,0 +1,10 @@
1
+ import { FileUploadItemValue } from '../../composed/FileUpload';
2
+ /** One item per FileTypeKind, with mixed statuses (success / uploading / error). */
3
+ export declare const fileUploadGalleryItems: FileUploadItemValue[];
4
+ /** Same files as the gallery, without progress/status (queued / unstarted). */
5
+ export declare const fileUploadGalleryIdleItems: FileUploadItemValue[];
6
+ /** Mid-upload + failed pair. */
7
+ export declare const fileUploadErrorItems: FileUploadItemValue[];
8
+ /** Single completed upload, used by the disabled-state story. */
9
+ export declare const fileUploadDisabledItems: FileUploadItemValue[];
10
+ //# sourceMappingURL=file-upload.fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload.fixture.d.ts","sourceRoot":"","sources":["../../../src/__stories__/fixtures/file-upload.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAevF,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,EAAE,mBAAmB,EAOvD,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,EAO3D,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,oBAAoB,EAAE,mBAAmB,EAGrD,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,EAExD,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { HarnessQuery } from '../../testing/harnessQuery';
2
+ interface ButtonHarness {
3
+ readonly click: () => Promise<void>;
4
+ readonly hover: () => Promise<void>;
5
+ readonly focus: () => void;
6
+ readonly getElement: () => HTMLElement;
7
+ readonly getText: () => string;
8
+ readonly getVariant: () => string | null;
9
+ readonly getSize: () => string | null;
10
+ readonly isDisabled: () => boolean;
11
+ readonly hasIcon: () => boolean;
12
+ }
13
+ declare function buttonHarness(query?: HarnessQuery): ButtonHarness;
14
+ export { buttonHarness };
15
+ export type { ButtonHarness };
16
+ //# sourceMappingURL=Button.harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.harness.d.ts","sourceRoot":"","sources":["../../../src/base/Button/Button.harness.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAEnG,UAAU,aAAa;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,WAAW,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC;CACjC;AAED,iBAAS,aAAa,CAAC,KAAK,GAAE,YAAiB,GAAG,aAAa,CA2B9D;AAED,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { HarnessQuery } from '../../testing/harnessQuery';
2
+ interface CheckboxHarness {
3
+ readonly check: () => Promise<void>;
4
+ readonly uncheck: () => Promise<void>;
5
+ readonly toggle: () => Promise<void>;
6
+ readonly focus: () => void;
7
+ readonly getElement: () => HTMLElement;
8
+ readonly isChecked: () => boolean;
9
+ readonly isIndeterminate: () => boolean;
10
+ readonly isDisabled: () => boolean;
11
+ readonly isRequired: () => boolean;
12
+ readonly isInvalid: () => boolean;
13
+ }
14
+ declare function checkboxHarness(query?: HarnessQuery): CheckboxHarness;
15
+ export { checkboxHarness };
16
+ export type { CheckboxHarness };
17
+ //# sourceMappingURL=Checkbox.harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.harness.d.ts","sourceRoot":"","sources":["../../../src/base/Checkbox/Checkbox.harness.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAEnG,UAAU,eAAe;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,WAAW,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,OAAO,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;CACnC;AAED,iBAAS,eAAe,CAAC,KAAK,GAAE,YAAiB,GAAG,eAAe,CAiClE;AAED,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { Accept, FileRejection } from 'react-dropzone';
2
+ import * as React from 'react';
3
+ interface FileUploadInputProps extends Omit<React.ComponentProps<'div'>, 'children' | 'onError'> {
4
+ accept?: Accept;
5
+ disabled?: boolean;
6
+ hint?: React.ReactNode;
7
+ icon?: React.ReactNode;
8
+ invalid?: boolean;
9
+ label?: React.ReactNode;
10
+ maxFileSize?: number;
11
+ maxFiles?: number;
12
+ multiple?: boolean;
13
+ onFilesAccepted?: (files: File[]) => void;
14
+ onFilesRejected?: (rejections: FileRejection[]) => void;
15
+ }
16
+ declare function FileUploadInput({ accept, className, disabled, hint, icon, invalid, label, maxFileSize, maxFiles, multiple, onFilesAccepted, onFilesRejected, ...props }: FileUploadInputProps): import("react/jsx-runtime").JSX.Element;
17
+ export { FileUploadInput };
18
+ export type { Accept, FileRejection } from 'react-dropzone';
19
+ export type { FileUploadInputProps };
20
+ //# sourceMappingURL=FileUploadInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUploadInput.d.ts","sourceRoot":"","sources":["../../../src/base/FileUploadInput/FileUploadInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAe,MAAM,gBAAgB,CAAC;AAM9E,UAAU,oBAAqB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAC1C,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;CACzD;AAqBD,iBAAS,eAAe,CAAC,EACvB,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,KAAK,EACL,WAAW,EACX,QAAY,EACZ,QAAgB,EAChB,eAAe,EACf,eAAe,EACf,GAAG,KAAK,EACT,EAAE,oBAAoB,2CA+CtB;AAED,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5D,YAAY,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { FileUploadInput } from './FileUploadInput';
2
+ export type { Accept, FileRejection, FileUploadInputProps } from './FileUploadInput';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/FileUploadInput/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { HarnessQuery } from '../../testing/harnessQuery';
2
+ interface InputHarness {
3
+ readonly type: (value: string) => Promise<void>;
4
+ readonly clear: () => Promise<void>;
5
+ readonly focus: () => void;
6
+ readonly blur: () => void;
7
+ readonly getElement: () => HTMLInputElement;
8
+ readonly getValue: () => string;
9
+ readonly getType: () => string;
10
+ readonly getPlaceholder: () => string | null;
11
+ readonly isDisabled: () => boolean;
12
+ readonly isRequired: () => boolean;
13
+ readonly isInvalid: () => boolean;
14
+ }
15
+ declare function inputHarness(query?: HarnessQuery): InputHarness;
16
+ export { inputHarness };
17
+ export type { InputHarness };
18
+ //# sourceMappingURL=Input.harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.harness.d.ts","sourceRoot":"","sources":["../../../src/base/Input/Input.harness.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAEnG,UAAU,YAAY;IACpB,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;CACnC;AAED,iBAAS,YAAY,CAAC,KAAK,GAAE,YAAiB,GAAG,YAAY,CA2C5D;AAED,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Progress as ProgressPrimitive } from 'radix-ui';
2
+ import * as React from 'react';
3
+ declare function Progress({ className, value, ...props }: React.ComponentProps<typeof ProgressPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ export { Progress };
5
+ //# sourceMappingURL=Progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Progress.d.ts","sourceRoot":"","sources":["../../../src/base/Progress/Progress.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,2CAcpG;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Progress } from './Progress';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/Progress/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { HarnessQuery } from '../../testing/harnessQuery';
2
+ interface RadioGroupHarness {
3
+ readonly select: (value: string) => Promise<void>;
4
+ readonly getElement: () => HTMLElement;
5
+ readonly getValue: () => string | null;
6
+ readonly getOptions: () => string[];
7
+ readonly isDisabled: () => boolean;
8
+ readonly isRequired: () => boolean;
9
+ readonly isInvalid: () => boolean;
10
+ }
11
+ interface RadioHarness {
12
+ readonly select: () => Promise<void>;
13
+ readonly focus: () => void;
14
+ readonly getElement: () => HTMLElement;
15
+ readonly getValue: () => string | null;
16
+ readonly isSelected: () => boolean;
17
+ readonly isDisabled: () => boolean;
18
+ }
19
+ declare function radioGroupHarness(query?: HarnessQuery): RadioGroupHarness;
20
+ declare function radioHarness(query?: HarnessQuery): RadioHarness;
21
+ export { radioGroupHarness, radioHarness };
22
+ export type { RadioGroupHarness, RadioHarness };
23
+ //# sourceMappingURL=RadioGroup.harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroup.harness.d.ts","sourceRoot":"","sources":["../../../src/base/RadioGroup/RadioGroup.harness.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAEnG,UAAU,iBAAiB;IACzB,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,WAAW,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;CACnC;AAED,UAAU,YAAY;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,WAAW,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;CACpC;AAMD,iBAAS,iBAAiB,CAAC,KAAK,GAAE,YAAiB,GAAG,iBAAiB,CAuCtE;AAED,iBAAS,YAAY,CAAC,KAAK,GAAE,YAAiB,GAAG,YAAY,CA0B5D;AAED,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC;AAC3C,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { HarnessQuery } from '../../testing/harnessQuery';
2
+ interface SelectHarness {
3
+ readonly open: () => Promise<void>;
4
+ readonly close: () => Promise<void>;
5
+ readonly selectOption: (label: string | RegExp) => Promise<void>;
6
+ readonly focus: () => void;
7
+ readonly getElement: () => HTMLElement;
8
+ readonly getValue: () => string | null;
9
+ readonly getOptions: () => string[];
10
+ readonly getSize: () => string | null;
11
+ readonly isOpen: () => boolean;
12
+ readonly isDisabled: () => boolean;
13
+ readonly isRequired: () => boolean;
14
+ readonly isInvalid: () => boolean;
15
+ }
16
+ declare function selectHarness(query?: HarnessQuery): SelectHarness;
17
+ export { selectHarness };
18
+ export type { SelectHarness };
19
+ //# sourceMappingURL=Select.harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.harness.d.ts","sourceRoot":"","sources":["../../../src/base/Select/Select.harness.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAEnG,UAAU,aAAa;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,WAAW,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;CACnC;AAED,iBAAS,aAAa,CAAC,KAAK,GAAE,YAAiB,GAAG,aAAa,CA4D9D;AAED,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { HarnessQuery } from '../../testing/harnessQuery';
2
+ interface SwitchHarness {
3
+ readonly check: () => Promise<void>;
4
+ readonly uncheck: () => Promise<void>;
5
+ readonly toggle: () => Promise<void>;
6
+ readonly focus: () => void;
7
+ readonly getElement: () => HTMLElement;
8
+ readonly getSize: () => string | null;
9
+ readonly isChecked: () => boolean;
10
+ readonly isDisabled: () => boolean;
11
+ readonly isRequired: () => boolean;
12
+ readonly isInvalid: () => boolean;
13
+ }
14
+ declare function switchHarness(query?: HarnessQuery): SwitchHarness;
15
+ export { switchHarness };
16
+ export type { SwitchHarness };
17
+ //# sourceMappingURL=Switch.harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch.harness.d.ts","sourceRoot":"","sources":["../../../src/base/Switch/Switch.harness.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAEnG,UAAU,aAAa;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,WAAW,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;CACnC;AAED,iBAAS,aAAa,CAAC,KAAK,GAAE,YAAiB,GAAG,aAAa,CAiC9D;AAED,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { HarnessQuery } from '../../testing/harnessQuery';
2
+ interface TextareaHarness {
3
+ readonly type: (value: string) => Promise<void>;
4
+ readonly clear: () => Promise<void>;
5
+ readonly focus: () => void;
6
+ readonly blur: () => void;
7
+ readonly getElement: () => HTMLTextAreaElement;
8
+ readonly getValue: () => string;
9
+ readonly getPlaceholder: () => string | null;
10
+ readonly isDisabled: () => boolean;
11
+ readonly isRequired: () => boolean;
12
+ readonly isInvalid: () => boolean;
13
+ }
14
+ declare function textareaHarness(query?: HarnessQuery): TextareaHarness;
15
+ export { textareaHarness };
16
+ export type { TextareaHarness };
17
+ //# sourceMappingURL=Textarea.harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.harness.d.ts","sourceRoot":"","sources":["../../../src/base/Textarea/Textarea.harness.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAEnG,UAAU,eAAe;IACvB,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,mBAAmB,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;CACnC;AAMD,iBAAS,eAAe,CAAC,KAAK,GAAE,YAAiB,GAAG,eAAe,CAmClE;AAED,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { Accept, FileRejection } from '../../base/FileUploadInput';
2
+ import { FileUploadItemValue } from './FileUploadItem';
3
+ import * as React from 'react';
4
+ interface FileUploadProps {
5
+ accept?: Accept;
6
+ className?: string;
7
+ disabled?: boolean;
8
+ errors?: string[];
9
+ hint?: React.ReactNode;
10
+ invalid?: boolean;
11
+ items: FileUploadItemValue[];
12
+ label?: React.ReactNode;
13
+ maxFileSize?: number;
14
+ maxFiles?: number;
15
+ multiple?: boolean;
16
+ onFileRemove?: (id: string) => void;
17
+ onFilesAdd?: (files: File[]) => void;
18
+ onFilesReject?: (rejections: FileRejection[]) => void;
19
+ }
20
+ declare function FileUpload({ className, errors, invalid, items, onFileRemove, onFilesAdd, onFilesReject, ...inputProps }: FileUploadProps): import("react/jsx-runtime").JSX.Element;
21
+ export { FileUpload };
22
+ export type { FileUploadProps };
23
+ //# sourceMappingURL=FileUpload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../../src/composed/FileUpload/FileUpload.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAmB,MAAM,8CAA8C,CAAC;AAEhH,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACrC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;CACvD;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,MAAM,EACN,OAAO,EACP,KAAK,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,GAAG,UAAU,EACd,EAAE,eAAe,2CA6BjB;AAED,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,17 @@
1
+ import * as React from 'react';
2
+ type FileUploadStatus = 'error' | 'idle' | 'success' | 'uploading';
3
+ interface FileUploadItemValue {
4
+ error?: string;
5
+ file: File;
6
+ id: string;
7
+ progress?: number;
8
+ status?: FileUploadStatus;
9
+ }
10
+ interface FileUploadItemProps extends Omit<React.ComponentProps<'div'>, 'children' | 'id'> {
11
+ item: FileUploadItemValue;
12
+ onRemove?: (id: string) => void;
13
+ }
14
+ declare function FileUploadItem({ className, item, onRemove, ...props }: FileUploadItemProps): import("react/jsx-runtime").JSX.Element;
15
+ export { FileUploadItem };
16
+ export type { FileUploadItemProps, FileUploadItemValue, FileUploadStatus };
17
+ //# sourceMappingURL=FileUploadItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUploadItem.d.ts","sourceRoot":"","sources":["../../../src/composed/FileUpload/FileUploadItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,KAAK,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;AAEnE,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,UAAU,mBAAoB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACxF,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAiCD,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,2CAkDnF;AAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { FileUpload } from './FileUpload';
2
+ export type { FileUploadProps } from './FileUpload';
3
+ export { FileUploadItem } from './FileUploadItem';
4
+ export type { FileUploadItemProps, FileUploadItemValue, FileUploadStatus } from './FileUploadItem';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/composed/FileUpload/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -17,6 +17,7 @@ export * from './base/Drawer';
17
17
  export * from './base/DropdownMenu';
18
18
  export * from './base/Empty';
19
19
  export * from './base/Field';
20
+ export * from './base/FileUploadInput';
20
21
  export * from './base/HoverCard';
21
22
  export * from './base/Input';
22
23
  export * from './base/InputGroup';
@@ -25,6 +26,7 @@ export * from './base/Kbd';
25
26
  export * from './base/Label';
26
27
  export * from './base/Pagination';
27
28
  export * from './base/Popover';
29
+ export * from './base/Progress';
28
30
  export * from './base/RadioGroup';
29
31
  export * from './base/Resizable';
30
32
  export * from './base/ScrollArea';
@@ -50,6 +52,7 @@ export * from './composed/DataTable';
50
52
  export * from './composed/DataTablePagination';
51
53
  export * from './composed/DatePicker';
52
54
  export * from './composed/FacetedFilter';
55
+ export * from './composed/FileUpload';
53
56
  export * from './composed/LayoutSlots';
54
57
  export * from './composed/SelectorDropdown';
55
58
  export * from './composed/SidebarMode';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EACL,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,0CAA0C,CAAC;AAClD,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EACL,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,0CAA0C,CAAC;AAClD,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}