@sigx/lynx-daisyui 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 +47 -0
- package/dist/buttons/Button.d.ts +7 -0
- package/dist/data/Avatar.d.ts +4 -0
- package/dist/feedback/Alert.d.ts +6 -0
- package/dist/feedback/Badge.d.ts +7 -0
- package/dist/feedback/Loading.d.ts +6 -0
- package/dist/feedback/Modal.d.ts +48 -0
- package/dist/feedback/Progress.d.ts +4 -0
- package/dist/feedback/Skeleton.d.ts +3 -0
- package/dist/feedback/Steps.d.ts +37 -0
- package/dist/forms/Checkbox.d.ts +5 -0
- package/dist/forms/FormField.d.ts +5 -0
- package/dist/forms/Input.d.ts +6 -0
- package/dist/forms/Radio.d.ts +48 -0
- package/dist/forms/Select.d.ts +10 -0
- package/dist/forms/Textarea.d.ts +6 -0
- package/dist/forms/Toggle.d.ts +5 -0
- package/dist/index.d.ts +52 -0
- package/dist/index.js +552 -0
- package/dist/index.js.map +1 -0
- package/dist/layout/Card.d.ts +51 -0
- package/dist/layout/Center.d.ts +5 -0
- package/dist/layout/Col.d.ts +6 -0
- package/dist/layout/Divider.d.ts +3 -0
- package/dist/layout/Row.d.ts +6 -0
- package/dist/layout/ScrollView.d.ts +5 -0
- package/dist/layout/Spacer.d.ts +3 -0
- package/dist/navigation/Tabs.d.ts +39 -0
- package/dist/preset/index.d.ts +2 -0
- package/dist/preset/index.js +26 -0
- package/dist/preset/index.js.map +1 -0
- package/dist/shared/styles.d.ts +19 -0
- package/dist/styles/base.css +6 -0
- package/dist/styles/components/alert.css +17 -0
- package/dist/styles/components/avatar.css +16 -0
- package/dist/styles/components/badge.css +44 -0
- package/dist/styles/components/button.css +79 -0
- package/dist/styles/components/card.css +39 -0
- package/dist/styles/components/checkbox.css +44 -0
- package/dist/styles/components/divider.css +14 -0
- package/dist/styles/components/form-field.css +25 -0
- package/dist/styles/components/input.css +31 -0
- package/dist/styles/components/loading.css +33 -0
- package/dist/styles/components/modal.css +41 -0
- package/dist/styles/components/progress.css +24 -0
- package/dist/styles/components/radio.css +50 -0
- package/dist/styles/components/select.css +56 -0
- package/dist/styles/components/skeleton.css +6 -0
- package/dist/styles/components/steps.css +40 -0
- package/dist/styles/components/tabs.css +23 -0
- package/dist/styles/components/textarea.css +31 -0
- package/dist/styles/components/toggle.css +46 -0
- package/dist/styles/components/typography.css +32 -0
- package/dist/styles/index.css +31 -0
- package/dist/styles/themes/dark.css +95 -0
- package/dist/styles/themes/light.css +95 -0
- package/dist/styles/themes/shapes.css +20 -0
- package/dist/typography/Heading.d.ts +6 -0
- package/dist/typography/Text.d.ts +8 -0
- package/package.json +65 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/* Form Field — .form-control, .label, .label-text */
|
|
2
|
+
|
|
3
|
+
.form-control {
|
|
4
|
+
gap: 4px;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.label {
|
|
8
|
+
padding-left: 4px;
|
|
9
|
+
padding-right: 4px;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.label-text {
|
|
13
|
+
font-size: var(--font-sm);
|
|
14
|
+
color: var(--color-base-content);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.label-text-alt {
|
|
18
|
+
font-size: var(--font-xs);
|
|
19
|
+
color: var(--color-base-content);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.label-text-error {
|
|
23
|
+
font-size: var(--font-xs);
|
|
24
|
+
color: var(--color-error);
|
|
25
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/* Input — .input + variants, sizes, colors */
|
|
2
|
+
|
|
3
|
+
.input {
|
|
4
|
+
height: var(--size-md);
|
|
5
|
+
padding-left: var(--padding-btn-md);
|
|
6
|
+
padding-right: var(--padding-btn-md);
|
|
7
|
+
border-radius: var(--rounded-btn);
|
|
8
|
+
font-size: var(--font-md);
|
|
9
|
+
background-color: var(--color-base-100);
|
|
10
|
+
color: var(--color-base-content);
|
|
11
|
+
border-width: 0;
|
|
12
|
+
border-color: transparent;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* Variants */
|
|
16
|
+
.input-bordered { border-width: var(--border-btn); border-color: var(--color-base-300); }
|
|
17
|
+
.input-ghost { background-color: transparent; }
|
|
18
|
+
|
|
19
|
+
/* Sizes */
|
|
20
|
+
.input-xs { height: var(--size-xs); padding-left: var(--padding-btn-xs); padding-right: var(--padding-btn-xs); font-size: var(--font-xs); }
|
|
21
|
+
.input-sm { height: var(--size-sm); padding-left: var(--padding-btn-sm); padding-right: var(--padding-btn-sm); font-size: var(--font-sm); }
|
|
22
|
+
.input-lg { height: var(--size-lg); padding-left: 20px; padding-right: 20px; font-size: var(--font-lg); }
|
|
23
|
+
|
|
24
|
+
/* Color variants */
|
|
25
|
+
.input-primary { border-width: var(--border-btn); border-color: var(--color-primary); }
|
|
26
|
+
.input-secondary { border-width: var(--border-btn); border-color: var(--color-secondary); }
|
|
27
|
+
.input-accent { border-width: var(--border-btn); border-color: var(--color-accent); }
|
|
28
|
+
.input-info { border-width: var(--border-btn); border-color: var(--color-info); }
|
|
29
|
+
.input-success { border-width: var(--border-btn); border-color: var(--color-success); }
|
|
30
|
+
.input-warning { border-width: var(--border-btn); border-color: var(--color-warning); }
|
|
31
|
+
.input-error { border-width: var(--border-btn); border-color: var(--color-error); }
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/* Loading — .loading + type variants */
|
|
2
|
+
|
|
3
|
+
@keyframes spin {
|
|
4
|
+
0% { transform: rotateZ(0deg); }
|
|
5
|
+
100% { transform: rotateZ(360deg); }
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.loading {
|
|
9
|
+
width: var(--checkbox-md);
|
|
10
|
+
height: var(--checkbox-md);
|
|
11
|
+
border-radius: 9999px;
|
|
12
|
+
border-width: 3px;
|
|
13
|
+
border-color: transparent;
|
|
14
|
+
border-top-color: var(--color-base-300);
|
|
15
|
+
background-color: transparent;
|
|
16
|
+
align-self: center;
|
|
17
|
+
flex-shrink: 0;
|
|
18
|
+
flex-grow: 0;
|
|
19
|
+
animation: spin 800ms linear infinite;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/* Size variants */
|
|
23
|
+
.loading-xs { width: var(--checkbox-xs); height: var(--checkbox-xs); border-width: 2px; }
|
|
24
|
+
.loading-sm { width: var(--checkbox-sm); height: var(--checkbox-sm); border-width: 2px; }
|
|
25
|
+
.loading-lg { width: var(--step-indicator); height: var(--step-indicator); border-width: 4px; }
|
|
26
|
+
|
|
27
|
+
/* Type variants (visual distinction where possible) */
|
|
28
|
+
.loading-spinner { border-radius: 9999px; }
|
|
29
|
+
.loading-dots { border-radius: 4px; }
|
|
30
|
+
.loading-ring { border-radius: 9999px; border-width: 2px; }
|
|
31
|
+
.loading-ball { border-radius: 9999px; }
|
|
32
|
+
.loading-bars { border-radius: 2px; }
|
|
33
|
+
.loading-infinity { border-radius: 9999px; }
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/* Modal — overlay, box, header, body, actions */
|
|
2
|
+
|
|
3
|
+
.modal-overlay {
|
|
4
|
+
position: fixed;
|
|
5
|
+
top: 0;
|
|
6
|
+
left: 0;
|
|
7
|
+
right: 0;
|
|
8
|
+
bottom: 0;
|
|
9
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
10
|
+
display: flex;
|
|
11
|
+
justify-content: center;
|
|
12
|
+
align-items: center;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.modal-box {
|
|
16
|
+
max-width: var(--modal-max-width);
|
|
17
|
+
width: 90%;
|
|
18
|
+
border-radius: var(--rounded-box);
|
|
19
|
+
background-color: var(--color-base-200);
|
|
20
|
+
padding: 0;
|
|
21
|
+
overflow: hidden;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.modal-header {
|
|
25
|
+
padding: var(--padding-box);
|
|
26
|
+
padding-bottom: var(--padding-box-compact);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.modal-body {
|
|
30
|
+
padding: var(--padding-box);
|
|
31
|
+
padding-top: var(--padding-box-compact);
|
|
32
|
+
padding-bottom: var(--padding-box-compact);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.modal-action {
|
|
36
|
+
padding: var(--padding-box);
|
|
37
|
+
padding-top: var(--padding-box-compact);
|
|
38
|
+
flex-direction: row;
|
|
39
|
+
justify-content: flex-end;
|
|
40
|
+
gap: var(--gap-box);
|
|
41
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/* Progress — .progress track + bar */
|
|
2
|
+
|
|
3
|
+
.progress {
|
|
4
|
+
height: var(--progress-height);
|
|
5
|
+
border-radius: 9999px;
|
|
6
|
+
background-color: var(--color-base-200);
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
align-self: stretch;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.progress-bar {
|
|
12
|
+
height: var(--progress-height);
|
|
13
|
+
border-radius: 9999px;
|
|
14
|
+
background-color: var(--color-primary);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* Color variants */
|
|
18
|
+
.progress-primary .progress-bar { background-color: var(--color-primary); }
|
|
19
|
+
.progress-secondary .progress-bar { background-color: var(--color-secondary); }
|
|
20
|
+
.progress-accent .progress-bar { background-color: var(--color-accent); }
|
|
21
|
+
.progress-info .progress-bar { background-color: var(--color-info); }
|
|
22
|
+
.progress-success .progress-bar { background-color: var(--color-success); }
|
|
23
|
+
.progress-warning .progress-bar { background-color: var(--color-warning); }
|
|
24
|
+
.progress-error .progress-bar { background-color: var(--color-error); }
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/* Radio — .radio + colors, checked state */
|
|
2
|
+
|
|
3
|
+
.radio {
|
|
4
|
+
width: var(--checkbox-md);
|
|
5
|
+
height: var(--checkbox-md);
|
|
6
|
+
border-radius: 9999px;
|
|
7
|
+
border-width: 2px;
|
|
8
|
+
border-color: var(--color-base-300);
|
|
9
|
+
background-color: transparent;
|
|
10
|
+
justify-content: center;
|
|
11
|
+
align-items: center;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/* Size variants */
|
|
15
|
+
.radio-xs { width: var(--checkbox-xs); height: var(--checkbox-xs); }
|
|
16
|
+
.radio-sm { width: var(--checkbox-sm); height: var(--checkbox-sm); }
|
|
17
|
+
.radio-lg { width: var(--checkbox-lg); height: var(--checkbox-lg); }
|
|
18
|
+
|
|
19
|
+
/* Inner dot (when checked) */
|
|
20
|
+
.radio-mark {
|
|
21
|
+
width: 10px;
|
|
22
|
+
height: 10px;
|
|
23
|
+
border-radius: 9999px;
|
|
24
|
+
background-color: var(--color-primary);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/* Color variants */
|
|
28
|
+
.radio-primary { border-color: var(--color-primary); }
|
|
29
|
+
.radio-primary .radio-mark { background-color: var(--color-primary); }
|
|
30
|
+
.radio-secondary { border-color: var(--color-secondary); }
|
|
31
|
+
.radio-secondary .radio-mark { background-color: var(--color-secondary); }
|
|
32
|
+
.radio-accent { border-color: var(--color-accent); }
|
|
33
|
+
.radio-accent .radio-mark { background-color: var(--color-accent); }
|
|
34
|
+
.radio-info { border-color: var(--color-info); }
|
|
35
|
+
.radio-info .radio-mark { background-color: var(--color-info); }
|
|
36
|
+
.radio-success { border-color: var(--color-success); }
|
|
37
|
+
.radio-success .radio-mark { background-color: var(--color-success); }
|
|
38
|
+
.radio-warning { border-color: var(--color-warning); }
|
|
39
|
+
.radio-warning .radio-mark { background-color: var(--color-warning); }
|
|
40
|
+
.radio-error { border-color: var(--color-error); }
|
|
41
|
+
.radio-error .radio-mark { background-color: var(--color-error); }
|
|
42
|
+
|
|
43
|
+
/* Checked state — border matches color */
|
|
44
|
+
.radio-checked { border-color: var(--color-primary); }
|
|
45
|
+
.radio-checked.radio-secondary { border-color: var(--color-secondary); }
|
|
46
|
+
.radio-checked.radio-accent { border-color: var(--color-accent); }
|
|
47
|
+
.radio-checked.radio-info { border-color: var(--color-info); }
|
|
48
|
+
.radio-checked.radio-success { border-color: var(--color-success); }
|
|
49
|
+
.radio-checked.radio-warning { border-color: var(--color-warning); }
|
|
50
|
+
.radio-checked.radio-error { border-color: var(--color-error); }
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/* Select — .select + dropdown, options */
|
|
2
|
+
|
|
3
|
+
.select {
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: row;
|
|
6
|
+
align-items: center;
|
|
7
|
+
height: var(--size-md);
|
|
8
|
+
padding-left: var(--padding-btn-md);
|
|
9
|
+
padding-right: var(--padding-btn-md);
|
|
10
|
+
border-radius: var(--rounded-btn);
|
|
11
|
+
font-size: var(--font-md);
|
|
12
|
+
background-color: var(--color-base-100);
|
|
13
|
+
color: var(--color-base-content);
|
|
14
|
+
border-width: 0;
|
|
15
|
+
border-color: transparent;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/* Variants */
|
|
19
|
+
.select-bordered { border-width: var(--border-btn); border-color: var(--color-base-300); }
|
|
20
|
+
.select-ghost { background-color: transparent; }
|
|
21
|
+
|
|
22
|
+
/* Sizes */
|
|
23
|
+
.select-xs { height: var(--size-xs); padding-left: var(--padding-btn-xs); padding-right: var(--padding-btn-xs); font-size: var(--font-xs); }
|
|
24
|
+
.select-sm { height: var(--size-sm); padding-left: var(--padding-btn-sm); padding-right: var(--padding-btn-sm); font-size: var(--font-sm); }
|
|
25
|
+
.select-lg { height: var(--size-lg); padding-left: 20px; padding-right: 20px; font-size: var(--font-lg); }
|
|
26
|
+
|
|
27
|
+
/* Color variants */
|
|
28
|
+
.select-primary { border-width: var(--border-btn); border-color: var(--color-primary); }
|
|
29
|
+
.select-secondary { border-width: var(--border-btn); border-color: var(--color-secondary); }
|
|
30
|
+
.select-accent { border-width: var(--border-btn); border-color: var(--color-accent); }
|
|
31
|
+
.select-info { border-width: var(--border-btn); border-color: var(--color-info); }
|
|
32
|
+
.select-success { border-width: var(--border-btn); border-color: var(--color-success); }
|
|
33
|
+
.select-warning { border-width: var(--border-btn); border-color: var(--color-warning); }
|
|
34
|
+
.select-error { border-width: var(--border-btn); border-color: var(--color-error); }
|
|
35
|
+
|
|
36
|
+
/* Dropdown */
|
|
37
|
+
.select-dropdown {
|
|
38
|
+
background-color: var(--color-base-100);
|
|
39
|
+
border-width: var(--border-btn);
|
|
40
|
+
border-color: var(--color-base-300);
|
|
41
|
+
border-radius: var(--rounded-btn);
|
|
42
|
+
overflow: hidden;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* Options */
|
|
46
|
+
.select-option {
|
|
47
|
+
padding: 12px;
|
|
48
|
+
padding-left: var(--padding-btn-md);
|
|
49
|
+
padding-right: var(--padding-btn-md);
|
|
50
|
+
color: var(--color-base-content);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.select-option-active {
|
|
54
|
+
background-color: var(--color-primary);
|
|
55
|
+
color: var(--color-primary-content);
|
|
56
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/* Steps — .steps, .step, .step-indicator */
|
|
2
|
+
|
|
3
|
+
.steps {
|
|
4
|
+
gap: 4px;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.steps-horizontal {
|
|
8
|
+
flex-direction: row;
|
|
9
|
+
align-items: center;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.steps-vertical {
|
|
13
|
+
flex-direction: column;
|
|
14
|
+
align-items: flex-start;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.step {
|
|
18
|
+
flex-direction: column;
|
|
19
|
+
align-items: center;
|
|
20
|
+
flex: 1;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.step-indicator {
|
|
24
|
+
width: var(--step-indicator);
|
|
25
|
+
height: var(--step-indicator);
|
|
26
|
+
border-radius: 9999px;
|
|
27
|
+
background-color: var(--color-base-300);
|
|
28
|
+
justify-content: center;
|
|
29
|
+
align-items: center;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* Color variants */
|
|
33
|
+
.step-primary .step-indicator { background-color: var(--color-primary); color: var(--color-primary-content); }
|
|
34
|
+
.step-secondary .step-indicator { background-color: var(--color-secondary); color: var(--color-secondary-content); }
|
|
35
|
+
.step-accent .step-indicator { background-color: var(--color-accent); color: var(--color-accent-content); }
|
|
36
|
+
.step-neutral .step-indicator { background-color: var(--color-neutral); color: var(--color-neutral-content); }
|
|
37
|
+
.step-info .step-indicator { background-color: var(--color-info); color: var(--color-info-content); }
|
|
38
|
+
.step-success .step-indicator { background-color: var(--color-success); color: var(--color-success-content); }
|
|
39
|
+
.step-warning .step-indicator { background-color: var(--color-warning); color: var(--color-warning-content); }
|
|
40
|
+
.step-error .step-indicator { background-color: var(--color-error); color: var(--color-error-content); }
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/* Tabs — .tabs, .tab, .tab-active */
|
|
2
|
+
|
|
3
|
+
.tabs {
|
|
4
|
+
flex-direction: row;
|
|
5
|
+
border-bottom-width: 1px;
|
|
6
|
+
border-bottom-color: var(--color-base-300);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.tab {
|
|
10
|
+
padding-left: var(--padding-btn-md);
|
|
11
|
+
padding-right: var(--padding-btn-md);
|
|
12
|
+
padding-top: var(--padding-btn-xs);
|
|
13
|
+
padding-bottom: var(--padding-btn-xs);
|
|
14
|
+
border-bottom-width: 0;
|
|
15
|
+
border-bottom-color: transparent;
|
|
16
|
+
color: var(--color-base-content);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.tab-active {
|
|
20
|
+
border-bottom-width: 2px;
|
|
21
|
+
border-bottom-color: var(--color-primary);
|
|
22
|
+
color: var(--color-primary);
|
|
23
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/* Textarea — .textarea + variants, sizes */
|
|
2
|
+
|
|
3
|
+
.textarea {
|
|
4
|
+
padding: 12px;
|
|
5
|
+
padding-left: var(--padding-btn-md);
|
|
6
|
+
padding-right: var(--padding-btn-md);
|
|
7
|
+
border-radius: var(--rounded-btn);
|
|
8
|
+
font-size: var(--font-md);
|
|
9
|
+
background-color: var(--color-base-100);
|
|
10
|
+
color: var(--color-base-content);
|
|
11
|
+
border-width: 0;
|
|
12
|
+
border-color: transparent;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* Variants */
|
|
16
|
+
.textarea-bordered { border-width: var(--border-btn); border-color: var(--color-base-300); }
|
|
17
|
+
.textarea-ghost { background-color: transparent; }
|
|
18
|
+
|
|
19
|
+
/* Sizes */
|
|
20
|
+
.textarea-xs { padding: var(--padding-btn-xs); font-size: var(--font-xs); }
|
|
21
|
+
.textarea-sm { padding: 10px; font-size: var(--font-sm); }
|
|
22
|
+
.textarea-lg { padding: var(--padding-btn-md); font-size: var(--font-lg); }
|
|
23
|
+
|
|
24
|
+
/* Color variants */
|
|
25
|
+
.textarea-primary { border-width: var(--border-btn); border-color: var(--color-primary); }
|
|
26
|
+
.textarea-secondary { border-width: var(--border-btn); border-color: var(--color-secondary); }
|
|
27
|
+
.textarea-accent { border-width: var(--border-btn); border-color: var(--color-accent); }
|
|
28
|
+
.textarea-info { border-width: var(--border-btn); border-color: var(--color-info); }
|
|
29
|
+
.textarea-success { border-width: var(--border-btn); border-color: var(--color-success); }
|
|
30
|
+
.textarea-warning { border-width: var(--border-btn); border-color: var(--color-warning); }
|
|
31
|
+
.textarea-error { border-width: var(--border-btn); border-color: var(--color-error); }
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/* Toggle — .toggle track + .toggle-thumb */
|
|
2
|
+
|
|
3
|
+
.toggle {
|
|
4
|
+
justify-content: center;
|
|
5
|
+
padding-left: 4px;
|
|
6
|
+
padding-right: 4px;
|
|
7
|
+
background-color: var(--color-base-300);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* Size variants — track dimensions */
|
|
11
|
+
.toggle-xs { width: var(--toggle-width-xs); height: var(--toggle-height-xs); border-radius: var(--rounded-toggle); }
|
|
12
|
+
.toggle-sm { width: var(--toggle-width-sm); height: var(--toggle-height-sm); border-radius: var(--rounded-toggle); }
|
|
13
|
+
.toggle-md { width: var(--toggle-width-md); height: var(--toggle-height-md); border-radius: var(--rounded-toggle); }
|
|
14
|
+
.toggle-lg { width: var(--toggle-width-lg); height: var(--toggle-height-lg); border-radius: var(--rounded-toggle); }
|
|
15
|
+
|
|
16
|
+
/* Thumb */
|
|
17
|
+
.toggle-thumb {
|
|
18
|
+
background-color: var(--color-base-100);
|
|
19
|
+
border-radius: 9999px;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.toggle-xs .toggle-thumb { width: var(--toggle-thumb-xs); height: var(--toggle-thumb-xs); }
|
|
23
|
+
.toggle-sm .toggle-thumb { width: var(--toggle-thumb-sm); height: var(--toggle-thumb-sm); }
|
|
24
|
+
.toggle-md .toggle-thumb { width: var(--toggle-thumb-md); height: var(--toggle-thumb-md); }
|
|
25
|
+
.toggle-lg .toggle-thumb { width: var(--toggle-thumb-lg); height: var(--toggle-thumb-lg); }
|
|
26
|
+
|
|
27
|
+
/* Checked state */
|
|
28
|
+
.toggle-checked { background-color: var(--color-primary); }
|
|
29
|
+
.toggle-checked.toggle-secondary { background-color: var(--color-secondary); }
|
|
30
|
+
.toggle-checked.toggle-accent { background-color: var(--color-accent); }
|
|
31
|
+
.toggle-checked.toggle-info { background-color: var(--color-info); }
|
|
32
|
+
.toggle-checked.toggle-success { background-color: var(--color-success); }
|
|
33
|
+
.toggle-checked.toggle-warning { background-color: var(--color-warning); }
|
|
34
|
+
.toggle-checked.toggle-error { background-color: var(--color-error); }
|
|
35
|
+
|
|
36
|
+
/* Color variants (checked) */
|
|
37
|
+
.toggle-primary.toggle-checked { background-color: var(--color-primary); }
|
|
38
|
+
.toggle-secondary.toggle-checked { background-color: var(--color-secondary); }
|
|
39
|
+
.toggle-accent.toggle-checked { background-color: var(--color-accent); }
|
|
40
|
+
.toggle-info.toggle-checked { background-color: var(--color-info); }
|
|
41
|
+
.toggle-success.toggle-checked { background-color: var(--color-success); }
|
|
42
|
+
.toggle-warning.toggle-checked { background-color: var(--color-warning); }
|
|
43
|
+
.toggle-error.toggle-checked { background-color: var(--color-error); }
|
|
44
|
+
|
|
45
|
+
/* Disabled */
|
|
46
|
+
.toggle-disabled { opacity: var(--disabled-opacity); }
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/* Typography — text color utilities for semantic colors */
|
|
2
|
+
|
|
3
|
+
.text-primary { color: var(--color-primary); }
|
|
4
|
+
.text-primary-content { color: var(--color-primary-content); }
|
|
5
|
+
.text-secondary { color: var(--color-secondary); }
|
|
6
|
+
.text-secondary-content { color: var(--color-secondary-content); }
|
|
7
|
+
.text-accent { color: var(--color-accent); }
|
|
8
|
+
.text-accent-content { color: var(--color-accent-content); }
|
|
9
|
+
.text-neutral { color: var(--color-neutral); }
|
|
10
|
+
.text-neutral-content { color: var(--color-neutral-content); }
|
|
11
|
+
.text-base-content { color: var(--color-base-content); }
|
|
12
|
+
.text-info { color: var(--color-info); }
|
|
13
|
+
.text-info-content { color: var(--color-info-content); }
|
|
14
|
+
.text-success { color: var(--color-success); }
|
|
15
|
+
.text-success-content { color: var(--color-success-content); }
|
|
16
|
+
.text-warning { color: var(--color-warning); }
|
|
17
|
+
.text-warning-content { color: var(--color-warning-content); }
|
|
18
|
+
.text-error { color: var(--color-error); }
|
|
19
|
+
.text-error-content { color: var(--color-error-content); }
|
|
20
|
+
|
|
21
|
+
/* Background color utilities for semantic colors */
|
|
22
|
+
.bg-primary { background-color: var(--color-primary); }
|
|
23
|
+
.bg-secondary { background-color: var(--color-secondary); }
|
|
24
|
+
.bg-accent { background-color: var(--color-accent); }
|
|
25
|
+
.bg-neutral { background-color: var(--color-neutral); }
|
|
26
|
+
.bg-base-100 { background-color: var(--color-base-100); }
|
|
27
|
+
.bg-base-200 { background-color: var(--color-base-200); }
|
|
28
|
+
.bg-base-300 { background-color: var(--color-base-300); }
|
|
29
|
+
.bg-info { background-color: var(--color-info); }
|
|
30
|
+
.bg-success { background-color: var(--color-success); }
|
|
31
|
+
.bg-warning { background-color: var(--color-warning); }
|
|
32
|
+
.bg-error { background-color: var(--color-error); }
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/* @sigx/lynx-daisyui — all themes + component styles */
|
|
2
|
+
|
|
3
|
+
/* Themes */
|
|
4
|
+
@import './themes/light.css';
|
|
5
|
+
@import './themes/dark.css';
|
|
6
|
+
@import './themes/shapes.css';
|
|
7
|
+
|
|
8
|
+
/* Base reset */
|
|
9
|
+
@import './base.css';
|
|
10
|
+
|
|
11
|
+
/* Components */
|
|
12
|
+
@import './components/button.css';
|
|
13
|
+
@import './components/card.css';
|
|
14
|
+
@import './components/badge.css';
|
|
15
|
+
@import './components/alert.css';
|
|
16
|
+
@import './components/checkbox.css';
|
|
17
|
+
@import './components/toggle.css';
|
|
18
|
+
@import './components/radio.css';
|
|
19
|
+
@import './components/input.css';
|
|
20
|
+
@import './components/textarea.css';
|
|
21
|
+
@import './components/select.css';
|
|
22
|
+
@import './components/form-field.css';
|
|
23
|
+
@import './components/progress.css';
|
|
24
|
+
@import './components/loading.css';
|
|
25
|
+
@import './components/modal.css';
|
|
26
|
+
@import './components/tabs.css';
|
|
27
|
+
@import './components/steps.css';
|
|
28
|
+
@import './components/avatar.css';
|
|
29
|
+
@import './components/skeleton.css';
|
|
30
|
+
@import './components/divider.css';
|
|
31
|
+
@import './components/typography.css';
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/* DaisyUI Dark Theme — overrides only color tokens */
|
|
2
|
+
/* Scoped under .daisy-dark; CSS inheritance propagates to descendants */
|
|
3
|
+
|
|
4
|
+
.daisy-dark {
|
|
5
|
+
/* Apply base colors to the theme root */
|
|
6
|
+
background-color: #1d232a;
|
|
7
|
+
color: #a6adbb;
|
|
8
|
+
|
|
9
|
+
/* Semantic colors */
|
|
10
|
+
--color-primary: #7582ff;
|
|
11
|
+
--color-primary-content: #050617;
|
|
12
|
+
--color-secondary: #ff71cf;
|
|
13
|
+
--color-secondary-content: #190211;
|
|
14
|
+
--color-accent: #00e7d0;
|
|
15
|
+
--color-accent-content: #001210;
|
|
16
|
+
--color-neutral: #2a323c;
|
|
17
|
+
--color-neutral-content: #a6adbb;
|
|
18
|
+
|
|
19
|
+
/* Base colors */
|
|
20
|
+
--color-base-100: #1d232a;
|
|
21
|
+
--color-base-200: #191e24;
|
|
22
|
+
--color-base-300: #343b46;
|
|
23
|
+
--color-base-content: #a6adbb;
|
|
24
|
+
|
|
25
|
+
/* Status colors */
|
|
26
|
+
--color-info: #00b4fa;
|
|
27
|
+
--color-info-content: #000000;
|
|
28
|
+
--color-success: #00a96e;
|
|
29
|
+
--color-success-content: #000000;
|
|
30
|
+
--color-warning: #ffc100;
|
|
31
|
+
--color-warning-content: #000000;
|
|
32
|
+
--color-error: #ff676a;
|
|
33
|
+
--color-error-content: #000000;
|
|
34
|
+
|
|
35
|
+
/* ── Roundness ── */
|
|
36
|
+
--rounded-box: 16px;
|
|
37
|
+
--rounded-btn: 8px;
|
|
38
|
+
--rounded-badge: 9999px;
|
|
39
|
+
--rounded-tab: 8px;
|
|
40
|
+
--rounded-selector: 8px;
|
|
41
|
+
--rounded-toggle: 9999px;
|
|
42
|
+
|
|
43
|
+
/* ── Sizing scale ── */
|
|
44
|
+
--size-xs: 24px;
|
|
45
|
+
--size-sm: 32px;
|
|
46
|
+
--size-md: 48px;
|
|
47
|
+
--size-lg: 64px;
|
|
48
|
+
|
|
49
|
+
/* ── Font sizes ── */
|
|
50
|
+
--font-xs: 12px;
|
|
51
|
+
--font-sm: 14px;
|
|
52
|
+
--font-md: 14px;
|
|
53
|
+
--font-lg: 18px;
|
|
54
|
+
|
|
55
|
+
/* ── Spacing ── */
|
|
56
|
+
--padding-btn-xs: 8px;
|
|
57
|
+
--padding-btn-sm: 12px;
|
|
58
|
+
--padding-btn-md: 16px;
|
|
59
|
+
--padding-btn-lg: 24px;
|
|
60
|
+
--padding-box: 16px;
|
|
61
|
+
--padding-box-compact: 8px;
|
|
62
|
+
--gap-box: 8px;
|
|
63
|
+
|
|
64
|
+
/* ── Borders ── */
|
|
65
|
+
--border-btn: 1px;
|
|
66
|
+
--border-card: 1px;
|
|
67
|
+
|
|
68
|
+
/* ── Component-specific sizes ── */
|
|
69
|
+
--checkbox-xs: 16px;
|
|
70
|
+
--checkbox-sm: 20px;
|
|
71
|
+
--checkbox-md: 24px;
|
|
72
|
+
--checkbox-lg: 32px;
|
|
73
|
+
--toggle-width-xs: 32px;
|
|
74
|
+
--toggle-width-sm: 40px;
|
|
75
|
+
--toggle-width-md: 48px;
|
|
76
|
+
--toggle-width-lg: 56px;
|
|
77
|
+
--toggle-height-xs: 22px;
|
|
78
|
+
--toggle-height-sm: 24px;
|
|
79
|
+
--toggle-height-md: 28px;
|
|
80
|
+
--toggle-height-lg: 32px;
|
|
81
|
+
--toggle-thumb-xs: 14px;
|
|
82
|
+
--toggle-thumb-sm: 16px;
|
|
83
|
+
--toggle-thumb-md: 20px;
|
|
84
|
+
--toggle-thumb-lg: 24px;
|
|
85
|
+
--badge-xs: 16px;
|
|
86
|
+
--badge-sm: 20px;
|
|
87
|
+
--badge-md: 24px;
|
|
88
|
+
--badge-lg: 32px;
|
|
89
|
+
--step-indicator: 32px;
|
|
90
|
+
--progress-height: 8px;
|
|
91
|
+
--modal-max-width: 400px;
|
|
92
|
+
|
|
93
|
+
/* ── Opacity ── */
|
|
94
|
+
--disabled-opacity: 0.5;
|
|
95
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/* DaisyUI Light Theme — design tokens as CSS custom properties */
|
|
2
|
+
/* Scoped under .daisy-light; CSS inheritance propagates to descendants */
|
|
3
|
+
|
|
4
|
+
.daisy-light {
|
|
5
|
+
/* Apply base colors to the theme root */
|
|
6
|
+
background-color: #ffffff;
|
|
7
|
+
color: #1f2937;
|
|
8
|
+
|
|
9
|
+
/* Semantic colors */
|
|
10
|
+
--color-primary: #491dff;
|
|
11
|
+
--color-primary-content: #d3dbff;
|
|
12
|
+
--color-secondary: #ff20cc;
|
|
13
|
+
--color-secondary-content: #fff8fc;
|
|
14
|
+
--color-accent: #00cfbd;
|
|
15
|
+
--color-accent-content: #00100d;
|
|
16
|
+
--color-neutral: #2b3440;
|
|
17
|
+
--color-neutral-content: #d7dde4;
|
|
18
|
+
|
|
19
|
+
/* Base colors */
|
|
20
|
+
--color-base-100: #ffffff;
|
|
21
|
+
--color-base-200: #f2f2f2;
|
|
22
|
+
--color-base-300: #e5e6e6;
|
|
23
|
+
--color-base-content: #1f2937;
|
|
24
|
+
|
|
25
|
+
/* Status colors */
|
|
26
|
+
--color-info: #00b4fa;
|
|
27
|
+
--color-info-content: #000000;
|
|
28
|
+
--color-success: #00a96e;
|
|
29
|
+
--color-success-content: #000000;
|
|
30
|
+
--color-warning: #ffc100;
|
|
31
|
+
--color-warning-content: #000000;
|
|
32
|
+
--color-error: #ff676a;
|
|
33
|
+
--color-error-content: #000000;
|
|
34
|
+
|
|
35
|
+
/* ── Roundness ── */
|
|
36
|
+
--rounded-box: 16px;
|
|
37
|
+
--rounded-btn: 8px;
|
|
38
|
+
--rounded-badge: 9999px;
|
|
39
|
+
--rounded-tab: 8px;
|
|
40
|
+
--rounded-selector: 8px;
|
|
41
|
+
--rounded-toggle: 9999px;
|
|
42
|
+
|
|
43
|
+
/* ── Sizing scale ── */
|
|
44
|
+
--size-xs: 24px;
|
|
45
|
+
--size-sm: 32px;
|
|
46
|
+
--size-md: 48px;
|
|
47
|
+
--size-lg: 64px;
|
|
48
|
+
|
|
49
|
+
/* ── Font sizes ── */
|
|
50
|
+
--font-xs: 12px;
|
|
51
|
+
--font-sm: 14px;
|
|
52
|
+
--font-md: 14px;
|
|
53
|
+
--font-lg: 18px;
|
|
54
|
+
|
|
55
|
+
/* ── Spacing ── */
|
|
56
|
+
--padding-btn-xs: 8px;
|
|
57
|
+
--padding-btn-sm: 12px;
|
|
58
|
+
--padding-btn-md: 16px;
|
|
59
|
+
--padding-btn-lg: 24px;
|
|
60
|
+
--padding-box: 16px;
|
|
61
|
+
--padding-box-compact: 8px;
|
|
62
|
+
--gap-box: 8px;
|
|
63
|
+
|
|
64
|
+
/* ── Borders ── */
|
|
65
|
+
--border-btn: 1px;
|
|
66
|
+
--border-card: 1px;
|
|
67
|
+
|
|
68
|
+
/* ── Component-specific sizes ── */
|
|
69
|
+
--checkbox-xs: 16px;
|
|
70
|
+
--checkbox-sm: 20px;
|
|
71
|
+
--checkbox-md: 24px;
|
|
72
|
+
--checkbox-lg: 32px;
|
|
73
|
+
--toggle-width-xs: 32px;
|
|
74
|
+
--toggle-width-sm: 40px;
|
|
75
|
+
--toggle-width-md: 48px;
|
|
76
|
+
--toggle-width-lg: 56px;
|
|
77
|
+
--toggle-height-xs: 22px;
|
|
78
|
+
--toggle-height-sm: 24px;
|
|
79
|
+
--toggle-height-md: 28px;
|
|
80
|
+
--toggle-height-lg: 32px;
|
|
81
|
+
--toggle-thumb-xs: 14px;
|
|
82
|
+
--toggle-thumb-sm: 16px;
|
|
83
|
+
--toggle-thumb-md: 20px;
|
|
84
|
+
--toggle-thumb-lg: 24px;
|
|
85
|
+
--badge-xs: 16px;
|
|
86
|
+
--badge-sm: 20px;
|
|
87
|
+
--badge-md: 24px;
|
|
88
|
+
--badge-lg: 32px;
|
|
89
|
+
--step-indicator: 32px;
|
|
90
|
+
--progress-height: 8px;
|
|
91
|
+
--modal-max-width: 400px;
|
|
92
|
+
|
|
93
|
+
/* ── Opacity ── */
|
|
94
|
+
--disabled-opacity: 0.5;
|
|
95
|
+
}
|