@mosetta/ui 0.0.0-stage → 0.0.10
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/CHANGELOG.md +66 -0
- package/LICENSE +21 -0
- package/README.md +4 -2
- package/css/base.css +109 -0
- package/css/button.css +264 -0
- package/css/card.css +174 -0
- package/css/form.css +107 -0
- package/css/inline-field.css +195 -0
- package/css/inline.css +46 -0
- package/css/input.css +163 -0
- package/css/stack.css +39 -0
- package/css/styler.css +134 -0
- package/css/typography.css +136 -0
- package/package.json +35 -3
- package/scripts/buildCss.mjs +73 -0
- package/src/cn.ts +28 -0
- package/src/components/button.tsx +46 -0
- package/src/components/card.tsx +23 -0
- package/src/components/form.tsx +31 -0
- package/src/components/inline.tsx +30 -0
- package/src/components/inlineField.tsx +118 -0
- package/src/components/input.tsx +18 -0
- package/src/components/mosaic.tsx +52 -0
- package/src/components/stack.tsx +42 -0
- package/src/components/styler.tsx +229 -0
- package/src/components/typography.tsx +98 -0
- package/src/dockArrangement.ts +212 -0
- package/src/dockLayout.ts +139 -0
- package/src/inline.ts +103 -0
- package/src/ui.ts +54 -0
- package/src/variants.ts +28 -0
- package/styles/theme.css +107 -0
- package/styles/tw.css +36 -0
- package/tsconfig.json +7 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# @mosetta/ui
|
|
2
|
+
|
|
3
|
+
## 0.0.10
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- @mosetta/core@0.0.10
|
|
8
|
+
- @mosetta/di@0.0.10
|
|
9
|
+
|
|
10
|
+
## 0.0.9
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- @mosetta/core@0.0.9
|
|
15
|
+
- @mosetta/di@0.0.9
|
|
16
|
+
|
|
17
|
+
## 0.0.8
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- Updated dependencies
|
|
22
|
+
- @mosetta/core@0.0.8
|
|
23
|
+
- @mosetta/di@0.0.8
|
|
24
|
+
|
|
25
|
+
## 0.0.7
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- Updated dependencies
|
|
30
|
+
- @mosetta/core@0.0.7
|
|
31
|
+
- @mosetta/di@0.0.7
|
|
32
|
+
|
|
33
|
+
## 0.0.6
|
|
34
|
+
|
|
35
|
+
### Patch Changes
|
|
36
|
+
|
|
37
|
+
- @mosetta/core@0.0.6
|
|
38
|
+
- @mosetta/di@0.0.6
|
|
39
|
+
|
|
40
|
+
## 0.0.5
|
|
41
|
+
|
|
42
|
+
### Patch Changes
|
|
43
|
+
|
|
44
|
+
- @mosetta/core@0.0.5
|
|
45
|
+
- @mosetta/di@0.0.5
|
|
46
|
+
|
|
47
|
+
## 0.0.4
|
|
48
|
+
|
|
49
|
+
### Patch Changes
|
|
50
|
+
|
|
51
|
+
- @mosetta/core@0.0.4
|
|
52
|
+
- @mosetta/di@0.0.4
|
|
53
|
+
|
|
54
|
+
## 0.0.3
|
|
55
|
+
|
|
56
|
+
### Patch Changes
|
|
57
|
+
|
|
58
|
+
- @mosetta/core@0.0.3
|
|
59
|
+
- @mosetta/di@0.0.3
|
|
60
|
+
|
|
61
|
+
## 0.0.2
|
|
62
|
+
|
|
63
|
+
### Patch Changes
|
|
64
|
+
|
|
65
|
+
- @mosetta/core@0.0.2
|
|
66
|
+
- @mosetta/di@0.0.2
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 mosetta contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @mosetta/ui
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The base CSS of mosetta's blocks: prefix-scoped primitives (typography, buttons, inputs, forms,
|
|
4
|
+
cards, stacks, inline fields, the styler's classes) and the theme's CSS variables. Each sheet is its
|
|
5
|
+
own entry (`@mosetta/ui/button.css`, …), so a block brings only the sheets it uses.
|
package/css/base.css
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/* GENERATED by scripts/buildCss.mjs — do not edit. Source: styles/theme.css */
|
|
2
|
+
|
|
3
|
+
/* @mosetta/ui theme + SCOPED preflight . Everything lives under .dui-root —
|
|
4
|
+
* NO global selectors: the editor shares one document with the page being edited, and a global
|
|
5
|
+
* reset would pollute foreign protocol space. Components must render inside a .dui-root element. */
|
|
6
|
+
|
|
7
|
+
.dui-root {
|
|
8
|
+
/* shadcn-style palette (light), dui-prefixed vars — the tailwind theme maps color utilities here.
|
|
9
|
+
Every value comes from the THEME ROLE around the block when there is one (@mosetta/core
|
|
10
|
+
theme.ts: `--theme-<role>`), and is the kit's own look where there is none — the editor's own
|
|
11
|
+
UI wears no theme, so it never changes with the page being edited. */
|
|
12
|
+
--dui-background: var(--theme-background, #ffffff);
|
|
13
|
+
--dui-foreground: var(--theme-text, #09090b);
|
|
14
|
+
--dui-card: var(--theme-background, #ffffff);
|
|
15
|
+
--dui-card-foreground: var(--theme-text, #09090b);
|
|
16
|
+
--dui-primary: var(--theme-primary, #18181b);
|
|
17
|
+
--dui-primary-foreground: var(--theme-primary-text, #fafafa);
|
|
18
|
+
--dui-secondary: var(--theme-muted, #f4f4f5);
|
|
19
|
+
--dui-secondary-foreground: var(--theme-text, #18181b);
|
|
20
|
+
--dui-muted: var(--theme-muted, #f4f4f5);
|
|
21
|
+
--dui-muted-foreground: var(--theme-muted-text, #71717a);
|
|
22
|
+
--dui-accent: var(--theme-muted, #f4f4f5);
|
|
23
|
+
--dui-accent-foreground: var(--theme-text, #18181b);
|
|
24
|
+
--dui-destructive: #dc2626;
|
|
25
|
+
--dui-destructive-foreground: #fafafa;
|
|
26
|
+
--dui-border: var(--theme-border, #e4e4e7);
|
|
27
|
+
--dui-input: var(--theme-border, #e4e4e7);
|
|
28
|
+
--dui-ring: var(--theme-primary, #18181b);
|
|
29
|
+
--dui-radius: var(--theme-radius, 0.5rem);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* The INHERITED defaults, at zero specificity on purpose. A protocol module has no shared
|
|
33
|
+
* ancestor to put the palette on, so every one of them wears .dui-root ITSELF — and then a rule
|
|
34
|
+
* here and a utility class on the same element carry the same weight, leaving the winner to
|
|
35
|
+
* whichever stylesheet the page happened to load last. That is how a dark button ended up with
|
|
36
|
+
* dark text. `:where` takes this rule out of the contest: it is what applies when nothing else
|
|
37
|
+
* says otherwise, which is all a default should ever be. */
|
|
38
|
+
:where(.dui-root) {
|
|
39
|
+
color: var(--dui-foreground);
|
|
40
|
+
font-family: var(--theme-font-body, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif);
|
|
41
|
+
font-size: 14px;
|
|
42
|
+
line-height: 1.5;
|
|
43
|
+
-webkit-font-smoothing: antialiased;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/* headings take the theme's heading font — on a block that IS a heading and on one inside a block;
|
|
47
|
+
* zero weight like every default here */
|
|
48
|
+
:where(.dui-root):where(h1, h2, h3, h4, h5, h6),
|
|
49
|
+
:where(.dui-root) :where(h1, h2, h3, h4, h5, h6) {
|
|
50
|
+
font-family: var(--theme-font-heading, inherit);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/* The mini-preflight: the subset of tailwind's reset our primitives rely on, and the SAME rule as
|
|
54
|
+
* above applies to it — a reset is a default, and a default must never outweigh a utility. Written
|
|
55
|
+
* with an ancestor class it would carry MORE weight than the utilities it is meant to yield to:
|
|
56
|
+
* `.dui-root h2 { font-size: inherit }` beats `.dui:text-3xl`, and a heading inside a card would
|
|
57
|
+
* quietly lose its size. `:where` keeps the whole layer at zero. */
|
|
58
|
+
:where(.dui-root) *,
|
|
59
|
+
:where(.dui-root) ::before,
|
|
60
|
+
:where(.dui-root) ::after {
|
|
61
|
+
box-sizing: border-box;
|
|
62
|
+
border-width: 0;
|
|
63
|
+
border-style: solid;
|
|
64
|
+
border-color: var(--dui-border);
|
|
65
|
+
margin: 0;
|
|
66
|
+
padding: 0;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
:where(.dui-root) :where(h1, h2, h3, h4, p) {
|
|
70
|
+
font-size: inherit;
|
|
71
|
+
font-weight: inherit;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
:where(.dui-root) :where(button, input, select, textarea) {
|
|
75
|
+
font: inherit;
|
|
76
|
+
color: inherit;
|
|
77
|
+
background: transparent;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
:where(.dui-root) :where(button) {
|
|
81
|
+
appearance: none;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/* The native select arrow sits wherever the browser draws it — flush against the right border,
|
|
85
|
+
* and no padding moves it. The arrow is ours instead: an inset chevron that the control's own
|
|
86
|
+
* right padding (editorForm.select) keeps clear of the text. */
|
|
87
|
+
:where(.dui-root) :where(select) {
|
|
88
|
+
appearance: none;
|
|
89
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%2371717a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
|
|
90
|
+
background-repeat: no-repeat;
|
|
91
|
+
background-position: right 0.75rem center;
|
|
92
|
+
background-size: 1rem 1rem;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
:where(.dui-root) :where(img, svg) {
|
|
96
|
+
display: block;
|
|
97
|
+
max-width: 100%;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
:where(.dui-root) :where(a) {
|
|
101
|
+
color: inherit;
|
|
102
|
+
text-decoration: inherit;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/* a link inside text takes the theme's accent; with no theme around, the colour of its text — LAST
|
|
106
|
+
* on purpose: it weighs as little as the reset of every anchor above, so it must come after it */
|
|
107
|
+
:where(.dui-root) :where(a.dui-inline-link) {
|
|
108
|
+
color: var(--theme-accent, currentColor);
|
|
109
|
+
}
|
package/css/button.css
ADDED
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
/* GENERATED by scripts/buildCss.mjs — do not edit. Source: src/components/button.tsx */
|
|
2
|
+
|
|
3
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
4
|
+
@layer properties;
|
|
5
|
+
.dui-root {
|
|
6
|
+
--dui-spacing: 0.25rem;
|
|
7
|
+
--dui-text-xs: 0.75rem;
|
|
8
|
+
--dui-text-xs--line-height: calc(1 / 0.75);
|
|
9
|
+
--dui-text-sm: 0.875rem;
|
|
10
|
+
--dui-text-sm--line-height: calc(1.25 / 0.875);
|
|
11
|
+
--dui-font-weight-medium: 500;
|
|
12
|
+
--dui-default-transition-duration: 150ms;
|
|
13
|
+
--dui-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
14
|
+
}
|
|
15
|
+
.dui\:inline-flex {
|
|
16
|
+
display: inline-flex;
|
|
17
|
+
}
|
|
18
|
+
.dui\:h-8 {
|
|
19
|
+
height: calc(var(--dui-spacing) * 8);
|
|
20
|
+
}
|
|
21
|
+
.dui\:h-9 {
|
|
22
|
+
height: calc(var(--dui-spacing) * 9);
|
|
23
|
+
}
|
|
24
|
+
.dui\:h-10 {
|
|
25
|
+
height: calc(var(--dui-spacing) * 10);
|
|
26
|
+
}
|
|
27
|
+
.dui\:w-9 {
|
|
28
|
+
width: calc(var(--dui-spacing) * 9);
|
|
29
|
+
}
|
|
30
|
+
.dui\:shrink-0 {
|
|
31
|
+
flex-shrink: 0;
|
|
32
|
+
}
|
|
33
|
+
.dui\:cursor-pointer {
|
|
34
|
+
cursor: pointer;
|
|
35
|
+
}
|
|
36
|
+
.dui\:items-center {
|
|
37
|
+
align-items: center;
|
|
38
|
+
}
|
|
39
|
+
.dui\:justify-center {
|
|
40
|
+
justify-content: center;
|
|
41
|
+
}
|
|
42
|
+
.dui\:gap-2 {
|
|
43
|
+
gap: calc(var(--dui-spacing) * 2);
|
|
44
|
+
}
|
|
45
|
+
.dui\:rounded-md {
|
|
46
|
+
border-radius: calc(var(--dui-radius) - 2px);
|
|
47
|
+
}
|
|
48
|
+
.dui\:border {
|
|
49
|
+
border-style: var(--tw-border-style);
|
|
50
|
+
border-width: 1px;
|
|
51
|
+
}
|
|
52
|
+
.dui\:border-input {
|
|
53
|
+
border-color: var(--dui-input);
|
|
54
|
+
}
|
|
55
|
+
.dui\:bg-background {
|
|
56
|
+
background-color: var(--dui-background);
|
|
57
|
+
}
|
|
58
|
+
.dui\:bg-destructive {
|
|
59
|
+
background-color: var(--dui-destructive);
|
|
60
|
+
}
|
|
61
|
+
.dui\:bg-primary {
|
|
62
|
+
background-color: var(--dui-primary);
|
|
63
|
+
}
|
|
64
|
+
.dui\:bg-secondary {
|
|
65
|
+
background-color: var(--dui-secondary);
|
|
66
|
+
}
|
|
67
|
+
.dui\:px-3 {
|
|
68
|
+
padding-inline: calc(var(--dui-spacing) * 3);
|
|
69
|
+
}
|
|
70
|
+
.dui\:px-4 {
|
|
71
|
+
padding-inline: calc(var(--dui-spacing) * 4);
|
|
72
|
+
}
|
|
73
|
+
.dui\:px-8 {
|
|
74
|
+
padding-inline: calc(var(--dui-spacing) * 8);
|
|
75
|
+
}
|
|
76
|
+
.dui\:py-2 {
|
|
77
|
+
padding-block: calc(var(--dui-spacing) * 2);
|
|
78
|
+
}
|
|
79
|
+
.dui\:text-sm {
|
|
80
|
+
font-size: var(--dui-text-sm);
|
|
81
|
+
line-height: var(--tw-leading, var(--dui-text-sm--line-height));
|
|
82
|
+
}
|
|
83
|
+
.dui\:text-xs {
|
|
84
|
+
font-size: var(--dui-text-xs);
|
|
85
|
+
line-height: var(--tw-leading, var(--dui-text-xs--line-height));
|
|
86
|
+
}
|
|
87
|
+
.dui\:font-medium {
|
|
88
|
+
--tw-font-weight: var(--dui-font-weight-medium);
|
|
89
|
+
font-weight: var(--dui-font-weight-medium);
|
|
90
|
+
}
|
|
91
|
+
.dui\:whitespace-nowrap {
|
|
92
|
+
white-space: nowrap;
|
|
93
|
+
}
|
|
94
|
+
.dui\:text-destructive-foreground {
|
|
95
|
+
color: var(--dui-destructive-foreground);
|
|
96
|
+
}
|
|
97
|
+
.dui\:text-primary {
|
|
98
|
+
color: var(--dui-primary);
|
|
99
|
+
}
|
|
100
|
+
.dui\:text-primary-foreground {
|
|
101
|
+
color: var(--dui-primary-foreground);
|
|
102
|
+
}
|
|
103
|
+
.dui\:text-secondary-foreground {
|
|
104
|
+
color: var(--dui-secondary-foreground);
|
|
105
|
+
}
|
|
106
|
+
.dui\:no-underline {
|
|
107
|
+
text-decoration-line: none;
|
|
108
|
+
}
|
|
109
|
+
.dui\:underline-offset-4 {
|
|
110
|
+
text-underline-offset: 4px;
|
|
111
|
+
}
|
|
112
|
+
.dui\:transition-colors {
|
|
113
|
+
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
|
|
114
|
+
transition-timing-function: var(--tw-ease, var(--dui-default-transition-timing-function));
|
|
115
|
+
transition-duration: var(--tw-duration, var(--dui-default-transition-duration));
|
|
116
|
+
}
|
|
117
|
+
.dui\:outline-none {
|
|
118
|
+
--tw-outline-style: none;
|
|
119
|
+
outline-style: none;
|
|
120
|
+
}
|
|
121
|
+
@media (hover: hover) {
|
|
122
|
+
.dui\:hover\:bg-accent:hover {
|
|
123
|
+
background-color: var(--dui-accent);
|
|
124
|
+
}
|
|
125
|
+
.dui\:hover\:bg-destructive\/90:hover {
|
|
126
|
+
background-color: var(--dui-destructive);
|
|
127
|
+
}
|
|
128
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
129
|
+
.dui\:hover\:bg-destructive\/90:hover {
|
|
130
|
+
background-color: color-mix(in oklab, var(--dui-destructive) 90%, transparent);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
.dui\:hover\:bg-primary\/90:hover {
|
|
134
|
+
background-color: var(--dui-primary);
|
|
135
|
+
}
|
|
136
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
137
|
+
.dui\:hover\:bg-primary\/90:hover {
|
|
138
|
+
background-color: color-mix(in oklab, var(--dui-primary) 90%, transparent);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
.dui\:hover\:bg-secondary\/80:hover {
|
|
142
|
+
background-color: var(--dui-secondary);
|
|
143
|
+
}
|
|
144
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
145
|
+
.dui\:hover\:bg-secondary\/80:hover {
|
|
146
|
+
background-color: color-mix(in oklab, var(--dui-secondary) 80%, transparent);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
.dui\:hover\:text-accent-foreground:hover {
|
|
150
|
+
color: var(--dui-accent-foreground);
|
|
151
|
+
}
|
|
152
|
+
.dui\:hover\:underline:hover {
|
|
153
|
+
text-decoration-line: underline;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
.dui\:focus-visible\:ring-2:focus-visible {
|
|
157
|
+
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
158
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
159
|
+
}
|
|
160
|
+
.dui\:focus-visible\:ring-ring:focus-visible {
|
|
161
|
+
--tw-ring-color: var(--dui-ring);
|
|
162
|
+
}
|
|
163
|
+
.dui\:disabled\:pointer-events-none:disabled {
|
|
164
|
+
pointer-events: none;
|
|
165
|
+
}
|
|
166
|
+
.dui\:disabled\:opacity-50:disabled {
|
|
167
|
+
opacity: 50%;
|
|
168
|
+
}
|
|
169
|
+
@property --tw-border-style {
|
|
170
|
+
syntax: "*";
|
|
171
|
+
inherits: false;
|
|
172
|
+
initial-value: solid;
|
|
173
|
+
}
|
|
174
|
+
@property --tw-font-weight {
|
|
175
|
+
syntax: "*";
|
|
176
|
+
inherits: false;
|
|
177
|
+
}
|
|
178
|
+
@property --tw-shadow {
|
|
179
|
+
syntax: "*";
|
|
180
|
+
inherits: false;
|
|
181
|
+
initial-value: 0 0 #0000;
|
|
182
|
+
}
|
|
183
|
+
@property --tw-shadow-color {
|
|
184
|
+
syntax: "*";
|
|
185
|
+
inherits: false;
|
|
186
|
+
}
|
|
187
|
+
@property --tw-shadow-alpha {
|
|
188
|
+
syntax: "<percentage>";
|
|
189
|
+
inherits: false;
|
|
190
|
+
initial-value: 100%;
|
|
191
|
+
}
|
|
192
|
+
@property --tw-inset-shadow {
|
|
193
|
+
syntax: "*";
|
|
194
|
+
inherits: false;
|
|
195
|
+
initial-value: 0 0 #0000;
|
|
196
|
+
}
|
|
197
|
+
@property --tw-inset-shadow-color {
|
|
198
|
+
syntax: "*";
|
|
199
|
+
inherits: false;
|
|
200
|
+
}
|
|
201
|
+
@property --tw-inset-shadow-alpha {
|
|
202
|
+
syntax: "<percentage>";
|
|
203
|
+
inherits: false;
|
|
204
|
+
initial-value: 100%;
|
|
205
|
+
}
|
|
206
|
+
@property --tw-ring-color {
|
|
207
|
+
syntax: "*";
|
|
208
|
+
inherits: false;
|
|
209
|
+
}
|
|
210
|
+
@property --tw-ring-shadow {
|
|
211
|
+
syntax: "*";
|
|
212
|
+
inherits: false;
|
|
213
|
+
initial-value: 0 0 #0000;
|
|
214
|
+
}
|
|
215
|
+
@property --tw-inset-ring-color {
|
|
216
|
+
syntax: "*";
|
|
217
|
+
inherits: false;
|
|
218
|
+
}
|
|
219
|
+
@property --tw-inset-ring-shadow {
|
|
220
|
+
syntax: "*";
|
|
221
|
+
inherits: false;
|
|
222
|
+
initial-value: 0 0 #0000;
|
|
223
|
+
}
|
|
224
|
+
@property --tw-ring-inset {
|
|
225
|
+
syntax: "*";
|
|
226
|
+
inherits: false;
|
|
227
|
+
}
|
|
228
|
+
@property --tw-ring-offset-width {
|
|
229
|
+
syntax: "<length>";
|
|
230
|
+
inherits: false;
|
|
231
|
+
initial-value: 0px;
|
|
232
|
+
}
|
|
233
|
+
@property --tw-ring-offset-color {
|
|
234
|
+
syntax: "*";
|
|
235
|
+
inherits: false;
|
|
236
|
+
initial-value: #fff;
|
|
237
|
+
}
|
|
238
|
+
@property --tw-ring-offset-shadow {
|
|
239
|
+
syntax: "*";
|
|
240
|
+
inherits: false;
|
|
241
|
+
initial-value: 0 0 #0000;
|
|
242
|
+
}
|
|
243
|
+
@layer properties {
|
|
244
|
+
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
|
|
245
|
+
*, ::before, ::after, ::backdrop {
|
|
246
|
+
--tw-border-style: solid;
|
|
247
|
+
--tw-font-weight: initial;
|
|
248
|
+
--tw-shadow: 0 0 #0000;
|
|
249
|
+
--tw-shadow-color: initial;
|
|
250
|
+
--tw-shadow-alpha: 100%;
|
|
251
|
+
--tw-inset-shadow: 0 0 #0000;
|
|
252
|
+
--tw-inset-shadow-color: initial;
|
|
253
|
+
--tw-inset-shadow-alpha: 100%;
|
|
254
|
+
--tw-ring-color: initial;
|
|
255
|
+
--tw-ring-shadow: 0 0 #0000;
|
|
256
|
+
--tw-inset-ring-color: initial;
|
|
257
|
+
--tw-inset-ring-shadow: 0 0 #0000;
|
|
258
|
+
--tw-ring-inset: initial;
|
|
259
|
+
--tw-ring-offset-width: 0px;
|
|
260
|
+
--tw-ring-offset-color: #fff;
|
|
261
|
+
--tw-ring-offset-shadow: 0 0 #0000;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
package/css/card.css
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/* GENERATED by scripts/buildCss.mjs — do not edit. Source: src/components/card.tsx */
|
|
2
|
+
|
|
3
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
4
|
+
@layer properties;
|
|
5
|
+
.dui-root {
|
|
6
|
+
--dui-spacing: 0.25rem;
|
|
7
|
+
--dui-text-sm: 0.875rem;
|
|
8
|
+
--dui-text-sm--line-height: calc(1.25 / 0.875);
|
|
9
|
+
--dui-font-weight-semibold: 600;
|
|
10
|
+
--dui-tracking-tight: -0.025em;
|
|
11
|
+
}
|
|
12
|
+
.dui\:flex {
|
|
13
|
+
display: flex;
|
|
14
|
+
}
|
|
15
|
+
.dui\:flex-col {
|
|
16
|
+
flex-direction: column;
|
|
17
|
+
}
|
|
18
|
+
.dui\:items-center {
|
|
19
|
+
align-items: center;
|
|
20
|
+
}
|
|
21
|
+
.dui\:gap-1\.5 {
|
|
22
|
+
gap: calc(var(--dui-spacing) * 1.5);
|
|
23
|
+
}
|
|
24
|
+
.dui\:rounded-xl {
|
|
25
|
+
border-radius: calc(var(--dui-radius) + 4px);
|
|
26
|
+
}
|
|
27
|
+
.dui\:border {
|
|
28
|
+
border-style: var(--tw-border-style);
|
|
29
|
+
border-width: 1px;
|
|
30
|
+
}
|
|
31
|
+
.dui\:border-border {
|
|
32
|
+
border-color: var(--dui-border);
|
|
33
|
+
}
|
|
34
|
+
.dui\:bg-card {
|
|
35
|
+
background-color: var(--dui-card);
|
|
36
|
+
}
|
|
37
|
+
.dui\:p-6 {
|
|
38
|
+
padding: calc(var(--dui-spacing) * 6);
|
|
39
|
+
}
|
|
40
|
+
.dui\:pt-0 {
|
|
41
|
+
padding-top: 0px;
|
|
42
|
+
}
|
|
43
|
+
.dui\:text-sm {
|
|
44
|
+
font-size: var(--dui-text-sm);
|
|
45
|
+
line-height: var(--tw-leading, var(--dui-text-sm--line-height));
|
|
46
|
+
}
|
|
47
|
+
.dui\:leading-none {
|
|
48
|
+
--tw-leading: 1;
|
|
49
|
+
line-height: 1;
|
|
50
|
+
}
|
|
51
|
+
.dui\:font-semibold {
|
|
52
|
+
--tw-font-weight: var(--dui-font-weight-semibold);
|
|
53
|
+
font-weight: var(--dui-font-weight-semibold);
|
|
54
|
+
}
|
|
55
|
+
.dui\:tracking-tight {
|
|
56
|
+
--tw-tracking: var(--dui-tracking-tight);
|
|
57
|
+
letter-spacing: var(--dui-tracking-tight);
|
|
58
|
+
}
|
|
59
|
+
.dui\:text-card-foreground {
|
|
60
|
+
color: var(--dui-card-foreground);
|
|
61
|
+
}
|
|
62
|
+
.dui\:text-muted-foreground {
|
|
63
|
+
color: var(--dui-muted-foreground);
|
|
64
|
+
}
|
|
65
|
+
.dui\:shadow-sm {
|
|
66
|
+
--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
|
67
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
68
|
+
}
|
|
69
|
+
@property --tw-border-style {
|
|
70
|
+
syntax: "*";
|
|
71
|
+
inherits: false;
|
|
72
|
+
initial-value: solid;
|
|
73
|
+
}
|
|
74
|
+
@property --tw-leading {
|
|
75
|
+
syntax: "*";
|
|
76
|
+
inherits: false;
|
|
77
|
+
}
|
|
78
|
+
@property --tw-font-weight {
|
|
79
|
+
syntax: "*";
|
|
80
|
+
inherits: false;
|
|
81
|
+
}
|
|
82
|
+
@property --tw-tracking {
|
|
83
|
+
syntax: "*";
|
|
84
|
+
inherits: false;
|
|
85
|
+
}
|
|
86
|
+
@property --tw-shadow {
|
|
87
|
+
syntax: "*";
|
|
88
|
+
inherits: false;
|
|
89
|
+
initial-value: 0 0 #0000;
|
|
90
|
+
}
|
|
91
|
+
@property --tw-shadow-color {
|
|
92
|
+
syntax: "*";
|
|
93
|
+
inherits: false;
|
|
94
|
+
}
|
|
95
|
+
@property --tw-shadow-alpha {
|
|
96
|
+
syntax: "<percentage>";
|
|
97
|
+
inherits: false;
|
|
98
|
+
initial-value: 100%;
|
|
99
|
+
}
|
|
100
|
+
@property --tw-inset-shadow {
|
|
101
|
+
syntax: "*";
|
|
102
|
+
inherits: false;
|
|
103
|
+
initial-value: 0 0 #0000;
|
|
104
|
+
}
|
|
105
|
+
@property --tw-inset-shadow-color {
|
|
106
|
+
syntax: "*";
|
|
107
|
+
inherits: false;
|
|
108
|
+
}
|
|
109
|
+
@property --tw-inset-shadow-alpha {
|
|
110
|
+
syntax: "<percentage>";
|
|
111
|
+
inherits: false;
|
|
112
|
+
initial-value: 100%;
|
|
113
|
+
}
|
|
114
|
+
@property --tw-ring-color {
|
|
115
|
+
syntax: "*";
|
|
116
|
+
inherits: false;
|
|
117
|
+
}
|
|
118
|
+
@property --tw-ring-shadow {
|
|
119
|
+
syntax: "*";
|
|
120
|
+
inherits: false;
|
|
121
|
+
initial-value: 0 0 #0000;
|
|
122
|
+
}
|
|
123
|
+
@property --tw-inset-ring-color {
|
|
124
|
+
syntax: "*";
|
|
125
|
+
inherits: false;
|
|
126
|
+
}
|
|
127
|
+
@property --tw-inset-ring-shadow {
|
|
128
|
+
syntax: "*";
|
|
129
|
+
inherits: false;
|
|
130
|
+
initial-value: 0 0 #0000;
|
|
131
|
+
}
|
|
132
|
+
@property --tw-ring-inset {
|
|
133
|
+
syntax: "*";
|
|
134
|
+
inherits: false;
|
|
135
|
+
}
|
|
136
|
+
@property --tw-ring-offset-width {
|
|
137
|
+
syntax: "<length>";
|
|
138
|
+
inherits: false;
|
|
139
|
+
initial-value: 0px;
|
|
140
|
+
}
|
|
141
|
+
@property --tw-ring-offset-color {
|
|
142
|
+
syntax: "*";
|
|
143
|
+
inherits: false;
|
|
144
|
+
initial-value: #fff;
|
|
145
|
+
}
|
|
146
|
+
@property --tw-ring-offset-shadow {
|
|
147
|
+
syntax: "*";
|
|
148
|
+
inherits: false;
|
|
149
|
+
initial-value: 0 0 #0000;
|
|
150
|
+
}
|
|
151
|
+
@layer properties {
|
|
152
|
+
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
|
|
153
|
+
*, ::before, ::after, ::backdrop {
|
|
154
|
+
--tw-border-style: solid;
|
|
155
|
+
--tw-leading: initial;
|
|
156
|
+
--tw-font-weight: initial;
|
|
157
|
+
--tw-tracking: initial;
|
|
158
|
+
--tw-shadow: 0 0 #0000;
|
|
159
|
+
--tw-shadow-color: initial;
|
|
160
|
+
--tw-shadow-alpha: 100%;
|
|
161
|
+
--tw-inset-shadow: 0 0 #0000;
|
|
162
|
+
--tw-inset-shadow-color: initial;
|
|
163
|
+
--tw-inset-shadow-alpha: 100%;
|
|
164
|
+
--tw-ring-color: initial;
|
|
165
|
+
--tw-ring-shadow: 0 0 #0000;
|
|
166
|
+
--tw-inset-ring-color: initial;
|
|
167
|
+
--tw-inset-ring-shadow: 0 0 #0000;
|
|
168
|
+
--tw-ring-inset: initial;
|
|
169
|
+
--tw-ring-offset-width: 0px;
|
|
170
|
+
--tw-ring-offset-color: #fff;
|
|
171
|
+
--tw-ring-offset-shadow: 0 0 #0000;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|