bulma-tailwind 0.1.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.
- package/LICENSE +21 -0
- package/README.md +67 -0
- package/dist/bulma-tailwind.css +3352 -0
- package/package.json +32 -0
- package/src/bulma-tailwind.css +45 -0
- package/src/components/breadcrumb.css +48 -0
- package/src/components/card.css +17 -0
- package/src/components/dropdown.css +31 -0
- package/src/components/menu.css +20 -0
- package/src/components/message.css +76 -0
- package/src/components/modal.css +26 -0
- package/src/components/navbar.css +20 -0
- package/src/components/pagination.css +40 -0
- package/src/components/panel.css +31 -0
- package/src/components/tabs.css +38 -0
- package/src/elements/box.css +6 -0
- package/src/elements/button.css +169 -0
- package/src/elements/content.css +61 -0
- package/src/elements/delete.css +39 -0
- package/src/elements/icon.css +18 -0
- package/src/elements/image.css +46 -0
- package/src/elements/notification.css +98 -0
- package/src/elements/progress.css +59 -0
- package/src/elements/table.css +129 -0
- package/src/elements/tag.css +120 -0
- package/src/elements/title.css +21 -0
- package/src/example/components.html +341 -0
- package/src/example/dist/bulma-tailwind.css +3352 -0
- package/src/example/elements.html +605 -0
- package/src/example/form.html +262 -0
- package/src/example/index.html +146 -0
- package/src/example/layout.html +193 -0
- package/src/example/misc.html +164 -0
- package/src/footer.css +5 -0
- package/src/form/checkbox-radio.css +8 -0
- package/src/form/file.css +44 -0
- package/src/form/general.css +129 -0
- package/src/form/input.css +9 -0
- package/src/form/select.css +39 -0
- package/src/form/textarea.css +315 -0
- package/src/layout/columns.css +25 -0
- package/src/layout/container.css +12 -0
- package/src/layout/hero.css +8 -0
- package/src/layout/level.css +31 -0
- package/src/layout/section.css +11 -0
- package/src/media-object.css +8 -0
- package/src/theme.css +39 -0
package/package.json
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "bulma-tailwind",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"main": "dist/bulma-tailwind.css",
|
|
5
|
+
"style": "dist/bulma-tailwind.css",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"build": "postcss src/bulma-tailwind.css -o dist/bulma-tailwind.css && copyfiles dist/bulma-tailwind.css src/example",
|
|
8
|
+
"watch": "postcss src/bulma-tailwind.css -o dist/bulma-tailwind.css --watch"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"src"
|
|
13
|
+
],
|
|
14
|
+
"keywords": [
|
|
15
|
+
"bulma",
|
|
16
|
+
"tailwind",
|
|
17
|
+
"css",
|
|
18
|
+
"framework",
|
|
19
|
+
"conversion",
|
|
20
|
+
"utility-classes"
|
|
21
|
+
],
|
|
22
|
+
"author": "ajomuch92",
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"description": "This project is a conversion of the Bulma CSS framework to Tailwind CSS. It provides a set of utility classes that mimic the styles and components of Bulma, allowing developers to easily transition from Bulma to Tailwind while maintaining a familiar design system.",
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@tailwindcss/postcss": "^4.2.2",
|
|
27
|
+
"copyfiles": "^2.4.1",
|
|
28
|
+
"postcss": "^8.5.8",
|
|
29
|
+
"postcss-cli": "^11.0.1",
|
|
30
|
+
"tailwindcss": "^4.0.0"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
@import "./theme.css";
|
|
2
|
+
|
|
3
|
+
/* Elements */
|
|
4
|
+
@import "./elements/button.css";
|
|
5
|
+
@import "./elements/box.css";
|
|
6
|
+
@import "./elements/content.css";
|
|
7
|
+
@import "./elements/delete.css";
|
|
8
|
+
@import "./elements/icon.css";
|
|
9
|
+
@import "./elements/image.css";
|
|
10
|
+
@import "./elements/notification.css";
|
|
11
|
+
@import "./elements/progress.css";
|
|
12
|
+
@import "./elements/table.css";
|
|
13
|
+
@import "./elements/tag.css";
|
|
14
|
+
@import "./elements/title.css";
|
|
15
|
+
|
|
16
|
+
/* Components */
|
|
17
|
+
@import "./components/breadcrumb.css";
|
|
18
|
+
@import "./components/card.css";
|
|
19
|
+
@import "./components/dropdown.css";
|
|
20
|
+
@import "./components/menu.css";
|
|
21
|
+
@import "./components/message.css";
|
|
22
|
+
@import "./components/modal.css";
|
|
23
|
+
@import "./components/navbar.css";
|
|
24
|
+
@import "./components/pagination.css";
|
|
25
|
+
@import "./components/panel.css";
|
|
26
|
+
@import "./components/tabs.css";
|
|
27
|
+
|
|
28
|
+
/* Form */
|
|
29
|
+
@import "./form/general.css";
|
|
30
|
+
@import "./form/input.css";
|
|
31
|
+
@import "./form/textarea.css";
|
|
32
|
+
@import "./form/select.css";
|
|
33
|
+
@import "./form/checkbox-radio.css";
|
|
34
|
+
@import "./form/file.css";
|
|
35
|
+
|
|
36
|
+
/* Layout */
|
|
37
|
+
@import "./layout/columns.css";
|
|
38
|
+
@import "./layout/container.css";
|
|
39
|
+
@import "./layout/hero.css";
|
|
40
|
+
@import "./layout/section.css";
|
|
41
|
+
@import "./layout/level.css";
|
|
42
|
+
|
|
43
|
+
/* Media Object & Footer */
|
|
44
|
+
@import "./media-object.css";
|
|
45
|
+
@import "./footer.css";
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.breadcrumb {
|
|
3
|
+
@apply list-none flex flex-wrap items-center;
|
|
4
|
+
}
|
|
5
|
+
.breadcrumb li {
|
|
6
|
+
@apply inline-flex items-center;
|
|
7
|
+
}
|
|
8
|
+
.breadcrumb li + li::before {
|
|
9
|
+
content: "/";
|
|
10
|
+
@apply mx-2 text-grey-dark;
|
|
11
|
+
}
|
|
12
|
+
.breadcrumb li.is-active a {
|
|
13
|
+
@apply text-primary cursor-default pointer-events-none;
|
|
14
|
+
}
|
|
15
|
+
.breadcrumb a {
|
|
16
|
+
@apply text-dark hover:text-primary transition-colors cursor-pointer;
|
|
17
|
+
}
|
|
18
|
+
/* Separadores alternativos */
|
|
19
|
+
.breadcrumb.has-arrow-separator li + li::before {
|
|
20
|
+
content: "→";
|
|
21
|
+
}
|
|
22
|
+
.breadcrumb.has-bullet-separator li + li::before {
|
|
23
|
+
content: "•";
|
|
24
|
+
}
|
|
25
|
+
.breadcrumb.has-dot-separator li + li::before {
|
|
26
|
+
content: "·";
|
|
27
|
+
}
|
|
28
|
+
.breadcrumb.has-succeeds-separator li + li::before {
|
|
29
|
+
content: "›";
|
|
30
|
+
}
|
|
31
|
+
/* Alineación */
|
|
32
|
+
.breadcrumb.is-centered {
|
|
33
|
+
@apply justify-center;
|
|
34
|
+
}
|
|
35
|
+
.breadcrumb.is-right {
|
|
36
|
+
@apply justify-end;
|
|
37
|
+
}
|
|
38
|
+
/* Tamaños */
|
|
39
|
+
.breadcrumb.is-small {
|
|
40
|
+
@apply text-sm;
|
|
41
|
+
}
|
|
42
|
+
.breadcrumb.is-medium {
|
|
43
|
+
@apply text-base;
|
|
44
|
+
}
|
|
45
|
+
.breadcrumb.is-large {
|
|
46
|
+
@apply text-lg;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.card {
|
|
3
|
+
@apply bg-white rounded-lg shadow-md overflow-hidden;
|
|
4
|
+
}
|
|
5
|
+
.card-header {
|
|
6
|
+
@apply px-5 py-3 border-b border-grey font-bold text-lg cursor-pointer;
|
|
7
|
+
}
|
|
8
|
+
.card-content {
|
|
9
|
+
@apply p-5;
|
|
10
|
+
}
|
|
11
|
+
.card-footer {
|
|
12
|
+
@apply px-5 py-3 border-t border-grey flex;
|
|
13
|
+
}
|
|
14
|
+
.card-footer-item {
|
|
15
|
+
@apply flex-1 text-center py-2 hover:bg-grey-light transition cursor-pointer;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.dropdown {
|
|
3
|
+
@apply relative inline-flex;
|
|
4
|
+
}
|
|
5
|
+
.dropdown-trigger {
|
|
6
|
+
@apply inline-block;
|
|
7
|
+
}
|
|
8
|
+
.dropdown-menu {
|
|
9
|
+
@apply absolute top-full left-0 z-10 hidden min-w-48 pt-2;
|
|
10
|
+
}
|
|
11
|
+
.dropdown.is-active .dropdown-menu {
|
|
12
|
+
@apply block;
|
|
13
|
+
}
|
|
14
|
+
.dropdown-content {
|
|
15
|
+
@apply bg-white rounded-lg shadow-lg overflow-hidden;
|
|
16
|
+
border: 1px solid var(--color-grey);
|
|
17
|
+
}
|
|
18
|
+
.dropdown-item {
|
|
19
|
+
@apply block px-4 py-2 text-dark hover:bg-grey-light transition-colors cursor-pointer;
|
|
20
|
+
}
|
|
21
|
+
.dropdown-divider {
|
|
22
|
+
@apply h-px my-1 bg-grey;
|
|
23
|
+
}
|
|
24
|
+
/* Posiciones */
|
|
25
|
+
.dropdown.is-right .dropdown-menu {
|
|
26
|
+
@apply left-auto right-0;
|
|
27
|
+
}
|
|
28
|
+
.dropdown.is-up .dropdown-menu {
|
|
29
|
+
@apply bottom-full top-auto pt-0 pb-2;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.menu {
|
|
3
|
+
@apply text-base;
|
|
4
|
+
}
|
|
5
|
+
.menu-list {
|
|
6
|
+
@apply space-y-1;
|
|
7
|
+
}
|
|
8
|
+
.menu-list li a {
|
|
9
|
+
@apply block px-3 py-2 rounded-md text-dark hover:bg-grey-light transition-colors cursor-pointer;
|
|
10
|
+
}
|
|
11
|
+
.menu-list li a.is-active {
|
|
12
|
+
@apply bg-primary text-white;
|
|
13
|
+
}
|
|
14
|
+
.menu-label {
|
|
15
|
+
@apply text-xs uppercase tracking-wider text-grey-dark font-semibold mb-2;
|
|
16
|
+
}
|
|
17
|
+
.menu-list ul {
|
|
18
|
+
@apply pl-4 mt-1 space-y-1;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.message {
|
|
3
|
+
@apply rounded-lg overflow-hidden mb-4 w-full;
|
|
4
|
+
}
|
|
5
|
+
.message-header {
|
|
6
|
+
@apply px-4 py-2 font-bold;
|
|
7
|
+
background-color: var(--color-dark);
|
|
8
|
+
color: var(--color-white);
|
|
9
|
+
}
|
|
10
|
+
.message-body {
|
|
11
|
+
@apply p-4;
|
|
12
|
+
border-left: 4px solid var(--color-dark);
|
|
13
|
+
background-color: var(--color-light);
|
|
14
|
+
}
|
|
15
|
+
/* Colores - todas las variantes */
|
|
16
|
+
.message.is-primary .message-header {
|
|
17
|
+
background-color: var(--color-primary);
|
|
18
|
+
}
|
|
19
|
+
.message.is-primary .message-body {
|
|
20
|
+
border-left-color: var(--color-primary);
|
|
21
|
+
}
|
|
22
|
+
.message.is-link .message-header {
|
|
23
|
+
background-color: var(--color-link);
|
|
24
|
+
}
|
|
25
|
+
.message.is-link .message-body {
|
|
26
|
+
border-left-color: var(--color-link);
|
|
27
|
+
}
|
|
28
|
+
.message.is-info .message-header {
|
|
29
|
+
background-color: var(--color-info);
|
|
30
|
+
}
|
|
31
|
+
.message.is-info .message-body {
|
|
32
|
+
border-left-color: var(--color-info);
|
|
33
|
+
}
|
|
34
|
+
.message.is-success .message-header {
|
|
35
|
+
background-color: var(--color-success);
|
|
36
|
+
}
|
|
37
|
+
.message.is-success .message-body {
|
|
38
|
+
border-left-color: var(--color-success);
|
|
39
|
+
}
|
|
40
|
+
.message.is-warning .message-header {
|
|
41
|
+
background-color: var(--color-warning);
|
|
42
|
+
color: var(--color-dark);
|
|
43
|
+
}
|
|
44
|
+
.message.is-warning .message-body {
|
|
45
|
+
border-left-color: var(--color-warning);
|
|
46
|
+
}
|
|
47
|
+
.message.is-danger .message-header {
|
|
48
|
+
background-color: var(--color-danger);
|
|
49
|
+
}
|
|
50
|
+
.message.is-danger .message-body {
|
|
51
|
+
border-left-color: var(--color-danger);
|
|
52
|
+
}
|
|
53
|
+
.message.is-dark .message-header {
|
|
54
|
+
background-color: var(--color-dark);
|
|
55
|
+
}
|
|
56
|
+
.message.is-dark .message-body {
|
|
57
|
+
border-left-color: var(--color-dark);
|
|
58
|
+
}
|
|
59
|
+
.message.is-light .message-header {
|
|
60
|
+
background-color: var(--color-light);
|
|
61
|
+
color: var(--color-dark);
|
|
62
|
+
}
|
|
63
|
+
.message.is-light .message-body {
|
|
64
|
+
border-left-color: var(--color-light);
|
|
65
|
+
}
|
|
66
|
+
/* Tamaños */
|
|
67
|
+
.message.is-small {
|
|
68
|
+
@apply text-sm;
|
|
69
|
+
}
|
|
70
|
+
.message.is-medium {
|
|
71
|
+
@apply text-base;
|
|
72
|
+
}
|
|
73
|
+
.message.is-large {
|
|
74
|
+
@apply text-lg;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.modal {
|
|
3
|
+
@apply fixed inset-0 z-50 hidden items-center justify-center;
|
|
4
|
+
}
|
|
5
|
+
.modal.is-active {
|
|
6
|
+
@apply flex;
|
|
7
|
+
}
|
|
8
|
+
.modal-background {
|
|
9
|
+
@apply absolute inset-0 bg-black/80;
|
|
10
|
+
}
|
|
11
|
+
.modal-card {
|
|
12
|
+
@apply relative bg-white rounded-lg shadow-xl w-full max-w-md mx-4;
|
|
13
|
+
}
|
|
14
|
+
.modal-card-head {
|
|
15
|
+
@apply flex justify-between items-center p-4 border-b border-grey;
|
|
16
|
+
}
|
|
17
|
+
.modal-card-body {
|
|
18
|
+
@apply p-4;
|
|
19
|
+
}
|
|
20
|
+
.modal-card-foot {
|
|
21
|
+
@apply flex justify-end gap-2 p-4 border-t border-grey;
|
|
22
|
+
}
|
|
23
|
+
.modal-close {
|
|
24
|
+
@apply absolute top-2 right-2 w-6 h-6 rounded-full bg-grey-dark text-white flex items-center justify-center cursor-pointer;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.navbar {
|
|
3
|
+
@apply bg-white shadow-sm;
|
|
4
|
+
}
|
|
5
|
+
.navbar-brand {
|
|
6
|
+
@apply flex items-center justify-between p-3;
|
|
7
|
+
}
|
|
8
|
+
.navbar-menu {
|
|
9
|
+
@apply hidden md:flex md:items-center;
|
|
10
|
+
}
|
|
11
|
+
.navbar-start, .navbar-end {
|
|
12
|
+
@apply flex flex-col md:flex-row gap-2;
|
|
13
|
+
}
|
|
14
|
+
.navbar-item {
|
|
15
|
+
@apply px-3 py-2 hover:bg-grey-light rounded cursor-pointer;
|
|
16
|
+
}
|
|
17
|
+
.navbar-burger {
|
|
18
|
+
@apply block md:hidden cursor-pointer p-3;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.pagination {
|
|
3
|
+
@apply flex flex-wrap justify-center items-center gap-2;
|
|
4
|
+
}
|
|
5
|
+
.pagination-list {
|
|
6
|
+
@apply flex flex-wrap gap-1;
|
|
7
|
+
}
|
|
8
|
+
.pagination-link,
|
|
9
|
+
.pagination-previous,
|
|
10
|
+
.pagination-next,
|
|
11
|
+
.pagination-ellipsis {
|
|
12
|
+
@apply inline-flex items-center justify-center min-w-8 h-8 px-2 rounded-md border border-grey bg-white text-dark hover:bg-grey-light transition-colors cursor-pointer;
|
|
13
|
+
}
|
|
14
|
+
.pagination-link.is-current {
|
|
15
|
+
@apply bg-primary text-white border-primary cursor-default;
|
|
16
|
+
}
|
|
17
|
+
.pagination-previous,
|
|
18
|
+
.pagination-next {
|
|
19
|
+
@apply px-4;
|
|
20
|
+
}
|
|
21
|
+
.pagination-ellipsis {
|
|
22
|
+
@apply border-none bg-transparent cursor-default;
|
|
23
|
+
}
|
|
24
|
+
/* Tamaños */
|
|
25
|
+
.pagination.is-small .pagination-link,
|
|
26
|
+
.pagination.is-small .pagination-previous,
|
|
27
|
+
.pagination.is-small .pagination-next {
|
|
28
|
+
@apply text-sm h-6 min-w-6;
|
|
29
|
+
}
|
|
30
|
+
.pagination.is-medium .pagination-link,
|
|
31
|
+
.pagination.is-medium .pagination-previous,
|
|
32
|
+
.pagination.is-medium .pagination-next {
|
|
33
|
+
@apply text-base h-10 min-w-10;
|
|
34
|
+
}
|
|
35
|
+
.pagination.is-large .pagination-link,
|
|
36
|
+
.pagination.is-large .pagination-previous,
|
|
37
|
+
.pagination.is-large .pagination-next {
|
|
38
|
+
@apply text-lg h-12 min-w-12;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.panel {
|
|
3
|
+
@apply rounded-lg shadow-sm overflow-hidden;
|
|
4
|
+
border: 1px solid var(--color-grey);
|
|
5
|
+
}
|
|
6
|
+
.panel-heading {
|
|
7
|
+
@apply px-4 py-2 font-bold border-b cursor-pointer;
|
|
8
|
+
background-color: var(--color-light);
|
|
9
|
+
border-bottom-color: var(--color-grey);
|
|
10
|
+
}
|
|
11
|
+
.panel-tabs {
|
|
12
|
+
@apply flex border-b;
|
|
13
|
+
border-bottom-color: var(--color-grey);
|
|
14
|
+
}
|
|
15
|
+
.panel-tabs a {
|
|
16
|
+
@apply flex-1 text-center py-2 hover:bg-grey-light transition-colors cursor-pointer;
|
|
17
|
+
}
|
|
18
|
+
.panel-tabs a.is-active {
|
|
19
|
+
@apply border-b-2 border-primary font-semibold;
|
|
20
|
+
}
|
|
21
|
+
.panel-block {
|
|
22
|
+
@apply flex items-center px-4 py-2 border-b hover:bg-grey-light transition-colors cursor-pointer;
|
|
23
|
+
border-bottom-color: var(--color-grey);
|
|
24
|
+
}
|
|
25
|
+
.panel-block:last-child {
|
|
26
|
+
@apply border-b-0;
|
|
27
|
+
}
|
|
28
|
+
.panel-icon {
|
|
29
|
+
@apply mr-2 text-grey-dark;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.tabs {
|
|
3
|
+
@apply flex flex-wrap border-b border-grey;
|
|
4
|
+
}
|
|
5
|
+
.tabs li {
|
|
6
|
+
@apply -mb-px;
|
|
7
|
+
}
|
|
8
|
+
.tabs li a {
|
|
9
|
+
@apply block px-4 py-2 border-b-2 border-transparent text-grey-dark hover:text-dark transition-colors cursor-pointer;
|
|
10
|
+
}
|
|
11
|
+
.tabs li.is-active a {
|
|
12
|
+
@apply border-primary text-primary font-semibold;
|
|
13
|
+
}
|
|
14
|
+
/* Alineación */
|
|
15
|
+
.tabs.is-centered {
|
|
16
|
+
@apply justify-center;
|
|
17
|
+
}
|
|
18
|
+
.tabs.is-right {
|
|
19
|
+
@apply justify-end;
|
|
20
|
+
}
|
|
21
|
+
/* Tamaños */
|
|
22
|
+
.tabs.is-small li a {
|
|
23
|
+
@apply text-sm px-2 py-1;
|
|
24
|
+
}
|
|
25
|
+
.tabs.is-medium li a {
|
|
26
|
+
@apply text-lg px-5 py-3;
|
|
27
|
+
}
|
|
28
|
+
.tabs.is-large li a {
|
|
29
|
+
@apply text-xl px-6 py-4;
|
|
30
|
+
}
|
|
31
|
+
/* Estilo toggle */
|
|
32
|
+
.tabs.is-toggle li a {
|
|
33
|
+
@apply border border-grey rounded-t-md -mb-px;
|
|
34
|
+
}
|
|
35
|
+
.tabs.is-toggle li.is-active a {
|
|
36
|
+
@apply border-primary bg-primary text-white;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
/* Botón base */
|
|
3
|
+
.button {
|
|
4
|
+
@apply inline-flex items-center justify-center gap-2 px-4 py-2 rounded font-medium transition-all duration-200 cursor-pointer border border-transparent;
|
|
5
|
+
font-size: var(--text-size-normal);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/* Tamaños */
|
|
9
|
+
.button.is-small {
|
|
10
|
+
@apply px-2 py-1 text-sm rounded-sm;
|
|
11
|
+
}
|
|
12
|
+
.button.is-medium {
|
|
13
|
+
@apply px-5 py-2.5 text-base;
|
|
14
|
+
}
|
|
15
|
+
.button.is-large {
|
|
16
|
+
@apply px-6 py-3 text-lg;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/* Colores sólidos */
|
|
20
|
+
.button.is-primary {
|
|
21
|
+
@apply bg-primary text-white hover:bg-primary/90;
|
|
22
|
+
}
|
|
23
|
+
.button.is-link {
|
|
24
|
+
@apply bg-link text-white hover:bg-link/90;
|
|
25
|
+
}
|
|
26
|
+
.button.is-info {
|
|
27
|
+
@apply bg-info text-white hover:bg-info/90;
|
|
28
|
+
}
|
|
29
|
+
.button.is-success {
|
|
30
|
+
@apply bg-success text-white hover:bg-success/90;
|
|
31
|
+
}
|
|
32
|
+
.button.is-warning {
|
|
33
|
+
@apply bg-warning text-dark hover:bg-warning/90;
|
|
34
|
+
}
|
|
35
|
+
.button.is-danger {
|
|
36
|
+
@apply bg-danger text-white hover:bg-danger/90;
|
|
37
|
+
}
|
|
38
|
+
.button.is-light {
|
|
39
|
+
@apply bg-light text-dark hover:bg-gray-200;
|
|
40
|
+
}
|
|
41
|
+
.button.is-dark {
|
|
42
|
+
@apply bg-dark text-white hover:bg-dark/90;
|
|
43
|
+
}
|
|
44
|
+
.button.is-white {
|
|
45
|
+
@apply bg-white text-dark border-grey hover:bg-gray-50;
|
|
46
|
+
}
|
|
47
|
+
.button.is-black {
|
|
48
|
+
@apply bg-black text-white hover:bg-black/90;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* Outlined (solo borde y texto, sin fondo) */
|
|
52
|
+
.button.is-outlined {
|
|
53
|
+
@apply bg-transparent border-current;
|
|
54
|
+
}
|
|
55
|
+
.button.is-outlined.is-primary {
|
|
56
|
+
@apply text-primary border-primary hover:bg-primary/10;
|
|
57
|
+
}
|
|
58
|
+
.button.is-outlined.is-link {
|
|
59
|
+
@apply text-link border-link hover:bg-link/10;
|
|
60
|
+
}
|
|
61
|
+
.button.is-outlined.is-info {
|
|
62
|
+
@apply text-info border-info hover:bg-info/10;
|
|
63
|
+
}
|
|
64
|
+
.button.is-outlined.is-success {
|
|
65
|
+
@apply text-success border-success hover:bg-success/10;
|
|
66
|
+
}
|
|
67
|
+
.button.is-outlined.is-warning {
|
|
68
|
+
@apply text-warning border-warning hover:bg-warning/10;
|
|
69
|
+
}
|
|
70
|
+
.button.is-outlined.is-danger {
|
|
71
|
+
@apply text-danger border-danger hover:bg-danger/10;
|
|
72
|
+
}
|
|
73
|
+
.button.is-outlined.is-light {
|
|
74
|
+
@apply text-light border-light hover:bg-light/10;
|
|
75
|
+
}
|
|
76
|
+
.button.is-outlined.is-dark {
|
|
77
|
+
@apply text-dark border-dark hover:bg-dark/10;
|
|
78
|
+
}
|
|
79
|
+
.button.is-outlined.is-white {
|
|
80
|
+
@apply text-white border-white hover:bg-white/10;
|
|
81
|
+
}
|
|
82
|
+
.button.is-outlined.is-black {
|
|
83
|
+
@apply text-black border-black hover:bg-black/10;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/* Inverted (texto del color, fondo transparente, borde transparente, hover invierte) */
|
|
87
|
+
.button.is-inverted {
|
|
88
|
+
@apply bg-transparent border-transparent;
|
|
89
|
+
}
|
|
90
|
+
.button.is-inverted.is-primary {
|
|
91
|
+
@apply text-primary hover:bg-primary hover:text-white;
|
|
92
|
+
}
|
|
93
|
+
.button.is-inverted.is-link {
|
|
94
|
+
@apply text-link hover:bg-link hover:text-white;
|
|
95
|
+
}
|
|
96
|
+
.button.is-inverted.is-info {
|
|
97
|
+
@apply text-info hover:bg-info hover:text-white;
|
|
98
|
+
}
|
|
99
|
+
.button.is-inverted.is-success {
|
|
100
|
+
@apply text-success hover:bg-success hover:text-white;
|
|
101
|
+
}
|
|
102
|
+
.button.is-inverted.is-warning {
|
|
103
|
+
@apply text-warning hover:bg-warning hover:text-dark;
|
|
104
|
+
}
|
|
105
|
+
.button.is-inverted.is-danger {
|
|
106
|
+
@apply text-danger hover:bg-danger hover:text-white;
|
|
107
|
+
}
|
|
108
|
+
.button.is-inverted.is-light {
|
|
109
|
+
@apply text-light hover:bg-light hover:text-dark;
|
|
110
|
+
}
|
|
111
|
+
.button.is-inverted.is-dark {
|
|
112
|
+
@apply text-dark hover:bg-dark hover:text-white;
|
|
113
|
+
}
|
|
114
|
+
.button.is-inverted.is-white {
|
|
115
|
+
@apply text-white hover:bg-white hover:text-dark;
|
|
116
|
+
}
|
|
117
|
+
.button.is-inverted.is-black {
|
|
118
|
+
@apply text-black hover:bg-black hover:text-white;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/* Rounded (bordes redondeados grandes) */
|
|
122
|
+
.button.is-rounded {
|
|
123
|
+
@apply rounded-full;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/* Fullwidth (ancho completo) */
|
|
127
|
+
.button.is-fullwidth {
|
|
128
|
+
@apply w-full;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/* Loading (estado de carga) */
|
|
132
|
+
.button.is-loading {
|
|
133
|
+
@apply relative text-transparent pointer-events-none;
|
|
134
|
+
}
|
|
135
|
+
.button.is-loading::after {
|
|
136
|
+
content: "";
|
|
137
|
+
@apply absolute w-4 h-4 border-2 border-t-transparent rounded-full animate-spin;
|
|
138
|
+
border-color: currentColor transparent transparent transparent;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/* Disabled (deshabilitado) */
|
|
142
|
+
.button:disabled,
|
|
143
|
+
.button.is-disabled {
|
|
144
|
+
@apply opacity-50 cursor-not-allowed pointer-events-none;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/* Text button (estilo texto sin bordes) */
|
|
148
|
+
.button.is-text {
|
|
149
|
+
@apply bg-transparent border-transparent text-dark hover:bg-grey-light;
|
|
150
|
+
}
|
|
151
|
+
.button.is-text.is-primary {
|
|
152
|
+
@apply text-primary hover:bg-primary/10;
|
|
153
|
+
}
|
|
154
|
+
.button.is-text.is-link {
|
|
155
|
+
@apply text-link hover:bg-link/10;
|
|
156
|
+
}
|
|
157
|
+
.button.is-text.is-info {
|
|
158
|
+
@apply text-info hover:bg-info/10;
|
|
159
|
+
}
|
|
160
|
+
.button.is-text.is-success {
|
|
161
|
+
@apply text-success hover:bg-success/10;
|
|
162
|
+
}
|
|
163
|
+
.button.is-text.is-warning {
|
|
164
|
+
@apply text-warning hover:bg-warning/10;
|
|
165
|
+
}
|
|
166
|
+
.button.is-text.is-danger {
|
|
167
|
+
@apply text-danger hover:bg-danger/10;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.content {
|
|
3
|
+
@apply text-base text-dark leading-relaxed;
|
|
4
|
+
}
|
|
5
|
+
.content p:not(:last-child) {
|
|
6
|
+
@apply mb-4;
|
|
7
|
+
}
|
|
8
|
+
.content h1 {
|
|
9
|
+
@apply text-3xl font-bold mb-4;
|
|
10
|
+
}
|
|
11
|
+
.content h2 {
|
|
12
|
+
@apply text-2xl font-bold mb-3;
|
|
13
|
+
}
|
|
14
|
+
.content h3 {
|
|
15
|
+
@apply text-xl font-bold mb-2;
|
|
16
|
+
}
|
|
17
|
+
.content h4 {
|
|
18
|
+
@apply text-lg font-bold mb-2;
|
|
19
|
+
}
|
|
20
|
+
.content h5 {
|
|
21
|
+
@apply text-base font-bold mb-2;
|
|
22
|
+
}
|
|
23
|
+
.content h6 {
|
|
24
|
+
@apply text-sm font-bold mb-2;
|
|
25
|
+
}
|
|
26
|
+
.content ul {
|
|
27
|
+
@apply list-disc pl-6 mb-4;
|
|
28
|
+
}
|
|
29
|
+
.content ol {
|
|
30
|
+
@apply list-decimal pl-6 mb-4;
|
|
31
|
+
}
|
|
32
|
+
.content li {
|
|
33
|
+
@apply mb-1;
|
|
34
|
+
}
|
|
35
|
+
.content blockquote {
|
|
36
|
+
@apply border-l-4 border-grey pl-4 italic my-4;
|
|
37
|
+
}
|
|
38
|
+
.content pre {
|
|
39
|
+
@apply bg-grey-light p-4 rounded overflow-x-auto font-mono text-sm;
|
|
40
|
+
}
|
|
41
|
+
.content table {
|
|
42
|
+
@apply w-full border-collapse;
|
|
43
|
+
}
|
|
44
|
+
.content table td,
|
|
45
|
+
.content table th {
|
|
46
|
+
@apply border border-grey px-3 py-2;
|
|
47
|
+
}
|
|
48
|
+
.content table th {
|
|
49
|
+
@apply bg-grey-light font-bold;
|
|
50
|
+
}
|
|
51
|
+
/* Tamaños */
|
|
52
|
+
.content.is-small {
|
|
53
|
+
@apply text-sm;
|
|
54
|
+
}
|
|
55
|
+
.content.is-medium {
|
|
56
|
+
@apply text-base;
|
|
57
|
+
}
|
|
58
|
+
.content.is-large {
|
|
59
|
+
@apply text-lg;
|
|
60
|
+
}
|
|
61
|
+
}
|