arekui 1.0.0

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 (56) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +198 -0
  3. package/arekui.css +3279 -0
  4. package/arekui.d.ts +328 -0
  5. package/arekui.js +450 -0
  6. package/dist/arekui.min.css +1 -0
  7. package/dist/arekui.min.js +2 -0
  8. package/package.json +57 -0
  9. package/scripts/build-custom.js +318 -0
  10. package/src/arekui.css +56 -0
  11. package/src/base/neo-overrides.css +317 -0
  12. package/src/base/reset.css +67 -0
  13. package/src/base/tokens.css +304 -0
  14. package/src/components/accordion.css +34 -0
  15. package/src/components/alert.css +26 -0
  16. package/src/components/badge.css +33 -0
  17. package/src/components/breadcrumb.css +33 -0
  18. package/src/components/button.css +103 -0
  19. package/src/components/card.css +24 -0
  20. package/src/components/carousel.css +14 -0
  21. package/src/components/chat.css +78 -0
  22. package/src/components/drawer.css +53 -0
  23. package/src/components/file-upload.css +51 -0
  24. package/src/components/footer.css +26 -0
  25. package/src/components/forms.css +69 -0
  26. package/src/components/hero.css +22 -0
  27. package/src/components/join.css +14 -0
  28. package/src/components/link.css +24 -0
  29. package/src/components/menu.css +56 -0
  30. package/src/components/misc.css +57 -0
  31. package/src/components/modal.css +32 -0
  32. package/src/components/navbar.css +37 -0
  33. package/src/components/pagination.css +46 -0
  34. package/src/components/popover.css +70 -0
  35. package/src/components/progress.css +19 -0
  36. package/src/components/prose.css +80 -0
  37. package/src/components/rating.css +37 -0
  38. package/src/components/scroll-top.css +36 -0
  39. package/src/components/skeleton.css +54 -0
  40. package/src/components/swap.css +45 -0
  41. package/src/components/table.css +22 -0
  42. package/src/components/tabs.css +24 -0
  43. package/src/components/tag.css +101 -0
  44. package/src/components/textured.css +34 -0
  45. package/src/components/timeline.css +34 -0
  46. package/src/components/toast.css +134 -0
  47. package/src/components/tooltip.css +24 -0
  48. package/src/utilities/borders.css +152 -0
  49. package/src/utilities/colors.css +73 -0
  50. package/src/utilities/hover.css +33 -0
  51. package/src/utilities/layout.css +100 -0
  52. package/src/utilities/neo-utilities.css +95 -0
  53. package/src/utilities/responsive.css +128 -0
  54. package/src/utilities/sizing.css +91 -0
  55. package/src/utilities/spacing.css +130 -0
  56. package/src/utilities/typography.css +94 -0
@@ -0,0 +1,152 @@
1
+ /* UTILITIES — border, radius, shadow, position, misc */
2
+ .ar-border {
3
+ border: var(--ar-border-width) solid;
4
+ }
5
+ .ar-border-2 {
6
+ border: 2px solid;
7
+ }
8
+ .ar-border-t {
9
+ border-top: var(--ar-border-width) solid;
10
+ }
11
+ .ar-border-t-0 {
12
+ border-top: 0;
13
+ }
14
+ .ar-border-b {
15
+ border-bottom: var(--ar-border-width) solid;
16
+ }
17
+ .ar-border-base-content {
18
+ border-color: var(--ar-base-content);
19
+ }
20
+ .ar-border-neutral {
21
+ border-color: var(--ar-neutral);
22
+ }
23
+ .ar-border-gray-200 {
24
+ border-color: var(--ar-gray-200);
25
+ }
26
+ .ar-border-gray-300 {
27
+ border-color: var(--ar-gray-300);
28
+ }
29
+ .ar-border-base-300 {
30
+ border-color: var(--ar-base-300);
31
+ }
32
+ .ar-rounded {
33
+ border-radius: var(--ar-radius-field);
34
+ }
35
+ .ar-rounded-lg {
36
+ border-radius: var(--ar-radius-box);
37
+ }
38
+ .ar-rounded-xl {
39
+ border-radius: 0.75rem;
40
+ }
41
+ .ar-rounded-box {
42
+ border-radius: var(--ar-radius-box);
43
+ }
44
+ .ar-rounded-full {
45
+ border-radius: var(--ar-radius-pill);
46
+ }
47
+ .ar-shadow-sm {
48
+ box-shadow: var(--ar-shadow-sm);
49
+ }
50
+ .ar-shadow-md {
51
+ box-shadow: var(--ar-shadow-md);
52
+ }
53
+ .ar-shadow-lg {
54
+ box-shadow: var(--ar-shadow-lg);
55
+ }
56
+ .ar-shadow-xl {
57
+ box-shadow: var(--ar-shadow-xl);
58
+ }
59
+ .ar-shadow-2xl {
60
+ box-shadow: var(--ar-shadow-2xl);
61
+ }
62
+ .ar-relative {
63
+ position: relative;
64
+ }
65
+ .ar-absolute {
66
+ position: absolute;
67
+ }
68
+ .ar-fixed {
69
+ position: fixed;
70
+ }
71
+ .ar-sticky {
72
+ position: sticky;
73
+ top: 0;
74
+ z-index: 50;
75
+ }
76
+ .ar-inset-0 {
77
+ inset: 0;
78
+ }
79
+ .ar-top-0 {
80
+ top: 0;
81
+ }
82
+ .ar-bottom-0 {
83
+ bottom: 0;
84
+ }
85
+ .ar-left-0 {
86
+ left: 0;
87
+ }
88
+ .ar-right-0 {
89
+ right: 0;
90
+ }
91
+ .ar-top-1\/2 {
92
+ top: 50%;
93
+ }
94
+ .ar-left-5 {
95
+ left: 1.25rem;
96
+ }
97
+ .ar-right-5 {
98
+ right: 1.25rem;
99
+ }
100
+ .ar-z-10 {
101
+ z-index: 10;
102
+ }
103
+ .ar-z-20 {
104
+ z-index: 20;
105
+ }
106
+ .ar-z-50 {
107
+ z-index: 50;
108
+ }
109
+ .ar-opacity-0 {
110
+ opacity: 0;
111
+ }
112
+ .ar-opacity-30 {
113
+ opacity: 0.3;
114
+ }
115
+ .ar-opacity-60 {
116
+ opacity: 0.6;
117
+ }
118
+ .ar-transition-all {
119
+ transition: all 0.3s ease;
120
+ }
121
+ .ar-transition-transform {
122
+ transition: transform 0.3s ease;
123
+ }
124
+ .ar-duration-300 {
125
+ transition-duration: 0.3s;
126
+ }
127
+ .ar-duration-500 {
128
+ transition-duration: 0.5s;
129
+ }
130
+ .ar-ease-out {
131
+ transition-timing-function: ease-out;
132
+ }
133
+ .ar-ease-in-out {
134
+ transition-timing-function: ease-in-out;
135
+ }
136
+ .ar-cursor-pointer {
137
+ cursor: pointer;
138
+ }
139
+ .ar-whitespace-nowrap {
140
+ white-space: nowrap;
141
+ }
142
+ .ar-sr-only {
143
+ position: absolute;
144
+ width: 1px;
145
+ height: 1px;
146
+ padding: 0;
147
+ margin: -1px;
148
+ overflow: hidden;
149
+ clip: rect(0, 0, 0, 0);
150
+ white-space: nowrap;
151
+ border: 0;
152
+ }
@@ -0,0 +1,73 @@
1
+ /* UTILITIES — colors */
2
+ .ar-bg-base-100 {
3
+ background: var(--ar-base-100);
4
+ }
5
+ .ar-bg-base-200 {
6
+ background: var(--ar-base-200);
7
+ }
8
+ .ar-bg-base-300 {
9
+ background: var(--ar-base-300);
10
+ }
11
+ .ar-bg-base-content {
12
+ background: var(--ar-base-content);
13
+ }
14
+ .ar-bg-base-content\/80 {
15
+ background: var(--ar-base-content-80);
16
+ }
17
+ .ar-bg-neutral {
18
+ background: var(--ar-neutral);
19
+ }
20
+ .ar-bg-primary {
21
+ background: var(--ar-primary);
22
+ }
23
+ .ar-bg-gray-100 {
24
+ background: var(--ar-gray-100);
25
+ }
26
+ .ar-bg-gray-200 {
27
+ background: var(--ar-gray-200);
28
+ }
29
+ .ar-bg-gray-700 {
30
+ background: var(--ar-gray-700);
31
+ }
32
+ .ar-text-base-content {
33
+ color: var(--ar-base-content);
34
+ }
35
+ .ar-text-primary {
36
+ color: var(--ar-primary);
37
+ }
38
+ .ar-text-primary-content {
39
+ color: var(--ar-primary-content);
40
+ }
41
+ .ar-text-neutral {
42
+ color: var(--ar-neutral);
43
+ }
44
+ .ar-text-neutral-content {
45
+ color: var(--ar-neutral-content);
46
+ }
47
+ .ar-text-white {
48
+ color: #ffffff;
49
+ }
50
+ .ar-text-black {
51
+ color: #000000;
52
+ }
53
+ .ar-text-gray-100 {
54
+ color: var(--ar-gray-100);
55
+ }
56
+ .ar-text-gray-200 {
57
+ color: var(--ar-gray-200);
58
+ }
59
+ .ar-text-gray-300 {
60
+ color: var(--ar-gray-300);
61
+ }
62
+ .ar-text-gray-400 {
63
+ color: var(--ar-gray-400);
64
+ }
65
+ .ar-text-gray-500 {
66
+ color: var(--ar-gray-500);
67
+ }
68
+ .ar-text-gray-600 {
69
+ color: var(--ar-gray-600);
70
+ }
71
+ .ar-text-gray-700 {
72
+ color: var(--ar-gray-700);
73
+ }
@@ -0,0 +1,33 @@
1
+ /* UTILITIES — hover states */
2
+ .ar-hover-bounce:hover {
3
+ animation: ar-bounce 1s infinite;
4
+ }
5
+ .ar-hover-scale-110:hover {
6
+ transform: scale(1.1);
7
+ }
8
+ .ar-hover-shadow-xl:hover {
9
+ box-shadow: var(--ar-shadow-xl);
10
+ }
11
+ .ar-hover-text-gray-600:hover {
12
+ color: var(--ar-gray-600);
13
+ }
14
+ .ar-hover-text-neutral:hover {
15
+ color: var(--ar-neutral);
16
+ }
17
+ .ar-hover-bg-gray-100:hover {
18
+ background: var(--ar-gray-100);
19
+ }
20
+ .ar-hover-bg-gray-700:hover {
21
+ background: var(--ar-gray-700);
22
+ }
23
+ .ar-hover-border-gray-400:hover {
24
+ border-color: var(--ar-gray-400);
25
+ }
26
+ .ar-hover-ring:hover {
27
+ box-shadow: 0 0 0 1px var(--ar-gray-400);
28
+ border-color: var(--ar-gray-400);
29
+ }
30
+ .ar-hover-ring-gray-200:hover {
31
+ box-shadow: 0 0 0 1px var(--ar-gray-200);
32
+ border-color: var(--ar-gray-400);
33
+ }
@@ -0,0 +1,100 @@
1
+ /* UTILITIES — layout & flex & grid */
2
+ .ar-flex {
3
+ display: flex;
4
+ }
5
+ .ar-inline-flex {
6
+ display: inline-flex;
7
+ }
8
+ .ar-grid {
9
+ display: grid;
10
+ }
11
+ .ar-block {
12
+ display: block;
13
+ }
14
+ .ar-inline-block {
15
+ display: inline-block;
16
+ }
17
+ .ar-hidden {
18
+ display: none;
19
+ }
20
+ .ar-flex-col {
21
+ flex-direction: column;
22
+ }
23
+ .ar-flex-row {
24
+ flex-direction: row;
25
+ }
26
+ .ar-flex-wrap {
27
+ flex-wrap: wrap;
28
+ }
29
+ .ar-flex-1 {
30
+ flex: 1 1 0%;
31
+ }
32
+ .ar-shrink-0 {
33
+ flex-shrink: 0;
34
+ }
35
+ .ar-items-start {
36
+ align-items: flex-start;
37
+ }
38
+ .ar-items-center {
39
+ align-items: center;
40
+ }
41
+ .ar-items-end {
42
+ align-items: flex-end;
43
+ }
44
+ .ar-justify-start {
45
+ justify-content: flex-start;
46
+ }
47
+ .ar-justify-center {
48
+ justify-content: center;
49
+ }
50
+ .ar-justify-between {
51
+ justify-content: space-between;
52
+ }
53
+ .ar-justify-end {
54
+ justify-content: flex-end;
55
+ }
56
+ .ar-grid-cols-1 {
57
+ grid-template-columns: repeat(1, minmax(0, 1fr));
58
+ }
59
+ .ar-grid-cols-2 {
60
+ grid-template-columns: repeat(2, minmax(0, 1fr));
61
+ }
62
+ .ar-grid-cols-3 {
63
+ grid-template-columns: repeat(3, minmax(0, 1fr));
64
+ }
65
+ .ar-grid-cols-4 {
66
+ grid-template-columns: repeat(4, minmax(0, 1fr));
67
+ }
68
+ .ar-grid-flow-col {
69
+ grid-auto-flow: column;
70
+ }
71
+ .ar-gap-1 {
72
+ gap: var(--ar-s-1);
73
+ }
74
+ .ar-gap-2 {
75
+ gap: var(--ar-s-2);
76
+ }
77
+ .ar-gap-3 {
78
+ gap: var(--ar-s-3);
79
+ }
80
+ .ar-gap-4 {
81
+ gap: var(--ar-s-4);
82
+ }
83
+ .ar-gap-6 {
84
+ gap: var(--ar-s-6);
85
+ }
86
+ .ar-gap-x-2 {
87
+ column-gap: var(--ar-s-2);
88
+ }
89
+ .ar-gap-x-4 {
90
+ column-gap: var(--ar-s-4);
91
+ }
92
+ .ar-gap-x-8 {
93
+ column-gap: var(--ar-s-8);
94
+ }
95
+ .ar-gap-y-8 {
96
+ row-gap: var(--ar-s-8);
97
+ }
98
+ .ar-gap-y-16 {
99
+ row-gap: var(--ar-s-16);
100
+ }
@@ -0,0 +1,95 @@
1
+ /* NEOBRUTALISM UTILITIES */
2
+ /* Hard shadows */
3
+ .ar-neo-shadow-sm {
4
+ box-shadow: var(--ar-neo-shadow-sm);
5
+ }
6
+ .ar-neo-shadow-md {
7
+ box-shadow: var(--ar-neo-shadow-md);
8
+ }
9
+ .ar-neo-shadow-lg {
10
+ box-shadow: var(--ar-neo-shadow-lg);
11
+ }
12
+ .ar-neo-shadow-xl {
13
+ box-shadow: var(--ar-neo-shadow-xl);
14
+ }
15
+ .ar-neo-shadow-2xl {
16
+ box-shadow: var(--ar-neo-shadow-2xl);
17
+ }
18
+
19
+ /* Thick borders */
20
+ .ar-neo-border {
21
+ border: var(--ar-neo-border-width) solid var(--ar-neo-border-color);
22
+ }
23
+ .ar-neo-border-2 {
24
+ border: 2px solid var(--ar-neo-border-color);
25
+ }
26
+
27
+ /* Border radius */
28
+ .ar-neo-rounded {
29
+ border-radius: 0.5rem;
30
+ }
31
+ .ar-neo-rounded-lg {
32
+ border-radius: 0.75rem;
33
+ }
34
+ .ar-neo-rounded-xl {
35
+ border-radius: 1rem;
36
+ }
37
+
38
+ /* Interactive press effect */
39
+ .ar-neo-press {
40
+ transition:
41
+ box-shadow 0.15s ease-out,
42
+ transform 0.15s ease-out;
43
+ }
44
+ .ar-neo-press:hover {
45
+ box-shadow: var(--ar-neo-shadow-sm);
46
+ transform: translate(2px, 2px);
47
+ }
48
+ .ar-neo-press:active {
49
+ box-shadow: none;
50
+ transform: translate(4px, 4px);
51
+ }
52
+
53
+ /* Neo color accents */
54
+ .ar-neo-primary {
55
+ background: var(--ar-neo-primary);
56
+ color: var(--ar-neo-primary-content);
57
+ }
58
+ .ar-neo-secondary {
59
+ background: var(--ar-neo-secondary);
60
+ color: var(--ar-neo-secondary-content);
61
+ }
62
+ .ar-neo-accent {
63
+ background: var(--ar-neo-accent);
64
+ color: var(--ar-neo-accent-content);
65
+ }
66
+ .ar-neo-danger {
67
+ background: var(--ar-neo-error);
68
+ color: var(--ar-neo-error-content);
69
+ }
70
+
71
+ /* Neo text colors */
72
+ .ar-neo-text-primary {
73
+ color: var(--ar-neo-primary);
74
+ }
75
+ .ar-neo-text-secondary {
76
+ color: var(--ar-neo-secondary);
77
+ }
78
+ .ar-neo-text-accent {
79
+ color: var(--ar-neo-accent);
80
+ }
81
+ .ar-neo-text-danger {
82
+ color: var(--ar-neo-error);
83
+ }
84
+ .ar-neo-text-dark {
85
+ color: var(--ar-neo-base-content);
86
+ }
87
+
88
+ /* Playful hover animations */
89
+ .ar-neo-hover-tilt:hover {
90
+ transform: rotate(-1deg);
91
+ }
92
+ .ar-neo-hover-lift:hover {
93
+ transform: translateY(-2px);
94
+ box-shadow: var(--ar-neo-shadow-lg);
95
+ }
@@ -0,0 +1,128 @@
1
+ /* UTILITIES — responsive */
2
+ @media (min-width: 768px) {
3
+ .ar-md\:flex {
4
+ display: flex;
5
+ }
6
+ .ar-md\:flex-col {
7
+ flex-direction: column;
8
+ }
9
+ .ar-md\:flex-row {
10
+ flex-direction: row;
11
+ }
12
+ .ar-md\:hidden {
13
+ display: none;
14
+ }
15
+ .ar-md\:grid {
16
+ display: grid;
17
+ }
18
+ .ar-md\:grid-cols-2 {
19
+ grid-template-columns: repeat(2, minmax(0, 1fr));
20
+ }
21
+ .ar-md\:items-center {
22
+ align-items: center;
23
+ }
24
+ .ar-md\:w-1\/2 {
25
+ width: 50%;
26
+ }
27
+ .ar-md\:w-1\/3 {
28
+ width: 33.333333%;
29
+ }
30
+ .ar-md\:w-2\/3 {
31
+ width: 66.666667%;
32
+ }
33
+ .ar-md\:max-w-52 {
34
+ max-width: 13rem;
35
+ }
36
+ .ar-md\:p-8 {
37
+ padding: var(--ar-s-8);
38
+ }
39
+ .ar-md\:mx-0 {
40
+ margin-inline: 0;
41
+ }
42
+ .ar-md\:text-left {
43
+ text-align: left;
44
+ }
45
+ .ar-md\:text-center {
46
+ text-align: center;
47
+ }
48
+ }
49
+ @media (min-width: 1024px) {
50
+ .ar-lg\:flex {
51
+ display: flex;
52
+ }
53
+ .ar-lg\:flex-col {
54
+ flex-direction: column;
55
+ }
56
+ .ar-lg\:flex-row {
57
+ flex-direction: row;
58
+ }
59
+ .ar-lg\:hidden {
60
+ display: none;
61
+ }
62
+ .ar-lg\:grid {
63
+ display: grid;
64
+ }
65
+ .ar-lg\:grid-cols-2 {
66
+ grid-template-columns: repeat(2, minmax(0, 1fr));
67
+ }
68
+ .ar-lg\:grid-cols-3 {
69
+ grid-template-columns: repeat(3, minmax(0, 1fr));
70
+ }
71
+ .ar-lg\:grid-cols-4 {
72
+ grid-template-columns: repeat(4, minmax(0, 1fr));
73
+ }
74
+ .ar-lg\:items-center {
75
+ align-items: center;
76
+ }
77
+ .ar-lg\:justify-between {
78
+ justify-content: space-between;
79
+ }
80
+ .ar-lg\:gap-8 {
81
+ gap: var(--ar-s-8);
82
+ }
83
+ .ar-lg\:w-1\/2 {
84
+ width: 50%;
85
+ }
86
+ .ar-lg\:w-2\/5 {
87
+ width: 40%;
88
+ }
89
+ .ar-lg\:max-w-none {
90
+ max-width: none;
91
+ }
92
+ .ar-lg\:max-w-lg {
93
+ max-width: 32rem;
94
+ }
95
+ .ar-lg\:p-8 {
96
+ padding: var(--ar-s-8);
97
+ }
98
+ .ar-lg\:p-16 {
99
+ padding: var(--ar-s-16);
100
+ }
101
+ .ar-lg\:mx-0 {
102
+ margin-inline: 0;
103
+ }
104
+ .ar-lg\:text-2xl {
105
+ font-size: 1.5rem;
106
+ }
107
+ .ar-lg\:text-4xl {
108
+ font-size: 2.25rem;
109
+ }
110
+ .ar-lg\:text-6xl {
111
+ font-size: 3.75rem;
112
+ }
113
+ .ar-lg\:text-8xl {
114
+ font-size: 6rem;
115
+ }
116
+ .ar-lg\:text-9xl {
117
+ font-size: 8rem;
118
+ }
119
+ .ar-lg\:leading-tight {
120
+ line-height: 1.25;
121
+ }
122
+ .ar-lg\:text-left {
123
+ text-align: left;
124
+ }
125
+ .ar-lg\:text-center {
126
+ text-align: center;
127
+ }
128
+ }
@@ -0,0 +1,91 @@
1
+ /* UTILITIES — sizing */
2
+ .ar-w-8 {
3
+ width: var(--ar-s-8);
4
+ }
5
+ .ar-w-40 {
6
+ width: var(--ar-s-40, 10rem);
7
+ }
8
+ .ar-w-48 {
9
+ width: var(--ar-s-48, 12rem);
10
+ }
11
+ .ar-w-60 {
12
+ width: 15rem;
13
+ }
14
+ .ar-w-80 {
15
+ width: 20rem;
16
+ }
17
+ .ar-w-full {
18
+ width: 100%;
19
+ }
20
+ .ar-w-1\/3 {
21
+ width: 33.333333%;
22
+ }
23
+ .ar-w-2\/3 {
24
+ width: 66.666667%;
25
+ }
26
+ .ar-w-1\/2 {
27
+ width: 50%;
28
+ }
29
+ .ar-w-11\/12 {
30
+ width: 91.666667%;
31
+ }
32
+ .ar-h-8 {
33
+ height: var(--ar-s-8);
34
+ }
35
+ .ar-h-48 {
36
+ height: 12rem;
37
+ }
38
+ .ar-h-full {
39
+ height: 100%;
40
+ }
41
+ .ar-min-h-full {
42
+ min-height: 100%;
43
+ }
44
+ .ar-min-h-screen {
45
+ min-height: 100vh;
46
+ }
47
+ .ar-max-w-none {
48
+ max-width: none;
49
+ }
50
+ .ar-max-w-sm {
51
+ max-width: 24rem;
52
+ }
53
+ .ar-max-w-md {
54
+ max-width: 28rem;
55
+ }
56
+ .ar-max-w-lg {
57
+ max-width: 32rem;
58
+ }
59
+ .ar-max-w-xl {
60
+ max-width: 36rem;
61
+ }
62
+ .ar-max-w-2xl {
63
+ max-width: 42rem;
64
+ }
65
+ .ar-max-w-3xl {
66
+ max-width: 48rem;
67
+ }
68
+ .ar-max-w-4xl {
69
+ max-width: 56rem;
70
+ }
71
+ .ar-max-w-5xl {
72
+ max-width: 64rem;
73
+ }
74
+ .ar-max-w-6xl {
75
+ max-width: 72rem;
76
+ }
77
+ .ar-max-w-7xl {
78
+ max-width: 80rem;
79
+ }
80
+ .ar-aspect-video {
81
+ aspect-ratio: 16 / 9;
82
+ }
83
+ .ar-object-cover {
84
+ object-fit: cover;
85
+ }
86
+ .ar-overflow-hidden {
87
+ overflow: hidden;
88
+ }
89
+ .ar-overflow-x-auto {
90
+ overflow-x: auto;
91
+ }