@alxgrn/telefrag-ui 0.0.13 → 0.0.15

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.
@@ -1 +1 @@
1
- .Content{display:flex;align-items:stretch;gap:var(--alxgrn-unit);max-width:var(--alxgrn-layout-width);margin:0 auto;margin-top:var(--alxgrn-layout-header-height)}.Content .ContentMenu{flex:0 0 auto;width:var(--alxgrn-layout-menu-width);color:var(--alxgrn-color-text);background-color:var(--alxgrn-bg-main)}.Content .ContentMenu .ContentMenuInner{position:sticky;top:var(--alxgrn-layout-header-height)}.Content .ContentMain{flex:1 1 auto}@media (max-width: 1024px){.Content .ContentMenu{display:none}}@media (max-width: 768px){.Content{padding-left:0;padding-right:0}}
1
+ .Content{display:flex;align-items:stretch;gap:var(--alxgrn-unit);max-width:var(--alxgrn-layout-width);margin:0 auto;margin-top:calc(var(--alxgrn-unit-half) + var(--alxgrn-layout-header-height))}.Content .ContentMenu{flex:0 0 auto;width:var(--alxgrn-layout-menu-width);color:var(--alxgrn-color-text);background-color:var(--alxgrn-bg-main)}.Content .ContentMenu .ContentMenuInner{position:sticky;top:calc(var(--alxgrn-unit-half) + var(--alxgrn-layout-header-height))}.Content .ContentMain{flex:1 1 auto}@media (max-width: 1024px){.Content .ContentMenu{display:none}}@media (max-width: 768px){.Content{padding-left:0;padding-right:0}}
@@ -1 +1 @@
1
- .HeaderWrapper{z-index:100;display:block;position:fixed;top:0;width:100%;background-color:var(--alxgrn-bg-main)}.Header{display:flex;align-items:center;gap:var(--alxgrn-unit);max-width:var(--alxgrn-layout-width);height:var(--alxgrn-layout-header-height);margin:0 auto}.HeaderLeft{display:none}.HeaderLeft span{cursor:pointer}.HeaderCenter{flex:1 1 auto;display:flex;align-items:center;padding-left:calc(var(--alxgrn-unit) + var(--alxgrn-layout-menu-width))}.HeaderCenter svg{width:auto;height:calc(2 * var(--alxgrn-unit))}@media (max-width: 1024px){.HeaderLeft{flex:0 0 auto;display:flex;align-items:center;justify-content:center}.HeaderCenter{padding-left:0}}
1
+ .HeaderWrapper{z-index:100;display:block;position:fixed;top:0;width:100%;background-color:var(--alxgrn-bg-panel)}.Header{display:flex;align-items:center;gap:var(--alxgrn-unit);max-width:var(--alxgrn-layout-width);height:var(--alxgrn-layout-header-height);margin:0 auto}.HeaderLeft{display:none}.HeaderLeft span{cursor:pointer}.HeaderCenter{flex:1 1 auto;display:flex;align-items:center;padding-left:calc(var(--alxgrn-unit) + var(--alxgrn-layout-menu-width))}.HeaderCenter svg{width:auto;height:calc(2 * var(--alxgrn-unit))}@media (max-width: 1024px){.HeaderLeft{flex:0 0 auto;display:flex;align-items:center;justify-content:center}.HeaderCenter{padding-left:0}}
@@ -1 +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
+ .MainMenu div{display:flex;align-items:center;gap:var(--alxgrn-unit-half);cursor:pointer;padding:var(--alxgrn-unit-half);border-radius:var(--alxgrn-unit-half)}.MainMenu div:hover{background-color:var(--alxgrn-bg-panel)}.MainMenu div.MainMenuTitle{cursor:initial}.MainMenu div.MainMenuTitle:hover{background-color:unset}.MainMenu div:hover *{color:var(--alxgrn-color-accent)}.MainMenu div svg{font-size:var(--alxgrn-font-size-big)}.MainMenu div img{width:var(--alxgrn-font-size-big);height:var(--alxgrn-font-size-big);border-radius:50%}.MainMenu div span{font-size:var(--alxgrn-font-size)}.MainMenu div.MainMenuTitle span{text-transform:uppercase;font-size:var(--alxgrn-font-size-small);font-weight:600;color:var(--alxgrn-color-light)}
@@ -1,6 +1,8 @@
1
1
  import { FC, PropsWithChildren } from 'react';
2
+ import { MainMenuItem } from './MainMenu';
2
3
  type Props = {
3
- onMenuClick?: (id: number | string) => void;
4
+ mainMenu: MainMenuItem[];
5
+ onMenuClick?: (id: string) => void;
4
6
  };
5
7
  declare const Content: FC<PropsWithChildren<Props>>;
6
8
  export default Content;
@@ -1,10 +1,10 @@
1
1
  import { jsxs as a, jsx as n } from "react/jsx-runtime";
2
- import s from "./MainMenu.js";
2
+ import i from "./MainMenu.js";
3
3
  import '../../assets/Content.css';/* empty css */
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 }) }) }),
4
+ const c = ({ children: e, mainMenu: t, onMenuClick: s }) => /* @__PURE__ */ a("main", { className: "Content", children: [
5
+ /* @__PURE__ */ n("div", { className: "ContentMenu", children: /* @__PURE__ */ n("div", { className: "ContentMenuInner", children: /* @__PURE__ */ n(i, { items: t, onMenuClick: s }) }) }),
6
6
  /* @__PURE__ */ n("div", { className: "ContentMain", children: e })
7
7
  ] });
8
8
  export {
9
- m as default
9
+ c as default
10
10
  };
@@ -1,8 +1,10 @@
1
1
  import { default as React, FC, PropsWithChildren } from 'react';
2
+ import { MainMenuItem } from './MainMenu';
2
3
  type Props = {
4
+ mainMenu: MainMenuItem[];
3
5
  userMenu: React.ReactNode;
4
6
  onLogoClick?: () => void;
5
- onMenuClick?: (id: number | string) => void;
7
+ onMenuClick?: (id: string) => void;
6
8
  };
7
9
  declare const Layout: FC<PropsWithChildren<Props>>;
8
10
  export default Layout;
@@ -1,8 +1,8 @@
1
- import { jsxs as a, jsx as o } from "react/jsx-runtime";
1
+ import { jsxs as f, jsx as o } from "react/jsx-runtime";
2
2
  import { useState as n } from "react";
3
- import f from "./Header.js";
4
- import l from "./Footer.js";
5
- import u from "./Content.js";
3
+ import l from "./Header.js";
4
+ import u from "./Footer.js";
5
+ import d from "./Content.js";
6
6
  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 */
7
7
  import "react-children-utilities";
8
8
  import "react-transition-group";
@@ -26,34 +26,40 @@ import "react-dom";
26
26
  /* empty css */
27
27
  /* empty css */
28
28
  /* empty css */
29
- import { Sidebar as d } from "../ui/sidebar/Sidebar.js";
29
+ import { Sidebar as c } from "../ui/sidebar/Sidebar.js";
30
30
  /* empty css */
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: [
31
+ import b from "./MainMenu.js";
32
+ const W = ({ children: p, mainMenu: m, userMenu: e, onLogoClick: s, onMenuClick: r }) => {
33
+ const [a, t] = n(!1);
34
+ return /* @__PURE__ */ f("div", { className: "Layout", children: [
35
35
  /* @__PURE__ */ o(
36
- f,
36
+ l,
37
37
  {
38
- userMenu: p,
38
+ userMenu: e,
39
39
  onMenuSwitch: () => t((i) => !i),
40
- onLogoClick: e
40
+ onLogoClick: s
41
41
  }
42
42
  ),
43
- /* @__PURE__ */ o(u, { onMenuClick: r, children: m }),
44
- /* @__PURE__ */ o(l, {}),
43
+ /* @__PURE__ */ o(d, { mainMenu: m, onMenuClick: r, children: p }),
44
+ /* @__PURE__ */ o(u, {}),
45
45
  /* @__PURE__ */ o(
46
- d,
46
+ c,
47
47
  {
48
- isOpen: s,
48
+ isOpen: a,
49
49
  onClose: () => t(!1),
50
- children: /* @__PURE__ */ o(c, { onMenuClick: (i) => {
51
- t(!1), r && r(i);
52
- } })
50
+ children: /* @__PURE__ */ o(
51
+ b,
52
+ {
53
+ items: m,
54
+ onMenuClick: (i) => {
55
+ t(!1), r && r(i);
56
+ }
57
+ }
58
+ )
53
59
  }
54
60
  )
55
61
  ] });
56
62
  };
57
63
  export {
58
- U as default
64
+ W as default
59
65
  };
@@ -1,6 +1,20 @@
1
- import { FC } from 'react';
1
+ import { FC, ReactNode } from 'react';
2
+ export type MainMenuTitle = {
3
+ id?: never;
4
+ text?: never;
5
+ icon?: never;
6
+ title: string;
7
+ };
8
+ export type MainMenuAlternative = {
9
+ id: string;
10
+ text: string;
11
+ icon: ReactNode;
12
+ title?: never;
13
+ };
14
+ export type MainMenuItem = MainMenuTitle | MainMenuAlternative;
2
15
  type Props = {
3
- onMenuClick?: (id: number | string) => void;
16
+ items: MainMenuItem[];
17
+ onMenuClick?: (id: string) => void;
4
18
  };
5
19
  declare const MainMenu: FC<Props>;
6
20
  export default MainMenu;
@@ -1,37 +1,19 @@
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";
1
+ import { jsx as i, jsxs as r, Fragment as d } from "react/jsx-runtime";
8
2
  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)) });
3
+ const c = ({ items: e, onMenuClick: a }) => /* @__PURE__ */ i("div", { className: "MainMenu", children: e.map((n, l) => /* @__PURE__ */ i(
4
+ "div",
5
+ {
6
+ onClick: () => {
7
+ a && n.id && a(n.id);
8
+ },
9
+ className: n.title ? "MainMenuTitle" : void 0,
10
+ children: n.title ? /* @__PURE__ */ i("span", { children: n.title }) : /* @__PURE__ */ r(d, { children: [
11
+ n.icon,
12
+ /* @__PURE__ */ i("span", { children: n.text })
13
+ ] })
14
+ },
15
+ l
16
+ )) });
35
17
  export {
36
- M as default
18
+ c as default
37
19
  };
@@ -0,0 +1,28 @@
1
+ import o from "./components/icons/Asterisk.js";
2
+ import r from "./components/icons/Calendar.js";
3
+ import e from "./components/icons/ChevronLeft.js";
4
+ import m from "./components/icons/ChevronRight.js";
5
+ import t from "./components/icons/Files.js";
6
+ import i from "./components/icons/Gamepad.js";
7
+ import f from "./components/icons/Menu.js";
8
+ import p from "./components/icons/Plus.js";
9
+ import l from "./components/icons/Rocket.js";
10
+ import n from "./components/icons/TelefragLogo.js";
11
+ import a from "./components/icons/Users.js";
12
+ const k = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
13
+ __proto__: null,
14
+ Asterisk: o,
15
+ Calendar: r,
16
+ ChevronLeft: e,
17
+ ChevronRight: m,
18
+ Files: t,
19
+ Gamepad: i,
20
+ Menu: f,
21
+ Plus: p,
22
+ Rocket: l,
23
+ TelefragLogo: n,
24
+ Users: a
25
+ }, Symbol.toStringTag, { value: "Module" }));
26
+ export {
27
+ k as i
28
+ };
package/dist/main.d.ts CHANGED
@@ -9,10 +9,10 @@ import { default as Input } from './components/form/input/Input';
9
9
  import { default as Label } from './components/form/label/Label';
10
10
  import { RadioList, RadioListOption, RadioListValue } from './components/form/radio/RadioList';
11
11
  import { Button, ButtonType } from './components/form/button/Button';
12
- import { default as Select } from './components/form/select/Select';
12
+ import { Select, SelectOption } from './components/form/select/Select';
13
13
  import { default as Hidden } from './components/form/hidden/Hidden';
14
14
  import { default as Checkbox } from './components/form/checkbox/Checkbox';
15
- import { default as CheckboxList } from './components/form/checkbox/CheckboxList';
15
+ import { CheckboxList, CheckboxListOption } from './components/form/checkbox/CheckboxList';
16
16
  import { default as Fieldset } from './components/form/fieldset/Fieldset';
17
17
  import { Menu, MenuItem } from './components/ui/menu/Menu';
18
18
  import { default as Block } from './components/ui/block/Block';
@@ -28,6 +28,8 @@ import { default as Prompt } from './components/ui/prompt/Prompt';
28
28
  import { default as Sidebar } from './components/ui/sidebar/Sidebar';
29
29
  import { default as Editable } from './components/ui/editable/Editable';
30
30
  import { default as Layout } from './components/layout/Layout';
31
+ import { MainMenuItem } from './components/layout/MainMenu';
31
32
  import { default as Page } from './components/layout/Page';
32
- export { Form, Date, Time, Files, Input, Label, RadioList, Button, Select, Hidden, Checkbox, CheckboxList, Fieldset, FormRow, FormCol, DatePicker, Menu, Block, Panel, Modal, Overlay, Popup, Portal, Message, Alert, Confirm, Prompt, Sidebar, Editable, Layout, Page, };
33
- export type { FormData, MenuItem, ModalProps, ButtonType, RadioListOption, RadioListValue, };
33
+ import * as Icons from './components/icons';
34
+ export { Form, Date, Time, Files, Input, Label, RadioList, Button, Select, Hidden, Checkbox, CheckboxList, Fieldset, FormRow, FormCol, DatePicker, Menu, Block, Panel, Modal, Overlay, Popup, Portal, Message, Alert, Confirm, Prompt, Sidebar, Editable, Layout, Page, Icons, };
35
+ export type { FormData, MainMenuItem, MenuItem, ModalProps, ButtonType, CheckboxListOption, RadioListOption, RadioListValue, SelectOption, };
package/dist/main.js CHANGED
@@ -3,19 +3,19 @@ import { Form as t } from "./components/form/form/Form.js";
3
3
  import { default as f } from "./components/form/form/FormRow.js";
4
4
  import { default as p } from "./components/form/form/FormCol.js";
5
5
  import { default as l } from "./components/form/date/Date.js";
6
- import { default as s } from "./components/form/date/DatePicker.js";
6
+ import { default as d } from "./components/form/date/DatePicker.js";
7
7
  import { default as i } from "./components/form/time/Time.js";
8
- import { Files as P } from "./components/form/files/Files.js";
9
- import { default as c } from "./components/form/input/Input.js";
8
+ import { Files as c } from "./components/form/files/Files.js";
9
+ import { default as b } from "./components/form/input/Input.js";
10
10
  import { default as k } from "./components/form/label/Label.js";
11
11
  import { RadioList as L } from "./components/form/radio/RadioList.js";
12
12
  import { Button as g } from "./components/form/button/Button.js";
13
13
  import { Select as y } from "./components/form/select/Select.js";
14
14
  import { default as D } from "./components/form/hidden/Hidden.js";
15
- import { default as S } from "./components/form/checkbox/Checkbox.js";
16
- import { CheckboxList as w } from "./components/form/checkbox/CheckboxList.js";
17
- import { default as E } from "./components/form/fieldset/Fieldset.js";
18
- import { Menu as I } from "./components/ui/menu/Menu.js";
15
+ import { default as R } from "./components/form/checkbox/Checkbox.js";
16
+ import { CheckboxList as v } from "./components/form/checkbox/CheckboxList.js";
17
+ import { default as A } from "./components/form/fieldset/Fieldset.js";
18
+ import { Menu as H } from "./components/ui/menu/Menu.js";
19
19
  import { default as T } from "./components/ui/block/Block.js";
20
20
  import { default as q } from "./components/ui/panel/Panel.js";
21
21
  import { Modal as G } from "./components/ui/modal/Modal.js";
@@ -25,31 +25,33 @@ import { default as V } from "./components/ui/portal/Portal.js";
25
25
  import { default as X } from "./components/ui/message/Message.js";
26
26
  import { default as Z } from "./components/ui/alert/Alert.js";
27
27
  import { default as $ } from "./components/ui/confirm/Confirm.js";
28
- import { default as eo } from "./components/ui/prompt/Prompt.js";
28
+ import { default as ro } from "./components/ui/prompt/Prompt.js";
29
29
  import { Sidebar as to } from "./components/ui/sidebar/Sidebar.js";
30
30
  import { default as fo } from "./components/ui/editable/Editable.js";
31
31
  import { default as po } from "./components/layout/Layout.js";
32
32
  import { default as lo } from "./components/layout/Page.js";
33
+ import { i as uo } from "./index-BYwt_Akn.js";
33
34
  export {
34
35
  Z as Alert,
35
36
  T as Block,
36
37
  g as Button,
37
- S as Checkbox,
38
- w as CheckboxList,
38
+ R as Checkbox,
39
+ v as CheckboxList,
39
40
  $ as Confirm,
40
41
  l as Date,
41
- s as DatePicker,
42
+ d as DatePicker,
42
43
  fo as Editable,
43
- E as Fieldset,
44
- P as Files,
44
+ A as Fieldset,
45
+ c as Files,
45
46
  t as Form,
46
47
  p as FormCol,
47
48
  f as FormRow,
48
49
  D as Hidden,
49
- c as Input,
50
+ uo as Icons,
51
+ b as Input,
50
52
  k as Label,
51
53
  po as Layout,
52
- I as Menu,
54
+ H as Menu,
53
55
  X as Message,
54
56
  G as Modal,
55
57
  K as Overlay,
@@ -57,7 +59,7 @@ export {
57
59
  q as Panel,
58
60
  Q as Popup,
59
61
  V as Portal,
60
- eo as Prompt,
62
+ ro as Prompt,
61
63
  L as RadioList,
62
64
  y as Select,
63
65
  to as Sidebar,
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.13",
4
+ "version": "0.0.15",
5
5
  "private": false,
6
6
  "author": "Alexander Fedorov <alex@molner.ru>",
7
7
  "license": "Apache-2.0",