@arthurzakharov/ui-kit 2.7.0 → 2.9.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.
@@ -0,0 +1 @@
1
+ ._Accordion_1k5zy_1{display:block;width:100%;background-color:var(--rm-ui-color-background-primary, #fff);border:1px solid var(--rm-ui-grey-100);border-radius:var(--rm-ui-border-radius-md, 8px);overflow:hidden}._Header_1k5zy_10{display:flex;align-items:center;gap:var(--rm-ui-padding-sm);width:100%;padding:var(--rm-ui-padding-md) var(--rm-ui-padding-md);background:transparent;border:0;cursor:pointer;text-align:left;color:var(--rm-ui-color-text-primary);font-family:inherit;font-size:var(--rm-ui-font-size-body-large);line-height:var(--rm-ui-line-height-body-large);font-weight:var(--rm-ui-font-weight-medium)}._Header_1k5zy_10:focus-visible{outline:2px solid var(--rm-ui-color-focus);outline-offset:-2px}._HeaderOpen_1k5zy_32{color:var(--rm-ui-color-theme-primary)}._Index_1k5zy_36{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:28px;height:28px;padding:0 var(--rm-ui-padding-xxs);border-radius:50%;background-color:var(--rm-ui-color-theme-primary);color:var(--rm-ui-color-text-on-theme, #fff);font-size:var(--rm-ui-font-size-body-small);font-weight:var(--rm-ui-font-weight-medium);line-height:1}._Title_1k5zy_52{flex:1 1 auto;min-width:0}._Chevron_1k5zy_57{flex:0 0 auto;display:inline-flex;color:var(--rm-ui-color-text-secondary)}._Body_1k5zy_63{position:relative;padding:0 var(--rm-ui-padding-md) var(--rm-ui-padding-md)}._Subtitle_1k5zy_68{margin:0 0 var(--rm-ui-padding-sm);color:var(--rm-ui-color-text-secondary);font-size:var(--rm-ui-font-size-body-small);line-height:var(--rm-ui-line-height-body-small)}._Content_1k5zy_75{display:block}._LoaderOverlay_1k5zy_79{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:#ffffffbf;z-index:1}
@@ -0,0 +1 @@
1
+ ._Dropzone_14jbn_1{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--rm-ui-padding-xs);width:100%;min-height:160px;padding:var(--rm-ui-padding-md);border:2px dashed var(--rm-ui-grey-300);border-radius:var(--rm-ui-border-radius-md, 8px);background-color:var(--rm-ui-grey-50);text-align:center;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}._Dropzone_14jbn_1:hover,._Active_14jbn_21{border-color:var(--rm-ui-color-theme-primary);background-color:var(--rm-ui-color-background-primary, #fff)}._Dropzone_14jbn_1:focus-visible{outline:2px solid var(--rm-ui-color-focus);outline-offset:2px}._Disabled_14jbn_31{cursor:not-allowed;opacity:.5}._HiddenInput_14jbn_36{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}._Icon_14jbn_48{color:var(--rm-ui-color-theme-primary)}._Invitation_14jbn_52{font-size:var(--rm-ui-font-size-body);line-height:var(--rm-ui-line-height-body);color:var(--rm-ui-color-text-primary)}._HelpText_14jbn_58{font-size:var(--rm-ui-font-size-body-small);line-height:var(--rm-ui-line-height-body-small);color:var(--rm-ui-color-text-secondary)}
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ import { Base } from '../../utils/types';
3
+ export interface AccordionProps extends Base {
4
+ title: string;
5
+ isOpen: boolean;
6
+ onTitleClick: () => void;
7
+ index?: number | string;
8
+ subtitle?: ReactNode;
9
+ loading?: boolean;
10
+ children: ReactNode;
11
+ }
12
+ export declare const Accordion: ({ title, isOpen, onTitleClick, index, subtitle, loading, children, ...base }: AccordionProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,61 @@
1
+ import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
+ import { ChevronDown as h } from "lucide-react";
3
+ import { baseProps as i, clsx as s } from "../../utils/functions/functions.util.js";
4
+ import { FadeGrow as v } from "../../animations/fade-grow/fade-grow.component.js";
5
+ import { Rotate as p } from "../../animations/rotate/rotate.component.js";
6
+ import { Loader as z } from "../loader/loader.component.js";
7
+ import '../../assets/accordion-D1OVgv7W.css';const k = "_Accordion_1k5zy_1", C = "_Header_1k5zy_10", N = "_HeaderOpen_1k5zy_32", x = "_Index_1k5zy_36", b = "_Title_1k5zy_52", f = "_Chevron_1k5zy_57", H = "_Body_1k5zy_63", $ = "_Subtitle_1k5zy_68", u = "_Content_1k5zy_75", A = "_LoaderOverlay_1k5zy_79", o = {
8
+ Accordion: k,
9
+ Header: C,
10
+ HeaderOpen: N,
11
+ Index: x,
12
+ Title: b,
13
+ Chevron: f,
14
+ Body: H,
15
+ Subtitle: $,
16
+ Content: u,
17
+ LoaderOverlay: A
18
+ }, j = ({
19
+ title: l,
20
+ isOpen: d,
21
+ onTitleClick: _,
22
+ index: r,
23
+ subtitle: a,
24
+ loading: m = !1,
25
+ children: y,
26
+ ...c
27
+ }) => {
28
+ const t = i(c, "data-testid", "accordion");
29
+ return /* @__PURE__ */ n(
30
+ "div",
31
+ {
32
+ "data-testid": t,
33
+ className: s(o.Accordion, i(c, "className")),
34
+ children: [
35
+ /* @__PURE__ */ n(
36
+ "button",
37
+ {
38
+ type: "button",
39
+ "data-testid": `${t}-header`,
40
+ className: s(o.Header, { [o.HeaderOpen]: d }),
41
+ onClick: _,
42
+ "aria-expanded": d,
43
+ children: [
44
+ r !== void 0 && /* @__PURE__ */ e("span", { "data-testid": `${t}-index`, className: o.Index, children: r }),
45
+ /* @__PURE__ */ e("span", { className: o.Title, children: l }),
46
+ /* @__PURE__ */ e("span", { className: o.Chevron, children: /* @__PURE__ */ e(p, { name: `${t}-chevron`, condition: d, from: "top", to: "bottom", children: /* @__PURE__ */ e(h, { size: 20 }) }) })
47
+ ]
48
+ }
49
+ ),
50
+ /* @__PURE__ */ e(v, { name: `${t}-body`, condition: d, children: /* @__PURE__ */ n("div", { "data-testid": `${t}-body`, className: o.Body, children: [
51
+ m && /* @__PURE__ */ e("div", { "data-testid": `${t}-loader`, className: o.LoaderOverlay, children: /* @__PURE__ */ e(z, { color: "accent-primary", size: "md" }) }),
52
+ a != null && /* @__PURE__ */ e("div", { "data-testid": `${t}-subtitle`, className: o.Subtitle, children: a }),
53
+ /* @__PURE__ */ e("div", { className: o.Content, children: y })
54
+ ] }) })
55
+ ]
56
+ }
57
+ );
58
+ };
59
+ export {
60
+ j as Accordion
61
+ };
@@ -0,0 +1 @@
1
+ export { Accordion, type AccordionProps } from './accordion.component';
@@ -0,0 +1,4 @@
1
+ import { Accordion as c } from "./accordion.component.js";
2
+ export {
3
+ c as Accordion
4
+ };
@@ -0,0 +1,14 @@
1
+ import { ReactNode } from 'react';
2
+ import { Base } from '../../utils/types';
3
+ export type DropzoneRejectionReason = 'tooLarge' | 'wrongType';
4
+ export interface DropzoneProps extends Base {
5
+ accept: string;
6
+ multiple?: boolean;
7
+ maxSize?: number;
8
+ disabled?: boolean;
9
+ invitation: ReactNode;
10
+ helpText?: ReactNode;
11
+ onDrop: (files: File[]) => void;
12
+ onReject?: (files: File[], reason: DropzoneRejectionReason) => void;
13
+ }
14
+ export declare const Dropzone: ({ accept, multiple, maxSize, disabled, invitation, helpText, onDrop, onReject, ...base }: DropzoneProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,107 @@
1
+ import { jsxs as C, jsx as p } from "react/jsx-runtime";
2
+ import { useRef as N, useState as T } from "react";
3
+ import { Upload as L } from "lucide-react";
4
+ import { baseProps as I, clsx as P } from "../../utils/functions/functions.util.js";
5
+ import '../../assets/dropzone-iRe6v-43.css';const W = "_Dropzone_14jbn_1", k = "_Active_14jbn_21", E = "_Disabled_14jbn_31", K = "_HiddenInput_14jbn_36", O = "_Icon_14jbn_48", $ = "_Invitation_14jbn_52", B = "_HelpText_14jbn_58", o = {
6
+ Dropzone: W,
7
+ Active: k,
8
+ Disabled: E,
9
+ HiddenInput: K,
10
+ Icon: O,
11
+ Invitation: $,
12
+ HelpText: B
13
+ }, F = (r, u) => {
14
+ const s = u.split(",").map((n) => n.trim()).filter(Boolean);
15
+ return s.length === 0 ? !0 : s.some((n) => {
16
+ if (n.startsWith("."))
17
+ return r.name.toLowerCase().endsWith(n.toLowerCase());
18
+ if (n.endsWith("/*")) {
19
+ const f = n.slice(0, -1);
20
+ return r.type.startsWith(f);
21
+ }
22
+ return r.type === n;
23
+ });
24
+ }, M = ({
25
+ accept: r,
26
+ multiple: u = !1,
27
+ maxSize: s,
28
+ disabled: n = !1,
29
+ invitation: f,
30
+ helpText: d,
31
+ onDrop: y,
32
+ onReject: c,
33
+ ...D
34
+ }) => {
35
+ const h = N(null), [b, g] = T(!1), _ = I(D, "data-testid", "dropzone"), x = (t) => {
36
+ const l = [], a = [], i = [];
37
+ for (const e of t) {
38
+ if (!F(e, r)) {
39
+ i.push(e);
40
+ continue;
41
+ }
42
+ if (s !== void 0 && e.size > s) {
43
+ a.push(e);
44
+ continue;
45
+ }
46
+ l.push(e);
47
+ }
48
+ return { accepted: l, tooLarge: a, wrongType: i };
49
+ }, m = (t) => {
50
+ if (!t || t.length === 0) return;
51
+ const l = Array.from(t), { accepted: a, tooLarge: i, wrongType: e } = x(l);
52
+ a.length > 0 && y(a), i.length > 0 && c && c(i, "tooLarge"), e.length > 0 && c && c(e, "wrongType");
53
+ }, A = () => {
54
+ n || h.current?.click();
55
+ }, H = (t) => {
56
+ n || (t.key === "Enter" || t.key === " ") && (t.preventDefault(), h.current?.click());
57
+ }, w = (t) => {
58
+ m(t.target.files), t.target.value = "";
59
+ }, v = (t) => {
60
+ t.preventDefault(), t.stopPropagation(), !n && g(!0);
61
+ }, z = (t) => {
62
+ t.preventDefault(), t.stopPropagation(), g(!1);
63
+ }, j = (t) => {
64
+ t.preventDefault(), t.stopPropagation(), g(!1), !n && m(t.dataTransfer.files);
65
+ };
66
+ return /* @__PURE__ */ C(
67
+ "div",
68
+ {
69
+ "data-testid": _,
70
+ className: P(o.Dropzone, I(D, "className"), {
71
+ [o.Active]: b,
72
+ [o.Disabled]: n
73
+ }),
74
+ role: "button",
75
+ tabIndex: n ? -1 : 0,
76
+ "aria-disabled": n,
77
+ onClick: A,
78
+ onKeyDown: H,
79
+ onDragOver: v,
80
+ onDragEnter: v,
81
+ onDragLeave: z,
82
+ onDrop: j,
83
+ children: [
84
+ /* @__PURE__ */ p(
85
+ "input",
86
+ {
87
+ ref: h,
88
+ type: "file",
89
+ className: o.HiddenInput,
90
+ accept: r,
91
+ multiple: u,
92
+ disabled: n,
93
+ onChange: w,
94
+ "data-testid": `${_}-input`,
95
+ tabIndex: -1
96
+ }
97
+ ),
98
+ /* @__PURE__ */ p(L, { size: 32, className: o.Icon, "aria-hidden": !0 }),
99
+ /* @__PURE__ */ p("div", { className: o.Invitation, children: f }),
100
+ d != null && /* @__PURE__ */ p("div", { className: o.HelpText, children: d })
101
+ ]
102
+ }
103
+ );
104
+ };
105
+ export {
106
+ M as Dropzone
107
+ };
@@ -0,0 +1 @@
1
+ export { Dropzone, type DropzoneProps, type DropzoneRejectionReason } from './dropzone.component';
@@ -0,0 +1,4 @@
1
+ import { Dropzone as e } from "./dropzone.component.js";
2
+ export {
3
+ e as Dropzone
4
+ };
package/dist/main.d.ts CHANGED
@@ -23,7 +23,9 @@ export { HiddenInput, type HiddenInputProps } from './controls/primitives/hidden
23
23
  export { Label, type LabelProps } from './controls/primitives/label';
24
24
  export { RadioLabel, type RadioLabelProps } from './controls/primitives/radio-label';
25
25
  export { Status, type StatusProps } from './controls/primitives/status';
26
+ export { Accordion, type AccordionProps } from './components/accordion';
26
27
  export { AccordionTable, type AccordionTableProps } from './components/accordion-table/accordion-table.component';
28
+ export { Dropzone, type DropzoneProps, type DropzoneRejectionReason } from './components/dropzone';
27
29
  export { BottomBar } from './components/bottom-bar';
28
30
  export { Certifications, type CertificationsProps } from './components/certifications';
29
31
  export { DataProtectedLabel } from './components/data-protected-label';
package/dist/main.js CHANGED
@@ -4,105 +4,109 @@ import { FadeSlide as f } from "./animations/fade-slide/fade-slide.component.js"
4
4
  import { Rotate as n } from "./animations/rotate/rotate.component.js";
5
5
  import "usehooks-ts";
6
6
  import { Button as d } from "./controls/buttons/button/button.component.js";
7
- import { ButtonCard as c } from "./controls/buttons/button-card/button-card.component.js";
7
+ import { ButtonCard as l } from "./controls/buttons/button-card/button-card.component.js";
8
8
  import { ButtonRadio as u } from "./controls/buttons/button-radio/button-radio.component.js";
9
9
  import { ButtonText as B } from "./controls/buttons/button-text/button-text.component.js";
10
10
  import { CardImage as F } from "./controls/interactives/card-image/card-image.component.js";
11
11
  import { CardText as T } from "./controls/interactives/card-text/card-text.component.js";
12
12
  import { Checkbox as S } from "./controls/interactives/checkbox/checkbox.component.js";
13
- import { Dropdown as P } from "./controls/interactives/dropdown/dropdown.component.js";
14
- import { Input as A } from "./controls/interactives/input/input.component.js";
13
+ import { Dropdown as D } from "./controls/interactives/dropdown/dropdown.component.js";
14
+ import { Input as P } from "./controls/interactives/input/input.component.js";
15
15
  import { Radio as M } from "./controls/interactives/radio/radio.component.js";
16
16
  import { TextArea as w } from "./controls/interactives/text-area/text-area.component.js";
17
17
  import { TextField as E } from "./controls/interactives/text-field/text-field.component.js";
18
18
  import { Box as v } from "./controls/primitives/box/box.component.js";
19
- import { Caption as G } from "./controls/primitives/caption/caption.component.js";
20
- import { Choice as U } from "./controls/primitives/choice/choice.component.js";
21
- import { ErrorMessage as j } from "./controls/primitives/error-message/error-message.component.js";
22
- import { HiddenInput as z } from "./controls/primitives/hidden-input/hidden-input.component.js";
19
+ import { Caption as z } from "./controls/primitives/caption/caption.component.js";
20
+ import { Choice as N } from "./controls/primitives/choice/choice.component.js";
21
+ import { ErrorMessage as W } from "./controls/primitives/error-message/error-message.component.js";
22
+ import { HiddenInput as q } from "./controls/primitives/hidden-input/hidden-input.component.js";
23
23
  import { Label as K } from "./controls/primitives/label/label.component.js";
24
24
  import { RadioLabel as Q } from "./controls/primitives/radio-label/radio-label.component.js";
25
25
  import { Status as X } from "./controls/primitives/status/status.component.js";
26
- import { AccordionTable as Z } from "./components/accordion-table/accordion-table.component.js";
27
- import { BottomBar as $ } from "./components/bottom-bar/bottom-bar.component.js";
28
- import { Certifications as ro } from "./components/certifications/certifications.component.js";
29
- import { DataProtectedLabel as to } from "./components/data-protected-label/data-protected-label.component.js";
30
- import { Dialog as mo } from "./components/dialog/dialog.component.js";
31
- import { DialogArticle as fo } from "./components/dialog-article/dialog-article.component.js";
32
- import { Expenses as no } from "./components/expenses/expenses.component.js";
33
- import { Footer as lo } from "./components/footer/footer.component.js";
34
- import { FormRow as so } from "./components/form-row/form-row.component.js";
35
- import { Header as go } from "./components/header/header.component.js";
36
- import { InfoPanel as Co } from "./components/info-panel/info-panel.component.js";
37
- import { Information as Lo } from "./components/information/information.component.js";
38
- import { Layout as bo } from "./components/layout/layout.component.js";
39
- import { Line as Io } from "./components/line/line.component.js";
40
- import { Loader as Ro } from "./components/loader/loader.component.js";
41
- import { MainAttachment as Do } from "./components/main-attachment/main-attachment.component.js";
42
- import { Message as ho } from "./components/message/message.component.js";
43
- import { MessageBlock as yo } from "./components/message-block/message-block.component.js";
44
- import { NotFound as ko } from "./components/not-found/not-found.component.js";
45
- import { Payment as Ho } from "./components/payment/payment.component.js";
46
- import { PriceLine as No } from "./components/price-line/price-line.component.js";
47
- import { Sidebar as Wo } from "./components/sidebar/sidebar.component.js";
48
- import { Signature as qo } from "./components/signature/signature.component.js";
49
- import { Svg as Jo } from "./utils/svg/svg.component.js";
50
- import { Text as Oo } from "./components/text/text.component.js";
51
- import { UserPanel as Vo } from "./components/user-panel/user-panel.component.js";
52
- import { Warranty as Yo } from "./components/warranty/warranty.component.js";
53
- import { clsx as _o, convertToEuro as $o } from "./utils/functions/functions.util.js";
26
+ import { Accordion as Z } from "./components/accordion/accordion.component.js";
27
+ import { AccordionTable as $ } from "./components/accordion-table/accordion-table.component.js";
28
+ import { Dropzone as ro } from "./components/dropzone/dropzone.component.js";
29
+ import { BottomBar as to } from "./components/bottom-bar/bottom-bar.component.js";
30
+ import { Certifications as mo } from "./components/certifications/certifications.component.js";
31
+ import { DataProtectedLabel as fo } from "./components/data-protected-label/data-protected-label.component.js";
32
+ import { Dialog as no } from "./components/dialog/dialog.component.js";
33
+ import { DialogArticle as co } from "./components/dialog-article/dialog-article.component.js";
34
+ import { Expenses as so } from "./components/expenses/expenses.component.js";
35
+ import { Footer as go } from "./components/footer/footer.component.js";
36
+ import { FormRow as Co } from "./components/form-row/form-row.component.js";
37
+ import { Header as Lo } from "./components/header/header.component.js";
38
+ import { InfoPanel as bo } from "./components/info-panel/info-panel.component.js";
39
+ import { Information as Ao } from "./components/information/information.component.js";
40
+ import { Layout as Io } from "./components/layout/layout.component.js";
41
+ import { Line as Ro } from "./components/line/line.component.js";
42
+ import { Loader as ho } from "./components/loader/loader.component.js";
43
+ import { MainAttachment as yo } from "./components/main-attachment/main-attachment.component.js";
44
+ import { Message as ko } from "./components/message/message.component.js";
45
+ import { MessageBlock as Ho } from "./components/message-block/message-block.component.js";
46
+ import { NotFound as Go } from "./components/not-found/not-found.component.js";
47
+ import { Payment as Uo } from "./components/payment/payment.component.js";
48
+ import { PriceLine as jo } from "./components/price-line/price-line.component.js";
49
+ import { Sidebar as Jo } from "./components/sidebar/sidebar.component.js";
50
+ import { Signature as Oo } from "./components/signature/signature.component.js";
51
+ import { Svg as Vo } from "./utils/svg/svg.component.js";
52
+ import { Text as Yo } from "./components/text/text.component.js";
53
+ import { UserPanel as _o } from "./components/user-panel/user-panel.component.js";
54
+ import { Warranty as or } from "./components/warranty/warranty.component.js";
55
+ import { clsx as er, convertToEuro as tr } from "./utils/functions/functions.util.js";
54
56
  import './assets/main-DZmlIs7j.css';export {
55
- Z as AccordionTable,
56
- $ as BottomBar,
57
+ Z as Accordion,
58
+ $ as AccordionTable,
59
+ to as BottomBar,
57
60
  v as Box,
58
61
  d as Button,
59
- c as ButtonCard,
62
+ l as ButtonCard,
60
63
  u as ButtonRadio,
61
64
  B as ButtonText,
62
- G as Caption,
65
+ z as Caption,
63
66
  F as CardImage,
64
67
  T as CardText,
65
- ro as Certifications,
68
+ mo as Certifications,
66
69
  S as Checkbox,
67
- U as Choice,
68
- to as DataProtectedLabel,
69
- mo as Dialog,
70
- fo as DialogArticle,
71
- P as Dropdown,
72
- j as ErrorMessage,
73
- no as Expenses,
70
+ N as Choice,
71
+ fo as DataProtectedLabel,
72
+ no as Dialog,
73
+ co as DialogArticle,
74
+ D as Dropdown,
75
+ ro as Dropzone,
76
+ W as ErrorMessage,
77
+ so as Expenses,
74
78
  t as FadeGrow,
75
79
  m as FadeScale,
76
80
  f as FadeSlide,
77
- lo as Footer,
78
- so as FormRow,
79
- go as Header,
80
- z as HiddenInput,
81
- Co as InfoPanel,
82
- Lo as Information,
83
- A as Input,
81
+ go as Footer,
82
+ Co as FormRow,
83
+ Lo as Header,
84
+ q as HiddenInput,
85
+ bo as InfoPanel,
86
+ Ao as Information,
87
+ P as Input,
84
88
  K as Label,
85
- bo as Layout,
86
- Io as Line,
87
- Ro as Loader,
88
- Do as MainAttachment,
89
- ho as Message,
90
- yo as MessageBlock,
91
- ko as NotFound,
92
- Ho as Payment,
93
- No as PriceLine,
89
+ Io as Layout,
90
+ Ro as Line,
91
+ ho as Loader,
92
+ yo as MainAttachment,
93
+ ko as Message,
94
+ Ho as MessageBlock,
95
+ Go as NotFound,
96
+ Uo as Payment,
97
+ jo as PriceLine,
94
98
  M as Radio,
95
99
  Q as RadioLabel,
96
100
  n as Rotate,
97
- Wo as Sidebar,
98
- qo as Signature,
101
+ Jo as Sidebar,
102
+ Oo as Signature,
99
103
  X as Status,
100
- Jo as Svg,
101
- Oo as Text,
104
+ Vo as Svg,
105
+ Yo as Text,
102
106
  w as TextArea,
103
107
  E as TextField,
104
- Vo as UserPanel,
105
- Yo as Warranty,
106
- _o as clsx,
107
- $o as convertToEuro
108
+ _o as UserPanel,
109
+ or as Warranty,
110
+ er as clsx,
111
+ tr as convertToEuro
108
112
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@arthurzakharov/ui-kit",
3
3
  "private": false,
4
- "version": "2.7.0",
4
+ "version": "2.9.0",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",
7
7
  "types": "dist/main.d.ts",