cladux-html 0.1.0 → 0.3.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 (66) hide show
  1. package/README.md +22 -11
  2. package/cl.css +2246 -2
  3. package/cl.js +866 -2
  4. package/cl.min.css +2 -0
  5. package/cl.min.js +2 -0
  6. package/cl.min.mjs +2 -0
  7. package/cl.mjs +868 -0
  8. package/components/accordion.css +103 -0
  9. package/components/accordion.min.css +2 -0
  10. package/components/badge.css +100 -0
  11. package/components/badge.min.css +2 -0
  12. package/components/button.css +178 -0
  13. package/components/button.min.css +2 -0
  14. package/components/card.css +88 -0
  15. package/components/card.min.css +2 -0
  16. package/components/carousel.css +75 -0
  17. package/components/carousel.min.css +2 -0
  18. package/components/checkbox.css +80 -0
  19. package/components/checkbox.min.css +2 -0
  20. package/components/combobox.css +260 -0
  21. package/components/combobox.min.css +2 -0
  22. package/components/dialog.css +128 -0
  23. package/components/dialog.min.css +2 -0
  24. package/components/dropdown-menu.css +178 -0
  25. package/components/dropdown-menu.min.css +2 -0
  26. package/components/input.css +71 -0
  27. package/components/input.min.css +2 -0
  28. package/components/kbd.css +34 -0
  29. package/components/kbd.min.css +2 -0
  30. package/components/label.css +23 -0
  31. package/components/label.min.css +2 -0
  32. package/components/popover.css +94 -0
  33. package/components/popover.min.css +2 -0
  34. package/components/select.css +89 -0
  35. package/components/select.min.css +2 -0
  36. package/components/separator.css +16 -0
  37. package/components/separator.min.css +2 -0
  38. package/components/sheet.css +134 -0
  39. package/components/sheet.min.css +2 -0
  40. package/components/skeleton.css +15 -0
  41. package/components/skeleton.min.css +2 -0
  42. package/components/slider.css +88 -0
  43. package/components/slider.min.css +2 -0
  44. package/components/switch.css +84 -0
  45. package/components/switch.min.css +2 -0
  46. package/components/tabs.css +121 -0
  47. package/components/tabs.min.css +2 -0
  48. package/components/textarea.css +61 -0
  49. package/components/textarea.min.css +2 -0
  50. package/components/toast.css +139 -0
  51. package/components/toast.min.css +2 -0
  52. package/components/tooltip.css +115 -0
  53. package/components/tooltip.min.css +2 -0
  54. package/core.css +178 -0
  55. package/core.min.css +2 -0
  56. package/package.json +35 -4
  57. package/types/accordion.d.ts +1 -0
  58. package/types/carousel.d.ts +8 -0
  59. package/types/combobox.d.ts +11 -0
  60. package/types/dialog.d.ts +3 -0
  61. package/types/floating.d.ts +12 -0
  62. package/types/index.d.ts +16 -0
  63. package/types/position.d.ts +17 -0
  64. package/types/slider.d.ts +5 -0
  65. package/types/tabs.d.ts +4 -0
  66. package/types/toast.d.ts +21 -0
@@ -0,0 +1,34 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base, cl.components, cl.utilities;
3
+
4
+ @layer cl.components {
5
+ .cl-kbd {
6
+ display: inline-flex;
7
+ align-items: center;
8
+ justify-content: center;
9
+ gap: 0.25rem;
10
+ width: fit-content;
11
+ min-width: 1.25rem;
12
+ height: 1.25rem;
13
+ padding-inline: 0.25rem;
14
+ border-radius: calc(var(--radius) * 0.6);
15
+ background-color: var(--muted);
16
+ color: var(--muted-foreground);
17
+ font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif);
18
+ font-size: 0.75rem;
19
+ line-height: 1rem;
20
+ font-weight: 500;
21
+ pointer-events: none;
22
+ user-select: none;
23
+ -webkit-user-select: none;
24
+ }
25
+ .cl-kbd svg:not([class*=size-]) {
26
+ width: 0.75rem;
27
+ height: 0.75rem;
28
+ }
29
+ .cl-kbd-group {
30
+ display: inline-flex;
31
+ align-items: center;
32
+ gap: 0.25rem;
33
+ }
34
+ }
@@ -0,0 +1,2 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base,cl.components,cl.utilities;@layer cl.components{.cl-kbd{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;width:fit-content;min-width:1.25rem;height:1.25rem;padding-inline:.25rem;border-radius:calc(var(--radius) * .6);background-color:var(--muted);color:var(--muted-foreground);font-family:var(--font-sans, ui-sans-serif, system-ui, sans-serif);font-size:.75rem;line-height:1rem;font-weight:500;pointer-events:none;user-select:none;-webkit-user-select:none}.cl-kbd svg:not([class*=size-]){width:.75rem;height:.75rem}.cl-kbd-group{display:inline-flex;align-items:center;gap:.25rem}}
@@ -0,0 +1,23 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base, cl.components, cl.utilities;
3
+
4
+ @layer cl.components {
5
+ .cl-label {
6
+ display: flex;
7
+ align-items: center;
8
+ gap: 0.5rem;
9
+ font-size: 0.875rem;
10
+ line-height: 1;
11
+ font-weight: 500;
12
+ user-select: none;
13
+ -webkit-user-select: none;
14
+ }
15
+ :disabled ~ .cl-label {
16
+ cursor: not-allowed;
17
+ opacity: 0.5;
18
+ }
19
+ :where([data-disabled=true]) .cl-label {
20
+ pointer-events: none;
21
+ opacity: 0.5;
22
+ }
23
+ }
@@ -0,0 +1,2 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base,cl.components,cl.utilities;@layer cl.components{.cl-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1;font-weight:500;user-select:none;-webkit-user-select:none}:disabled~.cl-label{cursor:not-allowed;opacity:.5}:where([data-disabled=true]) .cl-label{pointer-events:none;opacity:.5}}
@@ -0,0 +1,94 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base, cl.components, cl.utilities;
3
+
4
+ @layer cl.components {
5
+ .cl-popover,
6
+ .cl-menu,
7
+ .cl-tooltip,
8
+ .cl-combobox-content {
9
+ --_slide: 0.5rem;
10
+ position: fixed;
11
+ inset: auto;
12
+ z-index: 50;
13
+ margin: 0;
14
+ border: 0 solid var(--border);
15
+ overflow: visible;
16
+ opacity: 0;
17
+ scale: 0.95;
18
+ transition-property:
19
+ opacity,
20
+ scale,
21
+ translate,
22
+ display,
23
+ overlay;
24
+ transition-duration: 100ms;
25
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
26
+ transition-behavior: allow-discrete;
27
+ }
28
+ .cl-popover:popover-open,
29
+ .cl-menu:popover-open,
30
+ .cl-tooltip:popover-open,
31
+ .cl-combobox-content:popover-open {
32
+ opacity: 1;
33
+ scale: 1;
34
+ }
35
+ @starting-style {
36
+ .cl-popover:popover-open,
37
+ .cl-menu:popover-open,
38
+ .cl-tooltip:popover-open,
39
+ .cl-combobox-content:popover-open {
40
+ opacity: 0;
41
+ scale: 0.95;
42
+ }
43
+ :is(.cl-popover, .cl-menu, .cl-tooltip, .cl-combobox-content):popover-open[data-placed=bottom] {
44
+ translate: 0 calc(var(--_slide) * -1);
45
+ }
46
+ :is(.cl-popover, .cl-menu, .cl-tooltip, .cl-combobox-content):popover-open[data-placed=top] {
47
+ translate: 0 var(--_slide);
48
+ }
49
+ :is(.cl-popover, .cl-menu, .cl-tooltip, .cl-combobox-content):popover-open[data-placed=left] {
50
+ translate: var(--_slide) 0;
51
+ }
52
+ :is(.cl-popover, .cl-menu, .cl-tooltip, .cl-combobox-content):popover-open[data-placed=right] {
53
+ translate: calc(var(--_slide) * -1) 0;
54
+ }
55
+ }
56
+ }
57
+
58
+ @layer cl.components {
59
+ .cl-popover {
60
+ display: none;
61
+ flex-direction: column;
62
+ gap: 0.625rem;
63
+ width: 18rem;
64
+ padding: 0.625rem;
65
+ border-radius: var(--radius);
66
+ background-color: var(--popover);
67
+ color: var(--popover-foreground);
68
+ font-size: 0.875rem;
69
+ line-height: 1.25rem;
70
+ outline: none;
71
+ box-shadow:
72
+ 0 0 0 1px color-mix(in oklab, var(--foreground) 10%, transparent),
73
+ 0 4px 6px -1px rgb(0 0 0 / 0.1),
74
+ 0 2px 4px -2px rgb(0 0 0 / 0.1);
75
+ }
76
+ .cl-popover:popover-open {
77
+ display: flex;
78
+ }
79
+ .cl-popover-header {
80
+ display: flex;
81
+ flex-direction: column;
82
+ gap: 0.125rem;
83
+ font-size: 0.875rem;
84
+ line-height: 1.25rem;
85
+ }
86
+ .cl-popover-title {
87
+ margin: 0;
88
+ font-weight: 500;
89
+ }
90
+ .cl-popover-description {
91
+ margin: 0;
92
+ color: var(--muted-foreground);
93
+ }
94
+ }
@@ -0,0 +1,2 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base,cl.components,cl.utilities;@layer cl.components{.cl-popover,.cl-menu,.cl-tooltip,.cl-combobox-content{--_slide: .5rem;position:fixed;inset:auto;z-index:50;margin:0;border:0 solid var(--border);overflow:visible;opacity:0;scale:.95;transition-property:opacity,scale,translate,display,overlay;transition-duration:.1s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-behavior:allow-discrete}.cl-popover:popover-open,.cl-menu:popover-open,.cl-tooltip:popover-open,.cl-combobox-content:popover-open{opacity:1;scale:1}@starting-style{.cl-popover:popover-open,.cl-menu:popover-open,.cl-tooltip:popover-open,.cl-combobox-content:popover-open{opacity:0;scale:.95}:is(.cl-popover,.cl-menu,.cl-tooltip,.cl-combobox-content):popover-open[data-placed=bottom]{translate:0 calc(var(--_slide) * -1)}:is(.cl-popover,.cl-menu,.cl-tooltip,.cl-combobox-content):popover-open[data-placed=top]{translate:0 var(--_slide)}:is(.cl-popover,.cl-menu,.cl-tooltip,.cl-combobox-content):popover-open[data-placed=left]{translate:var(--_slide) 0}:is(.cl-popover,.cl-menu,.cl-tooltip,.cl-combobox-content):popover-open[data-placed=right]{translate:calc(var(--_slide) * -1) 0}}}@layer cl.components{.cl-popover{display:none;flex-direction:column;gap:.625rem;width:18rem;padding:.625rem;border-radius:var(--radius);background-color:var(--popover);color:var(--popover-foreground);font-size:.875rem;line-height:1.25rem;outline:none;box-shadow:0 0 0 1px color-mix(in oklab,var(--foreground) 10%,transparent),0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.cl-popover:popover-open{display:flex}.cl-popover-header{display:flex;flex-direction:column;gap:.125rem;font-size:.875rem;line-height:1.25rem}.cl-popover-title{margin:0;font-weight:500}.cl-popover-description{margin:0;color:var(--muted-foreground)}}
@@ -0,0 +1,89 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base, cl.components, cl.utilities;
3
+
4
+ @layer cl.components {
5
+ .cl-select {
6
+ --_h: 2rem;
7
+ position: relative;
8
+ width: fit-content;
9
+ }
10
+ .cl-select[data-size=sm] {
11
+ --_h: 1.75rem;
12
+ }
13
+ .cl-select:has(select:disabled) {
14
+ opacity: 0.5;
15
+ }
16
+ .cl-select > select {
17
+ appearance: none;
18
+ -webkit-appearance: none;
19
+ width: 100%;
20
+ min-width: 0;
21
+ height: var(--_h);
22
+ margin: 0;
23
+ padding: 0.25rem 2rem 0.25rem 0.625rem;
24
+ border: 1px solid var(--input);
25
+ border-radius: var(--radius);
26
+ background-color: transparent;
27
+ color: inherit;
28
+ font: inherit;
29
+ font-size: 0.875rem;
30
+ line-height: 1.25rem;
31
+ outline: none;
32
+ user-select: none;
33
+ -webkit-user-select: none;
34
+ transition-property:
35
+ color,
36
+ background-color,
37
+ border-color,
38
+ outline-color,
39
+ text-decoration-color,
40
+ fill,
41
+ stroke;
42
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
43
+ transition-duration: 150ms;
44
+ }
45
+ .cl-select[data-size=sm] > select {
46
+ padding-block: 0.125rem;
47
+ border-radius: min(calc(var(--radius) * 0.8), 10px);
48
+ }
49
+ .cl-select > select > :is(option, optgroup) {
50
+ background-color: Canvas;
51
+ color: CanvasText;
52
+ }
53
+ .cl-select::after {
54
+ content: "";
55
+ position: absolute;
56
+ top: 50%;
57
+ inset-inline-end: 0.625rem;
58
+ width: 1rem;
59
+ height: 1rem;
60
+ translate: 0 -50%;
61
+ background-color: var(--muted-foreground);
62
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
63
+ pointer-events: none;
64
+ }
65
+ .cl-select > select:focus-visible {
66
+ border-color: var(--ring);
67
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent);
68
+ }
69
+ .cl-select > select:disabled {
70
+ pointer-events: none;
71
+ cursor: not-allowed;
72
+ }
73
+ .cl-select > select[aria-invalid=true] {
74
+ border-color: var(--destructive);
75
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--destructive) 20%, transparent);
76
+ }
77
+ :where(.dark, [data-theme=dark]) .cl-select > select {
78
+ background-color: color-mix(in oklab, var(--input) 30%, transparent);
79
+ }
80
+ @media (hover: hover) {
81
+ :where(.dark, [data-theme=dark]) .cl-select > select:hover {
82
+ background-color: color-mix(in oklab, var(--input) 50%, transparent);
83
+ }
84
+ }
85
+ :where(.dark, [data-theme=dark]) .cl-select > select[aria-invalid=true] {
86
+ border-color: color-mix(in oklab, var(--destructive) 50%, transparent);
87
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--destructive) 40%, transparent);
88
+ }
89
+ }
@@ -0,0 +1,2 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base,cl.components,cl.utilities;@layer cl.components{.cl-select{--_h: 2rem;position:relative;width:fit-content}.cl-select[data-size=sm]{--_h: 1.75rem}.cl-select:has(select:disabled){opacity:.5}.cl-select>select{appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:var(--_h);margin:0;padding:.25rem 2rem .25rem .625rem;border:1px solid var(--input);border-radius:var(--radius);background-color:transparent;color:inherit;font:inherit;font-size:.875rem;line-height:1.25rem;outline:none;user-select:none;-webkit-user-select:none;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.cl-select[data-size=sm]>select{padding-block:.125rem;border-radius:min(calc(var(--radius) * .8),10px)}.cl-select>select>:is(option,optgroup){background-color:Canvas;color:CanvasText}.cl-select:after{content:"";position:absolute;top:50%;inset-inline-end:.625rem;width:1rem;height:1rem;translate:0 -50%;background-color:var(--muted-foreground);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;pointer-events:none}.cl-select>select:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 50%,transparent)}.cl-select>select:disabled{pointer-events:none;cursor:not-allowed}.cl-select>select[aria-invalid=true]{border-color:var(--destructive);box-shadow:0 0 0 3px color-mix(in oklab,var(--destructive) 20%,transparent)}:where(.dark,[data-theme=dark]) .cl-select>select{background-color:color-mix(in oklab,var(--input) 30%,transparent)}@media(hover:hover){:where(.dark,[data-theme=dark]) .cl-select>select:hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}:where(.dark,[data-theme=dark]) .cl-select>select[aria-invalid=true]{border-color:color-mix(in oklab,var(--destructive) 50%,transparent);box-shadow:0 0 0 3px color-mix(in oklab,var(--destructive) 40%,transparent)}}
@@ -0,0 +1,16 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base, cl.components, cl.utilities;
3
+
4
+ @layer cl.components {
5
+ .cl-separator {
6
+ flex-shrink: 0;
7
+ width: 100%;
8
+ height: 1px;
9
+ background-color: var(--border);
10
+ }
11
+ .cl-separator[data-orientation=vertical] {
12
+ width: 1px;
13
+ height: auto;
14
+ align-self: stretch;
15
+ }
16
+ }
@@ -0,0 +1,2 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base,cl.components,cl.utilities;@layer cl.components{.cl-separator{flex-shrink:0;width:100%;height:1px;background-color:var(--border)}.cl-separator[data-orientation=vertical]{width:1px;height:auto;align-self:stretch}}
@@ -0,0 +1,134 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base, cl.components, cl.utilities;
3
+
4
+ @layer cl.components {
5
+ .cl-sheet {
6
+ --_from: 2.5rem 0;
7
+ position: fixed;
8
+ inset: 0 0 0 auto;
9
+ z-index: 50;
10
+ gap: 1rem;
11
+ width: 75%;
12
+ height: 100%;
13
+ max-width: none;
14
+ max-height: none;
15
+ margin: 0;
16
+ padding: 0;
17
+ border: 0 solid var(--border);
18
+ border-left-width: 1px;
19
+ background-color: var(--popover);
20
+ background-clip: padding-box;
21
+ color: var(--popover-foreground);
22
+ font-size: 0.875rem;
23
+ line-height: 1.25rem;
24
+ outline: none;
25
+ box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
26
+ opacity: 0;
27
+ translate: var(--_from);
28
+ transition-property:
29
+ opacity,
30
+ translate,
31
+ display,
32
+ overlay;
33
+ transition-duration: 200ms;
34
+ transition-timing-function: ease-in-out;
35
+ transition-behavior: allow-discrete;
36
+ }
37
+ .cl-sheet[open] {
38
+ display: flex;
39
+ flex-direction: column;
40
+ opacity: 1;
41
+ translate: 0 0;
42
+ }
43
+ @starting-style {
44
+ .cl-sheet[open] {
45
+ opacity: 0;
46
+ translate: var(--_from);
47
+ }
48
+ }
49
+ .cl-sheet[data-side=left] {
50
+ --_from: -2.5rem 0;
51
+ inset: 0 auto 0 0;
52
+ border-left-width: 0;
53
+ border-right-width: 1px;
54
+ }
55
+ .cl-sheet:is([data-side=top], [data-side=bottom]) {
56
+ width: auto;
57
+ height: auto;
58
+ border-left-width: 0;
59
+ }
60
+ .cl-sheet[data-side=top] {
61
+ --_from: 0 -2.5rem;
62
+ inset: 0 0 auto 0;
63
+ border-bottom-width: 1px;
64
+ }
65
+ .cl-sheet[data-side=bottom] {
66
+ --_from: 0 2.5rem;
67
+ inset: auto 0 0 0;
68
+ border-top-width: 1px;
69
+ }
70
+ @media (width >= 40rem) {
71
+ .cl-sheet:not([data-side=top], [data-side=bottom]) {
72
+ max-width: 24rem;
73
+ }
74
+ }
75
+ .cl-sheet::backdrop {
76
+ background-color: rgb(0 0 0 / 0);
77
+ transition-property:
78
+ background-color,
79
+ backdrop-filter,
80
+ display,
81
+ overlay;
82
+ transition-duration: 100ms;
83
+ transition-behavior: allow-discrete;
84
+ }
85
+ .cl-sheet[open]::backdrop {
86
+ background-color: rgb(0 0 0 / 0.1);
87
+ -webkit-backdrop-filter: blur(4px);
88
+ backdrop-filter: blur(4px);
89
+ }
90
+ @starting-style {
91
+ .cl-sheet[open]::backdrop {
92
+ background-color: rgb(0 0 0 / 0);
93
+ -webkit-backdrop-filter: blur(0);
94
+ backdrop-filter: blur(0);
95
+ }
96
+ }
97
+ @media (prefers-reduced-motion: reduce) {
98
+ .cl-sheet,
99
+ .cl-sheet::backdrop {
100
+ transition-duration: 0s;
101
+ }
102
+ }
103
+ .cl-sheet-header {
104
+ display: flex;
105
+ flex-direction: column;
106
+ gap: 0.125rem;
107
+ padding: 1rem;
108
+ }
109
+ .cl-sheet-footer {
110
+ display: flex;
111
+ flex-direction: column;
112
+ gap: 0.5rem;
113
+ margin-top: auto;
114
+ padding: 1rem;
115
+ }
116
+ .cl-sheet-title {
117
+ margin: 0;
118
+ color: var(--foreground);
119
+ font-size: 1rem;
120
+ line-height: 1.5rem;
121
+ font-weight: 500;
122
+ }
123
+ .cl-sheet-description {
124
+ margin: 0;
125
+ color: var(--muted-foreground);
126
+ font-size: 0.875rem;
127
+ line-height: 1.25rem;
128
+ }
129
+ .cl-sheet-close {
130
+ position: absolute;
131
+ top: 0.75rem;
132
+ inset-inline-end: 0.75rem;
133
+ }
134
+ }
@@ -0,0 +1,2 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base,cl.components,cl.utilities;@layer cl.components{.cl-sheet{--_from: 2.5rem 0;position:fixed;inset:0 0 0 auto;z-index:50;gap:1rem;width:75%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0 solid var(--border);border-left-width:1px;background-color:var(--popover);background-clip:padding-box;color:var(--popover-foreground);font-size:.875rem;line-height:1.25rem;outline:none;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;opacity:0;translate:var(--_from);transition-property:opacity,translate,display,overlay;transition-duration:.2s;transition-timing-function:ease-in-out;transition-behavior:allow-discrete}.cl-sheet[open]{display:flex;flex-direction:column;opacity:1;translate:0 0}@starting-style{.cl-sheet[open]{opacity:0;translate:var(--_from)}}.cl-sheet[data-side=left]{--_from: -2.5rem 0;inset:0 auto 0 0;border-left-width:0;border-right-width:1px}.cl-sheet:is([data-side=top],[data-side=bottom]){width:auto;height:auto;border-left-width:0}.cl-sheet[data-side=top]{--_from: 0 -2.5rem;inset:0 0 auto;border-bottom-width:1px}.cl-sheet[data-side=bottom]{--_from: 0 2.5rem;inset:auto 0 0;border-top-width:1px}@media(width>=40rem){.cl-sheet:not([data-side=top],[data-side=bottom]){max-width:24rem}}.cl-sheet::backdrop{background-color:#0000;transition-property:background-color,backdrop-filter,display,overlay;transition-duration:.1s;transition-behavior:allow-discrete}.cl-sheet[open]::backdrop{background-color:#0000001a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@starting-style{.cl-sheet[open]::backdrop{background-color:#0000;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}@media(prefers-reduced-motion:reduce){.cl-sheet,.cl-sheet::backdrop{transition-duration:0s}}.cl-sheet-header{display:flex;flex-direction:column;gap:.125rem;padding:1rem}.cl-sheet-footer{display:flex;flex-direction:column;gap:.5rem;margin-top:auto;padding:1rem}.cl-sheet-title{margin:0;color:var(--foreground);font-size:1rem;line-height:1.5rem;font-weight:500}.cl-sheet-description{margin:0;color:var(--muted-foreground);font-size:.875rem;line-height:1.25rem}.cl-sheet-close{position:absolute;top:.75rem;inset-inline-end:.75rem}}
@@ -0,0 +1,15 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base, cl.components, cl.utilities;
3
+
4
+ @layer cl.components {
5
+ @keyframes cl-pulse {
6
+ 50% {
7
+ opacity: 0.5;
8
+ }
9
+ }
10
+ .cl-skeleton {
11
+ border-radius: calc(var(--radius) * 0.8);
12
+ background-color: var(--muted);
13
+ animation: cl-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
14
+ }
15
+ }
@@ -0,0 +1,2 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base,cl.components,cl.utilities;@layer cl.components{@keyframes cl-pulse{50%{opacity:.5}}.cl-skeleton{border-radius:calc(var(--radius) * .8);background-color:var(--muted);animation:cl-pulse 2s cubic-bezier(.4,0,.6,1) infinite}}
@@ -0,0 +1,88 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base, cl.components, cl.utilities;
3
+
4
+ @layer cl.components {
5
+ .cl-slider {
6
+ appearance: none;
7
+ -webkit-appearance: none;
8
+ display: block;
9
+ width: 100%;
10
+ height: 1.75rem;
11
+ margin: -0.75rem 0;
12
+ padding: 0;
13
+ background: transparent;
14
+ touch-action: none;
15
+ -webkit-user-select: none;
16
+ user-select: none;
17
+ outline: none;
18
+ }
19
+ .cl-slider:disabled {
20
+ pointer-events: none;
21
+ opacity: 0.5;
22
+ }
23
+ .cl-slider::-webkit-slider-runnable-track {
24
+ height: 0.25rem;
25
+ border-radius: calc(infinity * 1px);
26
+ background:
27
+ linear-gradient(
28
+ to right,
29
+ var(--primary) var(--cl-slider-fill, 0%),
30
+ var(--muted) var(--cl-slider-fill, 0%));
31
+ }
32
+ .cl-slider:dir(rtl)::-webkit-slider-runnable-track {
33
+ background:
34
+ linear-gradient(
35
+ to left,
36
+ var(--primary) var(--cl-slider-fill, 0%),
37
+ var(--muted) var(--cl-slider-fill, 0%));
38
+ }
39
+ .cl-slider::-moz-range-track {
40
+ height: 0.25rem;
41
+ border-radius: calc(infinity * 1px);
42
+ background-color: var(--muted);
43
+ }
44
+ .cl-slider::-moz-range-progress {
45
+ height: 0.25rem;
46
+ border-radius: calc(infinity * 1px);
47
+ background-color: var(--primary);
48
+ }
49
+ .cl-slider::-webkit-slider-thumb {
50
+ appearance: none;
51
+ -webkit-appearance: none;
52
+ box-sizing: border-box;
53
+ width: 0.75rem;
54
+ height: 0.75rem;
55
+ margin-top: -0.25rem;
56
+ border: 1px solid var(--ring);
57
+ border-radius: calc(infinity * 1px);
58
+ background-color: white;
59
+ transition-property: color, box-shadow;
60
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
61
+ transition-duration: 150ms;
62
+ }
63
+ .cl-slider::-moz-range-thumb {
64
+ box-sizing: border-box;
65
+ width: 0.75rem;
66
+ height: 0.75rem;
67
+ border: 1px solid var(--ring);
68
+ border-radius: calc(infinity * 1px);
69
+ background-color: white;
70
+ transition-property: color, box-shadow;
71
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
72
+ transition-duration: 150ms;
73
+ }
74
+ .cl-slider:is(:focus-visible, :active)::-webkit-slider-thumb {
75
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent);
76
+ }
77
+ .cl-slider:is(:focus-visible, :active)::-moz-range-thumb {
78
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent);
79
+ }
80
+ @media (hover: hover) {
81
+ .cl-slider::-webkit-slider-thumb:hover {
82
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent);
83
+ }
84
+ .cl-slider::-moz-range-thumb:hover {
85
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent);
86
+ }
87
+ }
88
+ }
@@ -0,0 +1,2 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base,cl.components,cl.utilities;@layer cl.components{.cl-slider{appearance:none;-webkit-appearance:none;display:block;width:100%;height:1.75rem;margin:-.75rem 0;padding:0;background:transparent;touch-action:none;-webkit-user-select:none;user-select:none;outline:none}.cl-slider:disabled{pointer-events:none;opacity:.5}.cl-slider::-webkit-slider-runnable-track{height:.25rem;border-radius:calc(infinity * 1px);background:linear-gradient(to right,var(--primary) var(--cl-slider-fill, 0%),var(--muted) var(--cl-slider-fill, 0%))}.cl-slider:dir(rtl)::-webkit-slider-runnable-track{background:linear-gradient(to left,var(--primary) var(--cl-slider-fill, 0%),var(--muted) var(--cl-slider-fill, 0%))}.cl-slider::-moz-range-track{height:.25rem;border-radius:calc(infinity * 1px);background-color:var(--muted)}.cl-slider::-moz-range-progress{height:.25rem;border-radius:calc(infinity * 1px);background-color:var(--primary)}.cl-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;box-sizing:border-box;width:.75rem;height:.75rem;margin-top:-.25rem;border:1px solid var(--ring);border-radius:calc(infinity * 1px);background-color:#fff;transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.cl-slider::-moz-range-thumb{box-sizing:border-box;width:.75rem;height:.75rem;border:1px solid var(--ring);border-radius:calc(infinity * 1px);background-color:#fff;transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.cl-slider:is(:focus-visible,:active)::-webkit-slider-thumb{box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 50%,transparent)}.cl-slider:is(:focus-visible,:active)::-moz-range-thumb{box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 50%,transparent)}@media(hover:hover){.cl-slider::-webkit-slider-thumb:hover{box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 50%,transparent)}.cl-slider::-moz-range-thumb:hover{box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 50%,transparent)}}}
@@ -0,0 +1,84 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base, cl.components, cl.utilities;
3
+
4
+ @layer cl.components {
5
+ .cl-switch {
6
+ --_w: 32px;
7
+ --_h: 18.4px;
8
+ --_thumb: 1rem;
9
+ appearance: none;
10
+ -webkit-appearance: none;
11
+ position: relative;
12
+ display: inline-flex;
13
+ flex-shrink: 0;
14
+ align-items: center;
15
+ width: var(--_w);
16
+ height: var(--_h);
17
+ margin: 0;
18
+ border: 1px solid transparent;
19
+ border-radius: calc(infinity * 1px);
20
+ background-color: var(--input);
21
+ cursor: default;
22
+ outline: none;
23
+ transition-property: all;
24
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
25
+ transition-duration: 150ms;
26
+ }
27
+ .cl-switch[data-size=sm] {
28
+ --_w: 24px;
29
+ --_h: 14px;
30
+ --_thumb: 0.75rem;
31
+ }
32
+ .cl-switch::before {
33
+ content: "";
34
+ display: block;
35
+ width: var(--_thumb);
36
+ height: var(--_thumb);
37
+ border-radius: calc(infinity * 1px);
38
+ background-color: var(--background);
39
+ pointer-events: none;
40
+ transition-property:
41
+ transform,
42
+ translate,
43
+ scale,
44
+ rotate;
45
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
46
+ transition-duration: 150ms;
47
+ }
48
+ .cl-switch::after {
49
+ content: "";
50
+ position: absolute;
51
+ inset: -0.5rem -0.75rem;
52
+ }
53
+ .cl-switch:checked {
54
+ background-color: var(--primary);
55
+ }
56
+ .cl-switch:checked::before {
57
+ translate: calc(100% - 2px) 0;
58
+ }
59
+ .cl-switch:focus-visible {
60
+ border-color: var(--ring);
61
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent);
62
+ }
63
+ .cl-switch:disabled {
64
+ cursor: not-allowed;
65
+ opacity: 0.5;
66
+ }
67
+ .cl-switch[aria-invalid=true] {
68
+ border-color: var(--destructive);
69
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--destructive) 20%, transparent);
70
+ }
71
+ :where(.dark, [data-theme=dark]) .cl-switch:not(:checked) {
72
+ background-color: color-mix(in oklab, var(--input) 80%, transparent);
73
+ }
74
+ :where(.dark, [data-theme=dark]) .cl-switch::before {
75
+ background-color: var(--foreground);
76
+ }
77
+ :where(.dark, [data-theme=dark]) .cl-switch:checked::before {
78
+ background-color: var(--primary-foreground);
79
+ }
80
+ :where(.dark, [data-theme=dark]) .cl-switch[aria-invalid=true] {
81
+ border-color: color-mix(in oklab, var(--destructive) 50%, transparent);
82
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--destructive) 40%, transparent);
83
+ }
84
+ }
@@ -0,0 +1,2 @@
1
+ /*! cladux-html v0.3.0 | Apache-2.0 | https://cladux.vercel.app/docs/html */
2
+ @layer cl.base,cl.components,cl.utilities;@layer cl.components{.cl-switch{--_w: 32px;--_h: 18.4px;--_thumb: 1rem;appearance:none;-webkit-appearance:none;position:relative;display:inline-flex;flex-shrink:0;align-items:center;width:var(--_w);height:var(--_h);margin:0;border:1px solid transparent;border-radius:calc(infinity * 1px);background-color:var(--input);cursor:default;outline:none;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.cl-switch[data-size=sm]{--_w: 24px;--_h: 14px;--_thumb: .75rem}.cl-switch:before{content:"";display:block;width:var(--_thumb);height:var(--_thumb);border-radius:calc(infinity * 1px);background-color:var(--background);pointer-events:none;transition-property:transform,translate,scale,rotate;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.cl-switch:after{content:"";position:absolute;inset:-.5rem -.75rem}.cl-switch:checked{background-color:var(--primary)}.cl-switch:checked:before{translate:calc(100% - 2px) 0}.cl-switch:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 50%,transparent)}.cl-switch:disabled{cursor:not-allowed;opacity:.5}.cl-switch[aria-invalid=true]{border-color:var(--destructive);box-shadow:0 0 0 3px color-mix(in oklab,var(--destructive) 20%,transparent)}:where(.dark,[data-theme=dark]) .cl-switch:not(:checked){background-color:color-mix(in oklab,var(--input) 80%,transparent)}:where(.dark,[data-theme=dark]) .cl-switch:before{background-color:var(--foreground)}:where(.dark,[data-theme=dark]) .cl-switch:checked:before{background-color:var(--primary-foreground)}:where(.dark,[data-theme=dark]) .cl-switch[aria-invalid=true]{border-color:color-mix(in oklab,var(--destructive) 50%,transparent);box-shadow:0 0 0 3px color-mix(in oklab,var(--destructive) 40%,transparent)}}