ui8kit 0.0.8 → 1.0.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.
@@ -0,0 +1,11 @@
1
+ .alert {
2
+ @apply relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current;
3
+ }
4
+
5
+ .alert-default {
6
+ @apply bg-card text-card-foreground;
7
+ }
8
+
9
+ .alert-destructive {
10
+ @apply text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90;
11
+ }
@@ -0,0 +1,59 @@
1
+ .article {
2
+ @apply bg-card text-card-foreground flex flex-col gap-6 rounded-md border shadow-sm;
3
+ }
4
+
5
+ .article-header {
6
+ @apply flex flex-col gap-2 px-6 mt-4;
7
+ }
8
+
9
+ .article-title {
10
+ @apply text-2xl font-bold mb-4;
11
+ }
12
+
13
+ .article-meta {
14
+ @apply flex flex-wrap items-center gap-3 text-sm text-muted-foreground;
15
+ }
16
+
17
+ .article-time {
18
+ @apply text-sm text-muted-foreground;
19
+ }
20
+
21
+ .article-author {
22
+ @apply text-sm not-italic;
23
+ }
24
+
25
+ .article-figure {
26
+ @apply overflow-hidden;
27
+ }
28
+
29
+ .article-image {
30
+ @apply aspect-video w-full object-cover rounded-t-md;
31
+ }
32
+
33
+ .article-figcaption {
34
+ @apply mt-2 text-center text-sm text-muted-foreground;
35
+ }
36
+
37
+ .article-content {
38
+ @apply max-w-none px-6 py-4;
39
+ }
40
+
41
+ .article-blockquote {
42
+ @apply border-l-4 border-muted pl-4 italic;
43
+ }
44
+
45
+ .article-footer {
46
+ @apply flex items-center justify-between px-6 py-4;
47
+ }
48
+
49
+ .article-tags {
50
+ @apply flex flex-wrap gap-2;
51
+ }
52
+
53
+ .article-tag {
54
+ @apply inline-flex items-center rounded-full border bg-muted px-2.5 py-0.5 text-xs font-semibold;
55
+ }
56
+
57
+ .article-actions {
58
+ @apply flex items-center gap-2;
59
+ }
@@ -0,0 +1,11 @@
1
+ .avatar {
2
+ @apply relative flex size-8 shrink-0 overflow-hidden rounded-full;
3
+ }
4
+
5
+ .avatar-image {
6
+ @apply aspect-square size-full;
7
+ }
8
+
9
+ .avatar-fallback {
10
+ @apply bg-muted flex size-full items-center justify-center rounded-full;
11
+ }
@@ -0,0 +1,19 @@
1
+ .badge {
2
+ @apply inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden;
3
+ }
4
+
5
+ .badge-default {
6
+ @apply border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90;
7
+ }
8
+
9
+ .badge-secondary {
10
+ @apply border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90;
11
+ }
12
+
13
+ .badge-destructive {
14
+ @apply border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60;
15
+ }
16
+
17
+ .badge-outline {
18
+ @apply text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground;
19
+ }
@@ -0,0 +1,23 @@
1
+ .breadcrumb-list {
2
+ @apply text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5;
3
+ }
4
+
5
+ .breadcrumb-item {
6
+ @apply inline-flex items-center gap-1.5;
7
+ }
8
+
9
+ .breadcrumb-link {
10
+ @apply hover:text-foreground transition-colors;
11
+ }
12
+
13
+ .breadcrumb-page {
14
+ @apply text-foreground font-normal;
15
+ }
16
+
17
+ .breadcrumb-separator {
18
+ @apply [&>svg]:size-3.5;
19
+ }
20
+
21
+ .breadcrumb-ellipsis {
22
+ @apply flex size-9 items-center justify-center;
23
+ }
@@ -0,0 +1,39 @@
1
+ .button {
2
+ @apply inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive; @apply h-9 px-4 py-2 has-[>svg]:px-3;
3
+ }
4
+
5
+ .button-default {
6
+ @apply bg-primary text-primary-foreground shadow-xs hover:bg-primary/90;
7
+ }
8
+
9
+ .button-destructive {
10
+ @apply bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60;
11
+ }
12
+
13
+ .button-outline {
14
+ @apply border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50;
15
+ }
16
+
17
+ .button-secondary {
18
+ @apply bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80;
19
+ }
20
+
21
+ .button-ghost {
22
+ @apply hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50;
23
+ }
24
+
25
+ .button-link {
26
+ @apply text-primary underline-offset-4 hover:underline;
27
+ }
28
+
29
+ .button-sm {
30
+ @apply h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5;
31
+ }
32
+
33
+ .button-lg {
34
+ @apply h-10 rounded-md px-6 has-[>svg]:px-4;
35
+ }
36
+
37
+ .button-icon {
38
+ @apply size-9;
39
+ }
@@ -0,0 +1,43 @@
1
+ .card {
2
+ @apply bg-card text-card-foreground flex flex-col gap-6 rounded-md border shadow-sm;
3
+ }
4
+
5
+ .card-header {
6
+ @apply @container/card-header grid-rows-[auto_auto] grid auto-rows-min items-start gap-1.5 mt-4 px-6 has-[data-slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6;
7
+ }
8
+
9
+ .card-title {
10
+ @apply leading-none font-bold text-xl mb-2;
11
+ }
12
+
13
+ .card-description {
14
+ @apply text-muted-foreground text-sm mb-4;
15
+ }
16
+
17
+ .card-action {
18
+ @apply col-start-2 row-span-2 row-start-1 self-start justify-self-end;
19
+ }
20
+
21
+ .article-meta {
22
+ @apply flex flex-wrap items-center gap-3 text-sm text-muted-foreground;
23
+ }
24
+
25
+ .article-figure {
26
+ @apply overflow-hidden;
27
+ }
28
+
29
+ .article-image {
30
+ @apply aspect-video w-full object-cover rounded-t-md;
31
+ }
32
+
33
+ .article-figcaption {
34
+ @apply mt-2 text-center text-sm text-muted-foreground;
35
+ }
36
+
37
+ .card-content {
38
+ @apply px-6 py-4;
39
+ }
40
+
41
+ .card-footer {
42
+ @apply flex items-center px-6 [.border-t]:pt-6;
43
+ }
@@ -0,0 +1,19 @@
1
+ @import "./label.css";
2
+ @import "./card.css";
3
+ @import "./sheet.css";
4
+ @import "./section.css";
5
+ @import "./nav.css";
6
+ @import "./markup.css";
7
+ @import "./main.css";
8
+ @import "./article.css";
9
+ @import "./alert.css";
10
+ @import "./badge.css";
11
+ @import "./button.css";
12
+ @import "./link.css";
13
+ @import "./avatar.css";
14
+ @import "./breadcrumb.css";
15
+ @import "./input.css";
16
+ @import "./pagination.css";
17
+ @import "./skeleton.css";
18
+ @import "./table.css";
19
+ @import "./textarea.css";
@@ -0,0 +1,3 @@
1
+ .input {
2
+ @apply file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm;
3
+ }
@@ -0,0 +1,3 @@
1
+ .label {
2
+ @apply flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50;
3
+ }
@@ -0,0 +1,39 @@
1
+ .link {
2
+ @apply inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive; @apply h-9 px-4 py-2 has-[>svg]:px-3;
3
+ }
4
+
5
+ .link-default {
6
+ @apply bg-primary text-primary-foreground shadow-xs hover:bg-primary/90;
7
+ }
8
+
9
+ .link-destructive {
10
+ @apply bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60;
11
+ }
12
+
13
+ .link-outline {
14
+ @apply border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50;
15
+ }
16
+
17
+ .link-secondary {
18
+ @apply bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80;
19
+ }
20
+
21
+ .link-ghost {
22
+ @apply hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50;
23
+ }
24
+
25
+ .link-link {
26
+ @apply text-primary underline-offset-4 hover:underline;
27
+ }
28
+
29
+ .link-sm {
30
+ @apply h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5;
31
+ }
32
+
33
+ .link-lg {
34
+ @apply h-10 rounded-md px-6 has-[>svg]:px-4;
35
+ }
36
+
37
+ .link-icon {
38
+ @apply size-9;
39
+ }
@@ -0,0 +1,3 @@
1
+ .main {
2
+ @apply flex-1;
3
+ }
@@ -0,0 +1,23 @@
1
+ .h1 {
2
+ @apply text-3xl font-bold mb-4;
3
+ }
4
+
5
+ .h2 {
6
+ @apply text-2xl font-bold mb-4;
7
+ }
8
+
9
+ .h3 {
10
+ @apply text-xl font-bold;
11
+ }
12
+
13
+ .h4 {
14
+ @apply text-xl font-bold;
15
+ }
16
+
17
+ .h5 {
18
+ @apply text-lg font-bold;
19
+ }
20
+
21
+ .h6 {
22
+ @apply text-base font-bold;
23
+ }
@@ -0,0 +1,63 @@
1
+ .nav {
2
+ @apply hidden lg:flex items-center space-x-1;
3
+ }
4
+
5
+ .nav-layout {
6
+ @apply relative;
7
+ }
8
+
9
+ .nav-bar {
10
+ @apply sticky top-0 z-50 w-full border-b border-border bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60;
11
+ }
12
+
13
+ .nav-list {
14
+ @apply flex items-center space-x-1;
15
+ }
16
+
17
+ .nav-item {
18
+ @apply relative;
19
+ }
20
+
21
+ .nav-link {
22
+ @apply inline-flex items-center px-3 py-2 text-sm font-medium rounded-md transition-colors hover:bg-accent hover:text-accent-foreground data-[active=true]:bg-accent data-[active=true]:text-accent-foreground;
23
+ }
24
+
25
+ .nav-dropdown {
26
+ @apply relative;
27
+ }
28
+
29
+ .nav-dropdown-content {
30
+ @apply absolute top-full left-0 mt-1 w-48 rounded-md bg-popover border border-border shadow-lg z-50 origin-top-left;
31
+ }
32
+
33
+ .nav-dropdown-item {
34
+ @apply block px-4 py-2 text-sm text-popover-foreground transition-colors hover:bg-accent hover:text-accent-foreground;
35
+ }
36
+
37
+ .nav-trigger {
38
+ @apply lg:hidden inline-flex items-center justify-center p-2 rounded-md text-foreground hover:bg-accent hover:text-accent-foreground focus:outline-none focus:ring-2 focus:ring-ring cursor-pointer;
39
+ }
40
+
41
+ .nav-mobile {
42
+ @apply fixed inset-0 z-50 lg:hidden opacity-0 invisible -translate-y-full transition-all duration-300 ease-out peer-checked:opacity-100 peer-checked:visible peer-checked:translate-y-0;
43
+ }
44
+
45
+ .nav-mobile-list {
46
+ @apply space-y-1;
47
+ }
48
+
49
+ .nav-mobile-link {
50
+ @apply flex items-center w-full px-3 py-3 text-base font-medium rounded-md transition-colors hover:bg-accent hover:text-accent-foreground data-[active=true]:bg-accent data-[active=true]:text-accent-foreground;
51
+ }
52
+
53
+ .nav-mobile-dropdown-item {
54
+ @apply block px-3 py-2 text-sm rounded-md transition-colors hover:bg-accent hover:text-accent-foreground;
55
+ }
56
+
57
+ .nav-group {
58
+ @apply py-2;
59
+ }
60
+
61
+ .nav-group-buttons {
62
+ @apply flex items-center space-x-2;
63
+ }
@@ -0,0 +1,11 @@
1
+ .pagination {
2
+ @apply mx-auto flex w-full justify-center;
3
+ }
4
+
5
+ .pagination-content {
6
+ @apply flex flex-row items-center gap-1;
7
+ }
8
+
9
+ .pagination-ellipsis {
10
+ @apply flex size-9 items-center justify-center;
11
+ }
@@ -0,0 +1,43 @@
1
+ .section {
2
+ @apply w-full py-6 md:py-12 lg:py-18;
3
+ }
4
+
5
+ .container {
6
+ @apply container mx-auto px-4 md:px-6 lg:px-8;
7
+ }
8
+
9
+ .full-width {
10
+ @apply w-full;
11
+ }
12
+
13
+ .section-header {
14
+ @apply w-full py-6 md:py-12 lg:py-18;
15
+ }
16
+
17
+ .section-title {
18
+ @apply text-3xl font-bold mb-4;
19
+ }
20
+
21
+ .section-description {
22
+ @apply text-secondary-foreground mb-4;
23
+ }
24
+
25
+ .section-footer {
26
+ @apply py-8;
27
+ }
28
+
29
+ .section-content {
30
+ @apply w-full;
31
+ }
32
+
33
+ .row {
34
+ @apply flex flex-wrap -mx-4;
35
+ }
36
+
37
+ .col {
38
+ @apply w-full px-4;
39
+ }
40
+
41
+ .grid {
42
+ @apply grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6;
43
+ }
@@ -0,0 +1,35 @@
1
+ .sheet-trigger {
2
+ @apply inline-flex md:hidden items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all h-9 p-2 border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground cursor-pointer;
3
+ }
4
+
5
+ .sheet-content {
6
+ @apply fixed inset-y-0 left-0 z-50 w-full max-w-sm bg-background shadow-lg border-r transform -translate-x-full transition-transform duration-300 ease-out peer-checked:translate-x-0 flex flex-col overflow-hidden;
7
+ }
8
+
9
+ .sheet-overlay {
10
+ @apply fixed inset-0 z-40 bg-black/50 backdrop-blur-sm opacity-0 invisible transition-all duration-300 ease-out peer-checked:opacity-100 peer-checked:visible peer-checked:pointer-events-auto transform-gpu cursor-pointer;
11
+ }
12
+
13
+ .sheet-header {
14
+ @apply flex flex-col space-y-2 p-6;
15
+ }
16
+
17
+ .sheet-body {
18
+ @apply flex-1 overflow-y-auto p-6;
19
+ }
20
+
21
+ .sheet-footer {
22
+ @apply mt-auto flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 p-6;
23
+ }
24
+
25
+ .sheet-title {
26
+ @apply text-lg font-semibold text-foreground;
27
+ }
28
+
29
+ .sheet-description {
30
+ @apply text-sm text-muted-foreground;
31
+ }
32
+
33
+ .sheet-close {
34
+ @apply inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring cursor-pointer;
35
+ }
@@ -0,0 +1,3 @@
1
+ .skeleton {
2
+ @apply bg-accent animate-pulse rounded-md;
3
+ }
@@ -0,0 +1,31 @@
1
+ .table {
2
+ @apply w-full caption-bottom text-sm;
3
+ }
4
+
5
+ .table-header {
6
+ @apply [&_tr]:border-b;
7
+ }
8
+
9
+ .table-body {
10
+ @apply [&_tr:last-child]:border-0;
11
+ }
12
+
13
+ .table-footer {
14
+ @apply bg-muted/50 border-t font-medium [&>tr]:last:border-b-0;
15
+ }
16
+
17
+ .table-row {
18
+ @apply hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors;
19
+ }
20
+
21
+ .table-head {
22
+ @apply text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px];
23
+ }
24
+
25
+ .table-cell {
26
+ @apply p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px];
27
+ }
28
+
29
+ .table-caption {
30
+ @apply text-muted-foreground mt-4 text-sm;
31
+ }
@@ -0,0 +1,3 @@
1
+ .textarea {
2
+ @apply border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm;
3
+ }
package/package.json CHANGED
@@ -1,9 +1,13 @@
1
1
  {
2
2
  "name": "ui8kit",
3
- "version": "0.0.8",
3
+ "version": "1.0.1",
4
4
  "description": "UI8Kit components registry for buildy-ui cli",
5
5
  "main": "index.js",
6
6
  "files": [
7
+ "*.css",
8
+ "**/*.css",
9
+ "semantic/",
10
+ "dist/",
7
11
  "r/",
8
12
  "index.json"
9
13
  ],