ar-design 0.1.2 → 0.1.4
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/assest/css/alert/alert.css +63 -0
- package/dist/assest/css/alert/core/border.css +24 -0
- package/dist/assest/css/alert/core/color.css +28 -0
- package/dist/assest/css/ar-core.css +6 -0
- package/dist/assest/css/button/button.css +24 -1
- package/dist/assest/css/button/core/icon.css +2 -0
- package/dist/assest/css/button/core/shape.css +4 -2
- package/dist/assest/css/button/core/size.css +12 -0
- package/dist/assest/css/button/variant/text/animation.css +95 -0
- package/dist/assest/css/button/variant/text/core.css +97 -0
- package/dist/assest/css/css/alert/alert.css +63 -0
- package/dist/assest/css/css/alert/core/border.css +24 -0
- package/dist/assest/css/css/alert/core/color.css +28 -0
- package/dist/assest/css/css/ar-core.css +6 -0
- package/dist/assest/css/css/button/button.css +24 -1
- package/dist/assest/css/css/button/core/icon.css +2 -0
- package/dist/assest/css/css/button/core/shape.css +4 -2
- package/dist/assest/css/css/button/core/size.css +12 -0
- package/dist/assest/css/css/button/variant/text/animation.css +95 -0
- package/dist/assest/css/css/button/variant/text/core.css +97 -0
- package/dist/assest/css/css/divider/divider.css +5 -1
- package/dist/assest/css/css/layout/header.css +18 -0
- package/dist/assest/css/css/layout/layout.css +27 -0
- package/dist/assest/css/css/menu/core/open-or-close.css +5 -0
- package/dist/assest/css/css/menu/core/selected.css +3 -4
- package/dist/assest/css/css/menu/menu.css +57 -1
- package/dist/assest/css/css/syntax-highlighter/syntax-highlighter.css +57 -1
- package/dist/assest/css/css/typography/paragraph/core.css +1 -0
- package/dist/assest/css/css/typography/title/core.css +1 -0
- package/dist/assest/css/divider/divider.css +5 -1
- package/dist/assest/css/layout/header.css +18 -0
- package/dist/assest/css/layout/layout.css +27 -0
- package/dist/assest/css/menu/core/open-or-close.css +5 -0
- package/dist/assest/css/menu/core/selected.css +3 -4
- package/dist/assest/css/menu/menu.css +57 -1
- package/dist/assest/css/syntax-highlighter/syntax-highlighter.css +57 -1
- package/dist/assest/css/typography/paragraph/core.css +1 -0
- package/dist/assest/css/typography/title/core.css +1 -0
- package/dist/components/alert/Types.d.ts +9 -0
- package/dist/components/alert/Types.js +1 -0
- package/dist/components/alert/index.d.ts +5 -0
- package/dist/components/alert/index.js +60 -0
- package/dist/components/button/Types.d.ts +2 -1
- package/dist/components/button/index.js +5 -3
- package/dist/components/grid-system/column/Column.js +2 -0
- package/dist/components/layout/Aside.d.ts +4 -0
- package/dist/components/layout/Aside.js +12 -0
- package/dist/components/layout/Footer.d.ts +3 -0
- package/dist/components/layout/Footer.js +8 -0
- package/dist/components/layout/Header.d.ts +4 -0
- package/dist/components/layout/Header.js +11 -0
- package/dist/components/layout/Section.d.ts +4 -0
- package/dist/components/layout/Section.js +3 -0
- package/dist/components/layout/Types.d.ts +14 -0
- package/dist/components/layout/Types.js +1 -0
- package/dist/components/layout/index.d.ts +10 -0
- package/dist/components/layout/index.js +49 -0
- package/dist/components/menu/index.js +4 -1
- package/dist/components/syntax-highlighter/index.js +4 -1
- package/dist/components/typography/paragraph/Paragraph.js +1 -0
- package/dist/components/typography/title/Title.js +1 -0
- package/dist/index.d.ts +4 -6
- package/dist/index.js +4 -6
- package/dist/libs/core/application/contexts/Layout.d.ts +16 -0
- package/dist/libs/core/application/contexts/Layout.js +8 -0
- package/dist/libs/core/application/hooks/useLayout.d.ts +13 -0
- package/dist/libs/core/application/hooks/useLayout.js +4 -0
- package/package.json +1 -1
- package/dist/assest/css/button/core/core.css +0 -17
- package/dist/assest/css/css/button/core/core.css +0 -17
- package/dist/assest/css/css/divider/core/core.css +0 -4
- package/dist/assest/css/css/menu/core/core.css +0 -47
- package/dist/assest/css/css/syntax-highlighter/core/core.css +0 -55
- package/dist/assest/css/divider/core/core.css +0 -4
- package/dist/assest/css/menu/core/core.css +0 -47
- package/dist/assest/css/syntax-highlighter/core/core.css +0 -55
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
.ar-button.text {
|
|
2
|
+
background-color: transparent;
|
|
3
|
+
border-width: 1px;
|
|
4
|
+
border-color: transparent;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.ar-button.text.disabled {
|
|
8
|
+
border-color: var(--gray-500);
|
|
9
|
+
color: var(--gray-500);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.ar-button.text:not(.disabled).primary {
|
|
13
|
+
border-color: var(--primary);
|
|
14
|
+
color: var(--primary);
|
|
15
|
+
}
|
|
16
|
+
.ar-button.text:not(.disabled).primary:hover {
|
|
17
|
+
background-color: rgba(var(--primary-rgb), 0.1);
|
|
18
|
+
}
|
|
19
|
+
.ar-button.text:not(.disabled).primary:active {
|
|
20
|
+
background-color: rgba(var(--primary-rgb), 0.2);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.ar-button.text:not(.disabled).secondary {
|
|
24
|
+
border-color: var(--secondary);
|
|
25
|
+
color: var(--secondary);
|
|
26
|
+
}
|
|
27
|
+
.ar-button.text:not(.disabled).secondary:hover {
|
|
28
|
+
background-color: rgba(var(--secondary-rgb), 0.1);
|
|
29
|
+
}
|
|
30
|
+
.ar-button.text:not(.disabled).secondary:active {
|
|
31
|
+
background-color: rgba(var(--secondary-rgb), 0.2);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.ar-button.text:not(.disabled).success {
|
|
35
|
+
border-color: var(--success);
|
|
36
|
+
color: var(--success);
|
|
37
|
+
}
|
|
38
|
+
.ar-button.text:not(.disabled).success:hover {
|
|
39
|
+
background-color: rgba(var(--success-rgb), 0.1);
|
|
40
|
+
}
|
|
41
|
+
.ar-button.text:not(.disabled).success:active {
|
|
42
|
+
background-color: rgba(var(--success-rgb), 0.2);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.ar-button.text:not(.disabled).warning {
|
|
46
|
+
border-color: var(--warning);
|
|
47
|
+
color: var(--warning);
|
|
48
|
+
}
|
|
49
|
+
.ar-button.text:not(.disabled).warning:hover {
|
|
50
|
+
background-color: rgba(var(--warning-rgb), 0.1);
|
|
51
|
+
}
|
|
52
|
+
.ar-button.text:not(.disabled).warning:active {
|
|
53
|
+
background-color: rgba(var(--warning-rgb), 0.2);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.ar-button.text:not(.disabled).danger {
|
|
57
|
+
border-color: var(--danger);
|
|
58
|
+
color: var(--danger);
|
|
59
|
+
}
|
|
60
|
+
.ar-button.text:not(.disabled).danger:hover {
|
|
61
|
+
background-color: rgba(var(--danger-rgb), 0.1);
|
|
62
|
+
}
|
|
63
|
+
.ar-button.text:not(.disabled).danger:active {
|
|
64
|
+
background-color: rgba(var(--danger-rgb), 0.2);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.ar-button.text:not(.disabled).information {
|
|
68
|
+
border-color: var(--information);
|
|
69
|
+
color: var(--information);
|
|
70
|
+
}
|
|
71
|
+
.ar-button.text:not(.disabled).information:hover {
|
|
72
|
+
background-color: rgba(var(--information-rgb), 0.1);
|
|
73
|
+
}
|
|
74
|
+
.ar-button.text:not(.disabled).information:active {
|
|
75
|
+
background-color: rgba(var(--information-rgb), 0.2);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.ar-button.text:not(.disabled).light {
|
|
79
|
+
border-color: var(--light);
|
|
80
|
+
color: var(--gray-500);
|
|
81
|
+
}
|
|
82
|
+
.ar-button.text:not(.disabled).light:hover {
|
|
83
|
+
background-color: rgba(var(--light-rgb), 0.1);
|
|
84
|
+
}
|
|
85
|
+
.ar-button.text:not(.disabled).light:active {
|
|
86
|
+
background-color: rgba(var(--light-rgb), 0.2);
|
|
87
|
+
}
|
|
88
|
+
.ar-button.text:not(.disabled).dark {
|
|
89
|
+
border-color: var(--dark);
|
|
90
|
+
color: var(--dark);
|
|
91
|
+
}
|
|
92
|
+
.ar-button.text:not(.disabled).dark:hover {
|
|
93
|
+
background-color: rgba(var(--dark-rgb), 0.1);
|
|
94
|
+
}
|
|
95
|
+
.ar-button.text:not(.disabled).dark:active {
|
|
96
|
+
background-color: rgba(var(--dark-rgb), 0.2);
|
|
97
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
.ar-header {
|
|
2
|
+
position: sticky;
|
|
3
|
+
top: 0;
|
|
4
|
+
background-color: rgba(var(--white-rgb), 0.5);
|
|
5
|
+
backdrop-filter: blur(5px);
|
|
6
|
+
height: 3.75rem;
|
|
7
|
+
border-bottom: solid 1px var(--gray-200);
|
|
8
|
+
z-index: 10;
|
|
9
|
+
}
|
|
10
|
+
.ar-header > .ar-header-with-wrap {
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-direction: row;
|
|
13
|
+
justify-content: space-between;
|
|
14
|
+
align-items: center;
|
|
15
|
+
width: 1280px;
|
|
16
|
+
height: 100%;
|
|
17
|
+
margin: 0 auto;
|
|
18
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
.ar-layout {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
}
|
|
5
|
+
.ar-layout > main {
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: row;
|
|
8
|
+
gap: 0 2rem;
|
|
9
|
+
width: 1280px;
|
|
10
|
+
margin: 0 auto;
|
|
11
|
+
}
|
|
12
|
+
.ar-layout > main > aside {
|
|
13
|
+
position: sticky;
|
|
14
|
+
top: 3.75rem;
|
|
15
|
+
width: 25%;
|
|
16
|
+
height: 100%;
|
|
17
|
+
margin: 2rem 0;
|
|
18
|
+
}
|
|
19
|
+
.ar-layout > main > section {
|
|
20
|
+
background-color: var(--white);
|
|
21
|
+
width: 100%;
|
|
22
|
+
margin: 2rem 0;
|
|
23
|
+
padding: 2rem;
|
|
24
|
+
border-radius: var(--border-radius-lg);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@import url("./header.css");
|
|
@@ -5,8 +5,13 @@
|
|
|
5
5
|
transition: max-height 250ms ease-in-out, opacity 250ms cubic-bezier(1, 0, 0, 1);
|
|
6
6
|
}
|
|
7
7
|
.ar-menu .ar-menu-list-item-groups.opened {
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
gap: 0.25rem 0;
|
|
8
11
|
opacity: 1;
|
|
9
12
|
max-height: 100rem;
|
|
13
|
+
padding-top: 0.2rem;
|
|
14
|
+
padding-bottom: 0.2rem;
|
|
10
15
|
}
|
|
11
16
|
.ar-menu .ar-menu-list-item-group-item-title {
|
|
12
17
|
display: flex;
|
|
@@ -11,8 +11,7 @@
|
|
|
11
11
|
border-bottom-left-radius: var(--border-radius-lg);
|
|
12
12
|
}
|
|
13
13
|
.ar-menu .ar-menu-list-item-group-item-title.selected {
|
|
14
|
-
background-color:
|
|
15
|
-
border-
|
|
16
|
-
|
|
17
|
-
color: var(--red);
|
|
14
|
+
background-color: var(--gray-200) !important;
|
|
15
|
+
border-radius: var(--border-radius-lg);
|
|
16
|
+
box-shadow: 0 0 0 1px var(--gray-200);
|
|
18
17
|
}
|
|
@@ -1,2 +1,58 @@
|
|
|
1
|
-
|
|
1
|
+
.ar-menu {
|
|
2
|
+
padding: 0 0.25rem;
|
|
3
|
+
font-family: var(--system-fonts);
|
|
4
|
+
}
|
|
5
|
+
.ar-menu ul {
|
|
6
|
+
margin: 0;
|
|
7
|
+
padding: 0;
|
|
8
|
+
list-style: none;
|
|
9
|
+
}
|
|
10
|
+
.ar-menu ul li:last-child {
|
|
11
|
+
padding-bottom: 0;
|
|
12
|
+
}
|
|
13
|
+
.ar-menu ul li ul {
|
|
14
|
+
margin-left: 0.5rem;
|
|
15
|
+
padding-left: 0.5rem;
|
|
16
|
+
}
|
|
17
|
+
.ar-menu > .ar-menu-list {
|
|
18
|
+
display: flex;
|
|
19
|
+
}
|
|
20
|
+
.ar-menu .ar-menu-list-item-group-item-title {
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
height: 2.5rem;
|
|
24
|
+
user-select: none;
|
|
25
|
+
}
|
|
26
|
+
.ar-menu .ar-menu-list-item-group-item-title a {
|
|
27
|
+
color: var(--black);
|
|
28
|
+
}
|
|
29
|
+
.ar-menu .ar-menu-list-item-group-item-title:not(.group) > * {
|
|
30
|
+
display: flex;
|
|
31
|
+
align-items: center;
|
|
32
|
+
width: 100%;
|
|
33
|
+
height: 100%;
|
|
34
|
+
padding: 0 1rem;
|
|
35
|
+
}
|
|
36
|
+
.ar-menu .ar-menu-list-item-group-item-title:not(.group):hover {
|
|
37
|
+
background-color: var(--gray-200);
|
|
38
|
+
border-radius: var(--border-radius-lg);
|
|
39
|
+
}
|
|
40
|
+
.ar-menu .ar-menu-list-item-group-item-title.selection-item {
|
|
41
|
+
background-color: red;
|
|
42
|
+
}
|
|
43
|
+
.ar-menu .ar-menu-list-item-group-item-title.group {
|
|
44
|
+
display: flex;
|
|
45
|
+
/* margin-left: 1rem; */
|
|
46
|
+
padding-left: 0;
|
|
47
|
+
border-radius: 0;
|
|
48
|
+
border-bottom: solid 1px var(--gray-100);
|
|
49
|
+
color: var(--gray-500);
|
|
50
|
+
font-size: 0.85rem;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/* Core Css */
|
|
54
|
+
@import url("./core/selected.css");
|
|
55
|
+
@import url("./core/open-or-close.css");
|
|
56
|
+
|
|
57
|
+
/* Variant Css */
|
|
2
58
|
@import url("./variant/vertical.css");
|
|
@@ -1,2 +1,58 @@
|
|
|
1
|
-
|
|
1
|
+
.ar-syntax {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
border: solid 1px var(--gray-200);
|
|
5
|
+
border-radius: var(--border-radius-lg);
|
|
6
|
+
overflow: hidden;
|
|
7
|
+
}
|
|
8
|
+
.ar-syntax > .preview {
|
|
9
|
+
position: relative;
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-wrap: wrap;
|
|
12
|
+
align-items: center;
|
|
13
|
+
gap: 1rem;
|
|
14
|
+
background-color: var(--white);
|
|
15
|
+
padding: 1rem;
|
|
16
|
+
min-height: 7.5rem;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.ar-syntax > .preview.left {
|
|
20
|
+
justify-content: left;
|
|
21
|
+
}
|
|
22
|
+
.ar-syntax > .preview.center {
|
|
23
|
+
justify-content: center;
|
|
24
|
+
}
|
|
25
|
+
.ar-syntax > .preview.right {
|
|
26
|
+
justify-content: right;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.ar-syntax > .ar-syntax-button-group {
|
|
30
|
+
position: relative;
|
|
31
|
+
display: flex;
|
|
32
|
+
justify-content: center;
|
|
33
|
+
align-items: center;
|
|
34
|
+
padding: 0.5rem 0;
|
|
35
|
+
border: dashed 1px transparent;
|
|
36
|
+
border-top-color: var(--gray-300);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.ar-syntax > .pre {
|
|
40
|
+
background-color: var(--gray-900);
|
|
41
|
+
margin: 0;
|
|
42
|
+
padding: 1rem;
|
|
43
|
+
overflow-x: auto;
|
|
44
|
+
}
|
|
45
|
+
.ar-syntax > .pre.hidden {
|
|
46
|
+
display: none;
|
|
47
|
+
}
|
|
48
|
+
.ar-syntax > .pre.visible {
|
|
49
|
+
display: block;
|
|
50
|
+
}
|
|
51
|
+
.ar-syntax > .pre > code {
|
|
52
|
+
display: flex;
|
|
53
|
+
flex-direction: column;
|
|
54
|
+
gap: 0.5rem 0;
|
|
55
|
+
font-family: var(--jetBrainsMonoRegular) !important;
|
|
56
|
+
}
|
|
57
|
+
|
|
2
58
|
@import url("./core/jsx.template.css");
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
.ar-header {
|
|
2
|
+
position: sticky;
|
|
3
|
+
top: 0;
|
|
4
|
+
background-color: rgba(var(--white-rgb), 0.5);
|
|
5
|
+
backdrop-filter: blur(5px);
|
|
6
|
+
height: 3.75rem;
|
|
7
|
+
border-bottom: solid 1px var(--gray-200);
|
|
8
|
+
z-index: 10;
|
|
9
|
+
}
|
|
10
|
+
.ar-header > .ar-header-with-wrap {
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-direction: row;
|
|
13
|
+
justify-content: space-between;
|
|
14
|
+
align-items: center;
|
|
15
|
+
width: 1280px;
|
|
16
|
+
height: 100%;
|
|
17
|
+
margin: 0 auto;
|
|
18
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
.ar-layout {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
}
|
|
5
|
+
.ar-layout > main {
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: row;
|
|
8
|
+
gap: 0 2rem;
|
|
9
|
+
width: 1280px;
|
|
10
|
+
margin: 0 auto;
|
|
11
|
+
}
|
|
12
|
+
.ar-layout > main > aside {
|
|
13
|
+
position: sticky;
|
|
14
|
+
top: 3.75rem;
|
|
15
|
+
width: 25%;
|
|
16
|
+
height: 100%;
|
|
17
|
+
margin: 2rem 0;
|
|
18
|
+
}
|
|
19
|
+
.ar-layout > main > section {
|
|
20
|
+
background-color: var(--white);
|
|
21
|
+
width: 100%;
|
|
22
|
+
margin: 2rem 0;
|
|
23
|
+
padding: 2rem;
|
|
24
|
+
border-radius: var(--border-radius-lg);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@import url("./header.css");
|
|
@@ -5,8 +5,13 @@
|
|
|
5
5
|
transition: max-height 250ms ease-in-out, opacity 250ms cubic-bezier(1, 0, 0, 1);
|
|
6
6
|
}
|
|
7
7
|
.ar-menu .ar-menu-list-item-groups.opened {
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
gap: 0.25rem 0;
|
|
8
11
|
opacity: 1;
|
|
9
12
|
max-height: 100rem;
|
|
13
|
+
padding-top: 0.2rem;
|
|
14
|
+
padding-bottom: 0.2rem;
|
|
10
15
|
}
|
|
11
16
|
.ar-menu .ar-menu-list-item-group-item-title {
|
|
12
17
|
display: flex;
|
|
@@ -11,8 +11,7 @@
|
|
|
11
11
|
border-bottom-left-radius: var(--border-radius-lg);
|
|
12
12
|
}
|
|
13
13
|
.ar-menu .ar-menu-list-item-group-item-title.selected {
|
|
14
|
-
background-color:
|
|
15
|
-
border-
|
|
16
|
-
|
|
17
|
-
color: var(--red);
|
|
14
|
+
background-color: var(--gray-200) !important;
|
|
15
|
+
border-radius: var(--border-radius-lg);
|
|
16
|
+
box-shadow: 0 0 0 1px var(--gray-200);
|
|
18
17
|
}
|
|
@@ -1,2 +1,58 @@
|
|
|
1
|
-
|
|
1
|
+
.ar-menu {
|
|
2
|
+
padding: 0 0.25rem;
|
|
3
|
+
font-family: var(--system-fonts);
|
|
4
|
+
}
|
|
5
|
+
.ar-menu ul {
|
|
6
|
+
margin: 0;
|
|
7
|
+
padding: 0;
|
|
8
|
+
list-style: none;
|
|
9
|
+
}
|
|
10
|
+
.ar-menu ul li:last-child {
|
|
11
|
+
padding-bottom: 0;
|
|
12
|
+
}
|
|
13
|
+
.ar-menu ul li ul {
|
|
14
|
+
margin-left: 0.5rem;
|
|
15
|
+
padding-left: 0.5rem;
|
|
16
|
+
}
|
|
17
|
+
.ar-menu > .ar-menu-list {
|
|
18
|
+
display: flex;
|
|
19
|
+
}
|
|
20
|
+
.ar-menu .ar-menu-list-item-group-item-title {
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
height: 2.5rem;
|
|
24
|
+
user-select: none;
|
|
25
|
+
}
|
|
26
|
+
.ar-menu .ar-menu-list-item-group-item-title a {
|
|
27
|
+
color: var(--black);
|
|
28
|
+
}
|
|
29
|
+
.ar-menu .ar-menu-list-item-group-item-title:not(.group) > * {
|
|
30
|
+
display: flex;
|
|
31
|
+
align-items: center;
|
|
32
|
+
width: 100%;
|
|
33
|
+
height: 100%;
|
|
34
|
+
padding: 0 1rem;
|
|
35
|
+
}
|
|
36
|
+
.ar-menu .ar-menu-list-item-group-item-title:not(.group):hover {
|
|
37
|
+
background-color: var(--gray-200);
|
|
38
|
+
border-radius: var(--border-radius-lg);
|
|
39
|
+
}
|
|
40
|
+
.ar-menu .ar-menu-list-item-group-item-title.selection-item {
|
|
41
|
+
background-color: red;
|
|
42
|
+
}
|
|
43
|
+
.ar-menu .ar-menu-list-item-group-item-title.group {
|
|
44
|
+
display: flex;
|
|
45
|
+
/* margin-left: 1rem; */
|
|
46
|
+
padding-left: 0;
|
|
47
|
+
border-radius: 0;
|
|
48
|
+
border-bottom: solid 1px var(--gray-100);
|
|
49
|
+
color: var(--gray-500);
|
|
50
|
+
font-size: 0.85rem;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/* Core Css */
|
|
54
|
+
@import url("./core/selected.css");
|
|
55
|
+
@import url("./core/open-or-close.css");
|
|
56
|
+
|
|
57
|
+
/* Variant Css */
|
|
2
58
|
@import url("./variant/vertical.css");
|
|
@@ -1,2 +1,58 @@
|
|
|
1
|
-
|
|
1
|
+
.ar-syntax {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
border: solid 1px var(--gray-200);
|
|
5
|
+
border-radius: var(--border-radius-lg);
|
|
6
|
+
overflow: hidden;
|
|
7
|
+
}
|
|
8
|
+
.ar-syntax > .preview {
|
|
9
|
+
position: relative;
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-wrap: wrap;
|
|
12
|
+
align-items: center;
|
|
13
|
+
gap: 1rem;
|
|
14
|
+
background-color: var(--white);
|
|
15
|
+
padding: 1rem;
|
|
16
|
+
min-height: 7.5rem;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.ar-syntax > .preview.left {
|
|
20
|
+
justify-content: left;
|
|
21
|
+
}
|
|
22
|
+
.ar-syntax > .preview.center {
|
|
23
|
+
justify-content: center;
|
|
24
|
+
}
|
|
25
|
+
.ar-syntax > .preview.right {
|
|
26
|
+
justify-content: right;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.ar-syntax > .ar-syntax-button-group {
|
|
30
|
+
position: relative;
|
|
31
|
+
display: flex;
|
|
32
|
+
justify-content: center;
|
|
33
|
+
align-items: center;
|
|
34
|
+
padding: 0.5rem 0;
|
|
35
|
+
border: dashed 1px transparent;
|
|
36
|
+
border-top-color: var(--gray-300);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.ar-syntax > .pre {
|
|
40
|
+
background-color: var(--gray-900);
|
|
41
|
+
margin: 0;
|
|
42
|
+
padding: 1rem;
|
|
43
|
+
overflow-x: auto;
|
|
44
|
+
}
|
|
45
|
+
.ar-syntax > .pre.hidden {
|
|
46
|
+
display: none;
|
|
47
|
+
}
|
|
48
|
+
.ar-syntax > .pre.visible {
|
|
49
|
+
display: block;
|
|
50
|
+
}
|
|
51
|
+
.ar-syntax > .pre > code {
|
|
52
|
+
display: flex;
|
|
53
|
+
flex-direction: column;
|
|
54
|
+
gap: 0.5rem 0;
|
|
55
|
+
font-family: var(--jetBrainsMonoRegular) !important;
|
|
56
|
+
}
|
|
57
|
+
|
|
2
58
|
@import url("./core/jsx.template.css");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import React, { useRef } from "react";
|
|
3
|
+
import "../../assest/css/alert/alert.css";
|
|
4
|
+
const Alert = ({ message, type, border = true, emphasize }) => {
|
|
5
|
+
// refs
|
|
6
|
+
let _className = useRef("ar-alert").current;
|
|
7
|
+
// methods
|
|
8
|
+
const className = () => {
|
|
9
|
+
if (type)
|
|
10
|
+
_className += ` ${type}`;
|
|
11
|
+
if (border)
|
|
12
|
+
_className += ` ${type}-border`;
|
|
13
|
+
return _className;
|
|
14
|
+
};
|
|
15
|
+
const formattedTags = (message) => {
|
|
16
|
+
// TODO: Şuan için sadece transparent olan alert tiplerinde çalışmakta.
|
|
17
|
+
// TODO: Bu konu hakkında düşünüp karar verilecek.
|
|
18
|
+
if (!emphasize || type !== "transparent")
|
|
19
|
+
return message;
|
|
20
|
+
let _lowerCaseMessage = message.toLowerCase();
|
|
21
|
+
return emphasize.reduce((currentMessage, emphasize) => {
|
|
22
|
+
// TODO: ...
|
|
23
|
+
// if (['""', " "].includes(emphasize)) return currentMessage;
|
|
24
|
+
let _lowerCaseEmphasize = emphasize.toLowerCase();
|
|
25
|
+
let startIndex = _lowerCaseMessage.indexOf(_lowerCaseEmphasize);
|
|
26
|
+
while (startIndex !== -1) {
|
|
27
|
+
const endIndex = startIndex + emphasize.length;
|
|
28
|
+
const firstValue = currentMessage.substring(0, startIndex);
|
|
29
|
+
const originalTag = currentMessage.substring(startIndex, endIndex);
|
|
30
|
+
const lastValue = currentMessage.substring(endIndex);
|
|
31
|
+
currentMessage = `${firstValue} <span class="ar-alert-tag">${originalTag}</span> ${lastValue}`;
|
|
32
|
+
// Update the lowerCaseMessage to reflect the change
|
|
33
|
+
_lowerCaseMessage = currentMessage.toLowerCase();
|
|
34
|
+
// Find the next occurrence of the tag
|
|
35
|
+
startIndex = _lowerCaseMessage.indexOf(_lowerCaseEmphasize, startIndex + `<span class="ar-alert-tag">${originalTag}</span>`.length);
|
|
36
|
+
}
|
|
37
|
+
return currentMessage;
|
|
38
|
+
}, message);
|
|
39
|
+
};
|
|
40
|
+
const createList = (message, isSubMessage) => {
|
|
41
|
+
let className = "";
|
|
42
|
+
if (isSubMessage)
|
|
43
|
+
className += "subMessage";
|
|
44
|
+
else
|
|
45
|
+
className += "message";
|
|
46
|
+
return (React.createElement("ul", null, Array.isArray(message)
|
|
47
|
+
? message.map((messageItem, index) => (React.createElement("li", { key: index, className: className }, Array.isArray(messageItem) ? (createList(messageItem, true)) : (React.createElement("div", { dangerouslySetInnerHTML: {
|
|
48
|
+
__html: formattedTags(cleanMessage(messageItem)) ?? "",
|
|
49
|
+
} })))))
|
|
50
|
+
: message));
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
*
|
|
54
|
+
* @param message Yalnızca alfanümerik karakterleri (harfler ve sayılar) ve boşlukları tutar.
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
57
|
+
const cleanMessage = (message) => message.replace(/<\/?[^>]+>/g, "");
|
|
58
|
+
return (React.createElement("div", { className: className() }, Array.isArray(message) ? (createList(message)) : (React.createElement("p", { dangerouslySetInnerHTML: { __html: formattedTags(cleanMessage(message)) ?? "" } }))));
|
|
59
|
+
};
|
|
60
|
+
export default Alert;
|
|
@@ -62,7 +62,7 @@ export type Props = {
|
|
|
62
62
|
* <Button color="success">Hello, World!</Button>
|
|
63
63
|
* ```
|
|
64
64
|
*/
|
|
65
|
-
|
|
65
|
+
_type?: Colors;
|
|
66
66
|
/**
|
|
67
67
|
* Bileşenine ikon eklemeyi sağlar.
|
|
68
68
|
* İkonun kendisini, yönünü ve pozisyonunu tanımlamak için kullanılır.
|
|
@@ -152,6 +152,7 @@ export type Props = {
|
|
|
152
152
|
* ```
|
|
153
153
|
*/
|
|
154
154
|
width?: "max-width" | "auto";
|
|
155
|
+
size?: "large" | "normal" | "small";
|
|
155
156
|
position?: {
|
|
156
157
|
type: "fixed" | "absolute";
|
|
157
158
|
inset: ("top" | "right" | "bottom" | "left")[];
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import React, { useRef } from "react";
|
|
3
3
|
import "../../assest/css/button/button.css";
|
|
4
|
-
const Button = ({ children, variant = "filled", shape,
|
|
4
|
+
const Button = ({ children, variant = "filled", shape, _type = "primary", border, width = "auto", size = "normal", position, icon, upperCase, ...attributes }) => {
|
|
5
5
|
// refs
|
|
6
6
|
const _button = useRef(null);
|
|
7
7
|
// methods
|
|
8
8
|
const handleClassName = () => {
|
|
9
|
-
let className = `ar-button ${variant} ${
|
|
9
|
+
let className = `ar-button ${variant} ${_type} ${width}`;
|
|
10
10
|
if (shape)
|
|
11
11
|
className += ` ar-button-shape ${shape}`;
|
|
12
12
|
if (border) {
|
|
@@ -15,6 +15,8 @@ const Button = ({ children, variant = "filled", shape, color = "primary", border
|
|
|
15
15
|
if (border.radius)
|
|
16
16
|
className += ` border-radius-${border?.radius}`;
|
|
17
17
|
}
|
|
18
|
+
if (size)
|
|
19
|
+
className += ` ${size}`;
|
|
18
20
|
if (position) {
|
|
19
21
|
className += ` ${position.type}`;
|
|
20
22
|
className += ` ${position.inset.map((_inset) => _inset).join(" ")}`;
|
|
@@ -39,7 +41,7 @@ const Button = ({ children, variant = "filled", shape, color = "primary", border
|
|
|
39
41
|
};
|
|
40
42
|
return (React.createElement("button", { ref: _button, ...attributes, className: handleClassName(), onClick: (event) => {
|
|
41
43
|
// Disabled gelmesi durumunda işlem yapmasına izin verme...
|
|
42
|
-
if (attributes.disabled)
|
|
44
|
+
if (attributes.disabled || variant === "text")
|
|
43
45
|
return;
|
|
44
46
|
(() => {
|
|
45
47
|
const _current = _button.current;
|