ar-design 0.3.28 → 0.3.30
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.
- package/dist/assets/css/components/navigation/menu/styles.css +11 -6
- package/dist/components/form/date-picker/index.js +2 -1
- package/dist/components/navigation/breadcrumb/IProps.d.ts +0 -2
- package/dist/components/navigation/breadcrumb/index.js +3 -27
- package/dist/components/navigation/menu/IProps.d.ts +0 -25
- package/dist/components/navigation/menu/index.js +14 -14
- package/dist/components/navigation/pagination/IProps.d.ts +0 -26
- package/dist/components/navigation/pagination/index.js +1 -0
- package/dist/components/navigation/steps/IProps.d.ts +0 -22
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/package.json +1 -1
|
@@ -12,9 +12,6 @@
|
|
|
12
12
|
grid-template-rows: 0fr;
|
|
13
13
|
list-style: none;
|
|
14
14
|
}
|
|
15
|
-
.ar-menu > ul li {
|
|
16
|
-
/* -webkit-text-stroke: 0.5px var(--black); */
|
|
17
|
-
}
|
|
18
15
|
|
|
19
16
|
.ar-menu > ul li .item-render {
|
|
20
17
|
position: relative;
|
|
@@ -24,6 +21,12 @@
|
|
|
24
21
|
text-wrap: nowrap;
|
|
25
22
|
cursor: pointer;
|
|
26
23
|
}
|
|
24
|
+
.ar-menu > ul li .item-render > hr {
|
|
25
|
+
width: 100%;
|
|
26
|
+
border: none;
|
|
27
|
+
border-bottom: solid 1px currentColor;
|
|
28
|
+
margin: 0.5rem 0;
|
|
29
|
+
}
|
|
27
30
|
.ar-menu > ul li .item-render a {
|
|
28
31
|
display: block;
|
|
29
32
|
width: 100%;
|
|
@@ -90,15 +93,17 @@
|
|
|
90
93
|
transform: rotate(135deg);
|
|
91
94
|
}
|
|
92
95
|
|
|
96
|
+
.ar-menu > ul li.divider {
|
|
97
|
+
color: var(--black);
|
|
98
|
+
}
|
|
99
|
+
|
|
93
100
|
.ar-menu > ul li.selected {
|
|
94
101
|
color: var(--primary);
|
|
95
102
|
}
|
|
96
103
|
.ar-menu > ul li.selected .item-render > span:first-child {
|
|
97
104
|
background-color: var(--primary);
|
|
98
105
|
box-shadow: 0 0 0 5px rgba(var(--primary-rgb), 0.1);
|
|
99
|
-
|
|
100
|
-
.ar-menu > ul li.selected .item-render > span:first-child svg {
|
|
101
|
-
color: var(--white);
|
|
106
|
+
color: var(--white) !important;
|
|
102
107
|
}
|
|
103
108
|
.ar-menu > ul li.selected .item-render > span:first-child > .no-icon::before {
|
|
104
109
|
display: inline-block;
|
|
@@ -80,10 +80,11 @@ const DatePicker = ({ variant, color, onChange, isClock, validation, ...attribut
|
|
|
80
80
|
const screenCenterY = window.innerHeight / 2;
|
|
81
81
|
const sx = window.scrollX || document.documentElement.scrollLeft || document.body.scrollLeft;
|
|
82
82
|
const sy = window.scrollY || document.documentElement.scrollTop || document.body.scrollTop;
|
|
83
|
+
const _isClock = InpuRect.left > screenCenterX ? -Math.abs(isClock ? 7.5 * 16.75 : 0) : 0;
|
|
83
84
|
_arCalendar.current.style.visibility = "visible";
|
|
84
85
|
_arCalendar.current.style.opacity = "1";
|
|
85
86
|
_arCalendar.current.style.top = `${(InpuRect.top > screenCenterY ? InpuRect.top - arCalendarRect.height : InpuRect.top + InpuRect.height) + sy}px`;
|
|
86
|
-
_arCalendar.current.style.left = `${(InpuRect.left > screenCenterX ? InpuRect.right - arCalendarRect.width : InpuRect.left) + sx}px`;
|
|
87
|
+
_arCalendar.current.style.left = `${(InpuRect.left > screenCenterX ? InpuRect.right - arCalendarRect.width : InpuRect.left) + sx + _isClock}px`;
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
90
|
};
|
|
@@ -1,32 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import React
|
|
2
|
+
import React from "react";
|
|
3
3
|
import "../../../assets/css/components/navigation/breadcrumb/styles.css";
|
|
4
|
-
const Breadcrumb = (
|
|
5
|
-
|
|
6
|
-
const [pathname, setPathname] = useState("");
|
|
7
|
-
// const [breadcrumb, setBreadcrumb] = useState<any[]>([]);
|
|
8
|
-
const handleBreadcrumb = (pathname) => {
|
|
9
|
-
if (pathname === undefined)
|
|
10
|
-
pathname = window.location.pathname;
|
|
11
|
-
// let _menus: any, _parents: any;
|
|
12
|
-
if (pathname) {
|
|
13
|
-
// console.log(menus.filter(x=>x.));
|
|
14
|
-
// Recursive
|
|
15
|
-
// handleBreadcrumb(_menus);
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
// Recursive
|
|
19
|
-
// handleBreadcrumb(_parents.parentId);
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
// useEffects
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
if (menus.length === 0)
|
|
25
|
-
return;
|
|
26
|
-
handleBreadcrumb(undefined);
|
|
27
|
-
setPathname(window.location.pathname);
|
|
28
|
-
}, [menus, pathname]);
|
|
29
|
-
return (React.createElement("nav", { className: "ar-breadcrumb" }));
|
|
4
|
+
const Breadcrumb = () => {
|
|
5
|
+
return React.createElement("nav", { className: "ar-breadcrumb" });
|
|
30
6
|
};
|
|
31
7
|
Breadcrumb.displayName = "Breadcrumb";
|
|
32
8
|
export default Breadcrumb;
|
|
@@ -1,32 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { MenuItemVariants, MenuProps } from "../../../libs/types";
|
|
3
3
|
interface IProps extends React.HTMLAttributes<HTMLElement> {
|
|
4
|
-
/**
|
|
5
|
-
* Menüde gösterilecek öğeler listesi.
|
|
6
|
-
*
|
|
7
|
-
* Örneğin;
|
|
8
|
-
*
|
|
9
|
-
* ```jsx
|
|
10
|
-
* <Menu data={[
|
|
11
|
-
* { render: "Anasayfa", icon: SVGElement | HTMLImageElement },
|
|
12
|
-
* { render: <b>Hakkımızda</b>, type: "group", submenu: [{ render: "Ekibimiz" }] }
|
|
13
|
-
* ]} />
|
|
14
|
-
* ```
|
|
15
|
-
*/
|
|
16
4
|
data: MenuProps[];
|
|
17
|
-
/**
|
|
18
|
-
* Menü öğelerinin varyantı (stili).
|
|
19
|
-
*
|
|
20
|
-
* - `vertical`: Stil türünü belirtir ("filled" | "outlined" | "dashed" | "borderless").
|
|
21
|
-
* - `horizontal`: Bileşenin soluna içerik ekler (örneğin ₺, %, vb.).
|
|
22
|
-
* - `after`: Bileşenin sağına içerik ekler.
|
|
23
|
-
*
|
|
24
|
-
* Örneğin;
|
|
25
|
-
*
|
|
26
|
-
* ```jsx
|
|
27
|
-
* <Menu variant="vertical" />
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
5
|
variant?: MenuItemVariants;
|
|
31
6
|
}
|
|
32
7
|
export default IProps;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import React, { useState } from "react";
|
|
3
3
|
import "../../../assets/css/components/navigation/menu/styles.css";
|
|
4
|
-
import Divider from "../../data-display/divider";
|
|
5
4
|
const handleClick = (event) => {
|
|
6
5
|
event.stopPropagation();
|
|
7
6
|
const target = event.currentTarget;
|
|
@@ -16,7 +15,9 @@ const handleClick = (event) => {
|
|
|
16
15
|
else {
|
|
17
16
|
const selectedItems = document.querySelectorAll(".selected");
|
|
18
17
|
selectedItems.forEach((item) => item.classList.remove("selected"));
|
|
19
|
-
target.classList.
|
|
18
|
+
if (!target.classList.contains("divider")) {
|
|
19
|
+
target.classList.add("selected");
|
|
20
|
+
}
|
|
20
21
|
}
|
|
21
22
|
};
|
|
22
23
|
/**
|
|
@@ -31,10 +32,10 @@ const SubMenu = ({ items, variant, setSelectedMenu, selectedMenu, setSelectedIte
|
|
|
31
32
|
return null;
|
|
32
33
|
return (React.createElement("ul", null,
|
|
33
34
|
React.createElement("div", null, items.map((item, index) => {
|
|
34
|
-
return (React.createElement("li", { key: index, onClick: handleClick },
|
|
35
|
+
return (React.createElement("li", { key: index, className: item.type === "divider" ? "divider" : "", onClick: handleClick },
|
|
35
36
|
React.createElement("div", { className: "item-render" },
|
|
36
|
-
React.createElement("span", null, item.icon ? item.icon : React.createElement("span", { className: "no-icon" })),
|
|
37
|
-
item.type === "divider" ? React.createElement(
|
|
37
|
+
item.type !== "divider" && React.createElement("span", null, item.icon ? item.icon : React.createElement("span", { className: "no-icon" })),
|
|
38
|
+
item.type === "divider" ? React.createElement("hr", null) : React.createElement("span", { className: "item" }, item.render),
|
|
38
39
|
item.type === "group" && React.createElement("span", { className: "angel-down" })),
|
|
39
40
|
item.submenu && (React.createElement(SubMenu, { items: item.submenu, variant: variant, setSelectedMenu: setSelectedMenu, selectedMenu: selectedMenu, setSelectedItem: setSelectedItem, selectedItem: selectedItem }))));
|
|
40
41
|
}))));
|
|
@@ -44,15 +45,14 @@ const Menu = ({ data, variant = "vertical", ...attributes }) => {
|
|
|
44
45
|
const [selectedMenu, setSelectedMenu] = useState([]);
|
|
45
46
|
const [selectedItem, setSelectedItem] = useState(null);
|
|
46
47
|
return (React.createElement("nav", { className: "ar-menu", ...attributes },
|
|
47
|
-
React.createElement("ul", null,
|
|
48
|
-
React.createElement("
|
|
49
|
-
|
|
50
|
-
React.createElement("
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
})))));
|
|
48
|
+
React.createElement("ul", null, data.map((item, index) => {
|
|
49
|
+
return (React.createElement("li", { key: index, className: item.type === "divider" ? "divider" : "", onClick: handleClick },
|
|
50
|
+
React.createElement("div", { className: "item-render" },
|
|
51
|
+
item.type !== "divider" && React.createElement("span", null, item.icon ? item.icon : React.createElement("span", { className: "no-icon" })),
|
|
52
|
+
item.type === "divider" ? React.createElement("hr", null) : React.createElement("span", { className: "item" }, item.render),
|
|
53
|
+
item.type === "group" && React.createElement("span", { className: "angel-down" })),
|
|
54
|
+
item.submenu && (React.createElement(SubMenu, { items: item.submenu, variant: variant, setSelectedMenu: setSelectedMenu, selectedMenu: selectedMenu, setSelectedItem: setSelectedItem, selectedItem: selectedItem }))));
|
|
55
|
+
}))));
|
|
56
56
|
};
|
|
57
57
|
Menu.displayName = "Menu";
|
|
58
58
|
export default Menu;
|
|
@@ -1,34 +1,8 @@
|
|
|
1
1
|
interface IProps {
|
|
2
|
-
/**
|
|
3
|
-
* Varsayılan olarak seçili olan sayfa numarası.
|
|
4
|
-
* Eğer belirtilmezse, 1. sayfa varsayılan olarak kabul edilir.
|
|
5
|
-
*
|
|
6
|
-
* Örneğin;
|
|
7
|
-
*
|
|
8
|
-
* ```tsx
|
|
9
|
-
* <Pagination defaultCurrent={3} />
|
|
10
|
-
* ```
|
|
11
|
-
*/
|
|
12
2
|
defaultCurrent?: number;
|
|
13
|
-
/**
|
|
14
|
-
* Şu anda aktif olan sayfa numarası.
|
|
15
|
-
*/
|
|
16
3
|
currentPage: number;
|
|
17
|
-
/**
|
|
18
|
-
* Toplam kayıt sayısı.
|
|
19
|
-
* Sayfa başına gösterilecek öğe sayısına göre toplam sayfa sayısı hesaplanacaktır.
|
|
20
|
-
*/
|
|
21
4
|
totalRecords: number;
|
|
22
|
-
/**
|
|
23
|
-
* Her sayfada gösterilecek kayıt sayısı.
|
|
24
|
-
* Varsayılan değer sağlanmamışsa, genellikle 10 veya 20 olarak kabul edilir.
|
|
25
|
-
*/
|
|
26
5
|
perPage?: number;
|
|
27
|
-
/**
|
|
28
|
-
* Sayfa değiştiğinde tetiklenen geri çağırma fonksiyonu.
|
|
29
|
-
*
|
|
30
|
-
* @param currentPage - Kullanıcının seçtiği yeni sayfa numarası.
|
|
31
|
-
*/
|
|
32
6
|
onChange: (currentPage: number) => void;
|
|
33
7
|
}
|
|
34
8
|
export default IProps;
|
|
@@ -1,32 +1,10 @@
|
|
|
1
1
|
import { StepProps, ValidationProperties } from "../../../libs/types";
|
|
2
2
|
import { IChildren } from "../../../libs/types/IGlobalProps";
|
|
3
3
|
interface IProps<TData extends object> extends IChildren {
|
|
4
|
-
/**
|
|
5
|
-
* Step'leri temsil eden dizisi.
|
|
6
|
-
* Her bir `Step` için gerekli özellikler `StepProps` tipinde olmalıdır.
|
|
7
|
-
*/
|
|
8
4
|
steps: StepProps[];
|
|
9
|
-
/**
|
|
10
|
-
* Adım değiştiğinde tetiklenen geri çağırma fonksiyonu.
|
|
11
|
-
* @param currentStep - Kullanıcının geçerli olduğu adım numarası.
|
|
12
|
-
*/
|
|
13
5
|
onChange: (currentStep: number) => void;
|
|
14
|
-
/**
|
|
15
|
-
* Doğrulama için kullanılan veri nesnesi.
|
|
16
|
-
*
|
|
17
|
-
* `TData` tipi ile esnek şekilde tanımlanır.
|
|
18
|
-
*/
|
|
19
6
|
validation?: {
|
|
20
|
-
/**
|
|
21
|
-
* Doğrulama yapılacak veri.
|
|
22
|
-
*/
|
|
23
7
|
data: TData;
|
|
24
|
-
/**
|
|
25
|
-
* Doğrulama kuralları dizisi.
|
|
26
|
-
*
|
|
27
|
-
* `ValidationProperties<TData>` tipiyle tanımlanır ve
|
|
28
|
-
* `data` üzerindeki alanlara uygulanacak doğrulama kurallarını içerir.
|
|
29
|
-
*/
|
|
30
8
|
rules: ValidationProperties<TData>[];
|
|
31
9
|
};
|
|
32
10
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -31,7 +31,8 @@ import Progress from "./components/feedback/progress";
|
|
|
31
31
|
import Tooltip from "./components/feedback/tooltip";
|
|
32
32
|
import Breadcrumb from "./components/navigation/breadcrumb";
|
|
33
33
|
import Menu from "./components/navigation/menu";
|
|
34
|
+
import Pagination from "./components/navigation/pagination";
|
|
34
35
|
import Steps from "./components/navigation/steps";
|
|
35
36
|
import Grid from "./components/data-display/grid-system";
|
|
36
37
|
import Layout from "./components/layout";
|
|
37
|
-
export { Button, ButtonAction, ButtonGroup, Checkbox, DatePicker, Input, InputNumber, InputTag, Radio, Select, Switch, TextEditor, Upload, Card, Chip, Diagram, Divider, DnD, KanbanBoard, Paper, SyntaxHighlighter, Table, Tabs, Typography, Alert, Drawer, Modal, Popover, Progress, Tooltip, Breadcrumb, Menu, Steps, Grid, Layout, };
|
|
38
|
+
export { Button, ButtonAction, ButtonGroup, Checkbox, DatePicker, Input, InputNumber, InputTag, Radio, Select, Switch, TextEditor, Upload, Card, Chip, Diagram, Divider, DnD, KanbanBoard, Paper, SyntaxHighlighter, Table, Tabs, Typography, Alert, Drawer, Modal, Popover, Progress, Tooltip, Breadcrumb, Menu, Pagination, Steps, Grid, Layout, };
|
package/dist/index.js
CHANGED
|
@@ -35,6 +35,7 @@ import Tooltip from "./components/feedback/tooltip";
|
|
|
35
35
|
// Navigation
|
|
36
36
|
import Breadcrumb from "./components/navigation/breadcrumb";
|
|
37
37
|
import Menu from "./components/navigation/menu";
|
|
38
|
+
import Pagination from "./components/navigation/pagination";
|
|
38
39
|
import Steps from "./components/navigation/steps";
|
|
39
40
|
// Layout
|
|
40
41
|
import Grid from "./components/data-display/grid-system";
|
|
@@ -47,6 +48,6 @@ Card, Chip, Diagram, Divider, DnD, KanbanBoard, Paper, SyntaxHighlighter, Table,
|
|
|
47
48
|
// Feedback
|
|
48
49
|
Alert, Drawer, Modal, Popover, Progress, Tooltip,
|
|
49
50
|
// Navigation
|
|
50
|
-
Breadcrumb, Menu, Steps,
|
|
51
|
+
Breadcrumb, Menu, Pagination, Steps,
|
|
51
52
|
// Layout
|
|
52
53
|
Grid, Layout, };
|