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.
@@ -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,5 +1,3 @@
1
- import { MenuProps } from "../../../libs/types";
2
1
  interface IProps {
3
- menus: MenuProps[];
4
2
  }
5
3
  export default IProps;
@@ -1,32 +1,8 @@
1
1
  "use client";
2
- import React, { useEffect, useState } from "react";
2
+ import React from "react";
3
3
  import "../../../assets/css/components/navigation/breadcrumb/styles.css";
4
- const Breadcrumb = ({ menus }) => {
5
- // useState
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.add("selected");
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(Divider, null) : React.createElement("span", { className: "item" }, item.render),
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("div", null, data.map((item, index) => {
49
- return (React.createElement("li", { key: index, onClick: handleClick },
50
- React.createElement("div", { className: "item-render" },
51
- React.createElement("span", null, item.icon ? item.icon : React.createElement("span", { className: "no-icon" })),
52
- item.type === "divider" ? React.createElement(Divider, 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
- })))));
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;
@@ -79,4 +79,5 @@ const Pagination = ({ defaultCurrent = 1, currentPage, totalRecords, perPage, on
79
79
  } },
80
80
  React.createElement("span", null, "»")))));
81
81
  };
82
+ Pagination.displayName = "Pagination";
82
83
  export default Pagination;
@@ -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, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ar-design",
3
- "version": "0.3.28",
3
+ "version": "0.3.30",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",