better_ui 0.5.0 → 0.5.1
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.
- checksums.yaml +4 -4
- data/README.md +137 -245
- data/app/assets/stylesheets/better_ui/_base.scss +9 -0
- data/app/assets/stylesheets/better_ui/_components.scss +2 -0
- data/app/assets/stylesheets/better_ui/_utilities.scss +14 -0
- data/app/assets/stylesheets/better_ui/application.css +3 -1
- data/app/assets/stylesheets/better_ui/components/_avatar.scss +200 -0
- data/app/assets/stylesheets/better_ui/components/_badge.scss +154 -0
- data/app/assets/stylesheets/better_ui/components/_breadcrumb.scss +106 -0
- data/app/assets/stylesheets/better_ui/components/_button.scss +105 -0
- data/app/assets/stylesheets/better_ui/components/_card.scss +60 -0
- data/app/assets/stylesheets/better_ui/components/_heading.scss +81 -0
- data/app/assets/stylesheets/better_ui/components/_icon.scss +134 -0
- data/app/assets/stylesheets/better_ui/components/_index.scss +17 -0
- data/app/assets/stylesheets/better_ui/components/_link.scss +100 -0
- data/app/assets/stylesheets/better_ui/components/_panel.scss +104 -0
- data/app/assets/stylesheets/better_ui/components/_spinner.scss +129 -0
- data/app/assets/stylesheets/better_ui/components/_table.scss +156 -0
- data/app/assets/stylesheets/better_ui/components/_variables.scss +1 -0
- data/app/assets/stylesheets/better_ui.scss +4 -0
- data/app/components/better_ui/general/avatar_component.html.erb +2 -2
- data/app/components/better_ui/general/avatar_component.rb +29 -29
- data/app/components/better_ui/general/badge_component.html.erb +3 -3
- data/app/components/better_ui/general/badge_component.rb +32 -20
- data/app/components/better_ui/general/breadcrumb_component.html.erb +2 -2
- data/app/components/better_ui/general/breadcrumb_component.rb +23 -23
- data/app/components/better_ui/general/button_component.html.erb +6 -6
- data/app/components/better_ui/general/button_component.rb +20 -22
- data/app/components/better_ui/general/heading_component.html.erb +1 -25
- data/app/components/better_ui/general/heading_component.rb +17 -116
- data/app/components/better_ui/general/icon_component.html.erb +1 -1
- data/app/components/better_ui/general/icon_component.rb +33 -56
- data/app/components/better_ui/general/link_component.html.erb +4 -4
- data/app/components/better_ui/general/link_component.rb +28 -28
- data/app/components/better_ui/general/panel_component.rb +30 -41
- data/app/components/better_ui/general/spinner_component.html.erb +3 -3
- data/app/components/better_ui/general/spinner_component.rb +13 -13
- data/app/components/better_ui/general/table_component.rb +35 -59
- data/app/helpers/better_ui/general/components/avatar_helper.rb +17 -0
- data/app/helpers/better_ui/general/components/badge_helper.rb +17 -0
- data/app/helpers/better_ui/general/components/breadcrumb_helper.rb +17 -0
- data/app/helpers/better_ui/general/components/button_helper.rb +17 -0
- data/app/helpers/better_ui/general/components/heading_helper.rb +17 -0
- data/app/helpers/better_ui/general/components/icon_helper.rb +17 -0
- data/app/helpers/better_ui/general/components/link_helper.rb +17 -0
- data/app/helpers/better_ui/general/components/panel_helper.rb +16 -0
- data/app/helpers/better_ui/general/components/spinner_helper.rb +17 -0
- data/app/helpers/better_ui/general/components/table_helper.rb +17 -0
- data/app/helpers/better_ui/general_helper.rb +15 -0
- data/app/helpers/better_ui_helper.rb +12 -0
- data/config/routes.rb +2 -13
- data/lib/better_ui/engine.rb +67 -11
- data/lib/better_ui/version.rb +1 -1
- data/lib/better_ui.rb +10 -2
- data/lib/generators/better_ui/install_generator.rb +103 -0
- data/lib/generators/better_ui/stylesheet_generator.rb +93 -30
- data/lib/generators/better_ui/templates/README +74 -5
- data/lib/generators/better_ui/templates/components/_avatar.scss +199 -150
- data/lib/generators/better_ui/templates/components/_badge.scss +153 -141
- data/lib/generators/better_ui/templates/components/_breadcrumb.scss +105 -106
- data/lib/generators/better_ui/templates/components/_button.scss +104 -101
- data/lib/generators/better_ui/templates/components/_card.scss +56 -65
- data/lib/generators/better_ui/templates/components/_heading.scss +80 -179
- data/lib/generators/better_ui/templates/components/_icon.scss +133 -89
- data/lib/generators/better_ui/templates/components/_index.scss +17 -0
- data/lib/generators/better_ui/templates/components/_link.scss +99 -129
- data/lib/generators/better_ui/templates/components/_panel.scss +103 -143
- data/lib/generators/better_ui/templates/components/_spinner.scss +127 -130
- data/lib/generators/better_ui/templates/components/_table.scss +156 -105
- data/lib/generators/better_ui/templates/components/_variables.scss +0 -33
- data/lib/generators/better_ui/templates/components_stylesheet.scss +25 -56
- data/lib/generators/better_ui/templates/index.scss +18 -0
- data/lib/generators/better_ui/templates/initializer.rb +41 -0
- metadata +91 -49
- data/app/assets/javascripts/better_ui/controllers/navbar_controller.js +0 -138
- data/app/assets/javascripts/better_ui/controllers/sidebar_controller.js +0 -211
- data/app/assets/javascripts/better_ui/controllers/toast_controller.js +0 -161
- data/app/assets/javascripts/better_ui/index.js +0 -159
- data/app/assets/javascripts/better_ui/toast_manager.js +0 -77
- data/app/components/better_ui/theme_helper.rb +0 -171
- data/app/controllers/better_ui/docs_controller.rb +0 -34
@@ -1,90 +1,134 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
}
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
}
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
}
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
}
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
1
|
+
@layer components {
|
2
|
+
// Classe base per l'icona (Block)
|
3
|
+
.bui-icon {
|
4
|
+
@apply inline-flex items-center justify-center;
|
5
|
+
|
6
|
+
// Modifiers (dimensioni)
|
7
|
+
&--xs {
|
8
|
+
@apply h-3 w-3;
|
9
|
+
|
10
|
+
svg {
|
11
|
+
@apply h-3 w-3;
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
15
|
+
&--sm {
|
16
|
+
@apply h-4 w-4;
|
17
|
+
|
18
|
+
svg {
|
19
|
+
@apply h-4 w-4;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
&--md {
|
24
|
+
@apply h-5 w-5;
|
25
|
+
|
26
|
+
svg {
|
27
|
+
@apply h-5 w-5;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
&--lg {
|
32
|
+
@apply h-6 w-6;
|
33
|
+
|
34
|
+
svg {
|
35
|
+
@apply h-6 w-6;
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
&--xl {
|
40
|
+
@apply h-8 w-8;
|
41
|
+
|
42
|
+
svg {
|
43
|
+
@apply h-8 w-8;
|
44
|
+
}
|
45
|
+
}
|
46
|
+
|
47
|
+
// Modifiers (varianti colore)
|
48
|
+
&--default {
|
49
|
+
@apply text-gray-500;
|
50
|
+
}
|
51
|
+
|
52
|
+
&--white {
|
53
|
+
@apply text-white;
|
54
|
+
}
|
55
|
+
|
56
|
+
&--red {
|
57
|
+
@apply text-red-500;
|
58
|
+
}
|
59
|
+
|
60
|
+
&--rose {
|
61
|
+
@apply text-rose-500;
|
62
|
+
}
|
63
|
+
|
64
|
+
&--orange {
|
65
|
+
@apply text-orange-500;
|
66
|
+
}
|
67
|
+
|
68
|
+
&--green {
|
69
|
+
@apply text-green-500;
|
70
|
+
}
|
71
|
+
|
72
|
+
&--blue {
|
73
|
+
@apply text-blue-500;
|
74
|
+
}
|
75
|
+
|
76
|
+
&--yellow {
|
77
|
+
@apply text-yellow-500;
|
78
|
+
}
|
79
|
+
|
80
|
+
&--violet {
|
81
|
+
@apply text-violet-500;
|
82
|
+
}
|
83
|
+
|
84
|
+
// Modifiers (varianti stile)
|
85
|
+
&--solid {
|
86
|
+
@apply rounded-full p-2 bg-gray-100;
|
87
|
+
}
|
88
|
+
|
89
|
+
&--solid-primary {
|
90
|
+
@apply rounded-full p-2 text-white;
|
91
|
+
|
92
|
+
&.bui-icon--red {
|
93
|
+
@apply bg-red-500;
|
94
|
+
}
|
95
|
+
|
96
|
+
&.bui-icon--rose {
|
97
|
+
@apply bg-rose-500;
|
98
|
+
}
|
99
|
+
|
100
|
+
&.bui-icon--orange {
|
101
|
+
@apply bg-orange-500;
|
102
|
+
}
|
103
|
+
|
104
|
+
&.bui-icon--green {
|
105
|
+
@apply bg-green-500;
|
106
|
+
}
|
107
|
+
|
108
|
+
&.bui-icon--blue {
|
109
|
+
@apply bg-blue-500;
|
110
|
+
}
|
111
|
+
|
112
|
+
&.bui-icon--yellow {
|
113
|
+
@apply bg-yellow-500;
|
114
|
+
}
|
115
|
+
|
116
|
+
&.bui-icon--violet {
|
117
|
+
@apply bg-violet-500;
|
118
|
+
}
|
119
|
+
}
|
120
|
+
|
121
|
+
// Stati
|
122
|
+
&--spin {
|
123
|
+
@apply animate-spin;
|
124
|
+
}
|
125
|
+
|
126
|
+
&--pulse {
|
127
|
+
@apply animate-pulse;
|
128
|
+
}
|
129
|
+
|
130
|
+
&--fixed-width {
|
131
|
+
@apply w-5;
|
132
|
+
}
|
133
|
+
}
|
90
134
|
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
// Index file che raggruppa e riespone tutti i componenti
|
2
|
+
// Nota: È possibile utilizzare le variabili con @use "better_ui/components/variables" as vars;
|
3
|
+
|
4
|
+
// Componenti generali
|
5
|
+
@forward "button";
|
6
|
+
@forward "panel";
|
7
|
+
@forward "table";
|
8
|
+
@forward "badge";
|
9
|
+
@forward "avatar";
|
10
|
+
@forward "icon";
|
11
|
+
@forward "link";
|
12
|
+
@forward "heading";
|
13
|
+
@forward "breadcrumb";
|
14
|
+
@forward "spinner";
|
15
|
+
|
16
|
+
// Componenti applicativi
|
17
|
+
@forward "card";
|
@@ -1,130 +1,100 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
.
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
}
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
}
|
101
|
-
|
102
|
-
.bui-link-blue-text {
|
103
|
-
@apply text-white;
|
104
|
-
}
|
105
|
-
|
106
|
-
/* Temi di colore - Yellow */
|
107
|
-
.bui-link-yellow-link {
|
108
|
-
@apply text-yellow-700 hover:text-black;
|
109
|
-
}
|
110
|
-
|
111
|
-
.bui-link-yellow-active {
|
112
|
-
@apply text-black font-medium;
|
113
|
-
}
|
114
|
-
|
115
|
-
.bui-link-yellow-text {
|
116
|
-
@apply text-black;
|
117
|
-
}
|
118
|
-
|
119
|
-
/* Temi di colore - Violet */
|
120
|
-
.bui-link-violet-link {
|
121
|
-
@apply text-violet-200 hover:text-white;
|
122
|
-
}
|
123
|
-
|
124
|
-
.bui-link-violet-active {
|
125
|
-
@apply text-white font-medium;
|
126
|
-
}
|
127
|
-
|
128
|
-
.bui-link-violet-text {
|
129
|
-
@apply text-white;
|
1
|
+
@layer components {
|
2
|
+
// Classe base per il link (Block)
|
3
|
+
.bui-link {
|
4
|
+
@apply inline-flex items-center transition-colors duration-200;
|
5
|
+
|
6
|
+
// Elements
|
7
|
+
&__icon {
|
8
|
+
@apply flex-shrink-0;
|
9
|
+
|
10
|
+
&--left {
|
11
|
+
@apply mr-1.5;
|
12
|
+
}
|
13
|
+
|
14
|
+
&--right {
|
15
|
+
@apply ml-1.5;
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
&__text {
|
20
|
+
@apply inline;
|
21
|
+
}
|
22
|
+
|
23
|
+
// Modifiers (varianti colore)
|
24
|
+
&--default {
|
25
|
+
@apply text-gray-700 hover:text-gray-900;
|
26
|
+
}
|
27
|
+
|
28
|
+
&--white {
|
29
|
+
@apply text-white hover:text-gray-100;
|
30
|
+
}
|
31
|
+
|
32
|
+
&--red {
|
33
|
+
@apply text-red-600 hover:text-red-700;
|
34
|
+
}
|
35
|
+
|
36
|
+
&--rose {
|
37
|
+
@apply text-rose-600 hover:text-rose-700;
|
38
|
+
}
|
39
|
+
|
40
|
+
&--orange {
|
41
|
+
@apply text-orange-600 hover:text-orange-700;
|
42
|
+
}
|
43
|
+
|
44
|
+
&--green {
|
45
|
+
@apply text-green-600 hover:text-green-700;
|
46
|
+
}
|
47
|
+
|
48
|
+
&--blue {
|
49
|
+
@apply text-blue-600 hover:text-blue-700;
|
50
|
+
}
|
51
|
+
|
52
|
+
&--yellow {
|
53
|
+
@apply text-yellow-600 hover:text-yellow-700;
|
54
|
+
}
|
55
|
+
|
56
|
+
&--violet {
|
57
|
+
@apply text-violet-600 hover:text-violet-700;
|
58
|
+
}
|
59
|
+
|
60
|
+
// Modifiers (varianti stile)
|
61
|
+
&--underlined {
|
62
|
+
@apply underline decoration-1 underline-offset-2;
|
63
|
+
}
|
64
|
+
|
65
|
+
&--hover-underlined {
|
66
|
+
@apply no-underline hover:underline decoration-1 underline-offset-2;
|
67
|
+
}
|
68
|
+
|
69
|
+
&--bold {
|
70
|
+
@apply font-semibold;
|
71
|
+
}
|
72
|
+
|
73
|
+
// Modifiers (dimensioni)
|
74
|
+
&--sm {
|
75
|
+
@apply text-sm;
|
76
|
+
}
|
77
|
+
|
78
|
+
&--base {
|
79
|
+
@apply text-base;
|
80
|
+
}
|
81
|
+
|
82
|
+
&--lg {
|
83
|
+
@apply text-lg;
|
84
|
+
}
|
85
|
+
|
86
|
+
// Stati
|
87
|
+
&--active {
|
88
|
+
@apply font-medium;
|
89
|
+
}
|
90
|
+
|
91
|
+
&--disabled {
|
92
|
+
@apply pointer-events-none opacity-50;
|
93
|
+
}
|
94
|
+
|
95
|
+
// Stili specifici per bottoni che sembrano link
|
96
|
+
&--button {
|
97
|
+
@apply appearance-none bg-transparent border-none p-0 cursor-pointer;
|
98
|
+
}
|
99
|
+
}
|
130
100
|
}
|