@alxgrn/telefrag-ui 0.0.11 → 0.0.13

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
+ .MainMenu div{display:flex;align-items:center;gap:var(--alxgrn-unit-half);margin-bottom:var(--alxgrn-unit-half);cursor:pointer}.MainMenu div:hover *{color:var(--alxgrn-color-accent)}.MainMenu div svg{font-size:var(--alxgrn-font-size-big)}.MainMenu div span{font-size:var(--alxgrn-font-size)}
@@ -1 +1 @@
1
- *{box-sizing:border-box;overflow-wrap:anywhere}:root{--alxgrn-unit: 16px;--alxgrn-unit-half: 8px;--alxgrn-unit-small: 4px;--alxgrn-unit-double: 32px;--alxgrn-unit-smallest: 2px;--alxgrn-animation-length: .15s;--alxgrn-font-size: 16px;--alxgrn-font-size-large: 18px;--alxgrn-font-size-small: 14px;--alxgrn-line-height: 1.3;--alxgrn-font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;--alxgrn-color-text: #555;--alxgrn-color-dark: var(--alxgrn-color-text);--alxgrn-color-light: lightslategrey;--alxgrn-color-error: firebrick;--alxgrn-color-accent: steelblue;--alxgrn-color-active: var(--alxgrn-color-text);--alxgrn-color-success: forestgreen;--alxgrn-color-scroll: #ccc;--alxgrn-bg-main: #eee;--alxgrn-bg-panel: #fff;--alxgrn-bg-modal: var(--alxgrn-bg-panel);--alxgrn-bg-popup: var(--alxgrn-bg-panel);--alxgrn-bg-dark: #888;--alxgrn-bg-light: rgba(119, 136, 153, .1);--alxgrn-bg-error: rgba(178, 34, 34, .1);--alxgrn-bg-accent: #ecf2f7;--alxgrn-bg-active: moccasin;--alxgrn-bg-success: rgba(34, 139, 34, .1);--alxgrn-border-dark: rgba(136, 136, 136, 1);--alxgrn-border-light: rgba(119, 136, 153, 1);--alxgrn-border-error: rgba(178, 34, 34, 1);--alxgrn-border-accent: rgba(70, 130, 180, 1);--alxgrn-border-active: moccasin;--alxgrn-border-success: rgba(34, 139, 34, 1)}[data-theme=dark]{--alxgrn-color-text: #999;--alxgrn-color-light: #666;--alxgrn-color-scroll: var(--alxgrn-bg-active);--alxgrn-bg-main: #111;--alxgrn-bg-panel: #222;--alxgrn-bg-modal: #222;--alxgrn-bg-popup: #333;--alxgrn-bg-accent: #333b3f;--alxgrn-bg-active: #444;--alxgrn-border-dark: rgba(136, 136, 136, .5);--alxgrn-border-light: rgba(119, 136, 153, .5);--alxgrn-border-error: rgba(178, 34, 34, .5);--alxgrn-border-accent: rgba(70, 130, 180, .5);--alxgrn-border-active: rgba(255, 228, 181, .5);--alxgrn-border-success: rgba(34, 139, 34, .5)}.Scrollbar::-webkit-scrollbar{width:var(--alxgrn-unit-small);height:var(--alxgrn-unit-small)}.Scrollbar::-webkit-scrollbar-track{background-color:transparent;border-radius:var(--alxgrn-unit-small)}.Scrollbar::-webkit-scrollbar-thumb{background-color:var(--alxgrn-color-scroll);border-radius:var(--alxgrn-unit-small)}.Scrollbar::-webkit-scrollbar-corner{background-color:transparent}:root{--alxgrn-form-width: 512px;--alxgrn-form-width-wide: 1024px}.Form{max-width:var(--alxgrn-form-width)}.Form.FormWide{max-width:var(--alxgrn-form-width-wide)}.Form *{font-size:inherit;line-height:inherit;font-family:inherit;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.Form .FormItem{display:block;margin:var(--alxgrn-unit) 0}.FormSubmitButtons{margin-top:var(--alxgrn-unit-double);margin-bottom:0;display:flex;flex-wrap:nowrap;justify-content:space-between;gap:var(--alxgrn-unit)}:root{--alxgrn-layout-width: 1024px;--alxgrn-layout-menu-width: 150px;--alxgrn-layout-header-height: calc(3 * var(--alxgrn-unit))}.LayoutSidebarShow{display:none}@media (max-width: 768px){.LayoutSidebarShow{display:initial}}.Page{display:flex;flex-direction:column;gap:var(--alxgrn-unit)}.Page .PageBody{display:flex;gap:var(--alxgrn-unit);align-items:stretch}.Page .PageBody .PageContent{flex:1 1 auto}.Page .PageBody .PageSidebar{flex:0 0 auto;width:33%;display:flex;align-items:flex-end}.Page .PageBody .PageSidebar .PageSidebarInner{width:100%;position:sticky;bottom:var(--alxgrn-unit);min-height:calc(100vh - var(--alxgrn-layout-header-height) - var(--alxgrn-unit))}@media (max-width: 768px){.Page .PageBody .PageSidebar{display:none}}
1
+ *{box-sizing:border-box;overflow-wrap:anywhere}:root{--alxgrn-unit: 16px;--alxgrn-unit-half: 8px;--alxgrn-unit-small: 4px;--alxgrn-unit-double: 32px;--alxgrn-unit-smallest: 2px;--alxgrn-animation-length: .15s;--alxgrn-font-size: 16px;--alxgrn-font-size-big: 20px;--alxgrn-font-size-large: 18px;--alxgrn-font-size-small: 14px;--alxgrn-line-height: 1.3;--alxgrn-font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;--alxgrn-color-text: #555;--alxgrn-color-dark: var(--alxgrn-color-text);--alxgrn-color-light: lightslategrey;--alxgrn-color-error: firebrick;--alxgrn-color-accent: steelblue;--alxgrn-color-active: var(--alxgrn-color-text);--alxgrn-color-success: forestgreen;--alxgrn-color-scroll: #ccc;--alxgrn-bg-main: #eee;--alxgrn-bg-panel: #fff;--alxgrn-bg-modal: var(--alxgrn-bg-panel);--alxgrn-bg-popup: var(--alxgrn-bg-panel);--alxgrn-bg-dark: #888;--alxgrn-bg-light: rgba(119, 136, 153, .1);--alxgrn-bg-error: rgba(178, 34, 34, .1);--alxgrn-bg-accent: #ecf2f7;--alxgrn-bg-active: moccasin;--alxgrn-bg-success: rgba(34, 139, 34, .1);--alxgrn-border-dark: rgba(136, 136, 136, 1);--alxgrn-border-light: rgba(119, 136, 153, 1);--alxgrn-border-error: rgba(178, 34, 34, 1);--alxgrn-border-accent: rgba(70, 130, 180, 1);--alxgrn-border-active: moccasin;--alxgrn-border-success: rgba(34, 139, 34, 1)}[data-theme=dark]{--alxgrn-color-text: #999;--alxgrn-color-light: #666;--alxgrn-color-scroll: var(--alxgrn-bg-active);--alxgrn-bg-main: #111;--alxgrn-bg-panel: #222;--alxgrn-bg-modal: #222;--alxgrn-bg-popup: #333;--alxgrn-bg-accent: #333b3f;--alxgrn-bg-active: #444;--alxgrn-border-dark: rgba(136, 136, 136, .5);--alxgrn-border-light: rgba(119, 136, 153, .5);--alxgrn-border-error: rgba(178, 34, 34, .5);--alxgrn-border-accent: rgba(70, 130, 180, .5);--alxgrn-border-active: rgba(255, 228, 181, .5);--alxgrn-border-success: rgba(34, 139, 34, .5)}.Scrollbar::-webkit-scrollbar{width:var(--alxgrn-unit-small);height:var(--alxgrn-unit-small)}.Scrollbar::-webkit-scrollbar-track{background-color:transparent;border-radius:var(--alxgrn-unit-small)}.Scrollbar::-webkit-scrollbar-thumb{background-color:var(--alxgrn-color-scroll);border-radius:var(--alxgrn-unit-small)}.Scrollbar::-webkit-scrollbar-corner{background-color:transparent}:root{--alxgrn-form-width: 512px;--alxgrn-form-width-wide: 1024px}.Form{max-width:var(--alxgrn-form-width)}.Form.FormWide{max-width:var(--alxgrn-form-width-wide)}.Form *{font-size:inherit;line-height:inherit;font-family:inherit;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.Form .FormItem{display:block;margin:var(--alxgrn-unit) 0}.FormSubmitButtons{margin-top:var(--alxgrn-unit-double);margin-bottom:0;display:flex;flex-wrap:nowrap;justify-content:space-between;gap:var(--alxgrn-unit)}:root{--alxgrn-layout-width: 1024px;--alxgrn-layout-menu-width: 150px;--alxgrn-layout-header-height: calc(3 * var(--alxgrn-unit))}.LayoutSidebarShow{display:none}@media (max-width: 768px){.LayoutSidebarShow{display:initial}}.Page{display:flex;flex-direction:column;gap:var(--alxgrn-unit)}.Page .PageBody{display:flex;gap:var(--alxgrn-unit);align-items:stretch}.Page .PageBody .PageContent{flex:1 1 auto}.Page .PageBody .PageSidebar{flex:0 0 auto;width:33%;display:flex;align-items:flex-end}.Page .PageBody .PageSidebar .PageSidebarInner{width:100%;position:sticky;bottom:var(--alxgrn-unit);min-height:calc(100vh - var(--alxgrn-layout-header-height) - var(--alxgrn-unit))}@media (max-width: 768px){.Page .PageBody .PageSidebar{display:none}}
@@ -1,26 +1,28 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { Radio as f } from "../radio/Radio.js";
3
- const d = ({
4
- value: o,
5
- onChange: a,
6
- label: s,
7
- bottom: m,
8
- required: r = !1,
9
- disabled: t = !1,
10
- checked: c = !1
2
+ import { Radio as l } from "../radio/Radio.js";
3
+ const p = ({
4
+ id: o,
5
+ value: a,
6
+ onChange: s,
7
+ label: m,
8
+ bottom: r,
9
+ required: t = !1,
10
+ disabled: c = !1,
11
+ checked: f = !1
11
12
  }) => /* @__PURE__ */ e("div", { className: "FormItem", children: /* @__PURE__ */ e(
12
- f,
13
+ l,
13
14
  {
15
+ id: o,
14
16
  type: "checkbox",
15
- label: s,
16
- value: o,
17
- bottom: m,
18
- required: r,
19
- disabled: t,
20
- checked: c,
21
- onChange: a
17
+ label: m,
18
+ value: a,
19
+ bottom: r,
20
+ required: t,
21
+ disabled: c,
22
+ checked: f,
23
+ onChange: s
22
24
  }
23
25
  ) });
24
26
  export {
25
- d as default
27
+ p as default
26
28
  };
@@ -9,6 +9,7 @@ export interface CheckboxListOption {
9
9
  required?: boolean | null;
10
10
  }
11
11
  export interface CheckboxListProps {
12
+ id: string;
12
13
  label?: string | null;
13
14
  options: CheckboxListOption[];
14
15
  onChange: (v: CheckboxListOption[]) => void;
@@ -1,32 +1,34 @@
1
1
  import { jsx as f } from "react/jsx-runtime";
2
- import { useState as u, useEffect as b } from "react";
3
- import i from "../fieldset/Fieldset.js";
4
- import { Radio as k } from "../radio/Radio.js";
5
- const g = ({
6
- label: d,
7
- onChange: n,
2
+ import { useState as b, useEffect as i } from "react";
3
+ import k from "../fieldset/Fieldset.js";
4
+ import { Radio as m } from "../radio/Radio.js";
5
+ const v = ({
6
+ id: d,
7
+ label: n,
8
+ onChange: h,
8
9
  required: t = !1,
9
10
  disabled: a = !1,
10
11
  options: r
11
12
  }) => {
12
- const [l, s] = u(!1);
13
- b(() => {
13
+ const [l, s] = b(!1);
14
+ i(() => {
14
15
  s(!1), t && r.findIndex((o) => o.checked === !0) < 0 && s(!0);
15
16
  }, [t, r]);
16
- const h = (e, o) => {
17
+ const u = (e, o) => {
17
18
  const c = [...r];
18
- c[e].checked = o, n(c);
19
+ c[e].checked = o, h(c);
19
20
  };
20
21
  return /* @__PURE__ */ f(
21
- i,
22
+ k,
22
23
  {
23
- label: d,
24
+ label: n,
24
25
  error: l,
25
26
  disabled: a,
26
27
  required: t,
27
28
  children: r.map((e, o) => /* @__PURE__ */ f(
28
- k,
29
+ m,
29
30
  {
31
+ id: d,
30
32
  type: "checkbox",
31
33
  error: l,
32
34
  label: e.label,
@@ -35,7 +37,7 @@ const g = ({
35
37
  disabled: e.disabled || a,
36
38
  required: e.required,
37
39
  checked: e.checked,
38
- onChange: (c) => h(o, c)
40
+ onChange: (c) => u(o, c)
39
41
  },
40
42
  o
41
43
  ))
@@ -43,6 +45,6 @@ const g = ({
43
45
  );
44
46
  };
45
47
  export {
46
- g as CheckboxList,
47
- g as default
48
+ v as CheckboxList,
49
+ v as default
48
50
  };
@@ -3,7 +3,7 @@ import { useState as g, useEffect as q } from "react";
3
3
  import { deepForEach as y } from "react-children-utilities";
4
4
  import x, { isValidDate as H } from "../date/Date.js";
5
5
  import { Button as F } from "../button/Button.js";
6
- import '../../../assets/Content.css';import '../../../assets/Footer.css';import '../../../assets/Header.css';import '../../../assets/Editable.css';import '../../../assets/Sidebar.css';import '../../../assets/Message.css';import '../../../assets/Modal.css';import '../../../assets/Overlay.css';import '../../../assets/Panel.css';import '../../../assets/Menu.css';import '../../../assets/Popup.css';import '../../../assets/Fieldset.css';import '../../../assets/Label.css';import '../../../assets/RequiredMark.css';import '../../../assets/DatePicker.css';import '../../../assets/FormCol.css';import '../../../assets/FormRow.css';import '../../../assets/Page.css';/* empty css */
6
+ import '../../../assets/Content.css';import '../../../assets/MainMenu.css';import '../../../assets/Footer.css';import '../../../assets/Header.css';import '../../../assets/Editable.css';import '../../../assets/Sidebar.css';import '../../../assets/Message.css';import '../../../assets/Modal.css';import '../../../assets/Overlay.css';import '../../../assets/Panel.css';import '../../../assets/Menu.css';import '../../../assets/Popup.css';import '../../../assets/Fieldset.css';import '../../../assets/Label.css';import '../../../assets/RequiredMark.css';import '../../../assets/DatePicker.css';import '../../../assets/FormCol.css';import '../../../assets/FormRow.css';import '../../../assets/Page.css';/* empty css */
7
7
  /* empty css */
8
8
  /* empty css */
9
9
  /* empty css */
@@ -31,8 +31,9 @@ import l from "../../ui/block/Block.js";
31
31
  /* empty css */
32
32
  /* empty css */
33
33
  /* empty css */
34
+ /* empty css */
34
35
  /* empty css */
35
- const ye = ({
36
+ const xe = ({
36
37
  info: u,
37
38
  error: d,
38
39
  success: k,
@@ -153,6 +154,6 @@ const ye = ({
153
154
  ] });
154
155
  };
155
156
  export {
156
- ye as Form,
157
- ye as default
157
+ xe as Form,
158
+ xe as default
158
159
  };
@@ -8,6 +8,7 @@ import { default as React } from 'react';
8
8
  * отметки элемента.
9
9
  */
10
10
  export interface RadioProps {
11
+ id: string;
11
12
  type?: 'radio' | 'checkbox';
12
13
  value: string | number;
13
14
  error?: boolean;
@@ -1,29 +1,31 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import n from "./RadioLabel.js";
3
- const p = ({
4
- type: l = "radio",
5
- value: s,
6
- onChange: f,
7
- label: o,
8
- bottom: u,
9
- error: d = !1,
2
+ import c from "./RadioLabel.js";
3
+ const h = ({
4
+ id: l,
5
+ type: s = "radio",
6
+ value: f,
7
+ onChange: o,
8
+ label: u,
9
+ bottom: d,
10
+ error: i = !1,
10
11
  required: e = !1,
11
12
  disabled: r = !1,
12
13
  checked: a = !1
13
14
  }) => /* @__PURE__ */ t(
14
- n,
15
+ c,
15
16
  {
16
- label: o,
17
- bottom: u,
17
+ label: u,
18
+ bottom: d,
18
19
  required: !!e,
19
- error: d || e && !a,
20
+ error: i || e && !a,
20
21
  disabled: !!r,
21
22
  checked: !!a,
22
23
  children: /* @__PURE__ */ t(
23
24
  "input",
24
25
  {
25
- type: l,
26
- onChange: (i) => f(i.target.checked, s),
26
+ id: l,
27
+ type: s,
28
+ onChange: (n) => o(n.target.checked, f),
27
29
  checked: !!a,
28
30
  disabled: !!r,
29
31
  required: !!e
@@ -32,6 +34,6 @@ const p = ({
32
34
  }
33
35
  );
34
36
  export {
35
- p as Radio,
36
- p as default
37
+ h as Radio,
38
+ h as default
37
39
  };
@@ -12,6 +12,7 @@ export interface RadioListOption {
12
12
  required?: boolean | null;
13
13
  }
14
14
  export interface RadioListProps {
15
+ id: string;
15
16
  label?: string | null;
16
17
  value: RadioListValue;
17
18
  options: RadioListOption[];
@@ -1,21 +1,22 @@
1
1
  import { jsx as d } from "react/jsx-runtime";
2
- import { useState as m, useEffect as b } from "react";
3
- import { Radio as x } from "./Radio.js";
4
- import p from "../fieldset/Fieldset.js";
5
- const g = ({ label: n, value: r, onChange: i, required: o = !1, disabled: l = !1, options: a }) => {
6
- const [t, s] = m(!1);
7
- return b(() => {
2
+ import { useState as b, useEffect as x } from "react";
3
+ import { Radio as p } from "./Radio.js";
4
+ import h from "../fieldset/Fieldset.js";
5
+ const j = ({ id: n, label: i, value: r, onChange: c, required: o = !1, disabled: l = !1, options: a }) => {
6
+ const [t, s] = b(!1);
7
+ return x(() => {
8
8
  s(!1), o && a.findIndex((f) => f.value === r) < 0 && s(!0);
9
9
  }, [r, o, a]), /* @__PURE__ */ d(
10
- p,
10
+ h,
11
11
  {
12
- label: n,
12
+ label: i,
13
13
  error: t,
14
14
  disabled: l,
15
15
  required: o,
16
16
  children: a.map((e, f) => /* @__PURE__ */ d(
17
- x,
17
+ p,
18
18
  {
19
+ id: n,
19
20
  label: e.label,
20
21
  value: e.value,
21
22
  error: t,
@@ -23,7 +24,7 @@ const g = ({ label: n, value: r, onChange: i, required: o = !1, disabled: l = !1
23
24
  disabled: e.disabled || l,
24
25
  required: e.required,
25
26
  checked: e.value === r,
26
- onChange: (c, u) => i(u, c)
27
+ onChange: (u, m) => c(m, u)
27
28
  },
28
29
  f
29
30
  ))
@@ -31,6 +32,6 @@ const g = ({ label: n, value: r, onChange: i, required: o = !1, disabled: l = !1
31
32
  );
32
33
  };
33
34
  export {
34
- g as RadioList,
35
- g as default
35
+ j as RadioList,
36
+ j as default
36
37
  };
@@ -0,0 +1,2 @@
1
+ declare const Calendar: () => import("react/jsx-runtime").JSX.Element;
2
+ export default Calendar;
@@ -0,0 +1,24 @@
1
+ import { jsxs as e, jsx as t } from "react/jsx-runtime";
2
+ const o = () => /* @__PURE__ */ e(
3
+ "svg",
4
+ {
5
+ stroke: "currentColor",
6
+ fill: "none",
7
+ strokeWidth: "2",
8
+ viewBox: "0 0 24 24",
9
+ strokeLinecap: "round",
10
+ strokeLinejoin: "round",
11
+ height: "1em",
12
+ width: "1em",
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ children: [
15
+ /* @__PURE__ */ t("path", { d: "M8 2v4" }),
16
+ /* @__PURE__ */ t("path", { d: "M16 2v4" }),
17
+ /* @__PURE__ */ t("rect", { width: "18", height: "18", x: "3", y: "4", rx: "2" }),
18
+ /* @__PURE__ */ t("path", { d: "M3 10h18" })
19
+ ]
20
+ }
21
+ );
22
+ export {
23
+ o as default
24
+ };
@@ -0,0 +1,2 @@
1
+ declare const Files: () => import("react/jsx-runtime").JSX.Element;
2
+ export default Files;
@@ -0,0 +1,23 @@
1
+ import { jsxs as e, jsx as t } from "react/jsx-runtime";
2
+ const r = () => /* @__PURE__ */ e(
3
+ "svg",
4
+ {
5
+ stroke: "currentColor",
6
+ fill: "none",
7
+ strokeWidth: "2",
8
+ viewBox: "0 0 24 24",
9
+ strokeLinecap: "round",
10
+ strokeLinejoin: "round",
11
+ height: "1em",
12
+ width: "1em",
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ children: [
15
+ /* @__PURE__ */ t("path", { d: "M20 7h-3a2 2 0 0 1-2-2V2" }),
16
+ /* @__PURE__ */ t("path", { d: "M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z" }),
17
+ /* @__PURE__ */ t("path", { d: "M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8" })
18
+ ]
19
+ }
20
+ );
21
+ export {
22
+ r as default
23
+ };
@@ -0,0 +1,2 @@
1
+ declare const Gamepad: () => import("react/jsx-runtime").JSX.Element;
2
+ export default Gamepad;
@@ -0,0 +1,25 @@
1
+ import { jsxs as o, jsx as e } from "react/jsx-runtime";
2
+ const t = () => /* @__PURE__ */ o(
3
+ "svg",
4
+ {
5
+ stroke: "currentColor",
6
+ fill: "none",
7
+ strokeWidth: "2",
8
+ viewBox: "0 0 24 24",
9
+ strokeLinecap: "round",
10
+ strokeLinejoin: "round",
11
+ height: "1em",
12
+ width: "1em",
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ children: [
15
+ /* @__PURE__ */ e("line", { x1: "6", x2: "10", y1: "11", y2: "11" }),
16
+ /* @__PURE__ */ e("line", { x1: "8", x2: "8", y1: "9", y2: "13" }),
17
+ /* @__PURE__ */ e("line", { x1: "15", x2: "15.01", y1: "12", y2: "12" }),
18
+ /* @__PURE__ */ e("line", { x1: "18", x2: "18.01", y1: "10", y2: "10" }),
19
+ /* @__PURE__ */ e("path", { d: "M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z" })
20
+ ]
21
+ }
22
+ );
23
+ export {
24
+ t as default
25
+ };
@@ -0,0 +1,2 @@
1
+ declare const Rocket: () => import("react/jsx-runtime").JSX.Element;
2
+ export default Rocket;
@@ -0,0 +1,24 @@
1
+ import { jsxs as o, jsx as t } from "react/jsx-runtime";
2
+ const s = () => /* @__PURE__ */ o(
3
+ "svg",
4
+ {
5
+ stroke: "currentColor",
6
+ fill: "none",
7
+ strokeWidth: "2",
8
+ viewBox: "0 0 24 24",
9
+ strokeLinecap: "round",
10
+ strokeLinejoin: "round",
11
+ height: "1em",
12
+ width: "1em",
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ children: [
15
+ /* @__PURE__ */ t("path", { d: "M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z" }),
16
+ /* @__PURE__ */ t("path", { d: "m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z" }),
17
+ /* @__PURE__ */ t("path", { d: "M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0" }),
18
+ /* @__PURE__ */ t("path", { d: "M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5" })
19
+ ]
20
+ }
21
+ );
22
+ export {
23
+ s as default
24
+ };
@@ -0,0 +1,2 @@
1
+ declare const Users: () => import("react/jsx-runtime").JSX.Element;
2
+ export default Users;
@@ -0,0 +1,24 @@
1
+ import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
+ const o = () => /* @__PURE__ */ r(
3
+ "svg",
4
+ {
5
+ stroke: "currentColor",
6
+ fill: "none",
7
+ strokeWidth: "2",
8
+ viewBox: "0 0 24 24",
9
+ strokeLinecap: "round",
10
+ strokeLinejoin: "round",
11
+ height: "1em",
12
+ width: "1em",
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ children: [
15
+ /* @__PURE__ */ e("path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" }),
16
+ /* @__PURE__ */ e("circle", { cx: "9", cy: "7", r: "4" }),
17
+ /* @__PURE__ */ e("path", { d: "M22 21v-2a4 4 0 0 0-3-3.87" }),
18
+ /* @__PURE__ */ e("path", { d: "M16 3.13a4 4 0 0 1 0 7.75" })
19
+ ]
20
+ }
21
+ );
22
+ export {
23
+ o as default
24
+ };
@@ -1,7 +1,12 @@
1
1
  import { default as Asterisk } from './Asterisk';
2
+ import { default as Calendar } from './Calendar';
2
3
  import { default as ChevronLeft } from './ChevronLeft';
3
4
  import { default as ChevronRight } from './ChevronRight';
5
+ import { default as Files } from './Files';
6
+ import { default as Gamepad } from './Gamepad';
4
7
  import { default as Menu } from './Menu';
5
8
  import { default as Plus } from './Plus';
9
+ import { default as Rocket } from './Rocket';
6
10
  import { default as TelefragLogo } from './TelefragLogo';
7
- export { Asterisk, ChevronLeft, ChevronRight, Menu, Plus, TelefragLogo, };
11
+ import { default as Users } from './Users';
12
+ export { Asterisk, Calendar, ChevronLeft, ChevronRight, Files, Gamepad, Menu, Plus, Rocket, TelefragLogo, Users, };
@@ -1,14 +1,24 @@
1
- import { default as r } from "./Asterisk.js";
2
- import { default as f } from "./ChevronLeft.js";
3
- import { default as s } from "./ChevronRight.js";
4
- import { default as u } from "./Menu.js";
5
- import { default as m } from "./Plus.js";
6
- import { default as x } from "./TelefragLogo.js";
1
+ import { default as a } from "./Asterisk.js";
2
+ import { default as t } from "./Calendar.js";
3
+ import { default as s } from "./ChevronLeft.js";
4
+ import { default as d } from "./ChevronRight.js";
5
+ import { default as m } from "./Files.js";
6
+ import { default as x } from "./Gamepad.js";
7
+ import { default as g } from "./Menu.js";
8
+ import { default as i } from "./Plus.js";
9
+ import { default as k } from "./Rocket.js";
10
+ import { default as L } from "./TelefragLogo.js";
11
+ import { default as c } from "./Users.js";
7
12
  export {
8
- r as Asterisk,
9
- f as ChevronLeft,
10
- s as ChevronRight,
11
- u as Menu,
12
- m as Plus,
13
- x as TelefragLogo
13
+ a as Asterisk,
14
+ t as Calendar,
15
+ s as ChevronLeft,
16
+ d as ChevronRight,
17
+ m as Files,
18
+ x as Gamepad,
19
+ g as Menu,
20
+ i as Plus,
21
+ k as Rocket,
22
+ L as TelefragLogo,
23
+ c as Users
14
24
  };
@@ -1,6 +1,6 @@
1
- import { default as React, FC, PropsWithChildren } from 'react';
1
+ import { FC, PropsWithChildren } from 'react';
2
2
  type Props = {
3
- menu?: React.ReactNode;
3
+ onMenuClick?: (id: number | string) => void;
4
4
  };
5
5
  declare const Content: FC<PropsWithChildren<Props>>;
6
6
  export default Content;
@@ -1,9 +1,10 @@
1
- import { jsxs as s, jsx as n } from "react/jsx-runtime";
1
+ import { jsxs as a, jsx as n } from "react/jsx-runtime";
2
+ import s from "./MainMenu.js";
2
3
  import '../../assets/Content.css';/* empty css */
3
- const o = ({ children: t, menu: e }) => /* @__PURE__ */ s("main", { className: "Content", children: [
4
- e && /* @__PURE__ */ n("div", { className: "ContentMenu", children: /* @__PURE__ */ n("div", { className: "ContentMenuInner", children: e }) }),
5
- /* @__PURE__ */ n("div", { className: "ContentMain", children: t })
4
+ const m = ({ children: e, onMenuClick: t }) => /* @__PURE__ */ a("main", { className: "Content", children: [
5
+ /* @__PURE__ */ n("div", { className: "ContentMenu", children: /* @__PURE__ */ n("div", { className: "ContentMenuInner", children: /* @__PURE__ */ n(s, { onMenuClick: t }) }) }),
6
+ /* @__PURE__ */ n("div", { className: "ContentMain", children: e })
6
7
  ] });
7
8
  export {
8
- o as default
9
+ m as default
9
10
  };
@@ -1,8 +1,8 @@
1
1
  import { default as React, FC, PropsWithChildren } from 'react';
2
2
  type Props = {
3
- mainMenu: React.ReactNode;
4
3
  userMenu: React.ReactNode;
5
4
  onLogoClick?: () => void;
5
+ onMenuClick?: (id: number | string) => void;
6
6
  };
7
7
  declare const Layout: FC<PropsWithChildren<Props>>;
8
8
  export default Layout;
@@ -1,5 +1,5 @@
1
- import { jsxs as n, jsx as o } from "react/jsx-runtime";
2
- import { useState as a } from "react";
1
+ import { jsxs as a, jsx as o } from "react/jsx-runtime";
2
+ import { useState as n } from "react";
3
3
  import f from "./Header.js";
4
4
  import l from "./Footer.js";
5
5
  import u from "./Content.js";
@@ -26,31 +26,34 @@ import "react-dom";
26
26
  /* empty css */
27
27
  /* empty css */
28
28
  /* empty css */
29
- import { Sidebar as c } from "../ui/sidebar/Sidebar.js";
29
+ import { Sidebar as d } from "../ui/sidebar/Sidebar.js";
30
30
  /* empty css */
31
- const Q = ({ children: i, mainMenu: r, userMenu: m, onLogoClick: p }) => {
32
- const [e, t] = a(!1);
33
- return /* @__PURE__ */ n("div", { className: "Layout", children: [
31
+ import c from "./MainMenu.js";
32
+ const U = ({ children: m, userMenu: p, onLogoClick: e, onMenuClick: r }) => {
33
+ const [s, t] = n(!1);
34
+ return /* @__PURE__ */ a("div", { className: "Layout", children: [
34
35
  /* @__PURE__ */ o(
35
36
  f,
36
37
  {
37
- userMenu: m,
38
- onMenuSwitch: () => t((s) => !s),
39
- onLogoClick: p
38
+ userMenu: p,
39
+ onMenuSwitch: () => t((i) => !i),
40
+ onLogoClick: e
40
41
  }
41
42
  ),
42
- /* @__PURE__ */ o(u, { menu: r, children: i }),
43
+ /* @__PURE__ */ o(u, { onMenuClick: r, children: m }),
43
44
  /* @__PURE__ */ o(l, {}),
44
45
  /* @__PURE__ */ o(
45
- c,
46
+ d,
46
47
  {
47
- isOpen: e,
48
+ isOpen: s,
48
49
  onClose: () => t(!1),
49
- children: r
50
+ children: /* @__PURE__ */ o(c, { onMenuClick: (i) => {
51
+ t(!1), r && r(i);
52
+ } })
50
53
  }
51
54
  )
52
55
  ] });
53
56
  };
54
57
  export {
55
- Q as default
58
+ U as default
56
59
  };
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ type Props = {
3
+ onMenuClick?: (id: number | string) => void;
4
+ };
5
+ declare const MainMenu: FC<Props>;
6
+ export default MainMenu;
@@ -0,0 +1,37 @@
1
+ import { jsx as i, jsxs as t } from "react/jsx-runtime";
2
+ import e from "../icons/Calendar.js";
3
+ import n from "../icons/Files.js";
4
+ import c from "../icons/Gamepad.js";
5
+ import s from "../icons/Rocket.js";
6
+ import "react";
7
+ import a from "../icons/Users.js";
8
+ import '../../assets/MainMenu.css';/* empty css */
9
+ const d = [{
10
+ id: "articles",
11
+ text: "Публикации",
12
+ icon: /* @__PURE__ */ i(n, {})
13
+ }, {
14
+ id: "groups",
15
+ text: "Группы",
16
+ icon: /* @__PURE__ */ i(a, {})
17
+ }, {
18
+ id: "projects",
19
+ text: "Проекты",
20
+ icon: /* @__PURE__ */ i(c, {})
21
+ }, {
22
+ id: "launches",
23
+ text: "Запуски",
24
+ icon: /* @__PURE__ */ i(s, {})
25
+ }, {
26
+ id: "calendar",
27
+ text: "Календарь",
28
+ icon: /* @__PURE__ */ i(e, {})
29
+ }], M = ({ onMenuClick: r }) => /* @__PURE__ */ i("div", { className: "MainMenu", children: d.map((o) => /* @__PURE__ */ t("div", { onClick: () => {
30
+ r && r(o.id);
31
+ }, children: [
32
+ o.icon,
33
+ /* @__PURE__ */ i("span", { children: o.text })
34
+ ] }, o.id)) });
35
+ export {
36
+ M as default
37
+ };
@@ -1,5 +1,5 @@
1
1
  import { jsxs as t, jsx as i } from "react/jsx-runtime";
2
- import '../../assets/Content.css';import '../../assets/Footer.css';import '../../assets/Header.css';import '../../assets/Editable.css';import '../../assets/Message.css';import '../../assets/Modal.css';import '../../assets/Overlay.css';import '../../assets/Panel.css';import '../../assets/Block.css';import '../../assets/Select.css';import '../../assets/RadioLabel.css';import '../../assets/Input.css';import '../../assets/Files.css';import '../../assets/Fieldset.css';import '../../assets/Time.css';import '../../assets/Menu.css';import '../../assets/FormCol.css';import '../../assets/FormRow.css';import '../../assets/Button.css';import '../../assets/DatePicker.css';import '../../assets/Label.css';import '../../assets/RequiredMark.css';import '../../assets/Popup.css';import '../../assets/Page.css';/* empty css */
2
+ import '../../assets/Content.css';import '../../assets/MainMenu.css';import '../../assets/Footer.css';import '../../assets/Header.css';import '../../assets/Editable.css';import '../../assets/Message.css';import '../../assets/Modal.css';import '../../assets/Overlay.css';import '../../assets/Panel.css';import '../../assets/Block.css';import '../../assets/Select.css';import '../../assets/RadioLabel.css';import '../../assets/Input.css';import '../../assets/Files.css';import '../../assets/Fieldset.css';import '../../assets/Time.css';import '../../assets/Menu.css';import '../../assets/FormCol.css';import '../../assets/FormRow.css';import '../../assets/Button.css';import '../../assets/DatePicker.css';import '../../assets/Label.css';import '../../assets/RequiredMark.css';import '../../assets/Popup.css';import '../../assets/Page.css';/* empty css */
3
3
  import "react";
4
4
  import "react-children-utilities";
5
5
  import "react-transition-group";
@@ -27,8 +27,9 @@ import { Sidebar as a } from "../ui/sidebar/Sidebar.js";
27
27
  /* empty css */
28
28
  /* empty css */
29
29
  /* empty css */
30
+ /* empty css */
30
31
  /* empty css */
31
- const G = ({ header: m, children: p, sidebar: r, isSidebarVisible: e = !1, onSidebarClose: o }) => /* @__PURE__ */ t("div", { className: "Page", children: [
32
+ const J = ({ header: m, children: p, sidebar: r, isSidebarVisible: e = !1, onSidebarClose: o }) => /* @__PURE__ */ t("div", { className: "Page", children: [
32
33
  m && /* @__PURE__ */ i("div", { className: "PageHeader", children: m }),
33
34
  /* @__PURE__ */ t("div", { className: "PageBody", children: [
34
35
  /* @__PURE__ */ i("div", { className: "PageContent", children: p }),
@@ -47,5 +48,5 @@ const G = ({ header: m, children: p, sidebar: r, isSidebarVisible: e = !1, onSid
47
48
  )
48
49
  ] });
49
50
  export {
50
- G as default
51
+ J as default
51
52
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@alxgrn/telefrag-ui",
3
3
  "description": "UI library for The Daily Telefrag project",
4
- "version": "0.0.11",
4
+ "version": "0.0.13",
5
5
  "private": false,
6
6
  "author": "Alexander Fedorov <alex@molner.ru>",
7
7
  "license": "Apache-2.0",