lutra 0.1.52 → 0.1.53

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.
@@ -228,6 +228,18 @@
228
228
  @property --field-icon-size { syntax: "<length>"; inherits: true; initial-value: 24px; }
229
229
  @property --field-icon-order { syntax: "<number>"; inherits: true; initial-value: 1; }
230
230
 
231
+ /**
232
+ * Checkbox and Radio
233
+ */
234
+
235
+ @property --checkbox-size { syntax: "<length>"; inherits: true; initial-value: 1.125em; }
236
+ @property --checkbox-border-radius { syntax: "<length>"; inherits: true; initial-value: 0.25em; }
237
+ @property --checkbox-background { syntax: "<color>"; inherits: true; initial-value: #ffffff; }
238
+ @property --checkbox-background-checked { syntax: "<color>"; inherits: true; initial-value: #2563eb; }
239
+ @property --checkbox-border-color { syntax: "*"; inherits: true; initial-value: #d1d5db; }
240
+ @property --checkbox-border-color-checked { syntax: "*"; inherits: true; initial-value: #2563eb; }
241
+ @property --checkbox-indicator-color { syntax: "<color>"; inherits: true; initial-value: #ffffff; }
242
+
231
243
  /**
232
244
  * Button Component
233
245
  */
@@ -173,10 +173,54 @@ input, textarea, select {
173
173
 
174
174
  input[type="checkbox"],
175
175
  input[type="radio"] {
176
- accent-color: var(--field-background-active);
177
- width: 1em;
178
- height: 1em;
176
+ width: var(--checkbox-size);
177
+ height: var(--checkbox-size);
179
178
  padding: 0;
179
+ margin: 0;
180
+ border: var(--field-border-size) var(--field-border-style) var(--checkbox-border-color);
181
+ border-radius: var(--checkbox-border-radius);
182
+ background: var(--checkbox-background);
183
+ cursor: pointer;
184
+ position: relative;
185
+ flex-shrink: 0;
186
+ }
187
+
188
+ input[type="radio"] {
189
+ border-radius: 50%;
190
+ }
191
+
192
+ input[type="checkbox"]:checked,
193
+ input[type="radio"]:checked {
194
+ background: var(--checkbox-background-checked);
195
+ border-color: var(--checkbox-border-color-checked);
196
+ }
197
+
198
+ input[type="checkbox"]:checked::after {
199
+ content: "";
200
+ position: absolute;
201
+ inset: 0;
202
+ background: var(--checkbox-indicator-color);
203
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E") center / 80% no-repeat;
204
+ }
205
+
206
+ input[type="radio"]:checked::after {
207
+ content: "";
208
+ position: absolute;
209
+ inset: 25%;
210
+ background: var(--checkbox-indicator-color);
211
+ border-radius: 50%;
212
+ }
213
+
214
+ input[type="checkbox"]:focus-visible,
215
+ input[type="radio"]:focus-visible {
216
+ outline: var(--focus-ring-size) solid var(--focus-ring-color);
217
+ outline-offset: var(--focus-ring-offset);
218
+ }
219
+
220
+ input[type="checkbox"]:disabled,
221
+ input[type="radio"]:disabled {
222
+ opacity: 0.5;
223
+ cursor: not-allowed;
180
224
  }
181
225
 
182
226
  input, textarea, select, .button, ::file-selector-button, .Field {
@@ -170,6 +170,16 @@
170
170
  rgba(255, 255, 255, 0.35)
171
171
  );
172
172
 
173
+ /**
174
+ * Checkbox and Radio
175
+ */
176
+
177
+ --checkbox-background: var(--field-background);
178
+ --checkbox-background-checked: var(--lutra-primary-color);
179
+ --checkbox-border-color: var(--border-color);
180
+ --checkbox-border-color-checked: var(--lutra-primary-color);
181
+ --checkbox-indicator-color: light-dark(#ffffff, #ffffff);
182
+
173
183
  --field-label-color: var(--text-color-p);
174
184
 
175
185
  --form-background-actions: color-mix(in srgb, var(--theme-surface-interactive) 35%, transparent);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lutra",
3
- "version": "0.1.52",
3
+ "version": "0.1.53",
4
4
  "scripts": {
5
5
  "dev": "vite dev",
6
6
  "bump-and-publish:patch": "pnpm version:patch && pnpm build && npm publish",