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.
Files changed (76) hide show
  1. package/dist/assest/css/alert/alert.css +63 -0
  2. package/dist/assest/css/alert/core/border.css +24 -0
  3. package/dist/assest/css/alert/core/color.css +28 -0
  4. package/dist/assest/css/ar-core.css +6 -0
  5. package/dist/assest/css/button/button.css +24 -1
  6. package/dist/assest/css/button/core/icon.css +2 -0
  7. package/dist/assest/css/button/core/shape.css +4 -2
  8. package/dist/assest/css/button/core/size.css +12 -0
  9. package/dist/assest/css/button/variant/text/animation.css +95 -0
  10. package/dist/assest/css/button/variant/text/core.css +97 -0
  11. package/dist/assest/css/css/alert/alert.css +63 -0
  12. package/dist/assest/css/css/alert/core/border.css +24 -0
  13. package/dist/assest/css/css/alert/core/color.css +28 -0
  14. package/dist/assest/css/css/ar-core.css +6 -0
  15. package/dist/assest/css/css/button/button.css +24 -1
  16. package/dist/assest/css/css/button/core/icon.css +2 -0
  17. package/dist/assest/css/css/button/core/shape.css +4 -2
  18. package/dist/assest/css/css/button/core/size.css +12 -0
  19. package/dist/assest/css/css/button/variant/text/animation.css +95 -0
  20. package/dist/assest/css/css/button/variant/text/core.css +97 -0
  21. package/dist/assest/css/css/divider/divider.css +5 -1
  22. package/dist/assest/css/css/layout/header.css +18 -0
  23. package/dist/assest/css/css/layout/layout.css +27 -0
  24. package/dist/assest/css/css/menu/core/open-or-close.css +5 -0
  25. package/dist/assest/css/css/menu/core/selected.css +3 -4
  26. package/dist/assest/css/css/menu/menu.css +57 -1
  27. package/dist/assest/css/css/syntax-highlighter/syntax-highlighter.css +57 -1
  28. package/dist/assest/css/css/typography/paragraph/core.css +1 -0
  29. package/dist/assest/css/css/typography/title/core.css +1 -0
  30. package/dist/assest/css/divider/divider.css +5 -1
  31. package/dist/assest/css/layout/header.css +18 -0
  32. package/dist/assest/css/layout/layout.css +27 -0
  33. package/dist/assest/css/menu/core/open-or-close.css +5 -0
  34. package/dist/assest/css/menu/core/selected.css +3 -4
  35. package/dist/assest/css/menu/menu.css +57 -1
  36. package/dist/assest/css/syntax-highlighter/syntax-highlighter.css +57 -1
  37. package/dist/assest/css/typography/paragraph/core.css +1 -0
  38. package/dist/assest/css/typography/title/core.css +1 -0
  39. package/dist/components/alert/Types.d.ts +9 -0
  40. package/dist/components/alert/Types.js +1 -0
  41. package/dist/components/alert/index.d.ts +5 -0
  42. package/dist/components/alert/index.js +60 -0
  43. package/dist/components/button/Types.d.ts +2 -1
  44. package/dist/components/button/index.js +5 -3
  45. package/dist/components/grid-system/column/Column.js +2 -0
  46. package/dist/components/layout/Aside.d.ts +4 -0
  47. package/dist/components/layout/Aside.js +12 -0
  48. package/dist/components/layout/Footer.d.ts +3 -0
  49. package/dist/components/layout/Footer.js +8 -0
  50. package/dist/components/layout/Header.d.ts +4 -0
  51. package/dist/components/layout/Header.js +11 -0
  52. package/dist/components/layout/Section.d.ts +4 -0
  53. package/dist/components/layout/Section.js +3 -0
  54. package/dist/components/layout/Types.d.ts +14 -0
  55. package/dist/components/layout/Types.js +1 -0
  56. package/dist/components/layout/index.d.ts +10 -0
  57. package/dist/components/layout/index.js +49 -0
  58. package/dist/components/menu/index.js +4 -1
  59. package/dist/components/syntax-highlighter/index.js +4 -1
  60. package/dist/components/typography/paragraph/Paragraph.js +1 -0
  61. package/dist/components/typography/title/Title.js +1 -0
  62. package/dist/index.d.ts +4 -6
  63. package/dist/index.js +4 -6
  64. package/dist/libs/core/application/contexts/Layout.d.ts +16 -0
  65. package/dist/libs/core/application/contexts/Layout.js +8 -0
  66. package/dist/libs/core/application/hooks/useLayout.d.ts +13 -0
  67. package/dist/libs/core/application/hooks/useLayout.js +4 -0
  68. package/package.json +1 -1
  69. package/dist/assest/css/button/core/core.css +0 -17
  70. package/dist/assest/css/css/button/core/core.css +0 -17
  71. package/dist/assest/css/css/divider/core/core.css +0 -4
  72. package/dist/assest/css/css/menu/core/core.css +0 -47
  73. package/dist/assest/css/css/syntax-highlighter/core/core.css +0 -55
  74. package/dist/assest/css/divider/core/core.css +0 -4
  75. package/dist/assest/css/menu/core/core.css +0 -47
  76. 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
+ }
@@ -1 +1,5 @@
1
- @import url("./core/core.css");
1
+ .ar-divider {
2
+ width: 100%;
3
+ border: none;
4
+ margin: 1rem 0;
5
+ }
@@ -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: rgba(var(--red-rgb), 0.1) !important;
15
- border-top-left-radius: var(--border-radius-lg);
16
- border-bottom-left-radius: var(--border-radius-lg);
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
- @import url("./core/core.css");
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
- @import url("./core/core.css");
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");
@@ -1,4 +1,5 @@
1
1
  .ar-typography-paragraph {
2
2
  margin-bottom: 1rem;
3
3
  color: var(--gray-900);
4
+ font-family: var(--system-fonts);
4
5
  }
@@ -1,4 +1,5 @@
1
1
  .ar-typography-title {
2
2
  margin-bottom: 1rem;
3
3
  color: var(--gray-900);
4
+ font-family: var(--system-fonts);
4
5
  }
@@ -1 +1,5 @@
1
- @import url("./core/core.css");
1
+ .ar-divider {
2
+ width: 100%;
3
+ border: none;
4
+ margin: 1rem 0;
5
+ }
@@ -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: rgba(var(--red-rgb), 0.1) !important;
15
- border-top-left-radius: var(--border-radius-lg);
16
- border-bottom-left-radius: var(--border-radius-lg);
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
- @import url("./core/core.css");
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
- @import url("./core/core.css");
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");
@@ -1,4 +1,5 @@
1
1
  .ar-typography-paragraph {
2
2
  margin-bottom: 1rem;
3
3
  color: var(--gray-900);
4
+ font-family: var(--system-fonts);
4
5
  }
@@ -1,4 +1,5 @@
1
1
  .ar-typography-title {
2
2
  margin-bottom: 1rem;
3
3
  color: var(--gray-900);
4
+ font-family: var(--system-fonts);
4
5
  }
@@ -0,0 +1,9 @@
1
+ import { Colors } from "../../libs/types/Colors";
2
+ type message = string | message[];
3
+ export type Props = {
4
+ message: message;
5
+ type: Colors | "transparent";
6
+ border?: boolean;
7
+ emphasize?: string[];
8
+ };
9
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import { Props } from "./Types";
3
+ import "../../assest/css/alert/alert.css";
4
+ declare const Alert: React.FC<Props>;
5
+ export default Alert;
@@ -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
- color?: Colors;
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, color = "primary", border, width = "auto", position, icon, upperCase, ...attributes }) => {
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} ${color} ${width}`;
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;
@@ -4,6 +4,8 @@ const Column = ({ children, column, align }) => {
4
4
  let className = Object.entries(column ?? {})
5
5
  .map(([key, value]) => `col-${key}-${value}`)
6
6
  .join(" ");
7
+ if (!column)
8
+ className += "col";
7
9
  if (align)
8
10
  className += ` ${align}`;
9
11
  return className;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { AsideProps } from "./Types";
3
+ declare const Aside: React.FC<AsideProps>;
4
+ export default Aside;