dalila 1.5.13 → 1.7.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 (137) hide show
  1. package/README.md +47 -0
  2. package/dist/componentes/ui/accordion/index.d.ts +2 -0
  3. package/dist/componentes/ui/accordion/index.js +114 -0
  4. package/dist/componentes/ui/calendar/index.d.ts +2 -0
  5. package/dist/componentes/ui/calendar/index.js +132 -0
  6. package/dist/componentes/ui/combobox/index.d.ts +2 -0
  7. package/dist/componentes/ui/combobox/index.js +161 -0
  8. package/dist/componentes/ui/dialog/index.d.ts +10 -0
  9. package/dist/componentes/ui/dialog/index.js +54 -0
  10. package/dist/componentes/ui/drawer/index.d.ts +2 -0
  11. package/dist/componentes/ui/drawer/index.js +41 -0
  12. package/dist/componentes/ui/dropdown/index.d.ts +2 -0
  13. package/dist/componentes/ui/dropdown/index.js +48 -0
  14. package/dist/componentes/ui/dropzone/index.d.ts +2 -0
  15. package/dist/componentes/ui/dropzone/index.js +92 -0
  16. package/dist/componentes/ui/env.d.ts +1 -0
  17. package/dist/componentes/ui/env.js +2 -0
  18. package/dist/componentes/ui/index.d.ts +13 -0
  19. package/dist/componentes/ui/index.js +12 -0
  20. package/dist/componentes/ui/popover/index.d.ts +2 -0
  21. package/dist/componentes/ui/popover/index.js +156 -0
  22. package/dist/componentes/ui/runtime.d.ts +20 -0
  23. package/dist/componentes/ui/runtime.js +421 -0
  24. package/dist/componentes/ui/tabs/index.d.ts +3 -0
  25. package/dist/componentes/ui/tabs/index.js +101 -0
  26. package/dist/componentes/ui/toast/index.d.ts +3 -0
  27. package/dist/componentes/ui/toast/index.js +115 -0
  28. package/dist/componentes/ui/ui-types.d.ts +175 -0
  29. package/dist/componentes/ui/ui-types.js +1 -0
  30. package/dist/componentes/ui/validate.d.ts +7 -0
  31. package/dist/componentes/ui/validate.js +71 -0
  32. package/dist/components/ui/accordion/index.d.ts +2 -0
  33. package/dist/components/ui/accordion/index.js +114 -0
  34. package/dist/components/ui/calendar/index.d.ts +2 -0
  35. package/dist/components/ui/calendar/index.js +132 -0
  36. package/dist/components/ui/combobox/index.d.ts +2 -0
  37. package/dist/components/ui/combobox/index.js +161 -0
  38. package/dist/components/ui/dialog/index.d.ts +10 -0
  39. package/dist/components/ui/dialog/index.js +54 -0
  40. package/dist/components/ui/drawer/index.d.ts +2 -0
  41. package/dist/components/ui/drawer/index.js +41 -0
  42. package/dist/components/ui/dropdown/index.d.ts +2 -0
  43. package/dist/components/ui/dropdown/index.js +48 -0
  44. package/dist/components/ui/dropzone/index.d.ts +2 -0
  45. package/dist/components/ui/dropzone/index.js +92 -0
  46. package/dist/components/ui/env.d.ts +1 -0
  47. package/dist/components/ui/env.js +2 -0
  48. package/dist/components/ui/index.d.ts +13 -0
  49. package/dist/components/ui/index.js +12 -0
  50. package/dist/components/ui/popover/index.d.ts +2 -0
  51. package/dist/components/ui/popover/index.js +156 -0
  52. package/dist/components/ui/runtime.d.ts +20 -0
  53. package/dist/components/ui/runtime.js +421 -0
  54. package/dist/components/ui/tabs/index.d.ts +3 -0
  55. package/dist/components/ui/tabs/index.js +101 -0
  56. package/dist/components/ui/toast/index.d.ts +3 -0
  57. package/dist/components/ui/toast/index.js +115 -0
  58. package/dist/components/ui/ui-types.d.ts +175 -0
  59. package/dist/components/ui/ui-types.js +1 -0
  60. package/dist/components/ui/validate.d.ts +7 -0
  61. package/dist/components/ui/validate.js +71 -0
  62. package/dist/form/form-types.d.ts +181 -0
  63. package/dist/form/form-types.js +4 -0
  64. package/dist/form/form.d.ts +71 -0
  65. package/dist/form/form.js +1073 -0
  66. package/dist/form/index.d.ts +2 -0
  67. package/dist/form/index.js +2 -0
  68. package/dist/index.d.ts +1 -0
  69. package/dist/index.js +1 -0
  70. package/dist/runtime/bind.js +567 -9
  71. package/dist/ui/accordion.d.ts +2 -0
  72. package/dist/ui/accordion.js +114 -0
  73. package/dist/ui/calendar.d.ts +2 -0
  74. package/dist/ui/calendar.js +132 -0
  75. package/dist/ui/combobox.d.ts +2 -0
  76. package/dist/ui/combobox.js +161 -0
  77. package/dist/ui/dialog.d.ts +10 -0
  78. package/dist/ui/dialog.js +54 -0
  79. package/dist/ui/drawer.d.ts +2 -0
  80. package/dist/ui/drawer.js +41 -0
  81. package/dist/ui/dropdown.d.ts +2 -0
  82. package/dist/ui/dropdown.js +48 -0
  83. package/dist/ui/dropzone.d.ts +2 -0
  84. package/dist/ui/dropzone.js +92 -0
  85. package/dist/ui/env.d.ts +1 -0
  86. package/dist/ui/env.js +2 -0
  87. package/dist/ui/index.d.ts +13 -0
  88. package/dist/ui/index.js +12 -0
  89. package/dist/ui/popover.d.ts +2 -0
  90. package/dist/ui/popover.js +156 -0
  91. package/dist/ui/runtime.d.ts +20 -0
  92. package/dist/ui/runtime.js +421 -0
  93. package/dist/ui/tabs.d.ts +3 -0
  94. package/dist/ui/tabs.js +101 -0
  95. package/dist/ui/toast.d.ts +3 -0
  96. package/dist/ui/toast.js +115 -0
  97. package/dist/ui/ui-types.d.ts +175 -0
  98. package/dist/ui/ui-types.js +1 -0
  99. package/dist/ui/validate.d.ts +7 -0
  100. package/dist/ui/validate.js +71 -0
  101. package/package.json +60 -2
  102. package/src/components/ui/accordion/accordion.css +90 -0
  103. package/src/components/ui/alert/alert.css +78 -0
  104. package/src/components/ui/avatar/avatar.css +45 -0
  105. package/src/components/ui/badge/badge.css +71 -0
  106. package/src/components/ui/breadcrumb/breadcrumb.css +41 -0
  107. package/src/components/ui/button/button.css +135 -0
  108. package/src/components/ui/calendar/calendar.css +96 -0
  109. package/src/components/ui/card/card.css +93 -0
  110. package/src/components/ui/checkbox/checkbox.css +57 -0
  111. package/src/components/ui/chip/chip.css +62 -0
  112. package/src/components/ui/collapsible/collapsible.css +61 -0
  113. package/src/components/ui/combobox/combobox.css +85 -0
  114. package/src/components/ui/dalila/dalila.css +42 -0
  115. package/src/components/ui/dalila-core/dalila-core.css +14 -0
  116. package/src/components/ui/dialog/dialog.css +125 -0
  117. package/src/components/ui/drawer/drawer.css +122 -0
  118. package/src/components/ui/dropdown/dropdown.css +87 -0
  119. package/src/components/ui/dropzone/dropzone.css +47 -0
  120. package/src/components/ui/empty-state/empty-state.css +33 -0
  121. package/src/components/ui/form/form.css +44 -0
  122. package/src/components/ui/input/input.css +106 -0
  123. package/src/components/ui/layout/layout.css +62 -0
  124. package/src/components/ui/pagination/pagination.css +55 -0
  125. package/src/components/ui/popover/popover.css +55 -0
  126. package/src/components/ui/radio/radio.css +56 -0
  127. package/src/components/ui/separator/separator.css +38 -0
  128. package/src/components/ui/skeleton/skeleton.css +57 -0
  129. package/src/components/ui/slider/slider.css +60 -0
  130. package/src/components/ui/spinner/spinner.css +38 -0
  131. package/src/components/ui/table/table.css +54 -0
  132. package/src/components/ui/tabs/tabs.css +74 -0
  133. package/src/components/ui/toast/toast.css +100 -0
  134. package/src/components/ui/toggle/toggle.css +90 -0
  135. package/src/components/ui/tokens/tokens.css +161 -0
  136. package/src/components/ui/tooltip/tooltip.css +53 -0
  137. package/src/components/ui/typography/typography.css +81 -0
@@ -0,0 +1,78 @@
1
+ /* Dalila UI — Alert */
2
+
3
+ .d-alert {
4
+ position: relative;
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: var(--d-space-1);
8
+
9
+ padding: var(--d-space-4) var(--d-space-5);
10
+
11
+ font-family: var(--d-font-sans);
12
+ font-size: var(--d-text-base);
13
+ color: var(--d-text-primary);
14
+
15
+ background: var(--d-surface-card);
16
+ border: 1px solid var(--d-border-color);
17
+ border-radius: var(--d-radius-md);
18
+ box-shadow: inset 3px 0 0 var(--d-accent);
19
+ }
20
+
21
+ .d-alert-title {
22
+ font-size: var(--d-text-base);
23
+ font-weight: var(--d-font-semibold);
24
+ line-height: 1.3;
25
+ }
26
+
27
+ .d-alert-text {
28
+ margin: 0;
29
+ font-size: var(--d-text-sm);
30
+ color: var(--d-text-secondary);
31
+ line-height: var(--d-leading);
32
+ }
33
+
34
+ .d-alert-success {
35
+ background: var(--d-success-light);
36
+ border-color: transparent;
37
+ box-shadow: inset 3px 0 0 var(--d-success);
38
+ }
39
+
40
+ .d-alert-error {
41
+ background: var(--d-error-light);
42
+ border-color: transparent;
43
+ box-shadow: inset 3px 0 0 var(--d-error);
44
+ }
45
+
46
+ .d-alert-warning {
47
+ background: var(--d-warning-light);
48
+ border-color: transparent;
49
+ box-shadow: inset 3px 0 0 var(--d-warning);
50
+ }
51
+
52
+ .d-alert-info {
53
+ background: var(--d-info-light);
54
+ border-color: transparent;
55
+ box-shadow: inset 3px 0 0 var(--d-info);
56
+ }
57
+
58
+ .d-alert-success .d-alert-title { color: var(--d-success); }
59
+ .d-alert-error .d-alert-title { color: var(--d-error); }
60
+ .d-alert-warning .d-alert-title { color: var(--d-warning); }
61
+ .d-alert-info .d-alert-title { color: var(--d-info); }
62
+
63
+ .d-alert-dismiss {
64
+ position: absolute;
65
+ top: var(--d-space-3);
66
+ right: var(--d-space-3);
67
+ padding: var(--d-space-1);
68
+ background: none;
69
+ border: none;
70
+ color: var(--d-text-muted);
71
+ cursor: pointer;
72
+ border-radius: var(--d-radius-sm);
73
+ transition: color var(--d-duration-fast) ease;
74
+ }
75
+
76
+ .d-alert-dismiss:hover {
77
+ color: var(--d-text-primary);
78
+ }
@@ -0,0 +1,45 @@
1
+ /* Dalila UI — Avatar */
2
+
3
+ .d-avatar {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ width: 2.5rem;
8
+ height: 2.5rem;
9
+ border-radius: 50%;
10
+ overflow: hidden;
11
+ background: var(--d-surface-raised);
12
+ border: 1px solid var(--d-border-color);
13
+ font-family: var(--d-font-sans);
14
+ font-size: var(--d-text-sm);
15
+ font-weight: var(--d-font-semibold);
16
+ color: var(--d-text-muted);
17
+ flex-shrink: 0;
18
+ }
19
+
20
+ .d-avatar img {
21
+ width: 100%;
22
+ height: 100%;
23
+ object-fit: cover;
24
+ }
25
+
26
+ .d-avatar-sm { width: 2rem; height: 2rem; font-size: var(--d-text-xs); }
27
+ .d-avatar-lg { width: 3.5rem; height: 3.5rem; font-size: var(--d-text-lg); }
28
+ .d-avatar-xl { width: 5rem; height: 5rem; font-size: var(--d-text-2xl); }
29
+
30
+ .d-avatar-square {
31
+ border-radius: var(--d-radius-md);
32
+ }
33
+
34
+ .d-avatar-group {
35
+ display: flex;
36
+ }
37
+
38
+ .d-avatar-group .d-avatar {
39
+ margin-left: -0.5rem;
40
+ border: 2px solid var(--d-surface-page);
41
+ }
42
+
43
+ .d-avatar-group .d-avatar:first-child {
44
+ margin-left: 0;
45
+ }
@@ -0,0 +1,71 @@
1
+ /* Dalila UI — Badge */
2
+
3
+ .d-badge {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ gap: var(--d-space-1);
7
+
8
+ padding: 0.2rem 0.6rem;
9
+
10
+ font-family: var(--d-font-sans);
11
+ font-size: 0.7rem;
12
+ font-weight: var(--d-font-semibold);
13
+ line-height: 1.5;
14
+ text-transform: uppercase;
15
+ letter-spacing: 0.05em;
16
+ white-space: nowrap;
17
+ color: var(--d-text-primary);
18
+
19
+ background: var(--d-surface-raised);
20
+ border: 1px solid var(--d-border-color);
21
+ border-radius: 4px;
22
+ }
23
+
24
+ .d-badge-primary {
25
+ color: #ffffff;
26
+ background: var(--d-accent);
27
+ border-color: var(--d-accent);
28
+ }
29
+
30
+ .d-badge-accent {
31
+ color: #ffffff;
32
+ background: var(--d-accent-500);
33
+ border-color: var(--d-accent-500);
34
+ }
35
+
36
+ .d-badge-success {
37
+ color: var(--d-success);
38
+ background: var(--d-success-light);
39
+ border-color: transparent;
40
+ }
41
+
42
+ .d-badge-error {
43
+ color: var(--d-error);
44
+ background: var(--d-error-light);
45
+ border-color: transparent;
46
+ }
47
+
48
+ .d-badge-warning {
49
+ color: var(--d-warning);
50
+ background: var(--d-warning-light);
51
+ border-color: transparent;
52
+ }
53
+
54
+ .d-badge-outline {
55
+ background: transparent;
56
+ }
57
+
58
+ .d-badge-solid {
59
+ color: #ffffff;
60
+ background: var(--d-gradient-brand);
61
+ border-color: transparent;
62
+ }
63
+
64
+ .d-badge-dot::before {
65
+ content: "";
66
+ width: 6px;
67
+ height: 6px;
68
+ border-radius: 50%;
69
+ background: currentColor;
70
+ flex-shrink: 0;
71
+ }
@@ -0,0 +1,41 @@
1
+ /* Dalila UI — Breadcrumb */
2
+
3
+ .d-breadcrumb {
4
+ display: flex;
5
+ align-items: center;
6
+ flex-wrap: wrap;
7
+ gap: var(--d-space-1);
8
+ font-family: var(--d-font-sans);
9
+ font-size: var(--d-text-sm);
10
+ color: var(--d-text-muted);
11
+ list-style: none;
12
+ padding: 0;
13
+ margin: 0;
14
+ }
15
+
16
+ .d-breadcrumb-item {
17
+ display: inline-flex;
18
+ align-items: center;
19
+ gap: var(--d-space-1);
20
+ }
21
+
22
+ .d-breadcrumb-item + .d-breadcrumb-item::before {
23
+ content: "/";
24
+ color: var(--d-text-muted);
25
+ margin: 0 var(--d-space-1);
26
+ }
27
+
28
+ .d-breadcrumb-item a {
29
+ color: var(--d-text-muted);
30
+ text-decoration: none;
31
+ transition: color var(--d-duration-fast) ease;
32
+ }
33
+
34
+ .d-breadcrumb-item a:hover {
35
+ color: var(--d-accent);
36
+ }
37
+
38
+ .d-breadcrumb-item:last-child {
39
+ color: var(--d-text-primary);
40
+ font-weight: var(--d-font-medium);
41
+ }
@@ -0,0 +1,135 @@
1
+ /* Dalila UI — Button */
2
+
3
+ .d-btn {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ gap: var(--d-space-2);
8
+
9
+ padding: var(--d-space-2) var(--d-space-4);
10
+ min-height: 2.25rem;
11
+
12
+ font-family: var(--d-font-sans);
13
+ font-size: var(--d-text-sm);
14
+ font-weight: var(--d-font-medium);
15
+ line-height: 1;
16
+ white-space: nowrap;
17
+ color: var(--d-text-primary);
18
+ text-decoration: none;
19
+
20
+ background: var(--d-surface-raised);
21
+ border: 1px solid var(--d-border-color);
22
+ border-radius: var(--d-radius-md);
23
+
24
+ cursor: pointer;
25
+ user-select: none;
26
+ transition: all var(--d-duration-fast) ease;
27
+ }
28
+
29
+ .d-btn:hover {
30
+ background: var(--d-accent);
31
+ border-color: var(--d-accent);
32
+ color: #fff;
33
+ }
34
+
35
+ .d-btn:active {
36
+ transform: scale(0.98);
37
+ }
38
+
39
+ .d-btn:focus-visible {
40
+ outline: none;
41
+ box-shadow: var(--d-shadow-glow);
42
+ }
43
+
44
+ .d-btn:disabled,
45
+ .d-btn[aria-disabled="true"] {
46
+ opacity: 0.5;
47
+ pointer-events: none;
48
+ }
49
+
50
+ .d-btn-primary {
51
+ color: #ffffff;
52
+ background: var(--d-accent);
53
+ border-color: var(--d-accent);
54
+ }
55
+
56
+ .d-btn-primary:hover {
57
+ background: var(--d-accent-hover);
58
+ border-color: var(--d-accent-hover);
59
+ }
60
+
61
+ .d-btn-accent {
62
+ color: #ffffff;
63
+ background: var(--d-accent-500);
64
+ border-color: var(--d-accent-500);
65
+ }
66
+
67
+ .d-btn-accent:hover {
68
+ background: var(--d-accent-600);
69
+ border-color: var(--d-accent-600);
70
+ }
71
+
72
+ .d-btn-ghost {
73
+ background: transparent;
74
+ border-color: transparent;
75
+ }
76
+
77
+ .d-btn-ghost:hover {
78
+ background: var(--d-surface-raised);
79
+ border-color: var(--d-border-color);
80
+ color: var(--d-text-primary);
81
+ }
82
+
83
+ .d-btn-danger {
84
+ color: #ffffff;
85
+ background: var(--d-error);
86
+ border-color: var(--d-error);
87
+ }
88
+
89
+ .d-btn-danger:hover {
90
+ background: #b91c1c;
91
+ border-color: #b91c1c;
92
+ }
93
+
94
+ .d-btn-sm {
95
+ padding: var(--d-space-1) var(--d-space-3);
96
+ min-height: 1.8rem;
97
+ font-size: var(--d-text-xs);
98
+ }
99
+
100
+ .d-btn-lg {
101
+ padding: var(--d-space-3) var(--d-space-6);
102
+ min-height: 2.7rem;
103
+ font-size: var(--d-text-base);
104
+ }
105
+
106
+ .d-btn-icon {
107
+ padding: var(--d-space-2);
108
+ min-height: auto;
109
+ aspect-ratio: 1;
110
+ }
111
+
112
+ .d-btn-icon svg {
113
+ width: 1.125em;
114
+ height: 1.125em;
115
+ }
116
+
117
+ .d-btn-group {
118
+ display: inline-flex;
119
+ }
120
+
121
+ .d-btn-group .d-btn {
122
+ border-radius: 0;
123
+ }
124
+
125
+ .d-btn-group .d-btn:first-child {
126
+ border-radius: var(--d-radius-md) 0 0 var(--d-radius-md);
127
+ }
128
+
129
+ .d-btn-group .d-btn:last-child {
130
+ border-radius: 0 var(--d-radius-md) var(--d-radius-md) 0;
131
+ }
132
+
133
+ .d-btn-group .d-btn + .d-btn {
134
+ border-left-width: 0;
135
+ }
@@ -0,0 +1,96 @@
1
+ /* Dalila UI — Calendar */
2
+
3
+ .d-calendar {
4
+ font-family: var(--d-font-sans);
5
+ background: var(--d-surface-card);
6
+ border: 1px solid var(--d-border-color);
7
+ border-radius: var(--d-radius-lg);
8
+ padding: var(--d-space-4);
9
+ width: max-content;
10
+ }
11
+
12
+ .d-calendar-header {
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: space-between;
16
+ margin-bottom: var(--d-space-3);
17
+ }
18
+
19
+ .d-calendar-title {
20
+ font-size: var(--d-text-sm);
21
+ font-weight: var(--d-font-semibold);
22
+ color: var(--d-text-primary);
23
+ }
24
+
25
+ .d-calendar-nav {
26
+ display: flex;
27
+ align-items: center;
28
+ justify-content: center;
29
+ width: 2rem;
30
+ height: 2rem;
31
+ background: none;
32
+ border: 1px solid var(--d-border-color);
33
+ border-radius: var(--d-radius-sm);
34
+ color: var(--d-text-muted);
35
+ cursor: pointer;
36
+ font-size: var(--d-text-sm);
37
+ transition: all var(--d-duration-fast) ease;
38
+ }
39
+
40
+ .d-calendar-nav:hover {
41
+ background: var(--d-surface-raised);
42
+ color: var(--d-text-primary);
43
+ }
44
+
45
+ .d-calendar-grid {
46
+ display: grid;
47
+ grid-template-columns: repeat(7, 2.25rem);
48
+ gap: 1px;
49
+ text-align: center;
50
+ }
51
+
52
+ .d-calendar-dow {
53
+ font-size: var(--d-text-xs);
54
+ font-weight: var(--d-font-medium);
55
+ color: var(--d-text-muted);
56
+ padding: var(--d-space-2) 0;
57
+ }
58
+
59
+ .d-calendar-day {
60
+ display: flex;
61
+ align-items: center;
62
+ justify-content: center;
63
+ width: 2.25rem;
64
+ height: 2.25rem;
65
+ font-size: var(--d-text-sm);
66
+ color: var(--d-text-primary);
67
+ background: none;
68
+ border: none;
69
+ border-radius: var(--d-radius-sm);
70
+ cursor: pointer;
71
+ transition: all var(--d-duration-fast) ease;
72
+ }
73
+
74
+ .d-calendar-day:hover {
75
+ background: var(--d-surface-raised);
76
+ }
77
+
78
+ .d-calendar-day.today {
79
+ font-weight: var(--d-font-semibold);
80
+ border: 1px solid var(--d-accent);
81
+ }
82
+
83
+ .d-calendar-day.selected {
84
+ background: var(--d-accent);
85
+ color: #fff;
86
+ }
87
+
88
+ .d-calendar-day.other-month {
89
+ color: var(--d-text-muted);
90
+ opacity: 0.4;
91
+ }
92
+
93
+ .d-calendar-day:disabled {
94
+ opacity: 0.3;
95
+ cursor: not-allowed;
96
+ }
@@ -0,0 +1,93 @@
1
+ /* Dalila UI — Card */
2
+
3
+ .d-card {
4
+ position: relative;
5
+ background: var(--d-surface-card);
6
+ border: 1px solid var(--d-border-color);
7
+ border-radius: var(--d-radius-lg);
8
+ overflow: hidden;
9
+ }
10
+
11
+ .d-card-header {
12
+ padding: var(--d-space-6) var(--d-space-6) var(--d-space-3);
13
+ }
14
+
15
+ .d-card-body {
16
+ padding: var(--d-space-3) var(--d-space-6);
17
+ }
18
+
19
+ .d-card-footer {
20
+ display: flex;
21
+ align-items: center;
22
+ gap: var(--d-space-3);
23
+ padding: var(--d-space-3) var(--d-space-6) var(--d-space-6);
24
+ }
25
+
26
+ .d-card-body:only-child {
27
+ padding: var(--d-space-6);
28
+ }
29
+
30
+ .d-card-title {
31
+ margin: 0;
32
+ font-family: var(--d-font-sans);
33
+ font-size: var(--d-text-lg);
34
+ font-weight: var(--d-font-semibold);
35
+ color: var(--d-text-primary);
36
+ line-height: 1.3;
37
+ }
38
+
39
+ .d-card-description {
40
+ margin: var(--d-space-1) 0 0;
41
+ font-size: var(--d-text-sm);
42
+ color: var(--d-text-secondary);
43
+ line-height: var(--d-leading);
44
+ }
45
+
46
+ .d-card-accent {
47
+ border: none;
48
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(0, 0, 0, 0.06);
49
+ }
50
+
51
+ [data-theme="dark"] .d-card-accent {
52
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
53
+ }
54
+
55
+ .d-card-section {
56
+ overflow: hidden;
57
+ }
58
+
59
+ .d-card-section img {
60
+ display: block;
61
+ width: 100%;
62
+ }
63
+
64
+ .d-card-hover {
65
+ transition: border-color var(--d-duration-fast) ease;
66
+ cursor: pointer;
67
+ }
68
+
69
+ .d-card-hover:hover {
70
+ border-color: #404040;
71
+ }
72
+
73
+ [data-theme="light"] .d-card-hover:hover {
74
+ border-color: #c9c9c9;
75
+ }
76
+
77
+ .d-card-flat {
78
+ background: var(--d-surface-raised);
79
+ }
80
+
81
+ .d-card-header + .d-card-body {
82
+ border-top: 1px solid var(--d-border-color);
83
+ padding-top: var(--d-space-4);
84
+ }
85
+
86
+ .d-card-body + .d-card-footer {
87
+ border-top: 1px solid var(--d-border-color);
88
+ padding-top: var(--d-space-4);
89
+ }
90
+
91
+ .d-card-compact .d-card-header { padding: var(--d-space-4) var(--d-space-4) var(--d-space-2); }
92
+ .d-card-compact .d-card-body { padding: var(--d-space-2) var(--d-space-4); }
93
+ .d-card-compact .d-card-footer { padding: var(--d-space-2) var(--d-space-4) var(--d-space-4); }
@@ -0,0 +1,57 @@
1
+ /* Dalila UI — Checkbox */
2
+
3
+ .d-checkbox {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ gap: var(--d-space-2);
7
+ font-family: var(--d-font-sans);
8
+ font-size: var(--d-text-base);
9
+ color: var(--d-text-primary);
10
+ cursor: pointer;
11
+ user-select: none;
12
+ }
13
+
14
+ .d-checkbox input {
15
+ position: relative;
16
+ appearance: none;
17
+ width: 1.125rem;
18
+ height: 1.125rem;
19
+ flex-shrink: 0;
20
+ background: var(--d-surface-page);
21
+ border: 1px solid var(--d-border-color);
22
+ border-radius: var(--d-radius-sm);
23
+ cursor: pointer;
24
+ transition: all var(--d-duration-fast) ease;
25
+ }
26
+
27
+ .d-checkbox input:checked {
28
+ background: var(--d-accent);
29
+ border-color: var(--d-accent);
30
+ }
31
+
32
+ .d-checkbox input:checked::after {
33
+ content: "";
34
+ position: absolute;
35
+ top: 2px;
36
+ left: 5px;
37
+ width: 5px;
38
+ height: 9px;
39
+ border: solid #fff;
40
+ border-width: 0 2px 2px 0;
41
+ transform: rotate(45deg);
42
+ }
43
+
44
+ .d-checkbox input:focus-visible {
45
+ outline: none;
46
+ box-shadow: var(--d-shadow-glow);
47
+ }
48
+
49
+ .d-checkbox input:disabled {
50
+ opacity: 0.5;
51
+ cursor: not-allowed;
52
+ }
53
+
54
+ .d-checkbox:has(input:disabled) {
55
+ opacity: 0.6;
56
+ cursor: not-allowed;
57
+ }
@@ -0,0 +1,62 @@
1
+ /* Dalila UI — Chip / Tag */
2
+
3
+ .d-chip {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ gap: var(--d-space-1);
7
+ padding: 0.25rem 0.625rem;
8
+ font-family: var(--d-font-sans);
9
+ font-size: var(--d-text-xs);
10
+ font-weight: var(--d-font-medium);
11
+ color: var(--d-text-primary);
12
+ background: var(--d-surface-raised);
13
+ border: 1px solid var(--d-border-color);
14
+ border-radius: var(--d-radius-full);
15
+ white-space: nowrap;
16
+ }
17
+
18
+ .d-chip-primary {
19
+ color: var(--d-accent);
20
+ background: rgba(37, 99, 235, 0.1);
21
+ border-color: transparent;
22
+ }
23
+
24
+ .d-chip-success {
25
+ color: var(--d-success);
26
+ background: var(--d-success-light);
27
+ border-color: transparent;
28
+ }
29
+
30
+ .d-chip-error {
31
+ color: var(--d-error);
32
+ background: var(--d-error-light);
33
+ border-color: transparent;
34
+ }
35
+
36
+ .d-chip-warning {
37
+ color: var(--d-warning);
38
+ background: var(--d-warning-light);
39
+ border-color: transparent;
40
+ }
41
+
42
+ .d-chip-remove {
43
+ display: inline-flex;
44
+ align-items: center;
45
+ justify-content: center;
46
+ width: 1rem;
47
+ height: 1rem;
48
+ padding: 0;
49
+ font-size: 0.75rem;
50
+ line-height: 1;
51
+ color: inherit;
52
+ opacity: 0.6;
53
+ background: none;
54
+ border: none;
55
+ border-radius: 50%;
56
+ cursor: pointer;
57
+ transition: opacity var(--d-duration-fast) ease;
58
+ }
59
+
60
+ .d-chip-remove:hover {
61
+ opacity: 1;
62
+ }