@alxgrn/telefrag-ui 0.0.60 → 0.0.62

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 (38) hide show
  1. package/dist/assets/Content.css +1 -1
  2. package/dist/assets/Header.css +1 -1
  3. package/dist/assets/MainMenu.css +1 -1
  4. package/dist/assets/PageHeader.css +1 -1
  5. package/dist/assets/Scroll.css +1 -0
  6. package/dist/assets/TelefragLogo.css +1 -0
  7. package/dist/assets/TelefragSymbol.css +1 -0
  8. package/dist/assets/Toolbar.css +1 -0
  9. package/dist/components/form/date/DatePicker.js +21 -19
  10. package/dist/components/form/form/Form.js +8 -5
  11. package/dist/components/form/image/Image.js +21 -18
  12. package/dist/components/form/required/RequiredMark.js +5 -4
  13. package/dist/components/form/select/Select.js +8 -5
  14. package/dist/components/form/time/Time.js +7 -4
  15. package/dist/components/icons/TelefragLogo.d.ts +0 -1
  16. package/dist/components/icons/TelefragLogo.js +22 -73
  17. package/dist/components/icons/TelefragSymbol.d.ts +2 -0
  18. package/dist/components/icons/TelefragSymbol.js +19 -0
  19. package/dist/components/icons/index.d.ts +2 -1
  20. package/dist/components/icons/index.js +48 -46
  21. package/dist/components/layout/Footer.js +2 -3
  22. package/dist/components/layout/Header.js +8 -7
  23. package/dist/components/layout/Layout.js +17 -15
  24. package/dist/components/layout/MainMenu.d.ts +11 -1
  25. package/dist/components/layout/MainMenu.js +5 -5
  26. package/dist/components/layout/Page.js +7 -4
  27. package/dist/components/layout/PageHeader.d.ts +4 -0
  28. package/dist/components/layout/PageHeader.js +48 -39
  29. package/dist/components/ui/modal/Modal.js +19 -17
  30. package/dist/components/ui/scroll/Scroll.d.ts +18 -0
  31. package/dist/components/ui/scroll/Scroll.js +60 -0
  32. package/dist/components/ui/toolbar/Toolbar.d.ts +15 -0
  33. package/dist/components/ui/toolbar/Toolbar.js +20 -0
  34. package/dist/{index-BNwZCY3z.js → index-D12KbdVs.js} +34 -32
  35. package/dist/main.d.ts +4 -2
  36. package/dist/main.js +37 -33
  37. package/package.json +1 -1
  38. package/dist/components/layout/Footer.d.ts +0 -2
@@ -0,0 +1,60 @@
1
+ import { jsxs as g, jsx as n } from "react/jsx-runtime";
2
+ import { useRef as m, useState as d, useEffect as p } from "react";
3
+ import W from "../../icons/ChevronLeft.js";
4
+ import w from "../../icons/ChevronRight.js";
5
+ import '../../../assets/Scroll.css';import '../../../assets/TelefragLogo.css';import '../../../assets/TelefragSymbol.css';/* empty css */
6
+ /* empty css */
7
+ /* empty css */
8
+ const M = ({ items: L, active: s, onActive: f }) => {
9
+ const r = m(null), c = m([]), [S, i] = d(!1), [N, u] = d(!1), h = (o) => {
10
+ const t = o.scrollLeft, e = o.offsetWidth, l = o.scrollWidth;
11
+ l <= e ? (i(!1), u(!1)) : (i(t > 0), u(Math.round(t + e + 0.5) < l));
12
+ };
13
+ p(() => {
14
+ r.current && h(r.current);
15
+ }, [r]), p(() => {
16
+ s !== void 0 && c.current[s] && r.current && (r.current.scrollLeft = c.current[s].offsetLeft + c.current[s].clientWidth / 2 - r.current.offsetWidth / 2);
17
+ }, [s, c, r]);
18
+ const k = (o) => {
19
+ h(o.currentTarget);
20
+ }, v = (o) => {
21
+ if (o.stopPropagation(), !r.current) return;
22
+ const t = r.current.scrollLeft;
23
+ for (let e = c.current.length - 1; e >= 0; e--)
24
+ if (c.current[e].offsetLeft < t) {
25
+ r.current.scrollLeft = c.current[e].offsetLeft;
26
+ break;
27
+ }
28
+ }, C = (o) => {
29
+ if (o.stopPropagation(), !r.current) return;
30
+ const t = r.current.offsetWidth, e = r.current.scrollLeft + t;
31
+ for (let l = 0; l < c.current.length; l++) {
32
+ const a = c.current[l].offsetLeft + c.current[l].clientWidth;
33
+ if (a > e) {
34
+ r.current.scrollLeft = a - t;
35
+ break;
36
+ }
37
+ }
38
+ }, P = (o, t) => {
39
+ o.stopPropagation(), f && f(t);
40
+ };
41
+ return /* @__PURE__ */ g("div", { className: "Scroll", children: [
42
+ /* @__PURE__ */ n("div", { className: "ScrollList", onScroll: k, ref: r, children: L.map((o, t) => /* @__PURE__ */ n(
43
+ "div",
44
+ {
45
+ className: t === s ? "ScrollItem active" : "ScrollItem",
46
+ onClick: (e) => P(e, t),
47
+ ref: (e) => {
48
+ e && (c.current[t] = e);
49
+ },
50
+ children: o
51
+ },
52
+ t
53
+ )) }),
54
+ S && /* @__PURE__ */ n("div", { className: "ScrollPrev", onClick: v, children: /* @__PURE__ */ n(W, {}) }),
55
+ N && /* @__PURE__ */ n("div", { className: "ScrollNext", onClick: C, children: /* @__PURE__ */ n(w, {}) })
56
+ ] });
57
+ };
58
+ export {
59
+ M as default
60
+ };
@@ -0,0 +1,15 @@
1
+ import { default as React, ReactNode } from 'react';
2
+ export type ToolbarItem = {
3
+ id: string | number;
4
+ icon?: ReactNode;
5
+ text?: ReactNode | string;
6
+ };
7
+ type ToolbarProps = {
8
+ items: ToolbarItem[];
9
+ panel?: boolean;
10
+ active?: string | number;
11
+ className?: string;
12
+ onActive: (id: string | number) => void;
13
+ };
14
+ declare const Toolbar: React.FC<ToolbarProps>;
15
+ export default Toolbar;
@@ -0,0 +1,20 @@
1
+ import { jsxs as x, jsx as l } from "react/jsx-runtime";
2
+ import { useState as e, useEffect as s } from "react";
3
+ import h from "../scroll/Scroll.js";
4
+ import '../../../assets/Toolbar.css';/* empty css */
5
+ const T = ({ items: o, panel: a, active: t, className: c, onActive: d }) => {
6
+ const [i, u] = e(0), [p, f] = e([]);
7
+ return s(() => {
8
+ const n = o.findIndex((r) => r.id === t);
9
+ u(n);
10
+ }, [o, t]), s(() => {
11
+ const n = o.map((r) => /* @__PURE__ */ x("div", { className: "ToolbarItem", children: [
12
+ r.icon ? /* @__PURE__ */ l("span", { children: r.icon }) : null,
13
+ r.text ? /* @__PURE__ */ l("span", { children: r.text }) : null
14
+ ] }));
15
+ f(n);
16
+ }, [o]), /* @__PURE__ */ l("div", { className: `Toolbar ${a ? "LikePanel" : ""} ${c || ""}`, children: /* @__PURE__ */ l(h, { items: p, active: i, onActive: (n) => d(o[n].id) }) });
17
+ };
18
+ export {
19
+ T as default
20
+ };
@@ -17,17 +17,17 @@ import C from "./components/icons/ChevronLeft.js";
17
17
  import u from "./components/icons/ChevronRight.js";
18
18
  import c from "./components/icons/Clock.js";
19
19
  import A from "./components/icons/Code.js";
20
- import k from "./components/icons/CodeXml.js";
21
- import S from "./components/icons/ColumnInsertAfter.js";
20
+ import S from "./components/icons/CodeXml.js";
21
+ import k from "./components/icons/ColumnInsertAfter.js";
22
22
  import H from "./components/icons/ColumnInsertBefore.js";
23
23
  import I from "./components/icons/Expand.js";
24
- import L from "./components/icons/Eye.js";
25
- import M from "./components/icons/Feather.js";
26
- import R from "./components/icons/Files.js";
27
- import T from "./components/icons/Film.js";
28
- import b from "./components/icons/FlipVertical.js";
29
- import w from "./components/icons/Forum.js";
30
- import y from "./components/icons/Gamepad.js";
24
+ import T from "./components/icons/Eye.js";
25
+ import b from "./components/icons/Feather.js";
26
+ import y from "./components/icons/Files.js";
27
+ import L from "./components/icons/Film.js";
28
+ import M from "./components/icons/FlipVertical.js";
29
+ import R from "./components/icons/Forum.js";
30
+ import w from "./components/icons/Gamepad.js";
31
31
  import B from "./components/icons/Heading.js";
32
32
  import F from "./components/icons/Heading1.js";
33
33
  import v from "./components/icons/Heading2.js";
@@ -58,13 +58,14 @@ import mo from "./components/icons/Shrink.js";
58
58
  import io from "./components/icons/SquareDashed.js";
59
59
  import to from "./components/icons/Strikethrough.js";
60
60
  import eo from "./components/icons/Table.js";
61
- import fo from "./components/icons/TelefragLogo.js";
62
- import po from "./components/icons/Trash.js";
63
- import no from "./components/icons/Type.js";
64
- import lo from "./components/icons/Underline.js";
65
- import ao from "./components/icons/Undo.js";
66
- import go from "./components/icons/Users.js";
67
- const Rr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
61
+ import fo from "./components/icons/TelefragSymbol.js";
62
+ import po from "./components/icons/TelefragLogo.js";
63
+ import no from "./components/icons/Trash.js";
64
+ import lo from "./components/icons/Type.js";
65
+ import ao from "./components/icons/Underline.js";
66
+ import go from "./components/icons/Undo.js";
67
+ import so from "./components/icons/Users.js";
68
+ const Mr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
68
69
  __proto__: null,
69
70
  AlignBottom: o,
70
71
  AlignCenter: r,
@@ -85,17 +86,17 @@ const Rr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
85
86
  ChevronRight: u,
86
87
  Clock: c,
87
88
  Code: A,
88
- CodeXml: k,
89
- ColumnInsertAfter: S,
89
+ CodeXml: S,
90
+ ColumnInsertAfter: k,
90
91
  ColumnInsertBefore: H,
91
92
  Expand: I,
92
- Eye: L,
93
- Feather: M,
94
- Files: R,
95
- Film: T,
96
- FlipVertical: b,
97
- Forum: w,
98
- Gamepad: y,
93
+ Eye: T,
94
+ Feather: b,
95
+ Files: y,
96
+ Film: L,
97
+ FlipVertical: M,
98
+ Forum: R,
99
+ Gamepad: w,
99
100
  Heading: B,
100
101
  Heading1: F,
101
102
  Heading2: v,
@@ -126,13 +127,14 @@ const Rr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
126
127
  SquareDashed: io,
127
128
  Strikethrough: to,
128
129
  Table: eo,
129
- TelefragLogo: fo,
130
- Trash: po,
131
- Type: no,
132
- Underline: lo,
133
- Undo: ao,
134
- Users: go
130
+ TelefragLogo: po,
131
+ TelefragSymbol: fo,
132
+ Trash: no,
133
+ Type: lo,
134
+ Underline: ao,
135
+ Undo: go,
136
+ Users: so
135
137
  }, Symbol.toStringTag, { value: "Module" }));
136
138
  export {
137
- Rr as i
139
+ Mr as i
138
140
  };
package/dist/main.d.ts CHANGED
@@ -26,12 +26,14 @@ import { default as Message } from './components/ui/message/Message';
26
26
  import { default as Alert } from './components/ui/alert/Alert';
27
27
  import { default as Confirm } from './components/ui/confirm/Confirm';
28
28
  import { default as Prompt } from './components/ui/prompt/Prompt';
29
+ import { default as Scroll } from './components/ui/scroll/Scroll';
29
30
  import { default as Sidebar } from './components/ui/sidebar/Sidebar';
31
+ import { default as Toolbar, ToolbarItem } from './components/ui/toolbar/Toolbar';
30
32
  import { default as Editable } from './components/ui/editable/Editable';
31
33
  import { default as Layout } from './components/layout/Layout';
32
34
  import { MainMenuItem } from './components/layout/MainMenu';
33
35
  import { default as Page } from './components/layout/Page';
34
36
  import { default as PageHeader } from './components/layout/PageHeader';
35
37
  import * as Icons from './components/icons';
36
- export { Form, Date, Time, Files, Image, 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, PageHeader, Icons, };
37
- export type { FormData, MainMenuItem, MenuItem, ModalProps, ButtonType, CheckboxListOption, RadioListOption, RadioListValue, SelectOption, };
38
+ export { Form, Date, Time, Files, Image, Input, Label, RadioList, Button, Select, Hidden, Checkbox, CheckboxList, Fieldset, FormRow, FormCol, DatePicker, Menu, Block, Panel, Modal, Overlay, Popup, Portal, Message, Alert, Confirm, Prompt, Scroll, Sidebar, Toolbar, Editable, Layout, Page, PageHeader, Icons, };
39
+ export type { FormData, MainMenuItem, MenuItem, ModalProps, ButtonType, CheckboxListOption, RadioListOption, RadioListValue, SelectOption, ToolbarItem, };
package/dist/main.js CHANGED
@@ -2,21 +2,21 @@ import './assets/PageHeader.css';/* empty css */
2
2
  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
- import { default as l } from "./components/form/date/Date.js";
5
+ import { default as x } from "./components/form/date/Date.js";
6
6
  import { default as s } 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";
8
+ import { Files as n } from "./components/form/files/Files.js";
9
9
  import { Image as b } from "./components/form/image/Image.js";
10
10
  import { default as g } from "./components/form/input/Input.js";
11
11
  import { default as C } from "./components/form/label/Label.js";
12
12
  import { RadioList as I } from "./components/form/radio/RadioList.js";
13
- import { Button as h } from "./components/form/button/Button.js";
14
- import { Select as B } from "./components/form/select/Select.js";
15
- import { default as H } from "./components/form/hidden/Hidden.js";
16
- import { default as S } from "./components/form/checkbox/Checkbox.js";
17
- import { CheckboxList as w } from "./components/form/checkbox/CheckboxList.js";
18
- import { default as E } from "./components/form/fieldset/Fieldset.js";
19
- import { Menu as T } from "./components/ui/menu/Menu.js";
13
+ import { Button as S } from "./components/form/button/Button.js";
14
+ import { Select as y } from "./components/form/select/Select.js";
15
+ import { default as D } from "./components/form/hidden/Hidden.js";
16
+ import { default as R } from "./components/form/checkbox/Checkbox.js";
17
+ import { CheckboxList as v } from "./components/form/checkbox/CheckboxList.js";
18
+ import { default as A } from "./components/form/fieldset/Fieldset.js";
19
+ import { Menu as O } from "./components/ui/menu/Menu.js";
20
20
  import { default as q } from "./components/ui/block/Block.js";
21
21
  import { default as G } from "./components/ui/panel/Panel.js";
22
22
  import { Modal as K } from "./components/ui/modal/Modal.js";
@@ -25,47 +25,51 @@ import { Popup as V } from "./components/ui/popup/Popup.js";
25
25
  import { default as X } from "./components/ui/portal/Portal.js";
26
26
  import { default as Z } from "./components/ui/message/Message.js";
27
27
  import { default as $ } from "./components/ui/alert/Alert.js";
28
- import { default as eo } from "./components/ui/confirm/Confirm.js";
28
+ import { default as ro } from "./components/ui/confirm/Confirm.js";
29
29
  import { default as to } from "./components/ui/prompt/Prompt.js";
30
- import { Sidebar as fo } from "./components/ui/sidebar/Sidebar.js";
31
- import { default as po } from "./components/ui/editable/Editable.js";
32
- import { default as lo } from "./components/layout/Layout.js";
33
- import { default as uo } from "./components/layout/Page.js";
34
- import { default as no } from "./components/layout/PageHeader.js";
35
- import { i as co } from "./index-BNwZCY3z.js";
30
+ import { default as fo } from "./components/ui/scroll/Scroll.js";
31
+ import { Sidebar as po } from "./components/ui/sidebar/Sidebar.js";
32
+ import { default as xo } from "./components/ui/toolbar/Toolbar.js";
33
+ import { default as uo } from "./components/ui/editable/Editable.js";
34
+ import { default as co } from "./components/layout/Layout.js";
35
+ import { default as Po } from "./components/layout/Page.js";
36
+ import { default as Fo } from "./components/layout/PageHeader.js";
37
+ import { i as ko } from "./index-D12KbdVs.js";
36
38
  export {
37
39
  $ as Alert,
38
40
  q as Block,
39
- h as Button,
40
- S as Checkbox,
41
- w as CheckboxList,
42
- eo as Confirm,
43
- l as Date,
41
+ S as Button,
42
+ R as Checkbox,
43
+ v as CheckboxList,
44
+ ro as Confirm,
45
+ x as Date,
44
46
  s as DatePicker,
45
- po as Editable,
46
- E as Fieldset,
47
- P as Files,
47
+ uo as Editable,
48
+ A as Fieldset,
49
+ n as Files,
48
50
  t as Form,
49
51
  p as FormCol,
50
52
  f as FormRow,
51
- H as Hidden,
52
- co as Icons,
53
+ D as Hidden,
54
+ ko as Icons,
53
55
  b as Image,
54
56
  g as Input,
55
57
  C as Label,
56
- lo as Layout,
57
- T as Menu,
58
+ co as Layout,
59
+ O as Menu,
58
60
  Z as Message,
59
61
  K as Modal,
60
62
  Q as Overlay,
61
- uo as Page,
62
- no as PageHeader,
63
+ Po as Page,
64
+ Fo as PageHeader,
63
65
  G as Panel,
64
66
  V as Popup,
65
67
  X as Portal,
66
68
  to as Prompt,
67
69
  I as RadioList,
68
- B as Select,
69
- fo as Sidebar,
70
- i as Time
70
+ fo as Scroll,
71
+ y as Select,
72
+ po as Sidebar,
73
+ i as Time,
74
+ xo as Toolbar
71
75
  };
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.60",
4
+ "version": "0.0.62",
5
5
  "private": false,
6
6
  "author": "Alexander Fedorov <alex@molner.ru>",
7
7
  "license": "Apache-2.0",
@@ -1,2 +0,0 @@
1
- declare const Footer: () => import("react/jsx-runtime").JSX.Element;
2
- export default Footer;