clarus-css 0.1.0 → 0.1.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.
Files changed (79) hide show
  1. package/README.md +126 -1
  2. package/dist/css/clarus.css +3583 -0
  3. package/dist/css/clarus.css.map +1 -0
  4. package/dist/css/clarus.min.css +2 -0
  5. package/dist/css/clarus.min.css.map +1 -0
  6. package/dist/css/components.css +162 -0
  7. package/dist/css/components.css.map +1 -0
  8. package/dist/css/components.min.css +2 -0
  9. package/dist/css/components.min.css.map +1 -0
  10. package/dist/css/forms.css +172 -0
  11. package/dist/css/forms.css.map +1 -0
  12. package/dist/css/forms.min.css +2 -0
  13. package/dist/css/forms.min.css.map +1 -0
  14. package/dist/css/helpers.css +2965 -0
  15. package/dist/css/helpers.css.map +1 -0
  16. package/dist/css/helpers.min.css +2 -0
  17. package/dist/css/helpers.min.css.map +1 -0
  18. package/dist/css/layout.css +485 -0
  19. package/dist/css/layout.css.map +1 -0
  20. package/dist/css/layout.min.css +2 -0
  21. package/dist/css/layout.min.css.map +1 -0
  22. package/dist/js/clarus.js +20 -0
  23. package/dist/js/clarus.js.map +7 -0
  24. package/dist/js/clarus.min.js +2 -0
  25. package/dist/js/clarus.min.js.map +7 -0
  26. package/docs/definitions.md +110 -13
  27. package/docs/guia-comandos.md +124 -0
  28. package/docs/scss-architecture.md +184 -0
  29. package/js/clarus.js +1 -0
  30. package/mockup/layout.html +18 -7
  31. package/package.json +37 -11
  32. package/scss/base/_index.scss +2 -0
  33. package/scss/base/_reset.scss +16 -0
  34. package/scss/base/_typography.scss +17 -0
  35. package/scss/clarus.scss +8 -0
  36. package/scss/components/_accordion.scss +4 -0
  37. package/scss/components/_alerts.scss +5 -0
  38. package/scss/components/_badges.scss +8 -0
  39. package/scss/components/_breadcrumbs.scss +5 -0
  40. package/scss/components/_buttons.scss +12 -0
  41. package/scss/components/_cards.scss +7 -0
  42. package/scss/components/_dropdown.scss +4 -0
  43. package/scss/components/_index.scss +14 -0
  44. package/scss/components/_modal.scss +9 -0
  45. package/scss/components/_navbar.scss +5 -0
  46. package/scss/components/_pagination.scss +5 -0
  47. package/scss/components/_tables.scss +4 -0
  48. package/scss/components/_tabs.scss +4 -0
  49. package/scss/components/_toasts.scss +5 -0
  50. package/scss/components/_tooltips.scss +4 -0
  51. package/scss/entries/components-entry.scss +5 -0
  52. package/scss/entries/forms-entry.scss +5 -0
  53. package/scss/entries/layout-entry.scss +5 -0
  54. package/scss/entries/utilities-entry.scss +5 -0
  55. package/scss/forms/_forms.scss +99 -0
  56. package/scss/forms/_index.scss +1 -0
  57. package/scss/layout/_containers.scss +24 -0
  58. package/scss/layout/_grid.scss +49 -0
  59. package/scss/layout/_index.scss +2 -0
  60. package/scss/settings/_breakpoints.scss +24 -0
  61. package/scss/settings/_colors.scss +23 -0
  62. package/scss/settings/_index.scss +4 -0
  63. package/scss/settings/_spacing.scss +12 -0
  64. package/scss/settings/_typography.scss +11 -0
  65. package/scss/themes/_dark.scss +7 -0
  66. package/scss/themes/_index.scss +1 -0
  67. package/scss/tokens/_index.scss +1 -0
  68. package/scss/tokens/_root.scss +25 -0
  69. package/scss/tools/_index.scss +1 -0
  70. package/scss/tools/_mixins.scss +38 -0
  71. package/scss/utilities/_display.scss +19 -0
  72. package/scss/utilities/_flex.scss +52 -0
  73. package/scss/utilities/_index.scss +4 -0
  74. package/scss/utilities/_spacing.scss +127 -0
  75. package/scss/utilities/_visibility.scss +7 -0
  76. package/assets/css/components.css +0 -0
  77. package/assets/css/forms.css +0 -153
  78. package/assets/css/helpers.css +0 -1
  79. package/assets/css/layout.css +0 -526
@@ -0,0 +1,14 @@
1
+ @use "buttons";
2
+ @use "cards";
3
+ @use "alerts";
4
+ @use "badges";
5
+ @use "tables";
6
+ @use "navbar";
7
+ @use "dropdown";
8
+ @use "modal";
9
+ @use "accordion";
10
+ @use "tabs";
11
+ @use "tooltips";
12
+ @use "toasts";
13
+ @use "pagination";
14
+ @use "breadcrumbs";
@@ -0,0 +1,9 @@
1
+ .modal {
2
+ position: fixed;
3
+ inset: 0;
4
+ display: none;
5
+ }
6
+
7
+ .modal.show {
8
+ display: flex;
9
+ }
@@ -0,0 +1,5 @@
1
+ .navbar {
2
+ display: flex;
3
+ align-items: center;
4
+ width: 100%;
5
+ }
@@ -0,0 +1,5 @@
1
+ .pagination {
2
+ display: flex;
3
+ gap: 0.25rem;
4
+ list-style: none;
5
+ }
@@ -0,0 +1,4 @@
1
+ .table {
2
+ width: 100%;
3
+ border-collapse: collapse;
4
+ }
@@ -0,0 +1,4 @@
1
+ .tabs {
2
+ display: flex;
3
+ border-bottom: 1px solid var(--clarus-color-border);
4
+ }
@@ -0,0 +1,5 @@
1
+ .toast {
2
+ display: flex;
3
+ border: 1px solid var(--clarus-color-border);
4
+ border-radius: var(--clarus-radius-md);
5
+ }
@@ -0,0 +1,4 @@
1
+ .tooltip {
2
+ position: absolute;
3
+ z-index: 1080;
4
+ }
@@ -0,0 +1,5 @@
1
+ @charset "UTF-8";
2
+ @use "tokens";
3
+ @use "base";
4
+ @use "components";
5
+ @use "themes";
@@ -0,0 +1,5 @@
1
+ @charset "UTF-8";
2
+ @use "tokens";
3
+ @use "base";
4
+ @use "forms";
5
+ @use "themes";
@@ -0,0 +1,5 @@
1
+ @charset "UTF-8";
2
+ @use "tokens";
3
+ @use "base";
4
+ @use "layout";
5
+ @use "themes";
@@ -0,0 +1,5 @@
1
+ @charset "UTF-8";
2
+ @use "tokens";
3
+ @use "base";
4
+ @use "utilities";
5
+ @use "themes";
@@ -0,0 +1,99 @@
1
+ @use "../settings" as *;
2
+ @use "../tools" as *;
3
+
4
+ .form-row {
5
+ display: flex;
6
+ flex-direction: row;
7
+ flex-wrap: wrap;
8
+ align-items: baseline;
9
+ justify-content: flex-start;
10
+ width: 100%;
11
+ min-height: 10px;
12
+ }
13
+
14
+ .form-col {
15
+ display: flex;
16
+ flex-direction: column;
17
+ flex-wrap: nowrap;
18
+ align-items: flex-start;
19
+ justify-content: flex-end;
20
+ }
21
+
22
+ .form-label {
23
+ width: 120px;
24
+ margin-left: 8px;
25
+ margin-bottom: 2px;
26
+ color: var(--clarus-color-muted);
27
+ font-size: $font-size-sm;
28
+ font-weight: $font-weight-regular;
29
+
30
+ @include truncate;
31
+ }
32
+
33
+ .form-text {
34
+ width: 120px;
35
+ margin-top: 4px;
36
+ padding: 4px 8px;
37
+ border-radius: var(--clarus-radius-sm);
38
+ color: $color-gray-500;
39
+ font-size: $font-size-xs;
40
+ font-weight: $font-weight-regular;
41
+
42
+ @include truncate;
43
+ }
44
+
45
+ .form-control {
46
+ height: 38px;
47
+ padding: 0 7px;
48
+ border: 1px solid var(--clarus-color-border);
49
+ border-radius: var(--clarus-radius-sm);
50
+ color: var(--clarus-color-text);
51
+ background-color: var(--clarus-color-surface);
52
+ font-size: $font-size-md;
53
+ font-weight: $font-weight-medium;
54
+ }
55
+
56
+ .form-control::placeholder {
57
+ color: $color-gray-500;
58
+ }
59
+
60
+ .form-control:focus {
61
+ @include focus-ring;
62
+ }
63
+
64
+ .form-control:disabled {
65
+ color: $color-gray-500;
66
+ background-color: $color-gray-200;
67
+ opacity: 0.4;
68
+ pointer-events: none;
69
+ }
70
+
71
+ .form-control-sm {
72
+ height: 30px;
73
+ font-size: $font-size-xs;
74
+ }
75
+
76
+ .form-control-lg {
77
+ height: 46px;
78
+ font-size: $font-size-md;
79
+ }
80
+
81
+ .form-size-sm {
82
+ width: 120px;
83
+ }
84
+
85
+ .form-size-md {
86
+ width: 180px;
87
+ }
88
+
89
+ .form-size-lg {
90
+ width: 240px;
91
+ }
92
+
93
+ .form-size-xl {
94
+ width: 300px;
95
+ }
96
+
97
+ .form-size-xxl {
98
+ width: 360px;
99
+ }
@@ -0,0 +1 @@
1
+ @use "forms";
@@ -0,0 +1,24 @@
1
+ @use "sass:map";
2
+ @use "../settings" as *;
3
+ @use "../tools" as *;
4
+
5
+ .container,
6
+ .container-sm,
7
+ .container-md,
8
+ .container-lg,
9
+ .container-xl,
10
+ .container-xxl,
11
+ .container-fluid {
12
+ width: 100%;
13
+ margin-right: auto;
14
+ margin-left: auto;
15
+ }
16
+
17
+ @each $breakpoint, $width in $container-max-widths {
18
+ @include media-breakpoint-up($breakpoint) {
19
+ .container,
20
+ .container-#{$breakpoint} {
21
+ max-width: $width;
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,49 @@
1
+ @use "sass:math";
2
+ @use "../settings" as *;
3
+ @use "../tools" as *;
4
+
5
+ $grid-columns: 12;
6
+
7
+ .row {
8
+ display: flex;
9
+ flex-wrap: wrap;
10
+ margin-top: calc(var(--clarus-gutter-y) * -1);
11
+ margin-right: calc(var(--clarus-gutter-x) / -2);
12
+ margin-left: calc(var(--clarus-gutter-x) / -2);
13
+ }
14
+
15
+ .row > * {
16
+ margin-top: var(--clarus-gutter-y);
17
+ padding-right: calc(var(--clarus-gutter-x) / 2);
18
+ padding-left: calc(var(--clarus-gutter-x) / 2);
19
+ }
20
+
21
+ .row-fluid {
22
+ width: 100%;
23
+ }
24
+
25
+ .col-fluid {
26
+ width: 100%;
27
+ }
28
+
29
+ @each $breakpoint, $min in $breakpoints {
30
+ $infix: breakpoint-infix($breakpoint);
31
+
32
+ @include media-breakpoint-up($breakpoint) {
33
+ .col#{$infix} {
34
+ flex: 1 0 0%;
35
+ }
36
+
37
+ .col#{$infix}-auto {
38
+ flex: 0 0 auto;
39
+ width: auto;
40
+ }
41
+
42
+ @for $i from 1 through $grid-columns {
43
+ .col#{$infix}-#{$i} {
44
+ flex: 0 0 auto;
45
+ width: math.percentage(math.div($i, $grid-columns));
46
+ }
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,2 @@
1
+ @use "containers";
2
+ @use "grid";
@@ -0,0 +1,24 @@
1
+ $breakpoints: (
2
+ xs: 0,
3
+ sm: 576px,
4
+ md: 768px,
5
+ lg: 992px,
6
+ xl: 1200px,
7
+ xxl: 1400px
8
+ ) !default;
9
+
10
+ $container-max-widths: (
11
+ sm: 540px,
12
+ md: 720px,
13
+ lg: 960px,
14
+ xl: 1140px,
15
+ xxl: 1320px
16
+ ) !default;
17
+
18
+ $column-max-widths: (
19
+ sm: 120px,
20
+ md: 240px,
21
+ lg: 360px,
22
+ xl: 480px,
23
+ xxl: 560px
24
+ ) !default;
@@ -0,0 +1,23 @@
1
+ $color-white: #ffffff !default;
2
+ $color-black: #000000 !default;
3
+
4
+ $color-primary: #1a73e8 !default;
5
+ $color-success: #1fca7a !default;
6
+ $color-warning: #f9ab00 !default;
7
+ $color-danger: #d93025 !default;
8
+ $color-info: #1a73e8 !default;
9
+
10
+ $color-gray-100: #f8f9fa !default;
11
+ $color-gray-200: #e9ecef !default;
12
+ $color-gray-300: #ced4da !default;
13
+ $color-gray-500: #bbbbbb !default;
14
+ $color-gray-600: #777777 !default;
15
+ $color-gray-900: #202124 !default;
16
+
17
+ $theme-colors: (
18
+ primary: $color-primary,
19
+ success: $color-success,
20
+ warning: $color-warning,
21
+ danger: $color-danger,
22
+ info: $color-info
23
+ ) !default;
@@ -0,0 +1,4 @@
1
+ @forward "breakpoints";
2
+ @forward "colors";
3
+ @forward "spacing";
4
+ @forward "typography";
@@ -0,0 +1,12 @@
1
+ $spacers: (
2
+ 0: 0,
3
+ 1: 0.25rem,
4
+ 2: 0.5rem,
5
+ 3: 1rem,
6
+ 4: 1.5rem,
7
+ 5: 3rem
8
+ ) !default;
9
+
10
+ $radius-sm: 4px !default;
11
+ $radius-md: 6px !default;
12
+ $radius-lg: 8px !default;
@@ -0,0 +1,11 @@
1
+ $font-family-sans: "Google Sans Flex", sans-serif !default;
2
+ $font-family-mono: "Source Code Pro", monospace !default;
3
+
4
+ $font-size-xs: 0.65rem !default;
5
+ $font-size-sm: 0.75rem !default;
6
+ $font-size-md: 0.85rem !default;
7
+ $font-size-lg: 1rem !default;
8
+
9
+ $font-weight-regular: 400 !default;
10
+ $font-weight-medium: 500 !default;
11
+ $line-height-base: 1.5 !default;
@@ -0,0 +1,7 @@
1
+ [data-theme="dark"] {
2
+ --clarus-color-text: #f1f3f4;
3
+ --clarus-color-muted: #bdc1c6;
4
+ --clarus-color-border: #3c4043;
5
+ --clarus-color-surface: #202124;
6
+ --clarus-color-subtle: #2b2c2f;
7
+ }
@@ -0,0 +1 @@
1
+ @use "dark";
@@ -0,0 +1 @@
1
+ @use "root";
@@ -0,0 +1,25 @@
1
+ @use "sass:map";
2
+ @use "../settings" as *;
3
+
4
+ :root {
5
+ --clarus-color-white: #{$color-white};
6
+ --clarus-color-black: #{$color-black};
7
+ --clarus-color-primary: #{$color-primary};
8
+ --clarus-color-success: #{$color-success};
9
+ --clarus-color-warning: #{$color-warning};
10
+ --clarus-color-danger: #{$color-danger};
11
+ --clarus-color-info: #{$color-info};
12
+ --clarus-color-text: #{$color-gray-900};
13
+ --clarus-color-muted: #{$color-gray-600};
14
+ --clarus-color-border: #{$color-gray-300};
15
+ --clarus-color-surface: #{$color-white};
16
+ --clarus-color-subtle: #{$color-gray-100};
17
+ --clarus-font-sans: #{$font-family-sans};
18
+ --clarus-font-mono: #{$font-family-mono};
19
+ --clarus-line-height-base: #{$line-height-base};
20
+ --clarus-radius-sm: #{$radius-sm};
21
+ --clarus-radius-md: #{$radius-md};
22
+ --clarus-radius-lg: #{$radius-lg};
23
+ --clarus-gutter-x: #{map.get($spacers, 4)};
24
+ --clarus-gutter-y: 0px;
25
+ }
@@ -0,0 +1 @@
1
+ @forward "mixins";
@@ -0,0 +1,38 @@
1
+ @use "sass:map";
2
+ @use "../settings" as *;
3
+
4
+ @mixin media-breakpoint-up($name) {
5
+ $min: map.get($breakpoints, $name);
6
+
7
+ @if $min == null {
8
+ @error "Unknown breakpoint `#{$name}`.";
9
+ }
10
+
11
+ @if $min == 0 {
12
+ @content;
13
+ } @else {
14
+ @media (min-width: $min) {
15
+ @content;
16
+ }
17
+ }
18
+ }
19
+
20
+ @function breakpoint-infix($name) {
21
+ @if $name == xs {
22
+ @return "";
23
+ }
24
+
25
+ @return "-#{$name}";
26
+ }
27
+
28
+ @mixin focus-ring($color: var(--clarus-color-primary)) {
29
+ outline: none;
30
+ border-color: $color;
31
+ box-shadow: 0 0 5px 2px color-mix(in srgb, #{$color} 20%, transparent);
32
+ }
33
+
34
+ @mixin truncate {
35
+ overflow: hidden;
36
+ text-overflow: ellipsis;
37
+ white-space: nowrap;
38
+ }
@@ -0,0 +1,19 @@
1
+ .d-none {
2
+ display: none;
3
+ }
4
+
5
+ .d-block {
6
+ display: block;
7
+ }
8
+
9
+ .d-inline {
10
+ display: inline;
11
+ }
12
+
13
+ .d-inline-block {
14
+ display: inline-block;
15
+ }
16
+
17
+ .d-flex {
18
+ display: flex;
19
+ }
@@ -0,0 +1,52 @@
1
+ @use "../settings" as *;
2
+ @use "../tools" as *;
3
+
4
+ @each $breakpoint, $min in $breakpoints {
5
+ $infix: breakpoint-infix($breakpoint);
6
+
7
+ @include media-breakpoint-up($breakpoint) {
8
+ .align-items#{$infix}-start {
9
+ align-items: flex-start;
10
+ }
11
+
12
+ .align-items#{$infix}-center {
13
+ align-items: center;
14
+ }
15
+
16
+ .align-items#{$infix}-end {
17
+ align-items: flex-end;
18
+ }
19
+
20
+ .justify-content#{$infix}-start {
21
+ justify-content: flex-start;
22
+ }
23
+
24
+ .justify-content#{$infix}-center {
25
+ justify-content: center;
26
+ }
27
+
28
+ .justify-content#{$infix}-end {
29
+ justify-content: flex-end;
30
+ }
31
+
32
+ .justify-content#{$infix}-around {
33
+ justify-content: space-around;
34
+ }
35
+
36
+ .justify-content#{$infix}-between {
37
+ justify-content: space-between;
38
+ }
39
+
40
+ .align-self#{$infix}-start {
41
+ align-self: flex-start;
42
+ }
43
+
44
+ .align-self#{$infix}-center {
45
+ align-self: center;
46
+ }
47
+
48
+ .align-self#{$infix}-end {
49
+ align-self: flex-end;
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,4 @@
1
+ @use "display";
2
+ @use "flex";
3
+ @use "spacing";
4
+ @use "visibility";
@@ -0,0 +1,127 @@
1
+ @use "../settings" as *;
2
+ @use "../tools" as *;
3
+
4
+ @each $breakpoint, $min in $breakpoints {
5
+ $infix: breakpoint-infix($breakpoint);
6
+
7
+ @include media-breakpoint-up($breakpoint) {
8
+ @each $key, $value in $spacers {
9
+ .m#{$infix}-#{$key} {
10
+ margin: $value;
11
+ }
12
+
13
+ .mt#{$infix}-#{$key} {
14
+ margin-top: $value;
15
+ }
16
+
17
+ .mr#{$infix}-#{$key} {
18
+ margin-right: $value;
19
+ }
20
+
21
+ .mb#{$infix}-#{$key} {
22
+ margin-bottom: $value;
23
+ }
24
+
25
+ .ml#{$infix}-#{$key} {
26
+ margin-left: $value;
27
+ }
28
+
29
+ .mx#{$infix}-#{$key} {
30
+ margin-right: $value;
31
+ margin-left: $value;
32
+ }
33
+
34
+ .my#{$infix}-#{$key} {
35
+ margin-top: $value;
36
+ margin-bottom: $value;
37
+ }
38
+
39
+ .p#{$infix}-#{$key} {
40
+ padding: $value;
41
+ }
42
+
43
+ .pt#{$infix}-#{$key} {
44
+ padding-top: $value;
45
+ }
46
+
47
+ .pr#{$infix}-#{$key} {
48
+ padding-right: $value;
49
+ }
50
+
51
+ .pb#{$infix}-#{$key} {
52
+ padding-bottom: $value;
53
+ }
54
+
55
+ .pl#{$infix}-#{$key} {
56
+ padding-left: $value;
57
+ }
58
+
59
+ .px#{$infix}-#{$key} {
60
+ padding-right: $value;
61
+ padding-left: $value;
62
+ }
63
+
64
+ .py#{$infix}-#{$key} {
65
+ padding-top: $value;
66
+ padding-bottom: $value;
67
+ }
68
+
69
+ // Controla o gutter da grid (--clarus-gutter-x/-y), consumido por .row/.row > *.
70
+ .g#{$infix}-#{$key} {
71
+ --clarus-gutter-x: #{$value};
72
+ --clarus-gutter-y: #{$value};
73
+ }
74
+
75
+ .gx#{$infix}-#{$key} {
76
+ --clarus-gutter-x: #{$value};
77
+ }
78
+
79
+ .gy#{$infix}-#{$key} {
80
+ --clarus-gutter-y: #{$value};
81
+ }
82
+
83
+ // Gap literal (flex/grid), independente da grid de colunas.
84
+ .gap#{$infix}-#{$key} {
85
+ gap: $value;
86
+ }
87
+
88
+ .gap-x#{$infix}-#{$key} {
89
+ column-gap: $value;
90
+ }
91
+
92
+ .gap-y#{$infix}-#{$key} {
93
+ row-gap: $value;
94
+ }
95
+ }
96
+
97
+ .m#{$infix}-auto {
98
+ margin: auto;
99
+ }
100
+
101
+ .mt#{$infix}-auto {
102
+ margin-top: auto;
103
+ }
104
+
105
+ .mr#{$infix}-auto {
106
+ margin-right: auto;
107
+ }
108
+
109
+ .mb#{$infix}-auto {
110
+ margin-bottom: auto;
111
+ }
112
+
113
+ .ml#{$infix}-auto {
114
+ margin-left: auto;
115
+ }
116
+
117
+ .mx#{$infix}-auto {
118
+ margin-right: auto;
119
+ margin-left: auto;
120
+ }
121
+
122
+ .my#{$infix}-auto {
123
+ margin-top: auto;
124
+ margin-bottom: auto;
125
+ }
126
+ }
127
+ }
@@ -0,0 +1,7 @@
1
+ .visible {
2
+ visibility: visible;
3
+ }
4
+
5
+ .invisible {
6
+ visibility: hidden;
7
+ }
File without changes